KR102550422B1 - Semiconductor device - Google Patents
Semiconductor device Download PDFInfo
- Publication number
- KR102550422B1 KR102550422B1 KR1020170007002A KR20170007002A KR102550422B1 KR 102550422 B1 KR102550422 B1 KR 102550422B1 KR 1020170007002 A KR1020170007002 A KR 1020170007002A KR 20170007002 A KR20170007002 A KR 20170007002A KR 102550422 B1 KR102550422 B1 KR 102550422B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- request signal
- unit
- control circuit
- signal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
반도체 장치가 제공된다. 상기 반도체 장치는, 제1 제어 회로와 제1 클럭 게이팅 회로를 포함하는 제1 클럭 생성부, 상기 제1 클럭 생성부와 풀 핸드쉐이크(full handshake) 방식에 따라 통신하는 제1 채널 관리부, 제2 제어 회로와 제2 클럭 게이팅 회로를 포함하는 제2 클럭 생성부, 및 상기 제2 클럭 생성부와 풀 핸드쉐이크 방식에 따라 통신하는 제2 채널 관리부를 포함하고, 상기 제1 클럭 게이팅 회로는 제1 클럭을 출력하고, 상기 제2 클럭 게이팅 회로는 상기 제1 클럭과 다른 제2 클럭을 출력한다.A semiconductor device is provided. The semiconductor device may include a first clock generator including a first control circuit and a first clock gating circuit, a first channel manager communicating with the first clock generator according to a full handshake method, and a second clock generator. a second clock generation unit including a control circuit and a second clock gating circuit; and a second channel management unit communicating with the second clock generation unit according to a full handshake method, wherein the first clock gating circuit comprises a first clock, and the second clock gating circuit outputs a second clock different from the first clock.
Description
본 발명은 반도체 회로를 포함하는 반도체 장치에 관한 것이다.The present invention relates to a semiconductor device including a semiconductor circuit.
컴퓨터, 통신, 방송 등이 점차 통합되는 컨버전스(Convergence)화에 따라, 기존 ASIC(Application Specific IC; 주문형 반도체)와 ASSP(Application Specific Standard Product; 특정용도 표준제품)의 수요는 SoC의 수요로 변환되고 있는 추세이다. 또한, IT(Information Technology) 기기의 경박 단소화 및 고기능화 추세도 SoC를 촉진시키는 요인들 중의 하나이다. With the convergence of computers, telecommunications, and broadcasting, the demand for existing ASIC (Application Specific IC) and ASSP (Application Specific Standard Product) is being converted into SoC demand. there is a trend In addition, the trend of light, thin, small-sized and highly functional IT (Information Technology) devices is one of the factors promoting SoC.
그러한 SoC는, 반도체 공정 기술의 발전에 힘입어 기존의 여러 가지 기능을 가진 기능 블록들, 예컨대 IP(Intellectural Property)들이 하나의 칩 상에 집약적으로 구현된 형태이다. Such an SoC is a form in which existing functional blocks having various functions, for example, IP (Intellectural Property), are intensively implemented on a single chip thanks to the development of semiconductor process technology.
SoC의 집적도 및 사이즈가 커지고 동작 속도도 높아짐에 따라, 저전력 소비 이슈도 매우 중요한 팩터들 중의 하나가 된다. 왜냐하면 전력 소비가 심할 경우에 칩의 온도가 높아져 동작 불능은 물론 패키지(package)가 파손되는 경우도 초래될 수 있다. As the degree of integration and size of SoCs increase and the operating speed increases, the issue of low power consumption also becomes one of the very important factors. This is because, when the power consumption is severe, the temperature of the chip rises, resulting in inoperability as well as damage to the package.
SoC 내의 반도체 회로에서, 전력 절감(power reduction) 등의 목적을 위해 클럭을 제공하거나 차단하는 회로가 필요한 경우가 있다. 클럭 게이팅 회로(Clock Gating Circuit)는 특정 회로의 동작이 필요하지 않는 경우 그 회로에 클럭을 공급하지 않는데 이용되고 있다.In a semiconductor circuit in an SoC, there are cases where a circuit providing or blocking a clock is required for purposes such as power reduction. A clock gating circuit is used to not supply a clock to a specific circuit when the operation of the circuit is not required.
본 발명이 해결하고자 하는 과제는, SoC 내의 반도체 회로에서 채널 매니지먼트 유닛과 IP(Intellectual Property) 사이의 연결 관계를 정의하여, 다양한 클럭 컨수머(clock consumer)를 적용할 수 있는 반도체 장치를 제공하는 것이다. An object to be solved by the present invention is to provide a semiconductor device capable of applying various clock consumers by defining a connection relationship between a channel management unit and IP (Intellectual Property) in a semiconductor circuit within an SoC. .
본 발명이 해결하고자 하는 과제는, 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the above-mentioned problems, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.
상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 반도체 장치는, 제1 제어 회로와 제1 클럭 게이팅 회로를 포함하는 제1 클럭 생성부, 상기 제1 클럭 생성부와 풀 핸드쉐이크(full handshake) 방식에 따라 통신하는 제1 채널 관리부, 제2 제어 회로와 제2 클럭 게이팅 회로를 포함하는 제2 클럭 생성부, 및 상기 제2 클럭 생성부와 풀 핸드쉐이크 방식에 따라 통신하는 제2 채널 관리부를 포함하고, 상기 제1 클럭 게이팅 회로는 제1 클럭을 출력하고, 상기 제2 클럭 게이팅 회로는 상기 제1 클럭과 다른 제2 클럭을 출력한다. In order to solve the above object, a semiconductor device according to some embodiments of the present disclosure includes a first clock generator including a first control circuit and a first clock gating circuit, and a full handshake with the first clock generator. ) method, a second clock generator including a second control circuit and a second clock gating circuit, and a second channel manager that communicates with the second clock generator according to a full handshake method. wherein the first clock gating circuit outputs a first clock, and the second clock gating circuit outputs a second clock different from the first clock.
상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 반도체 장치는, 제1 제어 회로와 제1 클럭 게이팅 회로를 포함하는 제1 클럭 생성부, 상기 제1 클럭 생성부와 풀 핸드쉐이크(full handshake) 방식에 따라 통신하는 제1 채널 관리부, 및 제2 제어 회로와 제2 클럭 게이팅 회로를 포함하는 제2 클럭 생성부를 포함하고, 상기 제2 클럭 생성부는 상기 제1 채널 관리부와 풀 핸드쉐이크 방식에 따라 통신하고, 상기 제1 클럭 게이팅 회로는 제1 클럭을 출력하고, 상기 제2 클럭 게이팅 회로는 상기 제1 클럭과 다른 제2 클럭을 출력한다. In order to solve the above object, a semiconductor device according to some embodiments of the present disclosure includes a first clock generator including a first control circuit and a first clock gating circuit, and a full handshake with the first clock generator. ) method, and a second clock generator including a second control circuit and a second clock gating circuit, wherein the second clock generator communicates with the first channel manager in a full handshake method. , the first clock gating circuit outputs a first clock, and the second clock gating circuit outputs a second clock different from the first clock.
상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 반도체 장치는, 제1 제어 회로와 제1 클럭 게이팅 회로를 포함하는 제1 클럭 생성부, 상기 제1 클럭 생성부와 풀 핸드쉐이크(full handshake) 방식에 따라 통신하는 제1 채널 관리부, 및 상기 제1 클럭 생성부와 풀 핸드쉐이크 방식에 따라 통신하는 제2 채널 관리부를 포함하고, 상기 제1 채널 관리부는 상기 제1 클럭 생성부로 제1 클럭 요청 신호를 전송하고, 상기 제2 채널 관리부는 상기 제1 클럭 생성부로 제2 클럭 요청 신호를 전송한다. In order to solve the above object, a semiconductor device according to some embodiments of the present disclosure includes a first clock generator including a first control circuit and a first clock gating circuit, and a full handshake with the first clock generator. ) method, and a second channel management unit communicating with the first clock generator according to a full handshake method, wherein the first channel manager transmits a first clock signal to the first clock generator. A request signal is transmitted, and the second channel manager transmits a second clock request signal to the first clock generator.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.
도 1은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다.
도 2는 본 발명의 몇몇 실시예에 따른 반도체 장치에 포함된 클럭 관리 유닛을 도시한 블록도이다.
도 3은 본 발명의 몇몇 실시예에 따른 반도체 장치에 포함된 IP를 도시한 블록도이다.
도 4는 복수 개의 제어 회로 사이의 신호 전송 패스(path)를 도시한 것이다.
도 5a는 본 발명에서 이용되는 클럭 요청 신호와 클럭 응답 신호를 설명하기 위한 도면이다.
도 5b는 본 발명에서 이용되는 클럭 요청 신호와 클럭 응답 신호에 대한 클럭 레벨 천이(transition)를 도시한 것이다.
도 6은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다.
도 7은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다.
도 8은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다.
도 9a는 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이고, 도 9b는 도 9a의 반도체 장치의 동작을 나타낸 타이밍도이다.
도 10a은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이고, 도 10b는 도 10a의 반도체 장치의 동작을 나타낸 타이밍도이다.
도 11은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다.
도 12는 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다.
도 13은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다.
도 14는 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다.
도 15는 본 발명의 몇몇 실시예에 따른 반도체 장치를 포함하는 반도체 시스템의 일 실시예를 나타내는 블록도이다.
도 16은 본 발명의 몇몇 실시예에 따른 반도체 장치를 포함하는 반도체 시스템의 다른 실시예를 나타내는 블록도이다.1 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
2 is a block diagram illustrating a clock management unit included in a semiconductor device according to some embodiments of the inventive concept.
3 is a block diagram illustrating IP included in a semiconductor device according to some embodiments of the present invention.
4 illustrates a signal transmission path between a plurality of control circuits.
5A is a diagram for explaining a clock request signal and a clock response signal used in the present invention.
5B illustrates clock level transitions of a clock request signal and a clock response signal used in the present invention.
6 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
7 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
8 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
FIG. 9A is a block diagram illustrating a semiconductor device according to some example embodiments, and FIG. 9B is a timing diagram illustrating an operation of the semiconductor device of FIG. 9A.
FIG. 10A is a block diagram illustrating a semiconductor device according to some example embodiments, and FIG. 10B is a timing diagram illustrating an operation of the semiconductor device of FIG. 10A.
11 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
12 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
13 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
14 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
15 is a block diagram illustrating an example of a semiconductor system including a semiconductor device according to some example embodiments of inventive concepts.
16 is a block diagram illustrating another embodiment of a semiconductor system including a semiconductor device according to some embodiments of the inventive concept.
도 1은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다. 1 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
도 1을 참조하면, 본 발명의 몇몇의 실시예에 따른 반도체 장치는 입출력 패드(101), 클럭 관리 유닛(CMU; Clock Management Unit)(100), 전력 관리 유닛(PMU; Power Management Unit)(300) 및 로직 블록(logic block)을 포함할 수 있다. 예를 들어, 로직 블록은 적어도 하나의 IP 블록(intellectual property)(200, 210, 220)으로 구현될 수 있다. Referring to FIG. 1 , a semiconductor device according to some embodiments of the present invention includes an input/
클럭 관리 유닛(100)은 제1 내지 제3 IP 블록(200, 210, 220) 각각으로 제공하기 위한 동작 클럭 신호를 생성할 수 있다. 예를 들면, 클럭 관리 유닛(100)은 제1 내지 제3 클럭 신호(CLK1, CLK2, CLK3)를 생성할 수 있다. The
제1 내지 제3 IP 블록(200, 210, 220) 각각은 시스템 버스(bus)에 연결되며, 시스템 버스를 통하여 상호간에 통신할 수 있다. 본 발명의 몇몇의 실시예에서, 제1 내지 제3 IP 블록(200, 210, 220) 각각은 프로세서(processor), 그래픽 프로세서(graphic processor), 메모리 컨트롤러(graphic controller), 입출력 인터페이스 블록(input and output interface block) 등을 포함할 수 있다. Each of the first to
클럭 관리 유닛(100)은 제1 IP 블록(200)으로 제1 클럭 신호(CLK1)를 제공할 수 있다. 클럭 관리 유닛(100)은 제2 IP 블록(210)으로 제2 클럭 신호(CLK2)를 제공할 수 있다. 클럭 관리 유닛(100)은 제3 IP 블록(220)으로 제3 클럭 신호(CLK3)를 제공할 수 있다. The
제1 내지 제3 IP 블록(200, 210, 220) 중 어느 하나는 풀 핸드셰이크 방식(full handshake method)에 따라 클럭 관리 유닛(100)으로 클럭 요청 신호를 전송할 수 있다.Any one of the first to
예를 들어, 제1 IP 블록(200)은 풀 핸드셰이크 방식에 따라 클럭 관리 유닛(100)으로 제1 클럭 요청 신호(REQ1)를 전송할 수 있다. 클럭 관리 유닛(100)은 제1 클럭 요청 신호(REQ1)를 수신하고, 제1 IP 블록(200)으로 제1 클럭 응답 신호(ACK1)를 전송할 수 있다. 또한, 동시에 클럭 관리 유닛(100)은 제1 클럭 신호(CLK1)을 제1 IP 블록(200)으로 전송할 수 있다. For example, the
본 발명의 몇몇의 실시예에서, 클럭 관리 유닛(100)과 제1 내지 제3 IP 블록(200, 210, 220) 사이의 인터페이스는 풀 핸드셰이크 방식(full handshake method)의 형식을 가질 수 있다. 본 발명의 몇몇의 실시예에서, 상기 인터페이스는 ARM 사의 Q-채널 인터페이스(Q-Channel Interface) 또는 P-채널 인터페이스(P-Channel Interface)에 따르도록 구현될 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니다.In some embodiments of the present invention, an interface between the
클럭 게이팅(clock gating)은 컴퓨터 시스템 내부를 작은 기능 블록들로 구분한 뒤 사용하지 않는 부분의 전력은 끊는 기능이다. 실제 컴퓨터를 사용하면서 컴퓨터 시스템의 모든 부분이 항상 동작하는 것은 아니므로 사용하지 않는 부분의 블록을 정지시켜서 소비 전력을 낮추고, 더불어 기능이 정지된 블록에서 생기는 발열도 줄일 수 있다. Clock gating is a function that divides the inside of a computer system into small functional blocks and cuts power to unused parts. Since not all parts of the computer system always operate while using a real computer, it is possible to reduce power consumption by stopping unused blocks, and also reduce heat generated from disabled blocks.
본 발명의 몇몇의 실시예에 따른 클럭 관리 유닛(100)은 제1 내지 제3 IP 블록(200, 210, 220) 중 동작 클럭이 필요하지 않은 IP 블록에 대하여 후단으로부터 순차적으로 클럭 게이팅을 수행하여, IP 블록 동작에 오류를 발생시키지 않으면서 자동적으로 클럭 게이팅을 수행하여 전력 소비를 줄일 수 있다. The
전력 관리 유닛(300)은 반도체 장치(100)에 공급되는 전원을 제어한다. 예를 들어, 반도체 장치(100)가 대기 모드에 들어가면, 전력 관리 유닛(300)은 전력 조절 회로를 오프 하여 반도체 장치(100)로 제공되는 공급 전원을 차단한다. 이 때, 전력 관리 유닛(300)은 계속적으로 전력을 소모하지만, 전력 관리 유닛(300)에서 소모되는 전력은 반도체 장치(100) 전체에서 소모되는 전력에 비해 아주 작은 부분에 해당되므로, 대기 모드에서는 반도체 장치(100)의 전력 소비가 크게 줄어든다. The
구체적으로, 전력 관리 유닛(300)은 반도체 장치(100)가 대기 모드인 경우, 클럭 관리 유닛(100)으로 제공되는 공급 전력을 차단할 수 있다. 이는 제1 내지 제3 IP 블록(200, 210, 220)에서 클럭 요청이 없는 경우에 해당할 수 있다.In detail, the
도 2는 본 발명의 몇몇 실시예에 따른 반도체 장치에 포함된 클럭 관리 유닛을 도시한 블록도이다.2 is a block diagram illustrating a clock management unit included in a semiconductor device according to some embodiments of the inventive concept.
도 2를 참조하면, 클럭 관리 유닛(100)은 클럭 컴포넌트(Clock Component)(120a, 120b, 120c, 120d, 120e, 120f, 120g), 채널 관리 회로(Channel Management circuit, CM)(130, 132) 및 클럭 관리 유닛 컨트롤러(Clock Management Controller, CMU Controller)(110)를 포함한다. 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)는 IP 블록(200, 210)에 제공할 클럭 신호를 생성하고, 채널 관리 회로(130, 132)는 클럭 컴포넌트(120f, 120g)와 IP 블록(200, 210) 사이에 배치되어 클럭 관리 유닛(100)과 IP 블록(200, 210) 사이의 통신 채널(Channel, CH)을 제공한다. 그리고 클럭 관리 유닛 컨트롤러(110)는 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)를 이용하여 IP 블록(200, 210)에 클럭 신호를 제공한다.Referring to FIG. 2, the
본 발명의 몇몇의 실시예에서, 채널 관리 회로(130, 132)가 제공하는 통신 채널(CH)은 ARM 사의 LPI(Low Power Interface), Q-채널 인터페이스(Q-Channel Interface) 또는 P-채널 인터페이스(P-Channel Interface)에 따르도록 구현될 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니고, 구현 목적에 따라 정해진 임의의 통신 프로토콜을 따르는 통신 채널(CH)로 구현될 수 있다.In some embodiments of the present invention, the communication channel (CH) provided by the
클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)는 각각 클럭 소오스(Clock Source, CS)(124a, 124b, 124c, 124d, 124e, 124f, 124g)와, 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)를 각각 제어하는 클럭 제어 회로(Clock Control circuit, CC)(122a, 122b, 122c, 122d, 122e, 122f, 122g)를 포함한다. 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)는, 예컨대, 다중화 회로(MUX circuit), 클럭 분주 회로(clock dividing circuit), 단기 정지 회로(short stop circuit), 클럭 게이팅 회로(clock gating circuit) 등을 포함할 수 있다.The
클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)는 서로 간에 부모-자식 관계를 형성한다. 본 실시예에서 클럭 컴포넌트(120a)는 클럭 컴포넌트(120b)의 부모이고, 클럭 컴포넌트(120b)는 클럭 컴포넌트(120a)의 자식이자 클럭 컴포넌트(120c)의 부모이다. 또한 클럭 컴포넌트(120e)는 2 개의 클럭 컴포넌트(120f, 120g)의 부모이고, 클럭 컴포넌트(120f, 120g)는 클럭 컴포넌트(120e)의 자식이다. 한편, 본 실시예에서 PLL(Phase Locked Loop)에 가장 가깝도록 배치된 클럭 컴포넌트(120a)는 루트(root) 클럭 컴포넌트이고, IP 블록(200, 210)에 가장 가깝도록 배치된 클럭 컴포넌트(120f, 120g)는 리프(leaf) 클럭 컴포넌트이다. 이와 같은 부모-자식 관계는 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g) 간의 부모-자식 관계에 따라 필연적으로 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g) 간, 그리고 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g) 간에도 형성된다.
클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 부모와 자식 간에 클럭 요청(REQ) 및 이에 대한 애크(acknowledgement)(ACK)를 주고 받으며, IP 블록(200, 210)에 클럭 신호를 제공한다. The
예를 들어, IP 블록(200)이 클럭 신호를 필요로 하지 않는 경우, 예컨대 IP 블록(200)이 슬립(sleep) 상태가 되어야 할 필요가 있는 경우, 클럭 관리 유닛(100)은 IP 블록(200)에 대한 클럭 신호의 제공을 중지한다.For example, when the
구체적으로, 채널 관리 회로(130)는, 클럭 관리 유닛(100) 또는 클럭 관리 유닛 컨트롤러(110)의 제어 하에, IP 블록(200)에 클럭 신호의 제공을 중지하겠다는 제1 신호를 전송한다. 제1 신호를 수신한 IP 블록(200)은 처리 중인 작업을 완료한 후 클럭 신호가 중지되어도 좋다는 제2 신호를 채널 관리 회로(130)에 전송한다. 채널 관리 회로(130)는 IP 블록(200)으로부터 제2 신호를 수신한 후, 자신의 부모에 해당하는 클럭 컴포넌트(120f)에 클럭 신호의 제공을 중지할 것을 요청한다.Specifically, the
일례로, 만일 채널 관리 회로(130)가 제공하는 통신 채널(CH)이 Q-채널 인터페이스를 따르는 경우라면, 채널 관리 회로(130)는 IP 블록(200)에 제1 논리 값(예컨대, 논리 로우(logic low), 이하 L로 표시)을 갖는 QREQn 신호를 제1 신호로서 전송한다. 이후 채널 관리 회로(130)는 IP 블록(200)으로부터, 예컨대 제1 논리 값을 갖는 QACCEPTn 신호를 제2 신호로서 수신한 후, 클럭 컴포넌트(120f)에, 예컨대 제1 논리 값을 갖는 클럭 요청(REQ)를 전송한다. 이 경우, 상기 제1 논리 값을 갖는 클럭 요청(REQ)은 "클럭 제공 중지 요청"을 말한다.For example, if the communication channel (CH) provided by the
채널 관리 회로(130)로부터 제1 논리 값을 갖는 클럭 요청(REQ), 즉 클럭 제공 중지 요청을 수신한 클럭 제어 회로(122f)는 클럭 소오스(124f)(예컨대, 클럭 게이팅 회로)를 디스에이블(disable)하여 클럭 신호의 제공을 중지하고, 이에 따라 IP 블록(200)은 슬립 모드로 진입할 수 있게 된다. 이 과정에서 클럭 제어 회로(122f)는 제1 논리 값을 갖는 애크(ACK)를 채널 관리 회로(130)에 제공할 수 있다. 유의할 점은 채널 관리 회로(130)가 제1 논리 값을 갖는 클럭 제공 중지 요청을 전송한 후 제1 논리 값을 갖는 애크(ACK)를 수신했다고 해서 클럭 소오스(124f)로부터의 클럭 제공의 중지가 보장되는 것은 아니다. 다만, 상기 애크(ACK)는, 채널 관리 회로(130)의 부모인 클럭 컴포넌트(120f)가 채널 관리 회로(130)에 더 이상 클럭 제공을 할 필요가 없다는 것을 클럭 제어 회로(122f)가 인지했다는 의미를 가질 뿐이다.The
한편, 클럭 컴포넌트(120f)의 클럭 제어 회로(122f)는 자신의 부모에 해당하는 클럭 컴포넌트(120e)의 클럭 제어 회로(122e)에 제1 논리 값을 갖는 클럭 요청(REQ)을 전송한다. 만일 IP 블록(210) 역시 클럭 신호를 필요로 하지 않는 경우, 예컨대 클럭 제어 회로(122e)가 클럭 제어 회로(122g)로부터 클럭 제공 중지 요청을 수신한 경우라면, 클럭 제어 회로(122e)는 클럭 소오스(124e)(예컨대, 클럭 분주 회로)를 디스에이블하여 클럭 신호의 제공을 중지한다. 이에 따라 IP 블록(200, 210)은 슬립 모드로 진입할 수 있게 된다.Meanwhile, the
이와 같은 동작은 다른 클럭 제어 회로(122a, 122b, 122c, 122d)에 대해서도 마찬가지로 수행될 수 있다.Such an operation may be similarly performed for other
이와 다르게, 클럭 컴포넌트(120f)의 클럭 제어 회로(122f)가 자신의 부모에 해당하는 클럭 컴포넌트(120e)의 클럭 제어 회로(122e)에 제1 논리 값을 갖는 클럭 요청(REQ)을 전송하였지만, IP 블록(210)이 실행(running) 상태에 있는 경우라면, 클럭 제어 회로(122e)는 클럭 소오스(124e)를 디스에이블할 수 없다. 이후 IP 블록(210)이 더 이상 클럭 신호를 필요로 하지 않는 경우가 되어서야 비로소 클럭 제어 회로(122e)는 클럭 소오스(124e)를 디스에이블하고 자신의 부모에 해당하는 클럭 제어 회로(120d)에 제1 논리 값을 갖는 클럭 요청(REQ)을 전송할 수 있다. 즉, 클럭 제어 회로(122e)는 자식에 해당하는 클럭 제어 회로(122f, 122g) 모두로부터 클럭 제공 중지 요청을 수신한 경우에만 클럭 소오스(124e)를 디스에이블할 수 있다.Unlike this, although the
한편, IP 블록(200, 210)이 슬립 상태에 있어서 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f)가 모두 디스에이블되었다가 IP 블록(200)이 실행 상태로 진입한 경우, 클럭 관리 유닛(100)은 IP 블록(200, 210)에 대한 클럭 신호의 제공을 재개한다.Meanwhile, when the IP blocks 200 and 210 are in the sleep state and the
채널 관리 회로(130)는 자신의 부모에 해당하는 클럭 컴포넌트(120f)의 클럭 제어 회로(122f)에 제2 논리 값(예컨대, 논리 하이(logic high), 이하 H로 표시)을 갖는 클럭 요청(REQ)을 전송하고, 클럭 제어 회로(122f)로부터의 애크(ACK)를 대기한다. 여기서 제2 논리 값을 갖는 클럭 요청(REQ)은 "클럭 제공 요청"을 말하고, 클럭 제공 요청에 대한 애크(ACK)는 클럭 소오스(124f)로부터 클럭 제공이 재개되었음을 의미한다. 클럭 제어 회로(122f)는 클럭 소오스(124f)(예컨대, 클럭 게이팅 회로)를 바로 인에이블(enable)하지 못하고, 부모로부터 클럭 신호가 제공되기를 대기한다. The
다음으로 클럭 제어 회로(122f)는 자신의 부모에 해당하는 클럭 제어회로(122e)에 제2 논리 값을 갖는 클럭 요청(REQ), 즉 클럭 제공 요청을 전송하고, 클럭 제어 회로(122e)로부터의 애크(ACK)를 대기한다. 이와 같은 동작은 클럭 제어 회로(122a, 122b, 122c, 122d)에 대해서도 마찬가지로 수행될 수 있다.Next, the
클럭 제어 회로(122b)로부터 제2 논리 값을 갖는 클럭 요청(REQ)를 수신한 루트 클럭 컴포넌트인 클럭 제어 회로(122a)는 클럭 소오스(124a)(예컨대, 다중화 회로)를 인에이블하고 애크(ACK)를 클럭 제어 회로(122b)에 전송한다. 이와 같은 방식으로 클럭 소오스(124b, 124c, 124d, 124d, 124e)가 순차적으로 인에이블되면 비로소 클럭 제어 회로(122e)는 클럭 제어 회로(122f)에 클럭 소오스(124e)로부터 클럭 제공이 재개되었음을 알리는 애크(ACK)를 전송한다. 애크(ACK)를 수신한 클럭 제어 회로(122f)는 비로소 클럭 소오스(124f)를 인에이블하여 클럭 신호를 IP 블록(200)에 제공하고, 채널 관리 회로(130)에 애크(ACK)를 제공한다.Upon receiving the clock request REQ having the second logic value from the
이와 같이 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 부모와 자식 간에 클럭 요청(REQ) 및 이에 대한 애크 (ACK)를 주고 받는 풀 핸드셰이크(full handshake) 방식으로 동작한다. 이에 따라, 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 하드웨어적으로 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)를 제어하여 IP 블록(200, 210)에 제공되는 클럭 신호를 제어할 수 있다.In this way, the
이들 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 자체적으로 동작하여 부모에게 클럭 요청(REQ)을 전송하거나 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)를 제어할 수 있고, 클럭 관리 유닛 컨트롤러(110)의 제어 하에 동작할 수도 있다. 한편, 본 발명의 몇몇의 실시예에서, 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 부모와 자식 간에 주고 받는 클럭 요청(REQ)에 따라 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)를 각각 제어하는 유한 상태 기계(Finite State Machine, FSM)를 포함할 수 있다.These
도 3은 본 발명의 몇몇 실시예에 따른 반도체 장치에 포함된 IP를 도시한 블록도이다.3 is a block diagram illustrating IP included in a semiconductor device according to some embodiments of the present invention.
도 3을 참조하면, 제1 IP 블록(200)은 채널 어댑터(channel adapter)(200)와 IP 코어(core)(204)를 포함할 수 있다. 도 3에는 예시적으로 제1 IP 블록(200)에 대하여 도시하였으며, 제2 및 제3 IP 블록(210, 220)에 대해서도 실질적으로 동일한 구성요소를 포함한다. Referring to FIG. 3 , a
채널 어댑터(202)는 제1 채널 관리 회로(130)과 풀 핸드셰이크(full handshake) 방식에 따라 통신할 수 있다. 채널 어댑터(202)를 통해 제1 IP 블록(200)은 제1 클럭 요청 신호(REQ1)를 전송할 수 있으며, 제1 클럭 신호(CLK1)를 제공받을 수 있다. 또는 채널 어댑터(202)를 통해 제1 IP 블록(200)은 제1 클럭 요청 신호(REQ1)를 전송하고, 클럭이 존재한다는 ACK 신호를 받을 수 있고, 제1 클럭 신호(CLK1)는 채널 어댑터(202)에 의해 제어되는 클럭 컴포넌트로부터 직접 공급받을 수 있다.The
IP 코어(204)는 예를 들어, 프로세서(processor), 그래픽 프로세서(graphic processor), 메모리 컨트롤러(graphic controller), 입출력 인터페이스 블록(input and output interface block) 등을 포함할 수 있다.The
도 4는 복수 개의 제어 회로 사이의 신호 전송 패스(path)를 도시한 것이다.4 illustrates a signal transmission path between a plurality of control circuits.
도 4를 참조하면, 복수 개의 클럭 제어 회로들은 클럭 요청 신호(REQ)와, 이에 대한 응답 신호인 애크(또는 클럭 응답 신호)(ACK)를 포함하는 핸드셰이크 신호를 이용하여 동작할 수 있다. 클럭 요청 신호(REQ) 및 클럭 응답 신호(ACK)는, 예컨대 제1 논리 값(예컨대, 논리 로우)과 제2 논리 값(예컨대, 논리 하이)을 가질 수 있으나, 클럭 요청 신호(REQ) 및 클럭 응답 신호(ACK)를 구현하는 방식이 이에 제한되는 것은 아니다.Referring to FIG. 4 , the plurality of clock control circuits may operate using a handshake signal including a clock request signal REQ and a response signal ACK (or clock response signal) ACK. The clock request signal REQ and the clock response signal ACK may have, for example, a first logic value (eg, logic low) and a second logic value (eg, logic high), but the clock request signal REQ and clock A method of implementing the response signal ACK is not limited thereto.
본 발명의 몇몇의 실시예에서, 클럭 소비자(clock consumer)는 예컨대 제2 논리 값을 갖는 클럭 요청 신호(REQ)를 클럭 제공자(clock provider)에게 전송함으로써, 클럭 제공자에게 클럭이 필요하다는 정보를 전달할 수 있다. 이와 다르게, 클럭 소비자는 예컨대 제1 논리 값을 갖는 클럭 요청 신호(REQ)를 클럭 제공자에게 전송함으로써, 클럭 제공자에게 클럭이 더 이상 필요하지 않다는 정보를 전달할 수 있다.In some embodiments of the present invention, a clock consumer transmits information that a clock is needed to a clock provider, for example, by transmitting a clock request signal (REQ) having a second logic value to a clock provider. can Alternatively, the clock consumer may transfer information that the clock is no longer needed to the clock provider by transmitting, for example, a clock request signal REQ having a first logic value to the clock provider.
한편, 클럭 제공자는 예컨대 제2 논리 값을 갖는 클럭 응답 신호(ACK)를 클럭 소비자에게 전송할 수 있는데, 이것은 클럭 제공자로부터 클럭 신호가 클럭 소비자에게 안정적으로 공급되고 있음을 나타낸다. 이와 다르게, 클럭 제공자는 제1 논리 값을 갖는 클럭 응답 신호(ACK)를 클럭 소비자에게 전송할 수 있는데, 이것은 클럭 제공자가 클럭 소비자에게 클럭 신호의 제공 여부를 알려줄 수 없다는 것을 나타낸다.Meanwhile, the clock provider may transmit, for example, a clock response signal (ACK) having a second logic value to the clock consumer, indicating that the clock signal is stably supplied from the clock provider to the clock consumer. Alternatively, the clock provider may transmit the clock response signal ACK having the first logic value to the clock consumer, indicating that the clock provider cannot inform the clock consumer of whether or not the clock signal is provided.
예를 들어, 클럭 제어 회로(122b)는, 클럭 소비자의 입장에서, 예컨대 제2 논리 값을 갖는 클럭 요청 신호(PARENT_CLK_REQ)를 클럭 제어 회로(122a)에 전송함으로써, 클럭 제공자에 해당하는 클럭 제어 회로(122a)에게 클럭이 필요하다는 정보를 전달할 수 있다. 이에, 클럭 제어 회로(122a)를 포함하는 클럭 컴포넌트(즉, 클럭 공급자)는, 클럭 제어 회로(122b)를 포함하는 클럭 컴포넌트(즉, 클럭 소비자)에게 클럭 신호를 제공하고, 이후 클럭 제어 회로(122b)는, 예컨대 제2 논리 값을 갖는 클럭 응답 신호(PARENT_CLK_ACK)를 클럭 제어 회로(122a)로부터 수신할 수 있다.For example, the
한편, 클럭 제어 회로(122b)는, 클럭 제공자의 입장에서, 예컨대 제2 논리 값을 갖는 클럭 요청 신호(CHILD_CLK_REQ)를 클럭 제어 회로(122f)로부터 수신함으로써, 클럭 소비자에 해당하는 클럭 제어 회로(122f)가 클럭이 필요하다는 것을 알 수 있다. 이에, 클럭 제어 회로(122b)를 포함하는 클럭 컴포넌트(즉, 클럭 공급자)는, 클럭 제어 회로(122f)를 포함하는 클럭 컴포넌트(즉, 클럭 소비자)에게 클럭 신호를 제공하고, 이후 클럭 제어 회로(122b)는, 클럭 제공자의 입장에서, 예컨대 제2 논리 값을 갖는 클럭 응답 신호(CHILD_CLK_ACK)를 클럭 제어 회로(122f)에게 전송할 수 있다.On the other hand, the
다른 예를 들어, 클럭 제어 회로(122b)는, 클럭 소비자의 입장에서, 예컨대 제1 논리 값을 갖는 클럭 요청 신호(PARENT_CLK_REQ)를 클럭 제어 회로(122a)에 전송함으로써, 클럭 제공자에 해당하는 클럭 제어 회로(122a)에게 클럭이 더 이상 필요하지 않다는 정보를 전달할 수 있다. 이에, 클럭 제어 회로(122b)는, 예컨대 제1 논리 값을 갖는 클럭 응답 신호(PARENT_CLK_ACK)를 클럭 제어 회로(122a)로부터 수신할 수 있으며, 이것은 클럭 제공자로부터의 클럭 제공이 보장되지 않음을 나타낸다.For another example, the
한편, 클럭 제어 회로(122b)는, 클럭 제공자의 입장에서, 예컨대 제1 논리 값을 갖는 클럭 요청 신호(CHILD_CLK_REQ)를 클럭 제어 회로(122f)로부터 수신함으로써, 클럭 소비자에 해당하는 클럭 제어 회로(122f)가 클럭이 더 이상 필요하지 않다는 것을 알 수 있다. 이에, 클럭 제어 회로(122b)는, 예컨대 제2 논리 값을 갖는 클럭 응답 신호(CHILD_CLK_ACK)를 클럭 제어 회로(122f)에게 전송할 수 있으며, 이것은 클럭 제공자로부터의 클럭 제공이 보장되지 않음을 나타낸다.On the other hand, the
유의할 점은, 이와 같은 클럭 제어 회로들 사이의 조합 패스(combinational path)는, 클럭 제어 회로(122b)가 그 부모인 클럭 제어 회로(122a)에게 클럭 요청 신호(PARENT_CLK_REQ)를 전송한 후 클럭 제어 회로(122b)가 그 부모인 클럭 제어 회로(122a)로부터 클럭 응답 신호(PARENT_CLK_ACK)를 수신하는 패스와, 클럭 제어 회로(122b)가 그 자식인 클럭 제어 회로(122f)로부터 클럭 요청 신호(CHILD_CLK_REQ)를 수신한 후 클럭 제어 회로(122b)가 그 자식인 클럭 제어 회로(122f)에게 클럭 응답 신호(CHILD_CLK ACK)를 전송하는 패스를 포함할 수는 있지만, 클럭 제어 회로(122b)가 그 부모인 클럭 제어 회로(122a)로부터 클럭 응답 신호(PARENT_CLK_ACK)를 수신한 후, 클럭 제어 회로(122b)가 그 부모인 클럭 제어 회로(122a)에게 클럭 요청 신호(PARENT_CLK_REQ)를 전송하는 패스는 포함되지 않는다는 점이다(도 4에서 'X'로 도시됨).Note that, in the combinational path between the clock control circuits, the
이와 같은 클럭 요청 신호(REQ)와 클럭 응답 신호(ACK)는 일반적인 풀 핸드셰이크(full handshake) 방식으로 구현되어 있으며, 클럭 제공자과 클럭 소비자는 서로 동일한 단일 클럭 도메인(single clock domain)에 속할 수도 있고, 서로 다른 클럭 도메인에 속할 수도 있다.Such a clock request signal (REQ) and clock response signal (ACK) are implemented in a general full handshake method, and the clock provider and clock consumer may belong to the same single clock domain, They may belong to different clock domains.
본 발명의 몇몇의 실시예에서, 각각의 클럭 제어 회로와 연결되어 통신하는 클럭 먹스 회로, 클럭 분주 회로, 클럭 게이팅 회로 등은 클럭 제어 회로와 서로 다른 클럭 도메인을 이용할 수 있다. 즉, 클럭 요청 신호를 전송하는 신호 라인에서의 클럭 주파수와 실제로 제공받는 동작 클럭의 클럭 주파수는 서로 다를 수 있다. In some embodiments of the present invention, a clock multiplex circuit, a clock divider circuit, a clock gating circuit, etc. connected to and communicating with each clock control circuit may use different clock domains from those of the clock control circuit. That is, the clock frequency of the signal line transmitting the clock request signal and the clock frequency of the actually provided operation clock may be different from each other.
도 5a는 본 발명에어 이용되는 클럭 요청 신호와 클럭 응답 신호를 설명하기 위한 도면이고, 도 5b는 본 발명에서 이용되는 클럭 요청 신호와 클럭 응답 신호에 대한 클럭 레벨 천이(transition)를 도시한 것이다.5A is a diagram for explaining a clock request signal and a clock response signal used in the present invention, and FIG. 5B illustrates a clock level transition for a clock request signal and a clock response signal used in the present invention.
도 5a를 참조하면, 시점(T1)에서 클럭 요청 신호(REQ)가 제2 논리 값으로 트랜지션하는 것은 클럭 소비자가 클럭 제공자에게 클럭 신호(CLK)가 필요하다는 정보를 전달하는 것을 나타낼 수 있다. 시점(T1) 이후 클럭 제공자는 클럭 소비자에게 클럭 신호(CLK)를 제공할 수 있다.Referring to FIG. 5A , the transition of the clock request signal REQ to the second logic value at time T1 may indicate that the clock consumer transfers information that the clock signal CLK is needed to the clock provider. After the time point T1, the clock provider may provide the clock signal CLK to the clock consumer.
시점(T2)에서, 클럭 제공자는 제2 논리 값을 갖는 클럭 응답 신호(ACK)를 클럭 소비자에게 전송하며, 이것은 클럭 제공자로부터 클럭 신호(CLK)가 클럭 소비자에게 안정적으로 공급되고 있음을 나타낸다(I 구간 참조).At time T2, the clock provider transmits the clock response signal ACK having the second logic value to the clock consumer, indicating that the clock signal CLK is being stably supplied from the clock provider to the clock consumer (I section reference).
시점(T3)에서 클럭 요청 신호(REQ)가 제1 논리 값으로 트랜지션하는 것은 클럭 소비자가 클럭 제공자에게 클럭 신호(CLK)가 더 이상 필요하지 않다는 정보를 전달하는 것을 나타낼 수 있다. 시점(T3) 이후 클럭 제공자는 클럭 소비자에게 클럭 신호(CLK)를 제공하는 것을 중단할 수도 있고, 여전히 클럭 신호(CLK)의 제공을 계속할 수도 있다.Transition of the clock request signal REQ to the first logic value at time T3 may indicate that the clock consumer transfers information to the clock provider that the clock signal CLK is no longer needed. After the time point T3, the clock provider may stop providing the clock signal CLK to the clock consumer, or may still continue to provide the clock signal CLK.
시점(T4)에서, 클럭 제공자는 제1 논리 값을 갖는 클럭 응답 신호(ACK)를 클럭 소비자에게 전송하며, 이것은 클럭 제공자가 클럭 소비자에게 클럭 신호의 제공 여부를 알려줄 수 없다는 것을 나타낸다.At time T4, the clock provider transmits a clock response signal ACK having a first logic value to the clock consumer, indicating that the clock provider cannot inform the clock consumer whether or not the clock signal is provided.
즉, 도 5a에서 클럭 제공자로부터 클럭 소비자에게 클럭 신호(CLK)가 안정적으로 공급되고 있음이 보장되는 구간은 I 구간뿐이고, 나머지 II 구간에서는 클럭 제공자가 클럭 소비자에게 클럭 신호의 제공을 하고 있는지 여부를 알 수 없다(unknown).That is, in FIG. 5A , only interval I guarantees that the clock signal CLK is stably supplied from the clock provider to the clock consumer, and in the remaining interval II, whether or not the clock provider provides the clock signal to the clock consumer is determined. unknown.
다음으로 도 5b를 참조하면, 도 5b는 제2 논리 값을 1로 표현하고 제1 논리 값을 0으로 표시한 경우에 클럭 요청 신호(REQ)와 클럭 응답 신호(ACK)의 가능한 신호의 조합과 이들 사이의 가능한 트랜지션(transition)을 표현한다.Referring next to FIG. 5B, FIG. 5B shows combinations of possible signals of the clock request signal REQ and the clock response signal ACK when the second logic value is expressed as 1 and the first logic value is expressed as 0. It represents a possible transition between them.
도 5a를 함께 참조하면, 상태(S0)는 시점(T1) 이전 및 시점(T4) 이후의 상태를 나타내고, 상태(S1)는 시점(T1) 내지 시점(T2)의 상태를 나타낸다. 그리고 상태(S2)는 시점(T2) 내지 시점(T3)의 상태를 나타내고, 상태(S3)는 시점(T3) 내지 시점(T4)의 상태를 나타낸다. 클럭 요청 신호(REQ)와 클럭 응답 신호(ACK)의 값의 조합은 상태(S0), 상태(S1), 상태(S2), 상태(S3), 상태(S0)로 순차적으로 변화한다(실선 화살표 참조).Referring to FIG. 5A together, state S0 represents states before and after time T1 and after time T4, and state S1 represents states from time T1 to time T2. And state S2 represents the state of the time point T2 to the time point T3, and state S3 represents the state of the time point T3 to the time point T4. The combination of values of the clock request signal REQ and the clock response signal ACK sequentially changes to state S0, state S1, state S2, state S3, and state S0 (solid arrow). reference).
그런데 만일 시점(T1)에서 클럭 요청 신호(REQ)가 제2 논리 값으로 트랜지션됨과 동시에 클럭 응답 신호(ACK)가 제2 논리 값으로 트랜지션되도록 회로를 구현하는 경우, 클럭 요청 신호(REQ)와 클럭 응답 신호(ACK)의 값의 조합은 상태(S0)에서 바로 상태(S2)로 전환될 수 있다. 이와 유사하게 만일 시점(T3)에서 클럭 요청 신호(REQ)가 제1 논리 값으로 트랜지션됨과 동시에 클럭 응답 신호(ACK)가 제1 논리 값으로 트랜지션되도록 회로를 구현하는 경우, 클럭 요청 신호(REQ)와 클럭 응답 신호(ACK)의 값의 조합은 상태(S2)에서 바로 상태(S0)로 전환될 수 있다(점선 화살표 참조).However, if a circuit is implemented such that the clock request signal REQ transitions to the second logic value and the clock response signal ACK transitions to the second logic value at the same time at time T1, the clock request signal REQ and clock A combination of the values of the response signal ACK may directly switch from state S0 to state S2. Similarly, if a circuit is implemented such that the clock request signal REQ transitions to the first logic value and the clock response signal ACK transitions to the first logic value at the time T3, the clock request signal REQ The combination of the value of the clock response signal ACK and the value of the clock response signal ACK can be directly converted from the state S2 to the state S0 (refer to the dotted line arrow).
다시 도 1, 도 2 및 도 4를 참조하여, 풀 핸드쉐이크 방식(full handshake method)에 대하여 설명한다. Referring again to FIGS. 1, 2, and 4, a full handshake method will be described.
풀 핸드셰이크 방식(full handshake method)이란, 제1 IP 블록(200)이 클럭이 필요하면, 제1 IP 블록(200)은 제1 클럭 요청 신호(REQ1)를 활성화한다. 예를 들면, 제1 IP 블록(200)는 제1 클럭 요청 신호(REQ1)를 하이 상태(high state)로 만든다.In the full handshake method, when the
클럭 관리 유닛(100)은 제1 클럭 요청 신호(REQ1)의 활성화에 응답하여 제1 클럭 요청 신호(REQ1)에 대한 제1 클럭 응답 신호(ACK1)를 활성화한다. 즉, 클럭 관리 유닛(100)은 제1 클럭 응답 신호(ACK1)를 하이 상태(high state)로 만든다.The
클럭 관리 유닛(100)은 제1 클럭 응답 신호(ACK1)의 활성화보다 먼저 제1 클럭 신호(CLK1)을 제1 IP 블록(200)로 전송할 수 있다. 또는, 클럭 관리 유닛(100)은 제1 클럭 응답 신호(ACK1)의 활성화와 동시에 제1 클럭 신호(CLK1)을 제1 IP 블록(200)로 전송할 수 있다. The
만약에, 제1 IP 블록(200)가 클럭이 불필요한 경우, 제1 클럭 요청 신호(REQ1)를 비활성화한다. 즉, 제1 IP 블록(200)는 제1 클럭 요청 신호(REQ1)를 로우 상태(low state)로 만든다. If the
제1 클럭 요청 신호(REQ1)가 로우 상태(low state)이면, 클럭 관리 유닛(100)은 제1 클럭 응답 신호(ACK1)를 로우 상태(low state)로 만든다. 그리고, 클럭 관리 유닛(100)은 동시에 제1 클럭 신호(CLK1)을 비활성화할 수 있다.When the first clock request signal REQ1 is in a low state, the
제1 IP 블록(200)는 제1 클럭 응답 신호(ACK1)가 활성화 상태인 동안, 정상적으로 동작할 수 있다. The
도 1 및 도 2를 참조하여, 본 발명의 몇몇의 실시예에 따른 클럭 관리 유닛(100)의 풀 핸드셰이크 방식(full handshake method)에 대해 설명한다. 이에 관하여, 도 2의 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f)는 각각 PLL 컨트롤러, 클럭 먹스 유닛, 제1 클럭 분주 유닛, 단기 정지 회로, 제2 클럭 분주 유닛, 제1 클럭 게이팅 유닛이라고 가정하고 설명하지만, 이것은 본 발명이 구현될 수 있는 일례에 해당할 뿐이고, 본 발명의 범위가 이에 제한되는 것은 아니다.Referring to FIGS. 1 and 2 , a full handshake method of the
PLL 컨트롤러, 클럭 먹스 유닛, 제1 클럭 분주 유닛, 단기 정지 회로, 제2 클럭 분주 유닛, 제1 클럭 게이팅 유닛 각각은 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f)를 포함할 수 있다. Each of the PLL controller, clock mux unit, first clock division unit, short-term pause circuit, second clock division unit, and first clock gating unit may include
구체적으로, PLL 컨트롤러는 오실레이터(OSC; oscillator)와 PLL(phase locked loop)을 입력받는 클럭 먹스 회로를 포함할 수 있다. 클럭 먹스 유닛은 복수의 클럭 신호를 입력받는 클럭 먹스 회로를 포함할 수 있다. 제1 클럭 분주 유닛은 제1 클럭 분주 회로를 포함할 수 있다. 단기 정지 회로는 제1 클럭 게이팅 회로를 포함할 수 있다. 제2 클럭 분주 유닛은 제2 클럭 분주 회로를 포함할 수 있다. 제1 클럭 게이팅 유닛은 제2 클럭 게이팅 회로를 포함할 수 있다. Specifically, the PLL controller may include an oscillator (OSC) and a clock mux circuit that receives an input of a phase locked loop (PLL). The clock mux unit may include a clock mux circuit that receives a plurality of clock signals. The first clock dividing unit may include a first clock dividing circuit. The short stop circuit may include a first clock gating circuit. The second clock dividing unit may include a second clock dividing circuit. The first clock gating unit may include a second clock gating circuit.
또한, PLL 컨트롤러는 클럭 제어 회로(122a)를 포함할 수 있다. 클럭 먹스 유닛은 클럭 제어 회로(122b)를 포함할 수 있다. 제1 클럭 분주 유닛은 클럭 제어 회로(122c)를 포함할 수 있다. 단기 정지 회로(114)는 클럭 제어 회로(122d)를 포함할 수 있다. 제2 클럭 분주 유닛은 클럭 제어 회로(122e)를 포함할 수 있다. 제1 클럭 게이팅 유닛은 클럭 제어 회로(122f)를 포함할 수 있다. In addition, the PLL controller may include a
클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f) 각각은 풀 핸드셰이크 방식(full handshake method)에 따라 통신할 수 있다. 예를 들면, 클럭 제어 회로(122a, 122b) 각각은 PLL 컨트롤러와 클럭 먹스 유닛 사이의 풀 핸드셰이크 방식을 지원할 수 있다. Each of the
클럭 제어 회로(122b, 122c) 각각은 클럭 먹스 유닛과 제1 클럭 분주 유닛 사이의 풀 핸드셰이크 방식을 지원할 수 있다. Each of the
클럭 제어 회로(122c, 122d) 각각은 제1 클럭 분주 유닛과 단기 정지 회로 사이의 풀 핸드셰이크 방식을 지원할 수 있다.Each of the
클럭 제어 회로(122d, 122e) 각각은 단기 정지 회로와 제2 클럭 분주 유닛 사이의 풀 핸드셰이크 방식을 지원할 수 있다. Each of the
클럭 제어 회로(122e, 122f) 각각은 제2 클럭 분주 유닛과 제1 클럭 게이팅 유닛 사이의 풀 핸드셰이크 방식을 지원할 수 있다. Each of the
마찬가지로, 클럭 제어 회로(122f)와 채널 관리 회로(130) 각각은 제1 클럭 게이팅 유닛과 채널 관리 회로(130) 사이의 풀 핸드셰이크 방식을 지원할 수 있다. Likewise, each of the
제1 IP 블록(200)은 풀 핸드셰이크 방식에 따라 클럭 관리 유닛(100)으로 동작 클럭을 요청할 수 있다. 예를 들면, 제1 IP 블록(200)은 동작 클럭이 필요한 경우, 클럭 요청 신호를 활성화할 수 있다. 즉, 제1 IP 블록(200)은 동작 클럭이 필요한 경우, 클럭 관리 유닛(100)으로 활성화된 클럭 요청 신호를 전송할 수 있다.The
채널 관리 회로(130)는 상기 활성화된 클럭 요청 신호를 수신한다. 채널 관리 회로(130)는 상기 활성화된 클럭 요청 신호를 제1 클럭 게이팅 유닛으로 전송한다. 제1 클럭 게이팅 유닛은 상기 활성화된 클럭 요청 신호를 제2 클럭 분주 유닛으로 전송한다. 제2 클럭 분주 유닛은 상기 활성화된 클럭 요청 신호를 단기 정지 회로로 전송한다. 단기 정지 회로는 상기 활성화된 클럭 요청 신호를 제1 클럭 분주 유닛으로 전송한다. 제1 클럭 분주 유닛은 상기 활성화된 클럭 요청 신호를 클럭 먹스 유닛으로 전송한다. 클럭 먹스 유닛은 상기 활성화된 클럭 요청 신호를 PLL 컨트롤러로 전송한다. The
본 발명의 몇몇의 실시예에서, PLL 컨트롤러, 클럭 먹스 유닛, 제1 클럭 분주 유닛, 단기 정지 회로, 제2 클럭 분주 유닛, 제1 클럭 게이팅 유닛, 제1 채널 관리 회로(130) 각각은 조합 회로(combinational circuit)로 구현될 수 있다. 따라서, 상기 활성화된 클럭 요청 신호는 제1 채널 관리 회로으로부터 PLL 컨트롤러까지 한번에 전송될 수 있다. In some embodiments of the invention, each of the PLL controller, clock mux unit, first clock dividing unit, short pause circuit, second clock dividing unit, first clock gating unit, and first
PLL 컨트롤러는 상기 활성화된 클럭 요청 신호에 대하여 클럭 응답 신호를 활성화한다. 즉, PLL 컨트롤러는 상기 활성화된 클럭 요청 신호에 대한 클럭 응답 신호를 클럭 먹스 유닛으로 전송한다. 동시에, PLL 컨트롤러는 클럭 신호(CLK)를 클럭 먹스 유닛으로 전송한다.The PLL controller activates a clock response signal in response to the activated clock request signal. That is, the PLL controller transmits a clock response signal to the activated clock request signal to the clock mux unit. At the same time, the PLL controller transmits the clock signal CLK to the clock mux unit.
클럭 먹스 유닛은 상기 활성화된 클럭 응답 신호를 제1 클럭 분주 유닛으로 전송한다. 동시에, 클럭 먹스 유닛은 클럭 신호(CLK)를 제1 클럭 분주 유닛으로 전송한다.The clock mux unit transmits the activated clock response signal to a first clock dividing unit. At the same time, the clock mux unit transmits the clock signal CLK to the first clock dividing unit.
제1 클럭 분주 유닛은 상기 활성화된 클럭 응답 신호를 단기 정지 회로로 전송한다. 동시에, 제1 클럭 분주 유닛은 클럭 신호(CLK)를 단기 정지 회로로 전송한다.The first clock dividing unit transmits the activated clock response signal to the short-term stop circuit. At the same time, the first clock dividing unit transmits the clock signal CLK to the short-term stop circuit.
단기 정지 회로는 상기 활성화된 클럭 응답 신호를 제2 클럭 분주 유닛으로 전송한다. 동시에, 단기 정지 회로는 클럭 신호(CLK)를 제2 클럭 분주 유닛으로 전송한다.The short-term stop circuit transmits the activated clock response signal to the second clock dividing unit. At the same time, the short-term stop circuit transmits the clock signal CLK to the second clock dividing unit.
제2 클럭 분주 유닛은 상기 활성화된 클럭 응답 신호를 제1 클럭 게이팅 유닛으로 전송한다. 동시에, 제2 클럭 분주 유닛은 클럭 신호(CLK)를 제1 클럭 게이팅 유닛으로 전송한다. The second clock dividing unit transmits the activated clock response signal to the first clock gating unit. At the same time, the second clock dividing unit transmits the clock signal CLK to the first clock gating unit.
제1 클럭 게이팅 유닛은 상기 활성화된 클럭 응답 신호를 제1 채널 관리 회로(130)로 전송한다. 동시에, 제1 클럭 게이팅 유닛은 클럭 신호(CLK)를 제1 IP 블록(200)에 제공한다. The first clock gating unit transmits the activated clock response signal to the first
본 실시예에서, 상기 클럭 응답 신호는 PLL 컨트롤러로부터 제1 채널 관리 회로까지 한번에 전송될 수 있다.In this embodiment, the clock response signal may be transmitted from the PLL controller to the first channel management circuit at one time.
제1 IP 블록(200)은 클럭이 불필요한 경우, 상기 클럭 요청 신호를 비활성화할 수 있다. 즉, 제1 IP 블록(200)은 클럭이 불필요한 경우, 클럭 관리 유닛(100)으로 비활성화된 클럭 요청 신호를 전송할 수 있다.The
채널 관리 회로(130)는 상기 비활성화된 클럭 요청 신호를 수신한다. 채널 관리 회로(130)는 상기 비활성화된 클럭 요청 신호를 제1 클럭 게이팅 유닛으로 전송할 수 있다. 제1 클럭 게이팅 유닛은 상기 비활성화된 클럭 요청 신호를 제2 클럭 분주 유닛으로 전송한다. 제2 클럭 분주 유닛은 상기 비활성화된 클럭 요청 신호를 단기 정지 회로로 전송한다. 단기 정지 회로는 상기 비활성화된 클럭 요청 신호를 제1 클럭 분주 유닛으로 전송할 수 있다. 제1 클럭 분주 유닛은 상기 비활성화된 클럭 요청 신호를 클럭 먹스 유닛으로 전송할 수 있다. 클럭 먹스 유닛은 상기 비활성화된 클럭 요청 신호를 PLL 컨트롤러로 전송할 수 있다.
PLL 컨트롤러, 클럭 먹스 유닛, 제1 클럭 분주 유닛, 단기 정지 회로, 제2 클럭 분주 유닛, 제1 클럭 게이팅 유닛, 제1 채널 관리 회로(130) 각각은 조합 회로로 구현될 수 있다. 따라서, 상기 비활성화된 클럭 요청 신호는 채널 관리 회로(130)으로부터 PLL 컨트롤러까지 한번에 전송될 수 있다. Each of the PLL controller, clock mux unit, first clock division unit, short-term pause circuit, second clock division unit, first clock gating unit, and first
PLL 컨트롤러는 비활성화된 클럭 요청 신호에 대하여 클럭 응답 신호를 비활성화한다. 즉, PLL 컨트롤러는 상기 비활성화된 클럭 응답 신호를 클럭 먹스 유닛으로 전송할 수 있다. 동시에, PLL 컨트롤러는 클럭 신호(CLK)를 비활성화시킬 수도 있고, 클럭 신호(CLK)를 여전히 클럭 먹스 유닛으로 전송할 수도 있다.The PLL controller deactivates the clock response signal for the deactivated clock request signal. That is, the PLL controller may transmit the deactivated clock response signal to the clock mux unit. At the same time, the PLL controller may deactivate the clock signal CLK and still transmit the clock signal CLK to the clock mux unit.
클럭 먹스 유닛은 상기 비활성화된 클럭 응답 신호를 제1 클럭 분주 유닛으로 전송한다. 동시에, 클럭 먹스 유닛은 클럭 신호(CLK)를 비활성화시킬 수도 있고, 클럭 신호(CLK)를 여전히 제1 클럭 분주 유닛으로 전송할 수도 있다.The clock mux unit transmits the deactivated clock response signal to a first clock dividing unit. At the same time, the clock mux unit may inactivate the clock signal CLK and still transmit the clock signal CLK to the first clock dividing unit.
제1 클럭 분주 유닛은 상기 비활성화된 클럭 응답 신호를 단기 정지 회로로 전송한다. 동시에, 제1 클럭 분주 유닛은 클럭 신호(CLK)를 비활성화시킬 수도 있고, 클럭 신호(CLK)를 여전히 단기 정지 회로로 전송할 수도 있다.The first clock dividing unit transmits the deactivated clock response signal to the short-term stop circuit. At the same time, the first clock dividing unit may deactivate the clock signal CLK, and may still transmit the clock signal CLK to the short stop circuit.
단기 정지 회로는 상기 비활성화된 클럭 응답 신호를 제2 클럭 분주 유닛으로 전송한다. 동시에, 단기 정지 회로는 클럭 신호(CLK)을 비활성화시킬 수도 있고, 클럭 신호(CLK)를 여전히 제2 클럭 분주 유닛으로 전송할 수도 있다.The short-term stop circuit transmits the deactivated clock response signal to the second clock dividing unit. At the same time, the short-term stop circuit may deactivate the clock signal CLK, and may still transmit the clock signal CLK to the second clock dividing unit.
제2 클럭 분주 유닛은 상기 비활성화된 클럭 응답 신호를 제1 클럭 게이팅 유닛으로 전송한다. 동시에, 제2 클럭 분주 유닛은 클럭 신호(CLK)를 비활성화시킬 수도 있고, 클럭 신호(CK)를 여전히 제1 클럭 게이팅 유닛으로 전송할 수도 있다.The second clock dividing unit transmits the deactivated clock response signal to the first clock gating unit. At the same time, the second clock dividing unit may inactivate the clock signal CLK and still transmit the clock signal CK to the first clock gating unit.
제1 클럭 게이팅 유닛은 상기 비활성화된 클럭 응답 신호를 채널 관리 회로(130)로 전송한다. 동시에, 제1 클럭 게이팅 유닛은 클럭 신호(CLK)를 비활성화시킨다. The first clock gating unit transmits the deactivated clock response signal to the
마찬가지로, 상기 클럭 응답 신호는 PLL 컨트롤러부터 제1 채널 관리 회로(130)까지 한번에 전송될 수 있다.Similarly, the clock response signal may be transmitted from the PLL controller to the first
도 6은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다. 6 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
도 6을 참조하면, 본 발명의 몇몇 실시예에 따른 반도체 장치(1) 내의 클럭 관리 유닛(110a)은 제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114), 제1 채널 관리 유닛(115), 제2 PLL 컨트롤러(121), 제2 클럭 먹스 유닛(122), 제2 클럭 분주 유닛(123), 제2 클럭 게이팅 유닛(124) 등을 포함한다. Referring to FIG. 6 , the
도 6에 도시된 경우는, 제2 IP(172)의 동작이 제1 IP(171)의 동작에 의존적인 경우를 나타내고 있으며, 다시 말하면, 제1 IP(171)가 동작할 때 제2 IP(172)도 항상 동작하는 경우를 의미한다. 또한, 제1 IP(171)가 동작할 때 제2 IP(172)가 동작할 가능성이 있는 경우도 포함한다. 6 shows a case where the operation of the
제1 채널 관리 유닛(115)은 제1 클럭 게이팅 유닛(114)과 제2 클럭 게이팅 유닛(124) 중 적어도 하나와 풀 핸드쉐이크 방식에 따라 통신한다. 예를 들어, 제1 IP(171)가 제1 채널 관리 유닛(115)으로 클럭 요청 신호(REQ)를 전송하면, 제1 채널 관리 유닛(115)은 이를 제1 클럭 게이팅 유닛(114)으로 전송한다. The first
제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114), 및 제1 채널 관리 유닛(115)은 서로간에 풀 핸드쉐이크 방식에 따라 통신하며, 제1 채널 관리 유닛(115)으로부터 제1 PLL 컨트롤러(111)까지 클럭 요청 신호(REQ)가 한번에 전송될 수도 있다. The
제1 PLL 컨트롤러(111)로부터 클럭 응답 신호(ACK)가 전송되면, 이는 제1 클럭 게이팅 유닛(114)까지 전송되어 제1 클럭 게이팅 유닛(114)에 포함된 제어 회로의 제어에 따라 클럭 게이팅 회로가 비활성화되어 제1 IP(171)로 제1 클럭(CLK1)이 제공된다.When the clock response signal ACK is transmitted from the
제1 IP(171)가 제1 클럭(CLK1)이 불필요한 경우, 클럭 요청 신호(REQ)를 비활성화시키며, 이에 따라, 제1 클럭 게이팅 유닛(114)으로 전송되는 클럭 요청 신호(REQ)가 비활성화되어 제1 클럭 게이팅 유닛(114)에 포함된 제어 회로의 제어에 따라 클럭 게이팅이 수행된다. When the
제2 IP(172)의 동작은 제1 IP(171)의 동작에 의존적이기 때문에, 제2 IP(172)는 클럭 요청 신호를 생성할 수 없으며, 제1 IP(171)에서 클럭 요청 신호(REQ)가 활성화되면, 제2 IP(172)에도 제2 클럭 게이팅 유닛(124)으로부터 제2 클럭(CLK2)이 제공된다. Since the operation of the
제2 PLL 컨트롤러(121), 제2 클럭 먹스 유닛(122), 제2 클럭 분주 유닛(123), 제2 클럭 게이팅 유닛(124), 및 제1 채널 관리 유닛(115)은 서로간에 풀 핸드쉐이크 방식에 따라 통신하며, 제1 채널 관리 유닛(115)으로부터 제2 PLL 컨트롤러(121)까지 클럭 요청 신호(REQ)가 한번에 전송될 수도 있다. The
제2 PLL 컨트롤러(121)로부터 클럭 응답 신호(ACK)가 전송되면, 이는 제2 클럭 게이팅 유닛(124)까지 전송되어 제2 클럭 게이팅 유닛(124)에 포함된 제어 회로의 제어에 따라 클럭 게이팅 회로가 비활성화되어 제2 IP(172)로 제2 클럭(CLK2)이 제공된다.When the clock response signal ACK is transmitted from the
도 7은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다. 7 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
도 7을 참조하면, 본 발명의 몇몇 실시예에 따른 반도체 장치(2) 내의 클럭 관리 유닛(110b)은 제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114), 제1 채널 관리 유닛(115), 제3 클럭 게이팅 유닛(125), 제2 채널 관리 유닛(126) 등을 포함한다. Referring to FIG. 7 , the
도 7에 도시된 경우는, 제2 채널 관리 유닛(126)이 더미 유닛으로 사용되는 경우를 나타내고 있다. 다시 말하면, 제2 채널 관리 유닛(126)은 제2 IP(172)와의 통신에 의해 클럭 요청 신호(REQ)를 제어하는 것이 아니라, 별도의 SFR(Special Function Register)에 저장된 소프트웨어의 제어에 따라 클럭 요청 신호(REQ)를 제어하는 것을 의미한다. The case shown in FIG. 7 shows a case in which the second
SFR(Special Function Register)에 저장된 소프트웨어에서 제2 IP(172)의 클럭 필요성 유무를 판단하며, 별도의 소프트웨어의 제어에 따라 클럭 요청 신호(REQ)를 제어한다.The software stored in the SFR (Special Function Register) determines whether the
제1 채널 관리 유닛(115)은 제1 클럭 게이팅 유닛(114)과 풀 핸드쉐이크 방식에 따라 통신하고, 제2 채널 관리 유닛(126)은 제3 클럭 게이팅 유닛(125)과 풀 핸드쉐이크 방식에 따라 통신한다. The first
예를 들어, 제1 IP(171)가 제1 채널 관리 유닛(115)으로 클럭 요청 신호(REQ)를 전송하면, 제1 채널 관리 유닛(115)은 이를 제1 클럭 게이팅 유닛(114)으로 전송한다. 다만, 위에서 설명한 것과 같이 제2 IP(172)는 제2 채널 관리 유닛(126)과 직접 통신하지 않는다.For example, when the
제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114), 및 제1 채널 관리 유닛(115)은 서로간에 풀 핸드쉐이크 방식에 따라 통신하며, 제1 채널 관리 유닛(115)으로부터 제1 PLL 컨트롤러(111)까지 클럭 요청 신호(REQ)가 한번에 전송될 수도 있다. The
제1 PLL 컨트롤러(111)로부터 클럭 응답 신호(ACK)가 전송되면, 이는 제1 클럭 게이팅 유닛(114)까지 전송되어 제1 클럭 게이팅 유닛(114)에 포함된 제어 회로의 제어에 따라 클럭 게이팅 회로가 비활성화되어 제1 IP(171)로 제1 클럭(CLK1)이 제공된다.When the clock response signal ACK is transmitted from the
또한, 제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제3 클럭 게이팅 유닛(125), 및 제2 채널 관리 유닛(126)은 서로간에 풀 핸드쉐이크 방식에 따라 통신하며, 제2 채널 관리 유닛(126)으로부터 제1 PLL 컨트롤러(111)까지 클럭 요청 신호(REQ)가 한번에 전송될 수도 있다. In addition, the
제1 PLL 컨트롤러(111)로부터 클럭 응답 신호(ACK)가 전송되면, 이는 제3 클럭 게이팅 유닛(125)까지 전송되어 제3 클럭 게이팅 유닛(125)에 포함된 제어 회로의 제어에 따라 클럭 게이팅 회로가 비활성화되어 제2 IP(172)로 제2 클럭(CLK2)이 제공된다.When the clock response signal ACK is transmitted from the
제1 IP(171)가 제1 클럭(CLK1)이 불필요한 경우, 클럭 요청 신호(REQ)를 비활성화시키며, 이에 따라, 제1 클럭 게이팅 유닛(114)으로 전송되는 클럭 요청 신호(REQ)가 비활성화되어 제1 클럭 게이팅 유닛(114)에 포함된 제어 회로의 제어에 따라 클럭 게이팅이 수행된다. When the
제2 IP(172)가 제2 클럭(CLK2)이 불필요한 경우, SFR(Special Function Register)에 포함된 소프트웨어의 제어에 따라 클럭 요청 신호(REQ)가 비활성화되어 제3 클럭 게이팅 유닛(125)에 포함된 제어 회로의 제어에 따라 클럭 게이팅이 수행된다.When the
도 8은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다. 8 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
도 8을 참조하면, 본 발명의 몇몇 실시예에 따른 반도체 장치(3) 내의 클럭 관리 유닛(110c)은 제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114), 제1 채널 관리 유닛(115), 제3 클럭 게이팅 유닛(125), 제3 채널 관리 유닛(127) 등을 포함한다. Referring to FIG. 8 , the
도 8에 도시된 경우는, 제1 IP(171)의 동작과 제2 IP(172)의 동작이 서로 독립적인 경우를 나타내고 있다. 다시 말하면, 제1 IP(171)의 동작 수행 여부와 제2 IP(172)의 동작 수행 여부는 무관하며, 각자 독립적으로 클럭 요청을 수행할 수 있다. The case shown in FIG. 8 shows a case where the operation of the
제1 채널 관리 유닛(115)은 제1 클럭 게이팅 유닛(114)과 풀 핸드쉐이크 방식에 따라 통신하고, 제3 채널 관리 유닛(127)은 제3 클럭 게이팅 유닛(125)과 풀 핸드쉐이크 방식에 따라 통신한다. The first
예를 들어, 제1 IP(171)가 제1 채널 관리 유닛(115)으로 클럭 요청 신호(REQ)를 전송하면, 제1 채널 관리 유닛(115)은 이를 제1 클럭 게이팅 유닛(114)으로 전송한다. 또한, 독립적으로 제2 IP(172)는 제3 채널 관리 유닛(127)으로 클럭 요청 신호(REQ)를 전송할 수 있고, 제3 채널 관리 유닛(127)은 이를 제3 클럭 게이팅 유닛(125)으로 전송한다.For example, when the
제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114), 및 제1 채널 관리 유닛(115)은 서로간에 풀 핸드쉐이크 방식에 따라 통신하며, 제1 채널 관리 유닛(115)으로부터 제1 PLL 컨트롤러(111)까지 클럭 요청 신호(REQ)가 한번에 전송될 수도 있다. The
제1 PLL 컨트롤러(111)로부터 클럭 응답 신호(ACK)가 전송되면, 이는 제1 클럭 게이팅 유닛(114)까지 전송되어 제1 클럭 게이팅 유닛(114)에 포함된 제어 회로의 제어에 따라 클럭 게이팅 회로가 비활성화되어 제1 IP(171)로 제1 클럭(CLK1)이 제공된다.When the clock response signal ACK is transmitted from the
또한, 제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제3 클럭 게이팅 유닛(125), 및 제3 채널 관리 유닛(127)은 서로간에 풀 핸드쉐이크 방식에 따라 통신하며, 제3 채널 관리 유닛(127)으로부터 제1 PLL 컨트롤러(111)까지 클럭 요청 신호(REQ)가 한번에 전송될 수도 있다. In addition, the
제1 PLL 컨트롤러(111)로부터 클럭 응답 신호(ACK)가 전송되면, 이는 제3 클럭 게이팅 유닛(125)까지 전송되어 제3 클럭 게이팅 유닛(125)에 포함된 제어 회로의 제어에 따라 클럭 게이팅 회로가 비활성화되어 제2 IP(172)로 제2 클럭(CLK2)이 제공된다.When the clock response signal ACK is transmitted from the
제1 IP(171)가 제1 클럭(CLK1)이 불필요한 경우, 클럭 요청 신호(REQ)를 비활성화시키며, 이에 따라, 제1 클럭 게이팅 유닛(114)으로 전송되는 클럭 요청 신호(REQ)가 비활성화되어 제1 클럭 게이팅 유닛(114)에 포함된 제어 회로의 제어에 따라 클럭 게이팅이 수행된다. When the
제2 IP(172)가 제2 클럭(CLK2)이 불필요한 경우, 클럭 요청 신호(REQ)를 비활성화시키며, 이에 따라, 제3 클럭 게이팅 유닛(125)으로 전송되는 클럭 요청 신호(REQ)가 비활성화되어 제3 클럭 게이팅 유닛(125)에 포함된 제어 회로의 제어에 따라 클럭 게이팅이 수행된다. When the
도 9a는 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이고, 도 9b는 도 9a의 반도체 장치의 동작을 나타낸 타이밍도이다. FIG. 9A is a block diagram illustrating a semiconductor device according to some example embodiments, and FIG. 9B is a timing diagram illustrating an operation of the semiconductor device of FIG. 9A.
도 9a 및 도 9b를 참조하면, 본 발명의 몇몇 실시예에 따른 반도체 장치(4) 내의 클럭 관리 유닛(110d)은 제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114), 제1 채널 관리 유닛(115), 제3 클럭 게이팅 유닛(125) 등을 포함한다. 9A and 9B , the
도 9a 및 도 9b에 도시된 경우는, 채널 관리 유닛과 그의 패런트(parent)인 클럭 게이팅 유닛이 1:n의 관계로 연결된 경우를 나타내고 있다. 다시 말하면, 복수 개의 클럭 게이팅 유닛이 하나의 채널 관리 유닛을 공유하여 동작하는 경우를 의미한다. 9A and 9B show a case in which a channel management unit and its parent clock gating unit are connected in a 1:n relationship. In other words, a case in which a plurality of clock gating units share and operate one channel management unit.
이러한 구조에 따르면, 제2 IP(172)의 동작이 제1 IP(171)의 동작에 의존적인 경우이며, 제1 IP(171)가 동작할 때 제2 IP(172)도 항상 동작하는 경우를 의미한다. 또한, 제1 IP(171)가 동작할 때 제2 IP(172)가 동작할 가능성이 있는 경우도 포함한다.According to this structure, the operation of the
제1 채널 관리 유닛(115)은 제1 클럭 게이팅 유닛(114)과 제3 클럭 게이팅 유닛(125) 중 적어도 하나와 풀 핸드쉐이크 방식에 따라 통신한다. 예를 들어, 제1 IP(171)가 제1 채널 관리 유닛(115)으로 클럭 요청 신호(REQ)를 전송하면, 제1 채널 관리 유닛(115)은 이를 제1 클럭 게이팅 유닛(114)으로 전송한다. The first
제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114), 및 제1 채널 관리 유닛(115)은 서로간에 풀 핸드쉐이크 방식에 따라 통신하며, 제1 채널 관리 유닛(115)으로부터 제1 PLL 컨트롤러(111)까지 클럭 요청 신호(REQ)가 한번에 전송될 수도 있다. The
제1 PLL 컨트롤러(111)로부터 클럭 응답 신호(ACK)가 전송되면, 이는 제1 클럭 게이팅 유닛(114)까지 전송되어 제1 클럭 게이팅 유닛(114)에 포함된 제어 회로의 제어에 따라 클럭 게이팅 회로가 비활성화되어 제1 IP(171)로 제1 클럭(CLK1)이 제공된다.When the clock response signal ACK is transmitted from the
제2 IP(172)의 동작은 제1 IP(171)의 동작에 의존적이기 때문에, 제2 IP(172)는 클럭 요청 신호를 생성할 수 없으며, 제1 IP(171)에서 클럭 요청 신호(REQ)가 활성화되면, 제2 IP(172)에도 제2 클럭 게이팅 유닛(124)으로부터 제2 클럭(CLK2)이 제공된다. Since the operation of the
제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제3 클럭 게이팅 유닛(125), 및 제1 채널 관리 유닛(115)은 서로간에 풀 핸드쉐이크 방식에 따라 통신하며, 제1 채널 관리 유닛(115)으로부터 제1 PLL 컨트롤러(111)까지 클럭 요청 신호(REQ)가 한번에 전송될 수도 있다. The
제1 PLL 컨트롤러(111)로부터 클럭 응답 신호(ACK)가 전송되면, 이는 제3 클럭 게이팅 유닛(125)까지 전송되어 제3 클럭 게이팅 유닛(125)에 포함된 제어 회로의 제어에 따라 클럭 게이팅 회로가 비활성화되어 제2 IP(172)로 제2 클럭(CLK2)이 제공된다.When the clock response signal ACK is transmitted from the
제1 IP(171)가 제1 클럭(CLK1)이 불필요한 경우, 클럭 요청 신호(REQ)를 비활성화시키며, 이에 따라, 제1 클럭 게이팅 유닛(114)으로 전송되는 클럭 요청 신호(REQ)가 비활성화되어 제1 클럭 게이팅 유닛(114)에 포함된 제어 회로의 제어에 따라 클럭 게이팅이 수행된다. 이 때, 제3 클럭 게이팅 유닛(125)으로 전송되는 클럭 요청 신호(REQ)도 비활성화되어 제3 클럭 게이팅 유닛(125)에 포함된 제어 회로의 제어에 따라 클럭 게이팅이 수행된다. When the
도 10a은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이고, 도 10b는 도 10a의 반도체 장치의 동작을 나타낸 타이밍도이다. FIG. 10A is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept, and FIG. 10B is a timing diagram illustrating an operation of the semiconductor device of FIG. 10A.
도 10a 및 도 10b를 참조하면, 본 발명의 몇몇 실시예에 따른 반도체 장치(5) 내의 클럭 관리 유닛(110e)은 제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114), 제1 채널 관리 유닛(115), 제4 채널 관리 유닛(128) 등을 포함한다. 10A and 10B , the
도 10a 및 도 10b에 도시된 경우는, 채널 관리 유닛과 그의 패런트(parent)인 클럭 게이팅 유닛이 n:1의 관계로 연결된 경우를 나타내고 있다. 다시 말하면, 복수 개의 채널 관리 유닛이 하나의 클럭 게이팅 유닛과 연결된 경우를 의미한다. 10A and 10B show a case in which a channel management unit and its parent clock gating unit are connected in an n:1 relationship. In other words, a case in which a plurality of channel management units are connected to one clock gating unit.
이러한 구조에 따르면, 복수 개의 IP에서 사용하는 클럭이 하나이다. 즉, 복수 개의 IP는 동일한 클럭을 이용하며, 복수 개의 IP로부터의 클럭 요청이 있는 경우, 클럭 게이팅 유닛에 포함된 제어 회로는 OR 연산을 수행하여 클럭 필요 유무를 판단한다. According to this structure, there is only one clock used by a plurality of IPs. That is, the plurality of IPs use the same clock, and when a clock request is received from the plurality of IPs, the control circuit included in the clock gating unit performs an OR operation to determine whether a clock is required.
제1 채널 관리 유닛(115)은 제1 클럭 게이팅 유닛(114)과 풀 핸드쉐이크 방식에 따라 통신하고, 제4 채널 관리 유닛(128)은 제1 클럭 게이팅 유닛(114)과 풀 핸드쉐이크 방식에 따라 통신한다. 예를 들어, 제1 IP(171)가 제1 채널 관리 유닛(115)으로 클럭 요청 신호(REQ)를 전송하거나, 제2 IP(172)가 제4 채널 관리 유닛(128)으로 클럭 요청 신호(REQ)를 전송하는 경우, 제1 클럭 게이팅 유닛(114)은 OR 연산을 수행한다. The first
제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114), 및 제1 채널 관리 유닛(115)은 서로간에 풀 핸드쉐이크 방식에 따라 통신하며, 제1 채널 관리 유닛(115)으로부터 제1 PLL 컨트롤러(111)까지 클럭 요청 신호(REQ)가 한번에 전송될 수도 있다. The
제1 PLL 컨트롤러(111)로부터 클럭 응답 신호(ACK)가 전송되면, 이는 제1 클럭 게이팅 유닛(114)까지 전송되어 제1 클럭 게이팅 유닛(114)에 포함된 제어 회로의 제어에 따라 클럭 게이팅 회로가 비활성화되어 제1 IP(171)로 제1 클럭(CLK1)이 제공된다.When the clock response signal ACK is transmitted from the
제1 IP(171)가 제1 클럭(CLK1)이 불필요한 경우, 클럭 요청 신호(REQ)를 비활성화시키며, 이에 따라, 제1 클럭 게이팅 유닛(114)으로 전송되는 클럭 요청 신호(REQ)가 비활성화된다. 이 때, 제1 클럭 게이팅 유닛(114)에 포함된 제어 회로는 AND 연산을 수행하여 클럭 게이팅 수행 여부를 판단한다. When the
제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114), 및 제4 채널 관리 유닛(128)은 서로간에 풀 핸드쉐이크 방식에 따라 통신하며, 제4 채널 관리 유닛(128)으로부터 제1 PLL 컨트롤러(111)까지 클럭 요청 신호(REQ)가 한번에 전송될 수도 있다. The
제1 PLL 컨트롤러(111)로부터 클럭 응답 신호(ACK)가 전송되면, 이는 제1 클럭 게이팅 유닛(114)까지 전송되어 제1 클럭 게이팅 유닛(114)에 포함된 제어 회로의 제어에 따라 클럭 게이팅 회로가 비활성화되어 제2 IP(172)로 제1 클럭(CLK1)이 제공된다. 즉, 제1 IP(171)로 제공되는 클럭과 제2 IP(172)로 제공되는 클럭은 동일하다. When the clock response signal ACK is transmitted from the
도 11은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다. 11 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
도 11을 참조하면, 본 발명의 몇몇 실시예에 따른 반도체 장치(6) 내의 클럭 관리 유닛(110f)은 제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114a), 제1 채널 관리 유닛(115), 제3 클럭 게이팅 유닛(125), 제2 PLL 컨트롤러(121), 제2 클럭 먹스 유닛(122), 제2 클럭 분주 유닛(123), 제2 클럭 게이팅 유닛(124), 제2 채널 관리 유닛(126) 등을 포함한다. Referring to FIG. 11 , a
도 11에 도시된 경우는, 채널 관리 유닛과 그의 패런트(parent)인 클럭 게이팅 유닛이 n:m의 관계로 연결된 경우를 나타내고 있다. 다시 말하면, 위에서 설명한 1:n의 관계와 n:1의 관계가 복합적으로 적용된 경우를 의미한다. The case shown in FIG. 11 shows a case in which a channel management unit and its parent clock gating unit are connected in an n:m relationship. In other words, it means the case where the 1:n relationship and the n:1 relationship described above are applied in combination.
본 발명의 몇몇 실시예에 따른 반도체 장치(6) 내의 클럭 관리 유닛(110f)의 동작에 대해서는 위에서 설명한 것과 실질적으로 동일하다. An operation of the
도 12는 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다. 12 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
도 12를 참조하면, 본 발명의 몇몇 실시예에 따른 반도체 장치(7) 내의 클럭 관리 유닛(110g)은 제1 PLL 컨트롤러(111), 제1 클럭 먹스 유닛(112), 제1 클럭 분주 유닛(113), 제1 클럭 게이팅 유닛(114b), 제1 채널 관리 유닛(115), 제2 PLL 컨트롤러(121), 제2 클럭 먹스 유닛(122), 제2 클럭 분주 유닛(123), 제2 클럭 게이팅 유닛(124), 제2 채널 관리 유닛(126), 제5 채널 관리 유닛(131) 등을 포함한다. Referring to FIG. 12 , a
도 12에 도시된 경우는, 채널 관리 유닛과 그의 패런트(parent)인 클럭 게이팅 유닛이 n:m의 관계로 연결된 경우를 나타내고 있다. 다시 말하면, 위에서 설명한 1:n의 관계와 n:1의 관계가 복합적으로 적용된 경우를 의미한다. The case shown in FIG. 12 shows a case in which a channel management unit and its parent clock gating unit are connected in an n:m relationship. In other words, it means the case where the 1:n relationship and the n:1 relationship described above are applied in combination.
본 발명의 몇몇 실시예에 따른 반도체 장치(7) 내의 클럭 관리 유닛(110g)의 동작에 대해서는 위에서 설명한 것과 실질적으로 동일하다. An operation of the
도 13은 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다. 13 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
도 13을 참조하면, 반도체 장치(700)는 중앙 처리 장치(710), 클럭 생성기(720), 클럭 관리 유닛(730), RAM(740), ROM(750) 및 메모리 컨트롤 유닛(760) 등을 포함할 수 있다. 한편, 오실레이터(OSC)는 반도체 장치(700)의 외부에 배치되어 반도체 장치(700)로 발진 신호를 제공할 수 있다. 다만, 이는 일 실시예에 불과한 것으로서, 본 발명의 실시예에 따른 반도체 장치(700)는 다른 다양한 기능 블록들을 포함할 수 있으며, 또한 오실레이터(OSC)가 반도체 장치(700) 내부에 구비되어도 무방하다. 도 40의 반도체 장치(700)는 어플리케이션 프로세서로서 반도체 시스템에 구비될 수 있다.Referring to FIG. 13 , the
클럭 생성기(720)는 오실레이터(OSC)로부터의 신호를 이용하여 기준 주파수를 갖는 기준 클럭 신호(CLK_IN)를 생성한다. 클럭 관리 유닛(730)은 기준 클럭 신호(CLK_IN)를 수신하고, 소정의 주파수를 갖는 동작 클럭 신호(CLK_OUT)를 생성하여 각각의 기능 블록으로 제공할 수 있다. 클럭 관리 유닛(730)은 하나 이상의 마스터 클럭 컨트롤러 및 슬레이브 클럭 컨트롤러를 포함할 수 있으며, 각각의 클럭 컨트롤러는 기준 클럭 신호(CLK_IN)를 이용하여 동작 클럭 신호(CLK_OUT)를 생성할 수 있다. The
또한, 클럭 관리 유닛(730) 내의 클럭 컨트롤러는 채널을 통해 연결됨에 따라 클럭 신호의 관리를 하드웨어적으로 수행할 수 있다. 또한, 클럭 관리 유닛(730) 내의 클럭 컨트롤러는 기능 블록과 채널을 통해 연결됨에 따라, 클럭 요청 및 요청 응답이 하드웨어적으로 수행될 수 있다.In addition, as the clock controller in the
중앙 처리 장치(710)는 RAM(740)에 저장된 코드들 및/또는 데이터를 처리 또는 실행할 수 있다. 예컨대, 중앙 처리 장치(710)는 클럭 관리 유닛(730)으로부터 출력된 동작 클럭에 응답하여 상기 코드들 및/또는 상기 데이터를 처리 또는 실행할 수 있다. 중앙 처리 장치(710)는 멀티-코어 프로세서(multi-core processor)로 구현될 수 있다. 상기 멀티-코어 프로세서는 두 개 또는 그 이상의 독립적인 실질적인 프로세서들을 갖는 하나의 컴퓨팅 컴포넌트(computing component)이고, 상기 프로세서들 각각은 프로그램 명령들(program instructions)을 읽고 실행할 수 있다. 상기 멀티-코어 프로세서는 다수의 가속기를 동시에 구동할 수 있으므로, 상기 멀티-코어 프로세서를 포함하는 데이터 처리 시스템은 멀티-가속(multi-acceleration)을 수행할 수 있다.The
RAM(740)은, 프로그램 코드들, 데이터 또는 명령들(instructions)을 일시적으로 저장할 수 있다. 예컨대, 내부 또는 외부 메모리(미도시)에 저장된 프로그램 코드들 및/또는 데이터는 중앙 처리 장치(710)의 제어 또는 ROM(750)에 저장된 부팅 코드(booting code)에 따라 RAM(740)에 일시적으로 저장될 수 있다. 메모리 컨트롤 모듈(760)은 내부 또는 외부 메모리와 인터페이스하기 위한 블록으로서, 메모리 컨트롤 모듈(760)은 메모리의 동작을 전반적으로 제어하며, 또한 호스트와 메모리 사이의 제반 데이터 교환을 제어한다. The
도 14는 본 발명의 몇몇 실시예에 따른 반도체 장치를 도시한 블록도이다. 14 is a block diagram illustrating a semiconductor device according to some embodiments of the inventive concept.
도 14를 참조하면, 반도체 장치(800)가 기능 블록들에 대한 전력 제공을 관리하는 파워 매니지먼트 유닛(810)을 포함하는 예가 도시된다. 파워 매니지먼트 유닛(810)은 반도체 장치(800) 내부에서 이용되는 전력을 관리하도록 설계될 수 있다. Referring to FIG. 14 , an example in which a
반도체 장치(800)는 파워 매니지먼트 유닛(810) 및 다수 개의 기능 블록들(821, 822)을 포함하고, 상기 기능 블록들(821, 822)은 마스터 기능 블록(821) 및 슬레이브 기능 블록(822)으로 분류될 수 있다. 만약, 마스터 기능 블록(821)이 동작하기 위해서는 마스터 기능 블록(821)으로 전력 제공이 수행되어야 하며, 이와 함께 마스터 기능 블록(821)의 동작에 관련된 하나 이상의 슬레이브 기능 블록(822)으로 전력 제공이 수행되어야 한다. The
마스터 파워 컨트롤러(811)는 슬레이브 파워 컨트롤러들(812, 813) 각각과 채널을 통해 통신할 수 있다. 파워 매니지먼트 유닛(810)은 입력 파워(power_in)를 수신하고, 상기 파워를 조절하여 각각의 기능 블록에 적합하도록 파워를 변환하여 출력 파워(power_out)를 생성할 수 있다. 또한, 파워 매니지먼트 유닛(810)은 파워 요청(Req)에 따라 마스터 기능 블록(821) 및 슬레이브 기능 블록(822)으로 파워를 제공하거나 차단할 수 있다. The
마스터 파워 컨트롤러(811)는 중앙 처리 장치의 코드 처리에 기반하여 파워 요청(Req)을 소프트웨어적으로 수신하거나, 마스터 기능 블록(821)으로부터 하드웨어적으로 파워 요청(Req)을 수신할 수 있다. 그리고, 마스터 기능 블록(821)은 슬레이브 파워 컨트롤러들(812, 813)로 파워 온/오프 명령(pwr on/off)을 제공할 수 있으며, 슬레이브 파워 컨트롤러들(812, 813)로부터 파워 응답(Ack on/off)을 수신할 수 있다. The
도 15는 본 발명의 몇몇 실시예에 따른 반도체 장치를 포함하는 반도체 시스템의 일 실시예를 나타내는 블록도이다.15 is a block diagram illustrating an example of a semiconductor system including a semiconductor device according to some example embodiments of inventive concepts.
도 15를 참조하면, 반도체 시스템(900)은 전술한 실시예들에 따른 SoC(901), 안테나(910), 무선 송수신기(920), 입력 장치(930) 및 디스플레이(940)를 포함할 수 있다. 무선 송수신기(920)는 안테나(910)를 통하여 무선 신호를 주거나 받을 수 있다. 예컨대, 무선 송수신기(920)는 안테나(910)를 통하여 수신된 무선 신호를 SoC(901)에서 처리될 수 있는 신호로 변경할 수 있다. Referring to FIG. 15 , a
따라서, SoC(901)은 무선 송수신기(920)로부터 출력된 신호를 처리하고 처리된 신호를 디스플레이(940)로 전송할 수 있다. 또한, 무선 송수신기(920)는 SoC(901)으로부터 출력된 신호를 무선 신호로 변경하고 변경된 무선 신호를 안테나(910)를 통하여 외부 장치로 출력할 수 있다. 입력 장치(930)는 SoC(901)의 동작을 제어하기 위한 제어 신호 또는 SoC(901)에 의하여 처리될 데이터를 입력할 수 있는 장치로서, 터치 패드(touch pad)와 컴퓨터 마우스(computer mouse)와 같은 포인팅 장치(pointing device), 키패드(keypad), 또는 키보드로 구현될 수 있다.Accordingly, the
도 16은 본 발명의 몇몇 실시예에 따른 반도체 장치를 포함하는 반도체 시스템의 다른 실시예를 나타내는 블록도이다.16 is a block diagram illustrating another example of a semiconductor system including a semiconductor device according to some example embodiments of inventive concepts.
도 16을 참조하면, 메모리 시스템(1000)은 SSD(solid state drive)와 같은 데이터 처리 장치로 구현될 수 있다. 메모리 시스템(1000)은 다수의 메모리 장치들(1500), 다수의 메모리 장치들(1500) 각각의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러(1200), DRAM과 같은 휘발성 메모리 장치(1300), 메모리 컨트롤러(1200)와 호스트(1400) 사이에서 주고받은 데이터를 휘발성 메모리 장치(1300)에 저장하는 것을 제어하는 SoC(1100)를 포함할 수 있다. 상기 SoC(1100)는 전술한 실시예에 따라 구현될 수 있다. Referring to FIG. 16 , the
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art can realize that the present invention can be implemented in other specific forms without changing the technical spirit or essential features. you will be able to understand Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting.
100: 반도체 장치
101: 입출력 패드
110: 클럭 관리 유닛
150: 파워 매니지먼트 유닛
171, 172, 173: 제1 내지 제3 IP100: semiconductor device
101: I/O pad
110: clock management unit
150: power management unit
171, 172, 173: first to third IP
Claims (20)
상기 제1 클럭 생성부와 풀 핸드쉐이크(full handshake) 방식에 따라 통신하는 제1 채널 관리부;
제2 제어 회로와 제2 클럭 게이팅 회로를 포함하는 제2 클럭 생성부; 및
상기 제2 클럭 생성부와 풀 핸드쉐이크 방식에 따라 통신하는 제2 채널 관리부를 포함하고,
상기 제1 클럭 게이팅 회로는 제1 클럭을 출력하고, 상기 제2 클럭 게이팅 회로는 상기 제1 클럭과 다른 제2 클럭을 출력하고,
상기 제1 채널 관리부는 제1 클럭 요청 신호에 응답하여 상기 제1 클럭 생성부로 제2 클럭 요청 신호를 전송하고,
상기 제1 클럭 생성부는 상기 제2 클럭 요청 신호에 응답하여 상기 제1 채널 관리부로 제1 클럭 응답 신호를 전송하는 반도체 장치.a first clock generator including a first control circuit and a first clock gating circuit;
a first channel manager communicating with the first clock generator according to a full handshake method;
a second clock generator including a second control circuit and a second clock gating circuit; and
A second channel management unit communicating with the second clock generation unit according to a full handshake method;
the first clock gating circuit outputs a first clock, and the second clock gating circuit outputs a second clock different from the first clock;
The first channel manager transmits a second clock request signal to the first clock generator in response to the first clock request signal;
The semiconductor device of claim 1 , wherein the first clock generator transmits a first clock response signal to the first channel manager in response to the second clock request signal.
상기 제2 채널 관리부는 제3 클럭 요청 신호에 응답하여 상기 제2 클럭 생성부로 제4 클럭 요청 신호를 전송하고,
상기 제2 클럭 생성부는 상기 제4 클럭 요청 신호에 응답하여 상기 제2 채널 관리부로 제2 클럭 응답 신호를 전송하는 반도체 장치.According to claim 1,
The second channel manager transmits a fourth clock request signal to the second clock generator in response to a third clock request signal;
wherein the second clock generator transmits a second clock response signal to the second channel manager in response to the fourth clock request signal.
상기 제1 제어 회로는 상기 제2 클럭 요청 신호가 활성화되면 상기 제1 클럭 게이팅 회로를 비활성화시키고,
상기 제2 제어 회로는 상기 제4 클럭 요청 신호가 활성화되면 상기 제2 클럭 게이팅 회로를 비활성화시키는 반도체 장치.According to claim 3,
the first control circuit deactivates the first clock gating circuit when the second clock request signal is activated;
The second control circuit deactivates the second clock gating circuit when the fourth clock request signal is activated.
상기 제1 채널 관리부와 통신하는 제1 로직 블록과, 상기 제2 채널 관리부와 통신하는 제2 로직 블록을 더 포함하는 반도체 장치.According to claim 1,
The semiconductor device further comprising a first logic block communicating with the first channel manager and a second logic block communicating with the second channel manager.
상기 제1 채널 관리부와 상기 제1 로직 블록은 풀 핸드쉐이크(full handshake) 채널을 이용하여 통신하는 반도체 장치.According to claim 5,
The semiconductor device of claim 1 , wherein the first channel management unit and the first logic block communicate with each other using a full handshake channel.
상기 제1 로직 블록은 IP(intellectual property)를 포함하고,
상기 IP는 상기 제1 클럭이 필요한 경우, 클럭 요청 신호를 활성화하는 반도체 장치.According to claim 5,
The first logic block includes an intellectual property (IP),
The IP activates a clock request signal when the first clock is required.
상기 제1 클럭 생성부는 상기 클럭 요청 신호에 응답하여 상기 IP로 상기 제1 클럭을 제공하는 반도체 장치.According to claim 7,
The first clock generator provides the first clock to the IP in response to the clock request signal.
상기 IP는 상기 제1 클럭이 불필요한 경우, 상기 클럭 요청 신호를 비활성화시키는 반도체 장치.According to claim 8,
The IP deactivates the clock request signal when the first clock is unnecessary.
상기 제1 클럭 생성부와 상기 제1 채널 관리부는 단일 클럭 도메인(single clock domain)으로 통신하는 반도체 장치.According to claim 1,
The semiconductor device of claim 1 , wherein the first clock generator and the first channel manager communicate with each other in a single clock domain.
상기 제1 제어 회로와 상기 제1 클럭 게이팅 회로는 서로 다른 클럭 도메인을 이용하는 반도체 장치.According to claim 10,
The semiconductor device of claim 1 , wherein the first control circuit and the first clock gating circuit use different clock domains.
상기 제1 클럭 생성부와 풀 핸드쉐이크(full handshake) 방식에 따라 통신하는 제1 채널 관리부; 및
제2 제어 회로와 제2 클럭 게이팅 회로를 포함하는 제2 클럭 생성부를 포함하고,
상기 제2 클럭 생성부는 상기 제1 채널 관리부와 풀 핸드쉐이크 방식에 따라 통신하고,
상기 제1 클럭 게이팅 회로는 제1 클럭을 출력하고, 상기 제2 클럭 게이팅 회로는 상기 제1 클럭과 다른 제2 클럭을 출력하고,
상기 제1 채널 관리부는 상기 제1 클럭 생성부로 제1 클럭 요청 신호를 전송하고,
상기 제1 클럭 생성부는 상기 제1 클럭 요청 신호에 응답하여 상기 제1 채널 관리부로 제1 클럭 응답 신호를 전송하는 반도체 장치.a first clock generator including a first control circuit and a first clock gating circuit;
a first channel manager communicating with the first clock generator according to a full handshake method; and
A second clock generator including a second control circuit and a second clock gating circuit;
The second clock generation unit communicates with the first channel manager according to a full handshake method;
the first clock gating circuit outputs a first clock, and the second clock gating circuit outputs a second clock different from the first clock;
The first channel manager transmits a first clock request signal to the first clock generator;
The semiconductor device of claim 1 , wherein the first clock generation unit transmits a first clock response signal to the first channel management unit in response to the first clock request signal.
상기 제2 클럭 생성부는 상기 제2 클럭 요청 신호에 응답하여 상기 제1 채널 관리부로 제2 클럭 응답 신호를 전송하는 반도체 장치.According to claim 13,
The second clock generation unit transmits a second clock response signal to the first channel management unit in response to the second clock request signal.
상기 제1 제어 회로는 상기 제1 클럭 요청 신호가 활성화되면 상기 제1 클럭 게이팅 회로를 비활성화시키고,
상기 제2 제어 회로는 상기 제2 클럭 요청 신호가 활성화되면 상기 제2 클럭 게이팅 회로를 비활성화시키는 반도체 장치.According to claim 13,
the first control circuit deactivates the first clock gating circuit when the first clock request signal is activated;
The second control circuit deactivates the second clock gating circuit when the second clock request signal is activated.
상기 제1 클럭 생성부와 풀 핸드쉐이크(full handshake) 방식에 따라 통신하는 제1 채널 관리부; 및
상기 제1 클럭 생성부와 풀 핸드쉐이크 방식에 따라 통신하는 제2 채널 관리부를 포함하고,
상기 제1 채널 관리부는 상기 제1 클럭 생성부로 제1 클럭 요청 신호를 전송하고, 상기 제1 클럭 생성부는 상기 제1 클럭 요청 신호에 따라 제1 클럭 응답 신호를 상기 제1 채널 관리부로 전송하고,
상기 제2 채널 관리부는 상기 제1 클럭 생성부로 제2 클럭 요청 신호를 전송하는 반도체 장치.a first clock generator including a first control circuit and a first clock gating circuit;
a first channel manager communicating with the first clock generator according to a full handshake method; and
A second channel management unit communicating with the first clock generation unit according to a full handshake method;
The first channel manager transmits a first clock request signal to the first clock generator, the first clock generator transmits a first clock response signal to the first channel manager according to the first clock request signal,
The second channel manager transmits a second clock request signal to the first clock generator.
상기 제1 클럭 생성부는 상기 제1 클럭 요청 신호 및 상기 제2 클럭 요청 신호 중 적어도 하나가 활성화된 경우, 제1 클럭을 출력하는 반도체 장치.According to claim 17,
The semiconductor device of claim 1 , wherein the first clock generator outputs a first clock when at least one of the first clock request signal and the second clock request signal is activated.
상기 제1 채널 관리부와 풀 핸드쉐이크 채널을 이용하여 통신하는 제1 로직 블록과,
상기 제2 채널 관리부와 풀 핸드쉐이크 채널을 이용하여 통신하는 제2 로직 블록을 더 포함하는 반도체 장치.According to claim 18,
a first logic block communicating with the first channel manager using a full handshake channel;
The semiconductor device further includes a second logic block communicating with the second channel manager using a full handshake channel.
상기 제1 클럭 생성부는 상기 제1 로직 블록 및 상기 제2 로직 블록 중 적어도 하나로 상기 제1 클럭을 제공하는 반도체 장치.According to claim 19,
wherein the first clock generator provides the first clock to at least one of the first logic block and the second logic block.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/415,041 US10248155B2 (en) | 2016-01-25 | 2017-01-25 | Semiconductor device including clock generating circuit and channel management circuit |
DE102017110788.6A DE102017110788A1 (en) | 2016-01-25 | 2017-05-18 | Semiconductor device |
CN201710600073.8A CN108319326B (en) | 2016-01-25 | 2017-07-21 | Semiconductor device with a plurality of semiconductor chips |
TW106124821A TWI740988B (en) | 2016-01-25 | 2017-07-25 | Semiconductor device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662286895P | 2016-01-25 | 2016-01-25 | |
US62/286,895 | 2016-01-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170088758A KR20170088758A (en) | 2017-08-02 |
KR102550422B1 true KR102550422B1 (en) | 2023-06-30 |
Family
ID=59651730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170007002A KR102550422B1 (en) | 2016-01-25 | 2017-01-16 | Semiconductor device |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102550422B1 (en) |
CN (1) | CN108319326B (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110202788A1 (en) * | 2010-02-12 | 2011-08-18 | Blue Wonder Communications Gmbh | Method and device for clock gate controlling |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008197600A (en) * | 2007-02-16 | 2008-08-28 | Renesas Technology Corp | Semiconductor integrated circuit and data processing system |
KR20110035749A (en) * | 2009-09-30 | 2011-04-06 | 주식회사 하이닉스반도체 | Semiconductor memory apparatus |
US8549339B2 (en) * | 2010-02-26 | 2013-10-01 | Empire Technology Development Llc | Processor core communication in multi-core processor |
KR102107076B1 (en) * | 2013-12-02 | 2020-05-08 | 에스케이하이닉스 주식회사 | Semiconductor apparatus |
KR20150116052A (en) * | 2014-04-04 | 2015-10-15 | 에스케이하이닉스 주식회사 | Semiconductor memory device and operation method thereof |
KR102204597B1 (en) * | 2014-11-19 | 2021-01-19 | 삼성전자주식회사 | Semiconductor device |
KR102216807B1 (en) * | 2015-03-25 | 2021-02-19 | 삼성전자주식회사 | Semiconductor circuit |
-
2017
- 2017-01-16 KR KR1020170007002A patent/KR102550422B1/en active IP Right Grant
- 2017-07-21 CN CN201710600073.8A patent/CN108319326B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110202788A1 (en) * | 2010-02-12 | 2011-08-18 | Blue Wonder Communications Gmbh | Method and device for clock gate controlling |
Also Published As
Publication number | Publication date |
---|---|
CN108319326B (en) | 2021-07-06 |
KR20170088758A (en) | 2017-08-02 |
CN108319326A (en) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853304B2 (en) | System on chip including clock management unit and method of operating the system on chip | |
KR102467172B1 (en) | Semiconductor device | |
US10560081B2 (en) | Method, apparatus, system for centering in a high performance interconnect | |
US10296065B2 (en) | Clock management using full handshaking | |
US11789515B2 (en) | Semiconductor device | |
US11275708B2 (en) | System on chip including clock management unit and method of operating the system on chip | |
TWI772300B (en) | Semiconductor device | |
US10248155B2 (en) | Semiconductor device including clock generating circuit and channel management circuit | |
KR102550422B1 (en) | Semiconductor device | |
CN114077570A (en) | Semiconductor device with a plurality of transistors | |
TWI752067B (en) | Semiconductor device and a semiconductor system | |
US8515373B2 (en) | Apparatus for providing reference signals and associated methods | |
CN108345350B (en) | System on chip, semiconductor system, and clock signal output circuit | |
CN108268085B (en) | Semiconductor device with a semiconductor device having a plurality of semiconductor chips | |
KR20170088750A (en) | Semiconductor device, semiconductor system and method for operating semiconductor device | |
CN108268117B (en) | Semiconductor device and semiconductor system | |
CN108268086B (en) | Semiconductor device, semiconductor system, and method of operating semiconductor device | |
US20150106635A1 (en) | Semiconductor integrated circuit and method of controlling the same | |
KR20220020763A (en) | Semiconductor device | |
KR20170088749A (en) | Semiconductor device, semiconductor system and method for operating semiconductor device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |