KR20230000638A - 저전력 시스템 온 칩 - Google Patents

저전력 시스템 온 칩 Download PDF

Info

Publication number
KR20230000638A
KR20230000638A KR1020210082973A KR20210082973A KR20230000638A KR 20230000638 A KR20230000638 A KR 20230000638A KR 1020210082973 A KR1020210082973 A KR 1020210082973A KR 20210082973 A KR20210082973 A KR 20210082973A KR 20230000638 A KR20230000638 A KR 20230000638A
Authority
KR
South Korea
Prior art keywords
block
clock
network interface
interface module
signal
Prior art date
Application number
KR1020210082973A
Other languages
English (en)
Inventor
한규승
강태욱
김성은
김혁
박형일
오광일
이재진
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020210082973A priority Critical patent/KR20230000638A/ko
Priority to US17/847,636 priority patent/US20220413544A1/en
Publication of KR20230000638A publication Critical patent/KR20230000638A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7817Specially adapted for signal processing, e.g. Harvard architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

본 개시의 일 실시 예에 따르면, 부분 클럭 게이팅을 지원하는 저전력 시스템 온 칩이 제공될 수 있다. 보다 상세하게는, 제1 CG-네트워크 인터페이스 모듈, 제2 CG-네트워크 인터페이스 모듈, 및 클럭 게이팅 제어 모듈을 포함하는 네트워크 온 칩, 제1 CG-네트워크 인터페이스 모듈을 통해 통신하는 제1 IP 블록, 제2 CG-네트워크 인터페이스 모듈을 통해 통신하는 제2 IP 블록을 포함하고, 클럭 게이팅 제어 모듈은 제1 IP 블록으로부터 클럭 게이팅 요청을 수신하고 수신된 클럭 게이팅 요청에 응답하여, 제2 CG-네트워크 인터페이스 모듈로 통신 제어 신호를 출력하고 수신된 클럭 게이팅 요청에 응답하여, 클럭 신호에 대한 클럭 게이팅 동작을 수행함으로써, 클럭 신호를 제2 IP 블록으로 선택적으로 전달하는 시스템 온 칩이 제공될 수 있다.

Description

저전력 시스템 온 칩{LOW POWER SYSTEM ON CHIP}
본 개시는 전자 장치에 관한 것으로, 좀 더 상세하게는 저전력 시스템 온 칩에 관한 것이다.
시스템 온 칩(SoC; System on Chip)은 다양한 기능을 수행하는 복잡한 시스템을 하나의 칩으로 집약적으로 구현하는 기술이다. 시스템 온 칩의 집적화 및 고성능화에 대한 수요가 제기됨에 따라, 시스템 온 칩의 집적도는 증가하고, 시스템 온 칩에 포함된 IP들(Intellectual Properties)의 개수가 증가하고 있다. 이에 따라, IP들 각각이 소모하는 전력을 제어하는 기술이 요구된다.
시스템 온 칩의 전력 소모(Power Consumption)를 줄이는 방안은 정적 전력(Static Power)를 줄이는 방법과 동적 전력(Dynamic Power)를 줄이는 방법이 있다. 동적 전력 소모를 줄이는 방안은 시스템 온 칩의 동작 중 전력을 감소시키기 위하여 IP 블록들이 동작하지 않거나 휴지 상태에 있는 경우, IP 블록들이 동작하는데 필요한 클럭 신호(clock signal)를 클럭 게이팅(clock gating)를 통해 차단하는 방법이 있다.
본 개시는 상술된 기술적 과제를 해결하고자 한다. 예를 들어, 본 개시에 따르면 IP의 재설계 없이, 부분 클럭 게이팅을 지원하는 저전력 시스템 온 칩이 제공될 수 있다.
본 개시에 따른 네트워크 온 칩은, 제1 IP 블록의 통신을 지원하는 제1 CG-네트워크 인터페이스 모듈, 제2 IP 블록의 통신을 지원하는 제2 CG-네트워크 인터페이스 모듈, 및 클럭 게이팅 제어 모듈을 포함하고, 상기 클럭 게이팅 제어 모듈은 상기 제1 IP 블록으로부터 클럭 게이팅 요청을 수신하고, 상기 수신된 클럭 게이팅 요청에 응답하여, 상기 제2 CG-네트워크 인터페이스 모듈로 통신 제어 신호를 출력하고, 상기 수신된 클럭 게이팅 요청에 응답하여, 클럭 신호에 대한 클럭 게이팅 동작을 수행함으로써, 상기 클럭 신호를 상기 제2 IP 블록으로 선택적으로 전달하는 할 수 있다.
본 개시의 일 실시 예에서, 상기 네트워크 온 칩은, 상기 제1 CG-네트워크 인터페이스 모듈 및 상기 제2 CG-네트워크 인터페이스 모듈 사이의 통신을 제어하는 라우터 모듈을 더 포함할 수 있다.
본 개시의 일 실시 예에서, 상기 네트워크 온 칩은, 상기 클럭 게이팅 제어 모듈 및 상기 제1 CG-네트워크 인터페이스 모듈 사이의 통신을 지원하는 네트워크 인터페이스를 더 포함할 수 있다.
본 개시의 일 실시 예에서, 상기 네트워크 온 칩은, 상기 클럭 게이팅 제어 모듈 및 상기 제1 CG-네트워크 인터페이스 모듈 사이의 통신을 제어하는 라우터 모듈을 더 포함할 수 있다.
본 개시의 일 실시 예에서, 상기 수신된 클럭 게이팅 요청이, 상기 제2 IP 블록의 클럭 차단을 가리키는 경우, 상기 통신 제어 신호는, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용하지 않을 것을 요청하는 신호이고, 상기 클럭 게이팅 제어 모듈은, 상기 클럭 신호가 상기 제2 IP 블록으로 전달되지 않도록 상기 클럭 신호를 차단할 수 있다.
본 개시의 일 실시 예에서, 상기 클럭 게이팅 제어 모듈은, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 차단하는 동작 이후에, 상기 클럭 신호를 차단할 수 있다.
본 개시의 일 실시 예에서, 상기 수신된 클럭 게이팅 요청이, 상기 제2 IP 블록의 클럭 차단 해제를 가리키는 경우, 상기 통신 제어 신호는, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용할 것을 요청하는 신호이고, 상기 클럭 게이팅 제어 모듈은, 상기 클럭 신호를 상기 제2 IP 블록으로 전달할 수 있다.
본 개시의 일 실시 예에서, 상기 클럭 게이팅 제어 모듈은, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용하는 동작 이전에, 상기 클럭 신호를 상기 제2 IP 블록으로 전달할 수 있다.
본 개시의 일 실시 예에서, 상기 클럭 게이팅 제어 모듈은, 상기 클럭 게이팅 동작을 수행하는 클럭 게이트를 포함할 수 있다.
본 개시에 따른 저전력 시스템 온 칩은, 제1 CG-네트워크 인터페이스 모듈, 제2 CG-네트워크 인터페이스 모듈, 및 클럭 게이팅 제어 모듈을 포함하는 네트워크 온 칩, 상기 제1 CG-네트워크 인터페이스 모듈을 통해 통신하는 제1 IP 블록, 및 상기 제2 CG-네트워크 인터페이스 모듈을 통해 통신하는 제2 IP 블록을 포함하고, 상기 클럭 게이팅 제어 모듈은, 상기 제1 IP 블록으로부터 클럭 게이팅 요청을 수신하고, 상기 수신된 클럭 게이팅 요청에 응답하여, 상기 제2 CG-네트워크 인터페이스 모듈로 통신 제어 신호를 출력하고, 상기 수신된 클럭 게이팅 요청에 응답하여, 클럭 신호에 대한 클럭 게이팅 동작을 수행함으로써, 상기 클럭 신호를 상기 제2 IP 블록으로 선택적으로 전달할 수 있다.
본 개시의 일 실시 예에서, 상기 클럭 신호를 생성하고, 상기 생성된 클럭 신호를 상기 클럭 게이팅 제어 모듈로 제공하는 PLL 블록을 더 포함할 수 있다.
본 개시의 일 실시 예에서, 상기 네트워크 온 칩은, 상기 제1 CG-네트워크 인터페이스 모듈 및 상기 제2 CG-네트워크 인터페이스 모듈 사이의 통신을 제어하는 라우터 모듈을 더 포함할 수 있다.
본 개시의 일 실시 예에서, 상기 네트워크 온 칩은, 상기 클럭 게이팅 제어 모듈 및 상기 제1 CG-네트워크 인터페이스 모듈 사이의 통신을 지원하는 네트워크 인터페이스를 더 포함할 수 있다.
본 개시의 일 실시 예에서, 상기 네트워크 온 칩은, 상기 클럭 게이팅 제어 모듈 및 상기 제1 CG-네트워크 인터페이스 모듈 사이의 통신을 제어하는 라우터 모듈을 더 포함할 수 있다.
본 개시의 일 실시 예에서, 상기 수신된 클럭 게이팅 요청이 상기 제2 IP 블록의 클럭 차단을 가리키는 경우, 상기 통신 제어 신호는, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용하지 않을 것을 요청하는 신호이고, 상기 클럭 게이팅 제어 모듈은, 상기 클럭 신호가 상기 제2 IP 블록으로 전달되지 않도록 상기 클럭 신호를 차단할 수 있다.
본 개시의 일 실시 예에서, 상기 클럭 게이팅 제어 모듈은, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 차단하는 동작 이후에, 상기 클럭 신호를 차단할 수 있다.
본 개시의 일 실시 예에서, 상기 수신된 클럭 게이팅 요청이, 상기 제2 IP 블록의 클럭 차단 해제를 가리키는 경우, 상기 통신 제어 신호는, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용할 것을 요청하는 신호이고, 상기 클럭 게이팅 제어 모듈은, 상기 클럭 신호를 상기 제2 IP 블록으로 전달할 수 있다.
본 개시의 일 실시 예에서, 상기 클럭 게이팅 제어 모듈은, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용하는 동작 이전에, 상기 클럭 신호를 상기 제2 IP 블록으로 전달할 수 있다.
본 개시의 일 실시 예에서, 상기 제1 IP 블록은 프로세서 기능을 수행할 수있다.
본 개시의 일 실시 예에서, 상기 클럭 게이팅 제어 모듈은, 상기 클럭 게이팅 동작을 수행하는 클럭 게이트를 포함할 수 있다.
본 개시에 따르면, 부분 클럭 게이팅 기능을 지원하는 저전력 시스템 온 칩이 제공된다. 이 경우, IP들의 재설계 없이 부분 클럭 게이팅 기능이 지원될 수 있으므로, 설계 비용 및 전력 소모가 감소된 저전력 시스템 온 칩이 제공될 수 있다.
도 1은 본 개시에 따른, 시스템 온 칩의 구조를 보여주는 블록도이다.
도 2는 본 개시에 따른, 부분 클럭 게이팅을 지원하는 시스템 온 칩을 보여주는 블록도이다.
도 3은 도 2의 클럭 게이트 회로를 구현한 실시 예를 보여준다.
도 4는 도 3의 신호들을 상세하게 보여주는 타이밍도이다.
도 5는 도 2의 시스템 온 칩의 동작을 나타내는 흐름도이다.
도 6은 본 개시의 일 실시 예에 따른 시스템 온 칩을 보여주는 블록도이다.
도 7은 본 개시의 일 실시 예에 따른, 도 6의 클럭 게이팅 제어 모듈을 상세하게 보여주는 블록도이다.
도 8은 본 개시의 일 실시 예에 따른, 도 6의 시스템 온 칩의 동작 방법을 나타내는 흐름도이다.
이하에서, 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 용이하게 실시할 수 있을 정도로, 본 개시의 실시 예들이 명확하고 상세하게 기재될 것이다. 상세한 구성들 및 구조들과 같은 세부적인 사항들은 단순히 본 개시의 실시 예들의 전반적인 이해를 돕기 위하여 제공된다. 그러므로 본 개시의 기술적 사상 및 범위로부터의 벗어남 없이 본문에 기재된 실시 예들의 변형들은 당업자에 의해 수행될 수 있다. 더욱이, 잘 알려진 기능들 및 구조들에 대한 설명들은 명확성 및 간결성을 위하여 생략된다. 이하의 도면들 또는 상세한 설명에서의 구성들은 도면에 도시되거나 또는 상세한 설명에 기재된 구성 요소 이외에 다른 것들과 연결될 수 있다. 본문에서 사용된 용어들은 본 개시의 기능들을 고려하여 정의된 용어들이며, 특정 기능에 한정되지 않는다. 용어들의 정의는 상세한 설명에 기재된 사항을 기반으로 결정될 수 있다.
상세한 설명에서 사용되는 부 또는 모듈(module), 블록 등의 용어를 참조하여 설명되는 구성 요소들은 소프트웨어, 또는 하드웨어, 또는 그것들의 조합의 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 어플리케이션 소프트웨어일 수 있다. 예를 들어, 하드웨어는 전기 회로, 전자 회로, 프로세서, 컴퓨터, 집적 회로 코어들, 압력 센서, 관성 센서, 멤즈(Micro Electro Mechanical System; MEMS), 수동 소자, 또는 그것들의 조합을 포함할 수 있다.
도 1은 본 개시에 따른 시스템 온 칩의 구조를 보여준다. 도 1을 참조하면, 시스템 온 칩(100)은 PLL 블록(110), 복수의 IP 블록들(121~124), 네트워크 온 칩(130)을 포함할 수 있다. 한편, 시스템 칩 외부에는 발진기(OSC; oscillator)가 존재할 수 있다.
발진기(OSC)는 클럭 신호를 생성하여, 시스템 온 칩(100)에 클럭 신호를 제공할 수 있다. 예를 들어, 발진기(OSC)는 PLL 블록(110)(Phase-Locked Loop block)으로 클럭 신호를 제공할 수 있다.
일 실시 예에서, 클럭 신호는 하이 레벨 전압을 출력하는 구간 및 로우 레벨 전압을 출력하는 구간이 주기적으로 반복되는 방형파(square wave)일 수 있으나, 본 개시의 범위는 이에 한정되지 않고, 삼각파(triangular wave), 사인파(sine wave) 등 주기적인 신호를 제공하는 다양한 실시 예를 포함할 수 있다.
일 실시 예에서, 발진기(OSC)는 시스템 온 칩(100) 내부 또는 외부에 구현될 수 있다. 예를 들어, 본 개시의 실시 예들에서는 발진기(OSC)가 시스템 온 칩 외부에 구현되는 것으로 설명되나, 본 개시의 범위는 발진기(OSC)가 시스템 온 칩 내부에 포함되는 실시 예를 포함한다.
PLL 블록(110)은 발진기(OSC)로부터 수신된 클럭 신호를 복수의 IP 블록들(121~124) 각각이 요구하는 다양한 유형의 클럭 신호들로 변환할 수 있고, 변환된 클럭 신호를 복수의 IP 블록들(121~124) 각각으로 제공할 수 있다. 예를 들어, 복수의 IP 블록들(121~124)이 각각 제1 내지 제4 유형 클럭 신호들을 요구하는 경우, PLL 블록(110)은 발진기(OSC)로부터 수신된 클럭 신호를 변환하여 제1 내지 제4 유형의 클럭 신호들을 생성할 수 있고, 생성된 클럭 신호들을 복수의 IP 블록들(121~124)로 각각 제공할 수 있다. 일 실시 예에서, PLL 블록(110)는 네트워크 온 칩(130)의 기능에 필요한 클럭 신호를 더 제공할 수 있다.
본 개시에서, 발진기(OSC) 및 PLL 블록(110)은 분리된 기능적 구성 요소들로 설명되나, 본 발명의 기술적 사상의 핵심에서 벗어나지 않고 PLL 블록 및 발진기가 하나의 구성 요소로 통합되거나, 하위 회로 소자들로 더 세분될 수 있다. 그리고 일 실시 예에서, 시스템 온 칩은 PLL 블록을 포함하지 않을 수 있고, 복수의 IP 블록들 각각에 대응하는 복수의 발진기들이 시스템 온 칩 내부 또는 외부에 구현될 수 있다.
복수의 IP 블록들(121~124) 각각은 시스템 온 칩(100)에 사용되는 특정 기능을 담당할 수 있다. 예를 들어, 복수의 IP 블록들(121~124) 각각은 프로세서 코어, 메모리, 인터페이스 모듈, 신호 처리기, 입출력 회로 등의 기능 블록을 의미할 수 있고, 물리적으로 구현된 상태의 hard IP, 합성 가능한 RTL(register-transfer level)로 개발된 soft IP, 게이트 레벨 넷리스트(gate level netlist)의 firm IP 및/또는 이들의 결합으로 구현될 수 있다.
복수의 IP 블록들(121~124) 각각은 특정한 기능을 수행하기 위해 PLL 블록(110)으로부터 클럭 신호를 수신할 수 있다. 예를 들어, 복수의 IP 블록들(121~124) 각각은, PLL 블록(110)을 통해 변환된 클럭 신호를 수신하여, 특정한 기능을 수행할 수 있다.
일 실시 예에서, 클럭 신호는 IP 블록의 기능 수행에 사용될 수 있다. 예를 들어, IP 블록이 메모리 기능을 수행하는 블록인 경우, IP 블록은 네트워크 인터페이스 모듈을 통해 수신된 명령에 따라 읽기 또는 쓰기 동작을 수행할 수 있다. 이 경우 클럭 신호는 읽기 또는 쓰기 동작의 속도 차이를 제어하는데 사용될 수 있다. 그러나 본 개시의 범위는 IP 블록이 메모리 기능을 수행하는 경우에 한정되지 않고, 상술된 다양한 IP 블록의 유형들을 포함할 수 있다.
네트워크 온 칩(130)은 복수의 IP 블록들(121~124) 사이의 통신을 지원할 수 있다. 예를 들어, 네트워크 온 칩(130)은 복수의 네트워크 인터페이스 모듈들(131~134) 및 라우터 모듈(RO)을 포함할 수 있다. 네트워크 온 칩(130)은 복수의 네트워크 인터페이스 모듈들(131~134)을 통해, 대응되는 IP 블록과의 통신 규격 또는 프로토콜을 일치 시킬 수 있고, 대응되는 IP 블록과의 통신을 지원할 수 있다.
네트워크 인터페이스 모듈들(131~134)은 각각 복수의 IP 블록들(121~124)과 대응될 수 있다. 네트워크 인터페이스 모듈들(131~134) 각각은 대응되는 IP 블록들(121~124)과 통신하여 신호를 수신 또는 송신할 수 있다.
라우터 모듈(RO)은 복수의 IP 블록들(121~124) 사이의, 네트워크 인터페이스 모듈(131~134)를 통한 통신을 제어할 수 있다. 예를 들어, 라우터 모듈(RO)은 복수의 IP 블록들(121~124)의 통신이 서로 충돌하여 발생할 수 있는 오류를 방지할 수 있다. 이 경우, 네트워크 온 칩(130)에 의해, IP 블록들(121~124) 사이의 병렬적인 통신 환경이 구현될 수 있다.
간결한 설명을 위해, 도 1에는 네 개의 IP 블록들(121~124) 및 네 개의 네트워크 인터페이스 모듈(131~134)를 포함하는 시스템 온 칩(100)이 도시된다. 그러나 본 개시의 범위는 IP 블록들 및 네트워크 인터페이스 모듈의 수에 한정되지 않는다.
도 2는 본 개시에 따른 부분 클럭 게이팅을 지원하는 시스템 온 칩을 보여준다. 도 2을 참조하면, 시스템 온 칩(200)은 PLL 블록(210), 복수의 IP 블록들(221~223), CG-IP 블록(240), 및 네트워크 온 칩(230)을 포함할 수 있고, 클럭 게이트 제어 블록(250)을 더 포함할 수 있다. 시스템 온 칩(200)은 발진기(OSC; oscillator)로부터 클럭 신호를 수신할 수 있다. 발진기(OSC), PLL 블록(210), IP 블록들(221~223), 네트워크 온 칩(230), 및 그 하위 구성 요소들에 대한 설명은, 도 1을 참조하여 설명된 것과 유사하므로 상세한 설명은 생략된다.
CG-IP 블록(240)은 PLL 블록(210)으로부터 클럭 신호를 수신하고, 클럭 게이팅 기능을 수행할 수 있다. 예를 들어, CG-IP 블록(240)은 다른 IP 블록들(221~223)과 달리, 클럭 게이트 회로(CG)를 더 포함할 수 있다. CG-IP 블록(240)의 기능은 도 1의 IP 블록과 유사하므로, 상세한 설명은 생략된다.
클럭 게이트 회로(CG)는 PLL 블록(210)으로부터 클럭 신호를 수신하고, 클럭 게이트 제어 블록(250)으로부터 클럭 게이트 제어 신호를 수신하여, 클럭 신호를 차단할 수 있다.
일 실시 예에서, 클럭 게이트 회로(CG)에 의해 클럭 신호가 차단되지 않은 경우, CG-IP 블록(240)은 도 1을 참조하여 설명된 IP 블록과 유사하게 동작할 수 있다. 예를 들어, CG-IP 블록(240)은 네트워크 온 칩(230)을 통해 다른 IP 블록들(221~223)과 통신하여 데이터 및/또는 신호를 주고 받을 수 있다.
일 실시 예에서, 클럭 게이트 회로(CG)에 의해 클럭 신호가 차단된 경우, CG-IP 블록(240)은 휴지 상태가 될 수 있다. 이 경우, CG-IP 블록(240)의 동적 전력 소모가 감소될 수 있다.
CG-IP 블록(240)에 포함된 클럭 게이트 회로(CG)의 구성 및 동작은 이하의 도 3 내지 도 4를 참조하여 더 상세하게 설명된다.
복수의 네트워크 인터페이스 모듈(231~235) 각각은 IP 블록들(221~223), CG-IP 블록(240) 및 클럭 게이트 제어 블록(250) 중 하나와 대응될 수 있다. 예를 들어, 제1 네트워크 인터페이스 모듈(231)은 제1 IP 블록(221)과 대응될 수 있고, 제2 네트워크 인터페이스 모듈(232)은 제2 IP 블록(222)와 대응될 수 있고, 제3 네트워크 인터페이스 모듈(233)은 제3 IP 블록(223)와 대응될 수 있다. 제4 네트워크 인터페이스 모듈(234)은 CG-IP 블록(240)과 대응될 수 있다. 그리고, 제5 네트워크 인터페이스 모듈(235)은 클럭 게이트 제어 블록(250)과 대응될 수 있다.
클럭 게이트 제어 블록(250)은 제5 네트워크 인터페이스 모듈(235)을 통해 네트워크 온 칩(230)과 연결될 수 있다. 예를 들어, 클럭 게이트 제어 블록(250)은 복수의 IP 블록들(221~223) 중 프로세서 기능을 수행하는 제1 IP 블록(221)에 의해 제어될 수 있도록, 네트워크 온 칩(230)과 연결될 수 있다. 이 경우, 클럭 게이트 제어 블록(250)은 프로세서 기능을 수행하는 제1 IP 블록(221)으로부터, 클럭 게이트 제어 신호와 관련된 명령을 네트워크 온 칩(230)을 통해 수신하고, 이에 따라 동작할 수 있다.
간결한 설명을 위해, 프로세서 기능을 수행하는 IP 블록(221)에 의해 클럭 게이팅이 제어되는 것으로 설명되었으나, 본 개시의 범위는 메모리, 인터페이스 모듈, 신호 처리기, 입출력 회로 등의 기능 중 적어도 하나의 기능을 수행하는 IP 블록에 의해 클럭 게이팅이 제어되는 것을 포함한다. 또한, 복수의 IP 블록들(221~223) 중 하나의 IP 블록(221)이 프로세서 기능을 수행하는 것으로 설명되나, 본 개시의 범위는 이에 한정되지 않고, 하나 이상의 서로 다른 IP 블록들이 프로세서 기능을 수행하는 경우를 포함한다.
클럭 게이트 제어 블록(250)은 CG-IP 블록(240)으로 클럭 게이트 제어 신호를 송신할 수 있다. 클럭 게이트 제어 신호는 CG-IP 블록(240)의 클럭 게이트 회로(CG)가 PLL 블록(210)으로부터 수신한 클럭 신호를 차단할 지 여부, 및 CG-IP 블록(240)이 제4 네트워크 인터페이스 모듈과의 통신을 차단할 지 여부를 결정하는 신호일 수 있다.
간결한 설명을 위해, 도 2에는 세 개의 IP 블록들(121~123) 및 하나의 CG-IP 블록(240)이 도시되나, 본 개시의 범위는 IP 블록 및 CG-IP 블록의 수에 제한되지 않는다. 예를 들어, 본 개시의 일 실시 예에 따르면, 시스템 온 칩은 복수의 CG-IP 블록들을 포함할 수 있다. 이 경우 시스템 온 칩은, 복수의 CG-IP 블록들을 제어하는 적어도 하나 이상의 클럭 게이트 제어 블록을 포함할 수 있다.
일 실시 예에서, 네트워크 인터페이스는, 복수의 CG-IP 블록들을 제어하는 하나 이상의 클럭 게이트 제어 블록들을 네트워크 온 칩과 연결할 수 있다.
도 3은 도 2의 클럭 게이트 회로를 구현한 실시 예를 보여준다. 도 2 및 도 3을 참조하면, 클럭 게이트 회로(CG)는 인버터(IV), 래치(LC) 및 논리곱 게이트(AG)를 포함할 수 있다. 클럭 게이트 회로(CG)는 클럭 신호(CLK) 및 클럭 게이트 제어 신호(CTRL)를 수신할 수 있다. 클럭 게이트 회로(CG)는 클럭 게이트 제어 신호(CTRL)에 응답하여, 클럭 신호(CLK)를 차단할 수 있다. 일 실시 예에서, 클럭 신호(CLK)는 PLL 블록(210)으로부터 제공될 수 있고, 클럭 게이트 제어 신호(CTRL)는 클럭 게이트 제어 블록(250)으로부터 제공될 수 있다.
인버터(IV)는 클럭 신호(CLK)를 반전하여 출력할 수 있다. 예를 들어, 인버터(IV)는 클럭 신호(CLK)를 반전한 반전 클럭 신호(ICLK)를 생성할 수 있다.
래치(LC)는 클럭 게이트 제어 신호(CTRL) 및 반전 클럭 신호(ICLK)를 입력 받고, 래치 출력 신호(LCS)를 출력할 수 있다. 예를 들어, 래치(LC)는 논리곱 게이트(AG)로 래치 출력 신호(LCS)를 출력할 수 있다.
논리곱 게이트(AG)는 입력된 두 신호가 모두 하이 레벨 신호를 출력할 때 하이 레벨 신호를 출력할 수 있다. 따라서, 논리곱 게이트(AG)는 래치(LC)로부터 출력된 래치 출력 신호(LCS)가 하이 레벨인 경우 클럭 신호(CLK)를 출력 할 수 있다. 예를 들어, 논리곱 게이트(AG)는 PLL 블록(210)으로부터 클럭 신호(CLK)를 입력 받을 수 있고, 래치(LC)로부터 래치 출력 신호(LCS)를 입력 받을 수 있다. 논리곱 게이트(AG)는 입력된 신호들에 기초하여, 클럭 게이트 출력 신호(CGO)를 생성 및 출력할 수 있다. 이 경우, 논리곱 게이트(AG)에 의해, 래치 출력 신호(LCS)가 하이 레벨인 경우 클럭 게이트(CG)가 클럭 신호를 전달하고, 래치 출력 신호(LCS)가 로우 레벨인 경우 클럭 게이트(CG)가 클럭 신호를 차단하는 동작을 수행할 수 있다.
인버터(IV), 래치(LC) 및 논리곱 게이트(AG)에서 처리 및/또는 생성되는 신호들은 이하의 도 4를 참조하여 보다 상세하게 설명된다.
도 4는 도 3의 신호들을 상세하게 보여주는 타이밍도이다. 도 3 및 도 4를 참조하면, 인버터(IV)는 클럭 신호(CLK)를 반전한, 반전 클럭 신호(ICLK)를 출력할 수 있다. 예를 들어, 반전 클럭 신호(ICLK)는, 하이 레벨 또는 로우 레벨 되는 시구간이 클럭 신호(CLK)와 서로 상반될 수 있다.
래치(LC)는 클럭 게이트 제어 신호(CTRL) 및 반전 클럭 신호(ICLK)를 수신하여, 래치 출력 신호(LCS)를 출력할 수 있다. 예를 들어, 래치(LC)는 클럭 게이트 제어 신호(CTRL)가 로우 레벨로 변환되는 제1 시점부터, 클럭 신호(CLK)가 토글하는 주기가 완료되는 제2 시점까지 하이 레벨을 유지하는, 래치 출력 신호(LCS)를 출력할 수 있다. 이 경우, 래치(LC)에 의해, 클럭 신호(CLK)가 로우 레벨 및 하이 레벨을 토글하는 주기와 일치하는 클럭 게이트 출력 신호(CGO)가 생성될 수 있다.
논리곱 게이트(AG)는 PLL 블록(210)으로부터 클럭 신호(CLK)를 입력 받고, 래치(LC)로부터 래치 출력 신호(LCS)를 입력 받아, 클럭 게이트 출력 신호(CGO)를 출력할 수 있다. 예를 들어, 논리곱 게이트(AG)는 래치 출력 신호(LCS)가 하이 레벨을 유지하는 제2 시점(t2)까지의 시구간에서만 클럭 신호(CLK)와 동일한 신호를 출력할 수 있다. 즉, 래치 출력 신호(LCS)가 하이 레벨인 경우, 논리곱 게이트(AG)에 의해 클럭 게이트(CG)가 클럭 신호(CLK)를 전달하는 기능을 수행할 수 있다.
일 실시 예에서, 클럭 게이트 출력 신호(CGO)는 CG-IP 블록(240)에 포함될 수 있는 다양한 구성 요소들로 전달될 수 있다.
일 실시 예에서, 클럭 게이트 출력 신호(CGO)가 로우 레벨을 유지하는 제2 시점(t2) 이후, CG-IP 블록(240) 의 동적 전력 소모가 감소될 수 있다.
도 5는 도 2의 시스템 온 칩의 동작을 나타내는 흐름도이다. 이하에서, 도 2 내지 도 5를 참조하여, 호스트의 클럭 신호 차단 요청에 응답하는 시스템 온 칩(200)의 동작을 나타낸 S100 단계 내지 S190 단계, 및 호스트의 클럭 신호 허용 요청에 응답하는 시스템 온 칩(200)의 동작을 나타낸 S200 단계 내지 S290 단계가 설명된다.
먼저, S100 단계에서, 제1 IP 블록(221)은 CG-IP 블록(240)의 클럭 신호의 차단 요청을 생성할 수 있다. 일 실시 예에서, 제1 IP 블록(221)은 프로세서 기능을 수행할 수 있으며, 호스트 장치일 수 있다.
S110 단계에서, 제1 IP 블록(221)은 호스트의 클럭 차단 요청을 네트워크 온 칩(230)으로 전달할 수 있다. 예를 들어, 제1 IP 블록(221)은 제1 네트워크 인터페이스 모듈(231)로 클럭 차단 요청을 전달할 수 있다.
S120 단계에서, 제1 네트워크 인터페이스 모듈(231)은 호스트의 클럭 차단 요청을 제5 네트워크 인터페이스 모듈(235)로 전달할 수 있다. 예를 들어, 제5 네트워크 인터페이스 모듈(235)은 클럭 게이트 제어 블록(250)과 대응될 수 있다. 일 실시 예에서, 제1 네트워크 인터페이스 모듈(231)로부터 제5 네트워크 인터페이스 모듈(235)로 호스트의 클럭 차단 요청이 전달 되는 단계는 라우터 모듈(RO)의 제어를 통해 수행될 수 있다.
S130 단계에서, 제5 네트워크 인터페이스 모듈(235)은 호스트의 클럭 차단 요청을 클럭 게이트 제어 블록(250)으로 전달할 수 있다.
S140 단계에서, 클럭 게이트 제어 블록(250)은 호스트의 클럭 차단 요청에 응답하여 클럭 게이트 제어 신호를 생성할 수 있다. 이 경우, 클럭 게이트 제어 신호는 CG-IP 블록(240)의 클럭 게이트를 차단할 것을 요청하는 신호일 수 있다.
S150 단계에서, 클럭 게이트 제어 블록(250)은 클럭 게이트 제어 신호를 CG-IP 블록(240)으로 전달할 수 있다. 예를 들어, 클럭 게이트 제어 신호는 네트워크 인터페이스 모듈을 거치지 않고, CG-IP 블록(240)으로 직접 또는 간접적으로 전달될 수 있다.
S160 단계에서, CG-IP 블록(240)은 수신된 클럭 게이트 제어 신호에 응답하여, 제 4 네트워크 인터페이스 모듈(234)과의 통신을 차단할 수 있다. 예를 들어, CG-IP 블록(240)은 제4 네트워크 인터페이스 모듈(234)로 송신되는 통신 신호들을 무효화 시키거나, 또는 제4 네트워크 인터페이스 모듈(234)이 송신하는 통신 신호들을 수신할 준비가 되어있지 않음을 알릴 수 있다.
S170 단계에서, CG-IP 블록(240)은 수신된 클럭 게이트 제어 신호에 응답하여 클럭 게이트를 차단할 수 있다. 예를 들어, CG-IP 블록(240)에 포함된 클럭 게이트 회로(CG)는 클럭 신호를 차단할 수 있다. 이 경우, CG-IP 블록(240)은 휴지 상태가 될 수 있다.
일 실시 예에서, 시스템 온 칩(200)이 S160 단계에서 CG-IP 블록(240)의 제4 네트워크 인터페이스 모듈(234)과의 통신을 차단한 후, S170 단계에서 CG-IP 블록(240)의 클럭 게이트를 차단함으로써, CG-IP 블록(240) 및 제4 네트워크 인터페이스 모듈(234) 사이에서 발생할 수 있는 통신 오류가 방지될 수 있다.
다음으로, S200 단계에서, 제1 IP 블록(221)은 CG-IP 블록(240)의 클럭 신호의 차단 해제 요청을 생성할 수 있다.
S210 내지 S230 단계에서, 제1 IP 블록(221)은 제1 네트워크 인터페이스 모듈(231) 및 제5 네트워크 인터페이스 모듈(235)을 경유하여, 호스트의 클럭 차단 해제 요청을 클럭 게이트 제어 블록(250)으로 전달할 수 있다. S210 내지 S230 단계에서 클럭 차단 해제 요청이 클럭 게이트 제어 블록(250)으로 전달되기 위해 시스템 온 칩(200)에서 수행되는 동작은 상술된 S110 내지 S130 단계의 동작과 유사하므로 상세한 설명은 생략된다.
S240 단계에서, 클럭 게이트 제어 블록(250)은 호스트의 클럭 차단 해제 요청에 응답하여 클럭 게이트 제어 신호를 생성할 수 있다. 이 경우, 클럭 게이트 제어 신호는 CG-IP 블록(240)의 클럭 게이트를 차단하지 않을 것을 요청하는 신호일 수 있다.
S250 단계에서, 클럭 게이트 제어 블록(250)은 클럭 게이트 제어 신호를 CG-IP 블록(240)으로 전달할 수 있다. S250 단계에서, 클럭 게이트 제어 신호의 전달을 위해, 시스템 온 칩(200)에서 수행되는 동작은 상술된 S150 단계의 동작과 유사하므로 상세한 설명은 생략된다.
S260 단계에서, CG-IP 블록(240)은 수신된 클럭 게이트 제어 신호에 응답하여 클럭 게이트를 차단 해제할 수 있다. 예를 들어, CG-IP 블록(240)에 포함된 클럭 게이트 회로(CG)는 클럭 신호를 차단하지 않을 수 있다. 이 경우, CG-IP 블록(240)은 정상적으로 동작하는 상태가 될 수 있다.
S270 단계에서, CG-IP 블록(240)은 수신된 클럭 게이트 제어 신호에 응답하여, 제 4 네트워크 인터페이스 모듈(234)과의 통신을 허용할 수 있다. 예를 들어, CG-IP 블록(240)은 제4 네트워크 인터페이스 모듈(234)로 송신되는 통신 신호들을 유효화 시키거나, 또는 제4 네트워크 인터페이스 모듈(234)이 송신하는 통신 신호들을 수신할 준비가 되었음을 알릴 수 있다.
일 실시 예에서, 호스트의 클럭 차단 요청 또는 클럭 차단 해제 요청과 관계없이, CG-IP 블록(240)은 제4 네트워크 인터페이스 모듈(234)과 통신할 준비가 되어 있을 수 있다.
일 실시 예에서, S260 단계에서 CG-IP 블록(240)의 클럭 게이트가 차단 해제된 후, S270 단계에서 CG-IP 블록(240)의 제4 네트워크 인터페이스 모듈(234)과의 통신을 허용함으로써, CG-IP 블록(240) 및 제4 네트워크 인터페이스 모듈(234) 사이에서 발생할 수 있는 통신 오류가 방지될 수 있다.
도 6은 본 개시의 일 실시 예에 따른 시스템 온 칩을 보여준다. 도 6을 참조하면, 시스템 온 칩(300)은 PLL 블록(310), 복수의 IP 블록들(321~323), 네트워크 온 칩(330)을 포함할 수 있다. 한편, 시스템 칩 외부에는 발진기(OSC; oscillator)(OSC)가 존재할 수 있다. 발진기(OSC), 및 클럭 신호, PLL 블록(310), 및 복수의 IP 블록들(321~323)의 구조 및 기능은, 도 1을 참조하여 설명된 것과 유사하므로 상세한 설명은 생략된다.
PLL 블록(310)은 네트워크 온 칩(330)으로 다양한 유형의 클럭 신호를 전달 할 수 있다. 예를 들어, PLL 블록(310)은 네트워크 온 칩(330)의 클럭 게이팅 제어 모듈(350)로 하나 이상의 클럭 신호들을 송신할 수 있다.
복수의 IP 블록들(321~323)은 네트워크 온 칩(330)을 통해 서로 데이터 또는 신호를 주고 받을 수 있다. 예를 들어, 복수의 IP 블록들(321~323)은 네트워크 온 칩(330)을 통해 클럭 신호를 수신할 수 있다. 일 실시 예에서, 복수의 IP 블록들(321~323)이 수신하는 클럭 신호는, 클럭 게이트 회로(CG)로부터 출력된 신호일 수 있다.
네트워크 온 칩(330)은 네트워크 인터페이스 모듈(331), 라우터 모듈(RO), 복수의 CG-네트워크 인터페이스 모듈들(335~337), 및 클럭 게이팅 제어 모듈(350)을 포함할 수 있다.
네트워크 인터페이스 모듈(331)은 클럭 게이팅 제어 모듈(350) 및 복수의 CG-네트워크 인터페이스 모듈들(335~337) 사이의 통신을 지원할 수 있다. 예를 들어, IP 블록들(321~323) 중 프로세서 기능을 수행하는 제1 IP 블록(321)은, 네트워크 인터페이스 모듈(331)을 경유하여, 클럭 게이팅 제어 모듈(350)을 통해 클럭 신호를 제어할 제2 IP 블록(322)을 지정할 수 있다. 클럭 게이팅 제어 모듈(350)이 제1 IP 블록(321)으로부터 신호를 수신하여 제2 IP 블록(322)을 제어하는 방법은 이하에서 상세하게 설명된다.
복수의 CG-네트워크 인터페이스 모듈들(335~337) 각각은 복수의 IP 블록들(321~323) 사이의 통신을 지원할 수 있다. 예를 들어, 제1 CG-네트워크 인터페이스 모듈(335)은 제1 IP 블록(321)의 통신을 지원할 수 있고, 제2 CG-네트워크 인터페이스 모듈(336)은 제2 IP 블록(322)의 통신을 지원할 수 있고, 그리고 제3 CG-네트워크 인터페이스 모듈(337)은 제3 IP 블록(323)의 통신을 지원할 수 있다.
일 실시 예에서, 복수의 CG-네트워크 인터페이스 모듈들(335~337) 각각은 대응되는 IP 블록(321~323)과의 통신 규격 또는 프로토콜을 일치 시킬 수 있고, 대응되는 IP 블록(321~323)과의 통신을 지원할 수 있다.
일 실시 예에서, 복수의 CG-네트워크 인터페이스 모듈들(335~337) 각각이 대응하는 IP 블록(321~323)과의 통신을 허용할지 여부는, 클럭 게이팅 제어 모듈(350)에 의해 결정될 수 있다. 클럭 게이팅 제어 모듈(350)의 CG-네트워크 인터페이스 모듈들(335~337)을 제어하는 방식은 이하에서 상세하게 설명된다.
라우터 모듈(RO)은 복수의 CG-네트워크 인터페이스 모듈들(335~337)을 통한 복수의 IP 블록들(321~323) 사이의 통신들, 및 제1 IP 블록(321)의 네트워크 인터페이스 모듈(331)을 통한 클럭 게이팅 제어 모듈(350)과의 통신을 제어할 수 있다. 예를 들어, 라우터 모듈(RO)은 복수의 IP 블록들(321~323) 사이의 통신이 서로 충돌하여 발생할 수 있는 오류를 방지할 수 있다. 이 경우, 네트워크 온 칩(330)을 통해 IP 블록들(321~323) 사이의 병렬적인 통신 환경이 구현될 수 있다.
클럭 게이팅 제어 모듈(350)은 복수의 클럭 게이트 회로들(CG)을 포함할 수 있다. 복수의 클럭 게이트 회로들(CG)은 각각 복수의 IP 블록들(321~323)과 대응될 수 있다. 클럭 게이트 회로의 상세한 구성 및 기능은 도 3 내지 도 4를 참조하여 설명되었으므로 상세한 설명은 생략된다.
일 실시 예에서, 클럭 게이팅 제어 모듈(350)은 네트워크 인터페이스 모듈(331)로부터 신호를 수신하여, 복수의 클럭 게이트 회로들(CG) 각각에 클럭 게이트 제어 신호를 제공할 수 있다. 클럭 게이팅 제어 모듈(350)은 PLL 블록(310)으로부터 다양한 유형의 클럭 신호들을 수신하여, 복수의 클럭 게이트 회로들(CG) 각각에 클럭 신호를 제공할 수 있다.
일 실시 예에서, 클럭 게이트 회로들(CG)에서 출력되는 클럭 게이트 출력 신호들은 복수의 IP 블록들(321~323) 각각으로 제공될 수 있다. 예를 들어, 클럭 게이트 회로(CG)는 클럭 차단을 요청하는 클럭 게이트 제어 신호가 입력된 경우, 대응되는 IP 블록(예를 들어, 제2 IP 블록(322))에 클럭 신호를 제공하지 않을 수 있고, 클럭 차단 해제를 요청하는 클럭 게이트 제어 신호가 입력된 경우, 대응되는 IP 블록(예를 들어, 제2 IP 블록(322))에 클럭 신호를 제공할 수 있다.
클럭 게이팅 제어 모듈(350)은 제2 IP 블록(322)과 대응되는 CG-네트워크 인터페이스 모듈(336)로 통신 제어 신호를 송신할 수 있다. 예를 들어, 클럭 게이팅 제어 모듈(350)은 네트워크 인터페이스 모듈(331)을 경유하여 수신된 신호에 응답하여, 제2 CG-네트워크 인터페이스 모듈(336)로 통신 제어 신호를 송신할 수 있다. 이 경우, 통신 제어 신호는, 제2 CG-네트워크 인터페이스 모듈(336)의 제2 IP 블록(322)과의 통신을 차단 또는 허용할 것을 요청하는 신호일 수 있다.
일 실시 예에서, 제2 CG-네트워크 인터페이스 모듈(336)의 제2 IP 블록(322)와의 통신을 차단할 것을 요청하는, 통신 제어 신호를 수신한 제2 CG-네트워크 인터페이스 모듈(336)은, 제2 IP 블록(322)으로 송신되는 통신 신호들을 무효화시키고, 제2 IP 블록(322)으로부터 신호를 수신할 준비가 되어있지 않음을 알릴 수 있다. 이 경우, 복수의 IP 블록들(321~323) 중 일부 IP 블록(예를 들어, 제2 IP 블록(322))만 클럭 게이팅될 수 있으므로, 부분 클럭 게이팅 기능이 지원되는 시스템 온 칩이 제공될 수 있다.
일 실시 예에서, 제2 CG-네트워크 인터페이스 모듈(336)의 제2 IP 블록(322)과의 통신을 허용할 것을 요청하는 통신 제어 신호를 수신한 제2 CG-네트워크 인터페이스 모듈(336)은, 제2 IP 블록(322)으로 송신되는 통신 신호들을 유효화시키고, 제2 IP 블록(322)으로부터 신호를 수신할 준비가 되었음을 알릴 수 있다.
간결한 설명을 위해, 복수의 IP 블록들(321~323) 중 제2 IP 블록(322)만 클럭 게이팅 되는 실시 예가 설명되었으나, 본 개시의 범위는 이에 한정되지 않고, 복수의 IP 블록들 중 임의의 수의 IP 블록들이 클럭 게이팅 되는 실시 예가 포함될 수 있다.
간결한 설명을 위해, 도 6에는 클럭 게이팅 제어 모듈(350)에 대응되는 하나의 네트워크 인터페이스 모듈(331), 세 개의 IP 블록들(321~323), 및 세 개의 CG-네트워크 인터페이스 모듈(335~337)를 포함하는 시스템 온 칩(300)이 도시된다. 그러나 본 개시의 범위는 IP 블록들 및 CG-네트워크 인터페이스 모듈들의 수에 한정되지 않는다. 예를 들어, 일부 실시 예들 에서는, 클럭 게이팅 제어 모듈(350)에 대응되는 네트워크 인터페이스 모듈(331)을 제외한 모든 네트워크 인터페이스 모듈이 CG-네트워크 인터페이스 모듈로 구현되는 대신, 임의의 수의 네트워크 인터페이스 모듈들 및 임의의 수의 CG-네트워크 인터페이스 모듈들을 포함하도록 구현될 수 있다. 이 경우, 클럭 게이팅 제어 모듈(350)과 대응되지 않는 네트워크 인터페이스 모듈들의 동작은 도 1을 참조하여 설명된 것과 유사할 수 있다.
클럭 게이팅 제어 모듈(350)의 구성 및 기능은 이하의 도 7을 참조하여 보다 상세하게 설명되고, 시스템 온 칩(300)의 복수의 IP 블록들(321~323) 및 복수의 CG-네트워크 인터페이스 모듈들(335~337)이 제어되는 방식은 이하의 도 8를 참조하여 상세하게 설명된다.
도 7은 본 개시의 일 실시 예에 따른, 도 6의 클럭 게이팅 제어 모듈을 상세하게 보여주는 블록도이다. 도 6 및 도 7을 참조하면, 클럭 게이팅 제어 모듈(350)은 통신 회로(351), CG-네트워크 인터페이스 제어 회로(352), 및 복수의 클럭 게이트 회로들(CGa~CGc)을 포함할 수 있다.
통신 회로(351)는 프로세서 기능을 수행하는 IP 블록으로부터 임의의 IP 블록의 클럭 신호의 차단 또는 차단 해제를 요청하는 명령 또는 신호를 수신할 수 있다. 예를 들어, 제1 IP 블록(321)은 CG-제1 네트워크 인터페이스 모듈(335) 및 네트워크 인터페이스 모듈(331)을 경유하여, 통신 회로(351)로 제2 IP 블록(322)의 클럭 신호 차단 또는 클럭 신호 차단 해제를 요청할 수 있다.
CG-네트워크 인터페이스 제어 회로(352)는, 통신 회로(351)가 수신한 명령 또는 신호에 기반하여, 대응되는 CG-네트워크 인터페이스 모듈의 IP 블록과의 통신을 차단할 수 있다. 예를 들어 CG-네트워크 인터페이스 제어 회로(352)는, 통신 회로(351)가 수신한 제2 IP 블록(322)의 클럭 신호 차단 요청에 응답하여, 제2 CG-네트워크 인터페이스 모듈로, 제2 IP 블록(322)과의 통신을 차단할 것을 요청할 수 있다.
복수의 클럭 게이트 회로들(CGa~CGc) 각각은, 통신 회로(351)가 수신한 명령 또는 신호에 기반하여, 대응되는 IP 블록으로 클럭 게이트 출력 신호를 송신할 수 있다. 예를 들어, 제1 클럭 게이트 회로(CGa)는 제1 IP 블록(321)로 클럭 게이트 출력 신호를 송신할 수 있고, 제2 클럭 게이트 회로(CGb)는 제2 IP 블록(322)로 클럭 게이트 출력 신호를 송신할 수 있고, 그리고 제3 클럭 게이트 회로(CGc)는 제3 IP 블록(323)로 클럭 게이트 출력 신호를 송신할 수 있다.
일 실시 예에서, 통신 회로(351)가 제2 IP 블록(322)의 클럭 신호 차단 요청을 수신한 경우, 제2 클럭 게이트 회로(CGb)는 제2 IP 블록(322)로의 클럭 신호 전송을 중단할 수 있다.
간결한 설명을 위해, 도 7에는 세 개의 클럭 게이트 회로들(CGa~CGc)가 도시되나, 본 개시의 범위는 이에 한정되지 않는다. 예를 들어, 클럭 게이팅 제어 모듈(350)은 시스템 온 칩에 포함되는 IP 블록들의 수에 따라, 임의의 수의 클럭 게이트 회로들을 포함할 수 있다.
도 8은 도 6의 시스템 온 칩의 동작 방법을 나타내는 흐름도이다. 이하에서, 도 6 내지 도 8을 참조하여, 호스트의 클럭 신호 차단 요청에 응답하는 시스템 온 칩(300)의 동작을 나타낸 S300 단계 내지 S380 단계, 및 호스트의 클럭 신호 허용 요청에 응답하는 시스템 온 칩(300)의 동작을 나타낸 S400 단계 내지 S480 단계가 설명된다.
먼저, S300 단계에서, 제1 IP 블록(321)은 제2 IP 블록(322)의 클럭 신호 차단 요청을 생성할 수 있다. 일 실시 예에서, 제1 IP 블록(321)은 프로세서 기능을 수행할 수 있고, 호스트 장치일 수 있다.
S310 단계에서, 제1 IP 블록(321)은 호스트의 클럭 차단 요청을 네트워크 온 칩으로 전달할 수 있다. 예를 들어, 제1 IP블록(321)은 클럭 차단 요청을 제1 CG-네트워크 인터페이스 모듈(335)로 전달될 수 있다.
S320 단계에서, 제1 CG-네트워크 인터페이스 모듈(335)은 호스트의 클럭 차단 요청을, 네트워크 인터페이스 모듈(331)로 전달할 수 있다. 예를 들어, 네트워크 인터페이스 모듈(331)은 클럭 게이팅 제어 모듈(350)과 대응될 수 있다. 일 실시 예에서, 제1 CG-네트워크 인터페이스 모듈(335)로부터 네트워크 인터페이스 모듈(331)로 호스트의 클럭 차단 요청이 전달되는 단계는, 라우터 모듈(RO)의 제어를 통해 수행될 수 있다.
S330 단계에서, 네트워크 인터페이스 모듈(331)은 호스트의 클럭 차단 요청을 클럭 게이팅 제어 모듈(350)로 전달할 수 있다.
S340 단계에서, 클럭 게이팅 제어 모듈(350)은 제2 CG-네트워크 인터페이스 모듈(336)로 통신 제어 신호를 전달할 수 있다. 예를 들어, 클럭 게이팅 제어 모듈(350)은 호스트의 클럭 차단 요청에 응답하여, 통신 제어 신호를 생성하고 제2 CG-네트워크 인터페이스 모듈(336)로 송신할 수 있다. 이 경우, 통신 제어 신호는 제2 CG-네트워크 인터페이스 모듈(336)의 제2 IP 블록(322)과의 통신 차단을 요청하는 신호일 수 있다.
S350 단계에서, 제2 CG-네트워크 인터페이스 모듈(336)은 제2 IP 블록(322)과의 통신을 차단할 수 있다. 예를 들어, 통신 제어 신호를 수신한 제2 CG-네트워크 인터페이스 모듈(336)은, 제2 IP 블록(322)으로 송신되는 통신 신호들을 무효화시키거나, 제2 IP 블록(322)으로부터 신호를 수신할 준비가 되어있지 않음을 알릴 수 있다.
S360 단계에서, 클럭 게이팅 제어 모듈(350)은 클럭 게이트 출력 신호를 생성할 수 있다. 예를 들어, 클럭 게이팅 제어 모듈(350)은 네트워크 인터페이스 모듈(331)로부터 호스트의 클럭 차단 요청을 수신하고, PLL 블록(310)으로부터 다양한 유형의 클럭 신호들을 수신하여, 클럭 게이트 회로(CG)를 통해, 클럭 게이트 출력 신호를 출력할 수 있다. 이 경우, 클럭 게이트 출력 신호는 로우 레벨을 유지하는 신호일 수 있다. 즉, 클럭 게이트 회로(CG)는 제2 IP 블록(322)으로 클럭 신호를 송신하지 않을 수 있다.
S370 단계에서, 클럭 게이팅 제어 모듈(350)은 클럭 게이트 출력 신호를 제2 IP 블록(322)으로 제공할 수 있다.
S380 단계에서, 제2 IP 블록(322)의 내부 클럭 신호가 차단될 수 있다. 예를 들어, 클럭 게이팅 제어 모듈(350)로부터 클럭 신호의 송신이 중단되는 경우, 제2 IP 블록(322) 내부의 클럭 신호가 차단되고, 제2 IP 블록(322)은 휴지 상태가 될 수 있다.
일 실시 예에서, 호스트의 클럭 차단 요청에 응답하는 시스템 온 칩(300)의 동작의 순서는 일부 변경될 수 있다. 예를 들어, 상술된 S340 단계, 및 S360 내지 S370 단계의 동작은 순서가 변경되어 수행될 수 있다.
일 실시 예에서, S350 단계에서 제2 CG-네트워크 인터페이스 모듈(336)에 의해 제2 IP 블록(322)과의 통신이 차단된 후, S380 단계에서 제2 IP 블록(322)의 클럭 신호가 차단됨으로써, 제2 IP 블록(322) 및 네트워크 온 칩(330) 사이에서 발생할 수 있는 통신 오류가 방지될 수 있다. 따라서, IP 블록의 설계 변경 없이 네트워크 온 칩(330)의 교체를 통해, 부분 클럭 게이팅 기능이 구현된 시스템 온 칩(300)이 제공될 수 있다.
다음으로 S400 단계에서, 제1 IP 블록(321)은 제2 IP 블록(322)의 클럭 신호 차단 해제 요청을 생성할 수 있다. 일 실시 예에서, 제1 IP 블록(321)은 프로세서 기능을 수행할 수 있고, 호스트 장치일 수 있다.
S410 내지 S430단계에서, 제1 IP 블록(321)은 제1 CG-네트워크 인터페이스 모듈(335) 및 제2 CG-네트워크 인터페이스 모듈(336)을 경유하여, 호스트의 클럭 신호 차단 해제 요청을 클럭 게이팅 제어 모듈(350)로 전달할 수 있다. S410 내지 S430 단계의 호스트의 클럭 신호 차단 해제 요청의 전달은 상술된 S310 내지 S330 단계와 유사하므로 상세한 설명은 생략된다.
S440 단계에서, 클럭 게이팅 제어 모듈(350)은 클럭 게이트 출력 신호를 생성할 수 있다. 예를 들어, 클럭 게이팅 제어 모듈(350)은 네트워크 인터페이스 모듈(331)로부터 호스트의 클럭 차단 해제 요청을 수신하고, PLL 블록(310)으로부터 다양한 유형의 클럭 신호들을 수신하여, 클럭 게이트 회로(CG)를 통해, 클럭 게이트 출력 신호를 출력할 수 있다. 이 경우, 클럭 게이트 출력 신호는, 클럭 게이팅 제어 모듈(350)이 PLL 블록(310)으로부터 수신한 클럭 신호와 동일한 신호일 수 있다. 즉, 클럭 게이트 회로(CG)는 제2 IP 블록(322)으로 클럭 신호를 송신할 수 있다.
S450 단계에서, 클럭 게이팅 제어 모듈(350)은 클럭 게이트 출력 신호를 제2 IP 블록(322)으로 전달할 수 있다.
S460 단계에서, 제2 IP 블록(322)의 내부 클럭 신호가 차단 해제될 수 있다. 예를 들어, 클럭 게이팅 제어 모듈(350)로부터 클럭 신호가 수신되는 경우, 제2 IP 블록이 정상적으로 동작할 수 있다.
S470 단계에서, 클럭 게이팅 제어 모듈(350)은 제2 CG-네트워크 인터페이스 모듈(336)로 통신 제어 신호를 전달할 수 있다. 예를 들어, 클럭 게이팅 제어 모듈(350)은 호스트의 클럭 차단 해제 요청에 응답하여, 통신 제어 신호를 생성하고 제2 CG-네트워크 인터페이스 모듈(336)로 송신할 수 있다. 이 경우, 통신 제어 신호는 제2 CG-네트워크 인터페이스 모듈(336)의 제2 IP 블록(322)과의 통신 허용을 요청하는 신호일 수 있다.
S480 단계에서, 제2 CG-네트워크 인터페이스 모듈(336)은 제2 IP 블록(322)과의 통신을 허용할 수 있다. 예를 들어, 통신 제어 신호를 수신한 제2 CG-네트워크 인터페이스 모듈(336)은, 제2 IP 블록(322)으로 송신되는 통신 신호들을 유효화시키거나, 제2 IP 블록(322)으로부터 신호를 수신할 준비가 되었음을 알릴 수 있다.
일 실시 예에서, 호스트의 클럭 차단 해제 요청에 응답하는 시스템 온 칩(300)의 동작의 순서는 일부 변경될 수 있다. 예를 들어, 상술된 S440~S450단계 및 S470단계의 동작은 순서가 변경되어 수행될 수 있다.
일 실시 예에서, 호스트의 클럭 차단 요청 또는 클럭 차단 해제 요청과 관계없이, 제2 IP 블록(322)은 제2 CG-네트워크 인터페이스 모듈(336)과 통신할 준비가 되어 있을 수 있다.
일 실시 예에서, S460 단계에서 제2 IP 블록(322)의 클럭 신호가 차단 해제된 후, S480 단계에서 제2 CG-네트워크 인터페이스 모듈(336)에 의해 제2 IP 블록(322)과의 통신이 허용됨으로써, 제2 IP 블록(322) 및 네트워크 온 칩(330) 사이에서 발생할 수 있는 통신 오류가 방지될 수 있다. 이 경우, IP 블록의 설계 변경 없이, 네트워크 온 칩(330)의 교체를 통해, 부분 클럭 게이팅 기능이 구현되는 시스템 온 칩이 제공될 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
300: 시스템 온 칩
310: PLL 블록
321~323: IP 블록
330: 네트워크 온 칩
331: 네트워크 인터페이스 모듈
335~337: CG-네트워크 인터페이스 모듈
RO: 라우터 모듈
350: 클럭 게이팅 제어 모듈
CG: 클럭 게이트 회로

Claims (20)

  1. 제1 IP 블록의 통신을 지원하는 제1 CG-네트워크 인터페이스 모듈;
    제2 IP 블록의 통신을 지원하는 제2 CG-네트워크 인터페이스 모듈; 및
    클럭 게이팅 제어 모듈을 포함하고,
    상기 클럭 게이팅 제어 모듈은:
    상기 제1 IP 블록으로부터 클럭 게이팅 요청을 수신하고;
    상기 수신된 클럭 게이팅 요청에 응답하여, 상기 제2 CG-네트워크 인터페이스 모듈로 통신 제어 신호를 출력하고;
    상기 수신된 클럭 게이팅 요청에 응답하여, 클럭 신호에 대한 클럭 게이팅 동작을 수행함으로써, 상기 클럭 신호를 상기 제2 IP 블록으로 선택적으로 전달하는 네트워크 온 칩.
  2. 제 1 항에 있어서,
    상기 네트워크 온 칩은,
    상기 제1 CG-네트워크 인터페이스 모듈 및 상기 제2 CG-네트워크 인터페이스 모듈 사이의 통신을 제어하는 라우터 모듈을 더 포함하는 네트워크 온 칩.
  3. 제 1 항에 있어서,
    상기 네트워크 온 칩은,
    상기 클럭 게이팅 제어 모듈 및 상기 제1 CG-네트워크 인터페이스 모듈 사이의 통신을 지원하는 네트워크 인터페이스를 더 포함하는 네트워크 온 칩.
  4. 제 3 항에 있어서,
    상기 네트워크 온 칩은,
    상기 클럭 게이팅 제어 모듈 및 상기 제1 CG-네트워크 인터페이스 모듈 사이의 통신을 제어하는 라우터 모듈을 더 포함하는 네트워크 온 칩.
  5. 제 1 항에 있어서,
    상기 수신된 클럭 게이팅 요청이, 상기 제2 IP 블록의 클럭 차단을 가리키는경우,
    상기 통신 제어 신호는, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용하지 않을 것을 요청하는 신호이고,
    상기 클럭 게이팅 제어 모듈은, 상기 클럭 신호가 상기 제2 IP 블록으로 전달되지 않도록 상기 클럭 신호를 차단하는 네트워크 온 칩.
  6. 제 5 항에 있어서,
    상기 클럭 게이팅 제어 모듈은,
    상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 차단하는 동작 이후에, 상기 클럭 신호를 차단하는 네트워크 온 칩.
  7. 제 1 항에 있어서,
    상기 수신된 클럭 게이팅 요청이, 상기 제2 IP 블록의 클럭 차단 해제를 가리키는 경우,
    상기 통신 제어 신호는, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용할 것을 요청하는 신호이고,
    상기 클럭 게이팅 제어 모듈은, 상기 클럭 신호를 상기 제2 IP 블록으로 전달하는 네트워크 온 칩.
  8. 제 7 항에 있어서,
    상기 클럭 게이팅 제어 모듈은,
    상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용하는 동작 이전에, 상기 클럭 신호를 상기 제2 IP 블록으로 전달하는 네트워크 온 칩.
  9. 제 1 항에 있어서,
    상기 클럭 게이팅 제어 모듈은,
    상기 클럭 게이팅 동작을 수행하는 클럭 게이트를 포함하는, 네트워크 온 칩.
  10. 제1 CG-네트워크 인터페이스 모듈, 제2 CG-네트워크 인터페이스 모듈, 및 클럭 게이팅 제어 모듈을 포함하는 네트워크 온 칩;
    상기 제1 CG-네트워크 인터페이스 모듈을 통해 통신하는 제1 IP 블록; 및
    상기 제2 CG-네트워크 인터페이스 모듈을 통해 통신하는 제2 IP 블록을 포함하고,
    상기 클럭 게이팅 제어 모듈은:
    상기 제1 IP 블록으로부터 클럭 게이팅 요청을 수신하고;
    상기 수신된 클럭 게이팅 요청에 응답하여, 상기 제2 CG-네트워크 인터페이스 모듈로 통신 제어 신호를 출력하고;
    상기 수신된 클럭 게이팅 요청에 응답하여, 클럭 신호에 대한 클럭 게이팅 동작을 수행함으로써, 상기 클럭 신호를 상기 제2 IP 블록으로 선택적으로 전달하는 시스템 온 칩.
  11. 제 10 항에 있어서,
    상기 클럭 신호를 생성하고,
    상기 생성된 클럭 신호를 상기 클럭 게이팅 제어 모듈로 제공하는 PLL 블록을 더 포함하는 시스템 온 칩.
  12. 제 10 항에 있어서,
    상기 네트워크 온 칩은,
    상기 제1 CG-네트워크 인터페이스 모듈 및 상기 제2 CG-네트워크 인터페이스 모듈 사이의 통신을 제어하는 라우터 모듈을 더 포함하는 시스템 온 칩.
  13. 제 10 항에 있어서,
    상기 네트워크 온 칩은,
    상기 클럭 게이팅 제어 모듈 및 상기 제1 CG-네트워크 인터페이스 모듈 사이의 통신을 지원하는 네트워크 인터페이스를 더 포함하는 시스템 온 칩.
  14. 제 13 항에 있어서,
    상기 네트워크 온 칩은,
    상기 클럭 게이팅 제어 모듈 및 상기 제1 CG-네트워크 인터페이스 모듈 사이의 통신을 제어하는 라우터 모듈을 더 포함하는 시스템 온 칩.
  15. 제 10 항에 있어서,
    상기 수신된 클럭 게이팅 요청이 상기 제2 IP 블록의 클럭 차단을 가리키는 경우,
    상기 통신 제어 신호는, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용하지 않을 것을 요청하는 신호이고,
    상기 클럭 게이팅 제어 모듈은, 상기 클럭 신호가 상기 제2 IP 블록으로 전달되지 않도록 상기 클럭 신호를 차단하는 시스템 온 칩.
  16. 제 15 항에 있어서,
    상기 클럭 게이팅 제어 모듈은,
    상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 차단하는 동작 이후에, 상기 클럭 신호를 차단하는 시스템 온 칩.
  17. 제 10 항에 있어서,
    상기 수신된 클럭 게이팅 요청이, 상기 제2 IP 블록의 클럭 차단 해제를 가리키는 경우,
    상기 통신 제어 신호는, 상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용할 것을 요청하는 신호이고,
    상기 클럭 게이팅 제어 모듈은, 상기 클럭 신호를 상기 제2 IP 블록으로 전달하는 시스템 온 칩.
  18. 제 17 항에 있어서,
    상기 클럭 게이팅 제어 모듈은,
    상기 제2 CG-네트워크 인터페이스 모듈이 상기 제2 IP 블록과의 통신을 허용하는 동작 이전에, 상기 클럭 신호를 상기 제2 IP 블록으로 전달하는 시스템 온 칩.
  19. 제 10 항에 있어서,
    상기 제1 IP 블록은 프로세서 기능을 수행하는, 시스템 온 칩.
  20. 제 10 항에 있어서,
    상기 클럭 게이팅 제어 모듈은,
    상기 클럭 게이팅 동작을 수행하는 클럭 게이트를 포함하는 시스템 온 칩.
KR1020210082973A 2021-06-25 2021-06-25 저전력 시스템 온 칩 KR20230000638A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210082973A KR20230000638A (ko) 2021-06-25 2021-06-25 저전력 시스템 온 칩
US17/847,636 US20220413544A1 (en) 2021-06-25 2022-06-23 Low power system on chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210082973A KR20230000638A (ko) 2021-06-25 2021-06-25 저전력 시스템 온 칩

Publications (1)

Publication Number Publication Date
KR20230000638A true KR20230000638A (ko) 2023-01-03

Family

ID=84543112

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210082973A KR20230000638A (ko) 2021-06-25 2021-06-25 저전력 시스템 온 칩

Country Status (2)

Country Link
US (1) US20220413544A1 (ko)
KR (1) KR20230000638A (ko)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60034345D1 (de) * 2000-11-03 2007-05-24 St Microelectronics Srl Abschaltprotokoll für integrierte Schaltungen
JP2007019414A (ja) * 2005-07-11 2007-01-25 Matsushita Electric Ind Co Ltd 半導体集積回路装置
US8745279B2 (en) * 2011-10-31 2014-06-03 International Business Machines Corporation Self-healing and reconfiguration in an integrated circuit
JP6431536B2 (ja) * 2013-10-21 2018-11-28 マーベル インターナショナル リミテッド 最終レベルキャッシュシステム及び対応する方法
US9571341B1 (en) * 2014-10-01 2017-02-14 Netspeed Systems Clock gating for system-on-chip elements
US9405881B2 (en) * 2014-12-19 2016-08-02 Cisco Technology, Inc. Cycle accurate state analysis with programmable trigger logic
DE102016109387A1 (de) * 2015-05-26 2016-12-01 Samsung Electronics Co., Ltd. Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems
DE102017110823A1 (de) * 2016-01-25 2018-07-26 Samsung Electronics Co., Ltd. Halbleitervorrichtung, Halbleitersystem und Verfahren zum Betreiben der Halbleitervorrichtung
KR102467172B1 (ko) * 2016-01-25 2022-11-14 삼성전자주식회사 반도체 장치
US10503674B2 (en) * 2016-02-03 2019-12-10 Samsung Electronics Co., Ltd. Semiconductor device including a clock source for generating a clock signal and a clock control circuit for controlling the clock source in hardware, a semiconductor system including the semiconductor device, and a method of operating the semiconductor device
US10452124B2 (en) * 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10664006B2 (en) * 2018-01-11 2020-05-26 Qualcomm Incorporated Method and apparatus for automatic switch to retention mode based on architectural clock gating
US11604505B2 (en) * 2020-12-29 2023-03-14 Qualcomm Incorporated Processor security mode based memory operation management

Also Published As

Publication number Publication date
US20220413544A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
US10853304B2 (en) System on chip including clock management unit and method of operating the system on chip
KR20180050728A (ko) 멀티-노드 네트워크에서의 입력/출력 신호 브릿징 및 가상화
CN102270187B (zh) 处理器和输入/输出中枢的集成
KR101487181B1 (ko) 시스템 온 칩 내에 독립 로직 블록의 통합
US8659336B2 (en) Apparatus and method for synchronising signals
US8531893B2 (en) Semiconductor device and data processor
US6782486B1 (en) Apparatus for stopping and starting a clock in a clock forwarded I/O system depending on the presence of valid data in a receive buffer
US11275708B2 (en) System on chip including clock management unit and method of operating the system on chip
TW201828596A (zh) 半導體裝置
US20170286357A1 (en) Method, Apparatus And System For Communicating Between Multiple Protocols
KR102635457B1 (ko) PCIe 장치 및 이를 포함하는 컴퓨팅 시스템
KR20230000638A (ko) 저전력 시스템 온 칩
US6584536B1 (en) Bus transaction accelerator for multi-clock systems
US10248155B2 (en) Semiconductor device including clock generating circuit and channel management circuit
KR101276837B1 (ko) 서로 다른 동작 주파수로 동작하는 프로세서 시스템 간의 통신을 지원하기 위한 장치
CN108319326B (zh) 半导体装置
US5828872A (en) Implementation of high speed synchronous state machines with short setup and hold time signals
JP2004326222A (ja) データ処理システム
US20230315591A1 (en) PCIe DEVICE AND COMPUTING SYSTEM INCLUDING THE SAME
KR20230047823A (ko) 시스템 온 칩 및 어플리케이션 프로세서
CN118245399A (zh) 通用输入输出接口电路、片上***和电子设备
JP2000347979A (ja) 入出力命令実行装置
JP2001297057A (ja) バス制御装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal