KR20170092451A - Semiconductor device, semiconductor system and method for operating semiconductor device - Google Patents
Semiconductor device, semiconductor system and method for operating semiconductor device Download PDFInfo
- Publication number
- KR20170092451A KR20170092451A KR1020170000722A KR20170000722A KR20170092451A KR 20170092451 A KR20170092451 A KR 20170092451A KR 1020170000722 A KR1020170000722 A KR 1020170000722A KR 20170000722 A KR20170000722 A KR 20170000722A KR 20170092451 A KR20170092451 A KR 20170092451A
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- block
- signal
- functional unit
- unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- Y02B60/1221—
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Semiconductor Integrated Circuits (AREA)
- Power Sources (AREA)
Abstract
반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법이 제공된다. 반도체 장치는, 기능 유닛(function unit) 및 인터페이스 유닛(interface unit)을 포함하는 제1 IP 블록(Intellectual Property block); 및 제1 클럭 소오스(clock source)를 제어하는 제1 클럭 제어 회로(clock control circuit), 상기 제1 클럭 제어 회로에 제1 클럭 요청을 전송하고, 상기 제1 클럭 소오스로부터 클럭 신호를 제공받는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로 및 상기 제1 IP 블록으로부터 수신되는 IP 블록 클럭 요청에 대한 응답으로 상기 제2 클럭 제어 회로에 제2 클럭 요청을 전송하는 채널 관리 회로(channel management circuit)를 포함하는 클럭 관리 유닛(Clock Management Unit, CMU)을 포함하고, 상기 기능 유닛은 상기 제1 IP 블록의 동작을 제어하고, 상기 인터페이스 유닛은 상기 제1 IP 블록과 전기적으로 접속된 제2 IP 블록으로부터 제공되는 제1 신호를 수신하여 상기 기능 유닛에 제공한다.A semiconductor device, a semiconductor system, and a method of operating the semiconductor device are provided. A semiconductor device includes: a first IP block (Intellectual Property block) including a function unit and an interface unit; A first clock control circuit for controlling a first clock source and a first clock control circuit for transmitting a first clock request to the first clock control circuit and a second clock control circuit for receiving a clock signal from the first clock source, A second clock control circuit for controlling a second clock source and a channel management circuit for transmitting a second clock request to the second clock control circuit in response to an IP block clock request received from the first IP block, Wherein the functional unit controls the operation of the first IP block and the interface unit is connected to a second IP block electrically connected to the first IP block, And provides the first signal to the functional unit.
Description
본 발명은 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법에 관한 것이다.The present invention relates to a semiconductor device, a semiconductor system, and a method of operating the semiconductor device.
SoC(Sytem-on-Chip)은 하나 이상의 IP 블록(Intellectual Property block), 클럭 관리 유닛(Clock Management Unit, CMU), 전력 관리 유닛(Power Management Unit, PMU) 등을 포함할 수 있다. 클럭 관리 유닛은 하나 이상의 IP 블록에 클럭 신호를 제공하는 한편, 실행 중이 아닌 IP 블록에 클럭 신호의 제공을 중지하여 SoC를 채용한 시스템에서의 불필요한 자원의 낭비를 줄일 수 있다.A system-on-chip (SoC) may include one or more IP blocks (Intellectual Property Block), a clock management unit (CMU), a power management unit (PMU), and the like. The clock management unit can provide the clock signal to one or more IP blocks while stopping the supply of the clock signal to the non-executing IP block, thereby reducing the waste of unnecessary resources in the system employing the SoC.
이와 같이 클럭 신호의 제공을 조절하기 위해, 클럭 관리 유닛에 포함되는 다양한 클럭 소오스(clock source)들, 예컨대 다중화 회로(MUX circuit), 클럭 분주 회로(clock dividing circuit), 단기 정지 회로(short stop circuit) 및 클럭 게이팅 회로(clock gating circuit) 등은 SFR(Special Function Register)를 이용한 소프트웨어에 의해 제어될 수도 있지만, 소프트웨어에 의한 제어 속도는 하드웨어에 의한 제어 속도보다 느릴 수 있다. 따라서 클럭 관리 유닛의 다양한 클럭 소오스들을 하드웨어적으로 제어하는 방안이 요구된다.In order to control the provision of the clock signal in this manner, various clock sources included in the clock management unit, such as a multiplexing circuit, a clock dividing circuit, a short stop circuit ) And a clock gating circuit may be controlled by software using SFR (Special Function Register), but the control speed by software may be slower than the control speed by hardware. Therefore, there is a need for hardware control of various clock sources of the clock management unit.
본 발명이 해결하고자 하는 기술적 과제는 하드웨어에 의한 클럭 신호 제어가 구현된 시스템의 마스터-슬레이브 관계에 있어서 버스 동작(bus operation)을 수행하기 위한 반도체 장치를 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a semiconductor device for performing a bus operation in a master-slave relationship of a system in which clock signal control by hardware is implemented.
본 발명이 해결하고자 하는 다른 기술적 과제는 하드웨어에 의한 클럭 신호 제어가 구현된 시스템의 마스터-슬레이브 관계에 있어서 버스 동작을 수행하기 위한 반도체 시스템을 제공하는 것이다.Another aspect of the present invention is to provide a semiconductor system for performing a bus operation in a master-slave relationship of a system in which a clock signal is controlled by hardware.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 하드웨어에 의한 클럭 신호 제어가 구현된 시스템의 마스터-슬레이브 관계에 있어서 버스 동작을 수행하기 위한 반도체 장치의 동작 방법을 제공하는 것이다.Another aspect of the present invention is to provide a method of operating a semiconductor device for performing a bus operation in a master-slave relationship of a system in which clock signal control by hardware is implemented.
본 발명이 해결하고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 해당 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems to be solved by the present invention are not limited to the technical problems mentioned above, and other technical problems which are not mentioned can be clearly understood by those skilled in the art from the following description.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 반도체 장치는, 기능 유닛(function unit) 및 인터페이스 유닛(interface unit)을 포함하는 제1 IP 블록(Intellectual Property block); 및 제1 클럭 소오스(clock source)를 제어하는 제1 클럭 제어 회로(clock control circuit), 제1 클럭 제어 회로에 제1 클럭 요청을 전송하고, 제1 클럭 소오스로부터 클럭 신호를 제공받는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로 및 제1 IP 블록으로부터 수신되는 IP 블록 클럭 요청에 대한 응답으로 제2 클럭 제어 회로에 제2 클럭 요청을 전송하는 채널 관리 회로(channel management circuit)를 포함하는 클럭 관리 유닛(Clock Management Unit, CMU)을 포함하고, 기능 유닛은 제1 IP 블록의 동작을 제어하고, 인터페이스 유닛은 제1 IP 블록과 전기적으로 접속된 제2 IP 블록으로부터 제공되는 제1 신호를 수신하여 기능 유닛에 제공한다.According to an aspect of the present invention, there is provided a semiconductor device comprising: a first IP block (Intellectual Property Block) including a function unit and an interface unit; A first clock control circuit for controlling a first clock source and a second clock control circuit for transmitting a first clock request to a first clock control circuit and a second clock signal for receiving a clock signal from a first clock source, A second clock control circuit for controlling the source and a channel management circuit for transmitting a second clock request to the second clock control circuit in response to the IP block clock request received from the first IP block, Wherein the functional unit controls the operation of the first IP block and the interface unit receives a first signal provided from a second IP block electrically connected to the first IP block And provides it to the functional unit.
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛의 동작 상태에 대한 정보를 수신하고, 상기 동작 상태는 슬립(sleep) 상태 및 실행 상태 중 적어도 하나를 포함할 수 있다.In some embodiments of the present invention, the interface unit receives information on an operational state of the functional unit of the first IP block, the operational state includes at least one of a sleep state and an execution state .
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛이 슬립(sleep) 상태인 동안 상기 제2 IP 블록으로부터 제공되는 상기 제1 신호를 수신할 수 있다.In some embodiments of the present invention, the interface unit may receive the first signal provided from the second IP block while the functional unit of the first IP block is in a sleep state.
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 제1 신호를 수신한 후, 상기 클럭 관리 유닛에 상기 IP 블록 클럭 요청을 전송할 수 있다.In some embodiments of the present invention, the interface unit may transmit the IP block clock request to the clock management unit after receiving the first signal.
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛이 웨이크업(wakeup)된 후, 상기 제1 신호에 대응하는 제2 신호를 생성할 수 있다.In some embodiments of the invention, the interface unit may generate a second signal corresponding to the first signal after the functional unit of the first IP block is waken up.
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은, 상기 제1 블록의 상기 기능 유닛이 웨이크업된 후, 상기 제2 신호를 상기 기능 유닛에 제공할 수 있다.In some embodiments of the present invention, the interface unit may provide the second signal to the functional unit after the functional unit of the first block is woken up.
본 발명의 몇몇의 실시예에서, 상기 제1 IP 블록은 슬레이브 장치이고, 상기 제2 IP 블록은 마스터 장치일 수 있다.In some embodiments of the present invention, the first IP block is a slave device, and the second IP block may be a master device.
본 발명의 몇몇의 실시예에서, 상기 제1 신호는 버스 동작 신호(bus operation signal)을 포함할 수 있다.In some embodiments of the invention, the first signal may comprise a bus operation signal.
본 발명의 몇몇의 실시예에서, 상기 버스 동작 신호는 상기 제2 IP 블록이 상기 제1 IP 블록과 버스 동작을 수행하기 위한 주소 신호, 데이터 신호 및 제어 신호 중 적어도 하나를 포함할 수 있다.In some embodiments of the present invention, the bus operation signal may include at least one of an address signal, a data signal, and a control signal for the bus operation with the first IP block.
본 발명의 몇몇의 실시예에서, 상기 제1 IP 블록의 상기 기능 유닛은 상기 인터페이스 유닛으로부터 제공된 상기 제1 신호에 대응하는 신호를 수신한 후. 상기 제2 IP 블록과 버스 동작을 수행할 수 있다.In some embodiments of the present invention, the functional unit of the first IP block receives a signal corresponding to the first signal provided from the interface unit. And may perform a bus operation with the second IP block.
본 발명의 몇몇의 실시예에서, 상기 제1 클럭 소오스 또는 상기 제2 클럭 소오스는 다중화 회로(MUX circuit), 클럭 분주 회로(clock dividing circuit), 단기 정지 회로(short stop circuit) 및 클럭 게이팅 회로(clock gating circuit) 중 적어도 하나를 포함할 수 있다.In some embodiments of the present invention, the first clock source or the second clock source comprises a multiplexer circuit, a clock dividing circuit, a short stop circuit, and a clock gating circuit a clock gating circuit, and the like.
본 발명의 몇몇의 실시예에서, 상기 제1 클럭 제어 회로 및 상기 제2 클럭 제어 회로는 상기 제1 클럭 소오스 및 상기 제2 클럭 소오스의 동작을 각각 제어하는 유한 상태 기계(Finite State Machine, FSM)를 포함할 수 있다.In some embodiments of the present invention, the first clock control circuit and the second clock control circuit are finite state machines (FSMs) that respectively control the operation of the first clock source and the second clock source, . ≪ / RTI >
상기 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 반도체 장치는, 클럭 관리 유닛(Clock Management Unit, CMU)로부터 제1 클럭 신호를 제공받아 동작하는 마스터 IP 블록; 및 제2 클럭 관리 유닛으로부터 제2 클럭 신호를 제공받아 동작하는 기능 유닛(function unit) 및 제1 시점에 마스터 IP 블록으로부터 버스 동작 신호(bns operation signal)을 수신하고 제1 시점과 다른 제2 시점에 버스 동작 신호를 기능 유닛에 제공하는 인터페이스 유닛(interface unit)을 포함하는 슬레이브 IP 블록을 포함한다.According to another aspect of the present invention, there is provided a semiconductor device including: a master IP block that receives a first clock signal from a clock management unit (CMU) and operates; And a second clock control unit for receiving a second clock signal and receiving a bus operation signal from the master IP block at a first time point and receiving a bus operation signal bns operation signal at a second time point different from the first time point, And a slave IP block including an interface unit for providing a bus operation signal to the functional unit.
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 슬레이브 IP 블록의 상기 기능 유닛의 동작 상태에 대한 정보를 수신하고, 상기 동작 상태는 슬립(sleep) 상태 및 실행 상태 중 적어도 하나를 포함할 수 있다.In some embodiments of the present invention, the interface unit receives information on the operational state of the functional unit of the slave IP block, and the operational state may include at least one of a sleep state and an execution state have.
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 슬레이브 IP 블록의 상기 기능 유닛이 슬립(sleep) 상태인 상기 제1 시점에 상기 마스터 IP 블록으로부터 제공되는 상기 버스 동작 신호를 수신할 수 있다.In some embodiments of the present invention, the interface unit may receive the bus operation signal provided from the master IP block at the first time when the functional unit of the slave IP block is in a sleep state.
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 마스터 IP 블록으로부터 상기 버스 동작 신호를 수신한 후, 상기 클럭 관리 유닛에 클럭 요청을 전송할 수 있다.In some embodiments of the present invention, the interface unit may send a clock request to the clock management unit after receiving the bus operation signal from the master IP block.
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛이 웨이크업(wakeup)된 상기 제2 시점에, 상기 버스 동작 신호를 상기 기능 유닛에 제공할 수 있다.In some embodiments of the present invention, the interface unit may provide the bus operation signal to the functional unit at the second time point at which the functional unit of the first IP block is waken up.
본 발명의 몇몇의 실시예에서, 상기 슬레이브 IP 블록의 상기 기능 유닛은 상기 인터페이스 유닛으로부터 제공된 상기 버스 동작 신호를 수신한 후. 상기 마스터 IP 블록과 버스 동작을 수행할 수 있다.In some embodiments of the present invention, the functional unit of the slave IP block receives the bus operation signal provided from the interface unit. And can perform a bus operation with the master IP block.
본 발명의 몇몇의 실시예에서, 상기 버스 동작 신호는 상기 마스터 IP 블록이 상기 슬레이브 IP 블록과 버스 동작을 수행하기 위한 주소 신호, 데이터 신호 및 제어 신호 중 적어도 하나를 포함할 수 있다.In some embodiments of the present invention, the bus operation signal may include at least one of an address signal, a data signal, and a control signal for the master IP block to perform a bus operation with the slave IP block.
본 발명의 몇몇의 실시예에서, 상기 마스터 IP 블록과 상기 슬레이브 IP 블록은 APB 프로토콜(Advanced Peripheral Bus protocol) 또는 AHB 프로토콜(Advanced High-performance Bus protocol)에 따라 데이터를 주고 받을 수 있다.In some embodiments of the present invention, the master IP block and the slave IP block can exchange data according to an APB protocol (Advanced Peripheral Bus protocol) or an AHB protocol (Advanced High-performance Bus protocol).
본 발명의 몇몇의 실시예에서, 상기 마스터 IP 블록은 APB 브리지(bridge) 블록을 포함할 수 있다.In some embodiments of the invention, the master IP block may comprise an APB bridge block.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 반도체 시스템은, 기능 유닛(function unit) 및 인터페이스 유닛(interface unit)을 포함하는 제1 IP 블록(Intellectual Property block), 제1 IP 블록과 전기적으로 접속된 제2 IP 블록 및 제1 클럭 소오스(clock source)를 제어하는 제1 클럭 제어 회로(clock control circuit), 제1 클럭 제어 회로에 제1 클럭 요청을 전송하고, 제1 클럭 소오스로부터 클럭 신호를 제공받는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로 및 제1 IP 블록으로부터 수신되는 IP 블록 클럭 요청에 대한 응답으로 제2 클럭 제어 회로에 제2 클럭 요청을 전송하는 채널 관리 회로(channel management circuit)를 포함하는 클럭 관리 유닛(Clock Management Unit, CMU)을 포함하는 SoC(System-on-Chip); 및 SoC와 전기적으로 접속된 하나 이상의 외부 장치(external device)를 포함하고, 기능 유닛은 제1 IP 블록의 동작을 제어하고, 인터페이스 유닛은 제2 IP 블록으로부터 제공되는 제1 신호를 수신하여 기능 유닛에 제공한다.According to an aspect of the present invention, there is provided a semiconductor system including a first IP block including a functional unit and an interface unit, A first clock control circuit for controlling a first clock source and a second IP block connected to the first clock source, a first clock request control circuit for transmitting a first clock request to the first clock control circuit, A second clock control circuit for controlling a second clock source receiving a signal and a channel management circuit for transmitting a second clock request to a second clock control circuit in response to an IP block clock request received from the first IP block, a System-on-Chip (SoC) including a clock management unit (CMU) including a management circuit; And one or more external devices electrically connected to the SoC, wherein the functional unit controls the operation of the first IP block, and the interface unit receives the first signal provided from the second IP block, .
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛의 동작 상태에 대한 정보를 수신하고, 상기 동작 상태는 슬립(sleep) 상태 및 실행 상태 중 적어도 하나를 포함할 수 있다.In some embodiments of the present invention, the interface unit receives information on an operational state of the functional unit of the first IP block, the operational state includes at least one of a sleep state and an execution state .
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛이 슬립(sleep) 상태인 동안 상기 제2 IP 블록으로부터 제공되는 상기 제1 신호를 수신할 수 있다.In some embodiments of the present invention, the interface unit may receive the first signal provided from the second IP block while the functional unit of the first IP block is in a sleep state.
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 제1 신호를 수신한 후, 상기 클럭 관리 유닛에 상기 IP 블록 클럭 요청을 전송할 수 있다.In some embodiments of the present invention, the interface unit may transmit the IP block clock request to the clock management unit after receiving the first signal.
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛이 웨이크업(wakeup)된 후, 상기 제1 신호에 대응하는 제2 신호를 생성할 수 있다.In some embodiments of the invention, the interface unit may generate a second signal corresponding to the first signal after the functional unit of the first IP block is waken up.
본 발명의 몇몇의 실시예에서, 상기 인터페이스 유닛은, 상기 제1 블록의 상기 기능 유닛이 웨이크업된 후, 상기 제2 신호를 상기 기능 유닛에 제공할 수 있다.In some embodiments of the present invention, the interface unit may provide the second signal to the functional unit after the functional unit of the first block is woken up.
본 발명의 몇몇의 실시예에서, 상기 제1 클럭 소오스 또는 상기 제2 클럭 소오스는 다중화 회로(MUX circuit), 클럭 분주 회로(clock dividing circuit), 단기 정지 회로(short stop circuit) 및 클럭 게이팅 회로(clock gating circuit) 중 적어도 하나를 포함할 수 있다.In some embodiments of the present invention, the first clock source or the second clock source comprises a multiplexer circuit, a clock dividing circuit, a short stop circuit, and a clock gating circuit a clock gating circuit, and the like.
본 발명의 몇몇의 실시예에서, 상기 외부 장치는 메모리 장치, 디스플레이 장치, 네트워크 장치, 스토리지 장치 및 입출력 장치 중 적어도 하나를 포함하고,In some embodiments of the present invention, the external device includes at least one of a memory device, a display device, a network device, a storage device, and an input / output device,
상기 SoC는 상기 외부 장치를 제어할 수 있다.The SoC can control the external device.
본 발명의 몇몇의 실시예에서, 상기 IP 블록은 상기 메모리 장치를 제어하는 메모리 컨트롤러, 상기 디스플레이 장치를 제어하는 디스플레이 컨트롤러, 상기 네크워크 장치를 제어하는 네트워크 컨트롤러, 상기 스토리지 장치를 제어하는 스토리지 컨트롤러 및 상기 입출력 장치를 제어하는 입출력 컨트롤러 중 적어도 하나를 포함할 수 있다.In some embodiments of the present invention, the IP block includes a memory controller for controlling the memory device, a display controller for controlling the display device, a network controller for controlling the network device, a storage controller for controlling the storage device, And an input / output controller for controlling the input / output device.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 반도체 장치의 동작 방법은, 마스터 IP 블록으로부터 제1 신호를 수신하고, 슬레이브 IP 블록의 기능 유닛(function unit)을 웨이크업(wakeup)하기 위한 클럭 요청을 클럭 관리 유닛(Clock Management Unit, CMU)에 전송하고, 슬레이브 IP 블록이 클럭 관리 유닛으로부터 클럭 신호를 제공받은 후 제1 신호에 대응하는 제2 신호를 생성하고, 제2 신호를 기능 유닛에 제공하는 것을 포함한다.According to another aspect of the present invention, there is provided a method for operating a semiconductor device, the method comprising: receiving a first signal from a master IP block and performing a wakeup operation on a function unit of a slave IP block; Transmits a clock request to the clock management unit (CMU), generates a second signal corresponding to the first signal after the slave IP block receives the clock signal from the clock managing unit, .
본 발명의 몇몇의 실시예에서, 상기 방법은, 상기 기능 유닛으로부터 상기 기능 유닛의 동작 상태에 대한 정보를 수신하는 것을 더 포함하고, 상기 제1 신호에 대응하는 제2 신호를 생성하는 것은 상기 기능 유닛의 동작 상태가 슬립(sleep) 상태에서 웨이크업 상태로 전환된 때에 상기 제1 신호에 대응하는 제2 신호를 생성하는 것을 포함할 수 있다.In some embodiments of the present invention, the method further comprises receiving information on an operating state of the functional unit from the functional unit, wherein generating a second signal corresponding to the first signal comprises: And generating a second signal corresponding to the first signal when an operating state of the unit is switched from a sleep state to a wake up state.
본 발명의 몇몇의 실시예에서, 상기 제1 신호를 수신하는 것은, 상기 기능 유닛이 슬립 상태인 동안 상기 제1 신호를 수신하는 것을 포함할 수 있다.In some embodiments of the present invention, receiving the first signal may comprise receiving the first signal while the functional unit is in a sleep state.
본 발명의 몇몇의 실시예에서, 상기 제1 신호는 버스 동작 신호(bus operation signal)을 포함할 수 있다.In some embodiments of the invention, the first signal may comprise a bus operation signal.
본 발명의 몇몇의 실시예에서, 상기 버스 동작 신호는 상기 마스터 IP 블록이 상기 슬레이브 IP 블록과 버스 동작을 수행하기 위한 주소 신호, 데이터 신호 및 제어 신호 중 적어도 하나를 포함할 수 있다.In some embodiments of the present invention, the bus operation signal may include at least one of an address signal, a data signal, and a control signal for the master IP block to perform a bus operation with the slave IP block.
본 발명의 몇몇의 실시예에서, 상기 기능 유닛은 상기 제2 신호를 수신한 후. 상기 마스터 IP 블록과 버스 동작을 수행할 수 있다.In some embodiments of the present invention, the functional unit, after receiving the second signal. And can perform a bus operation with the master IP block.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.
도 1은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 개략도이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 개략도이다.
도 4는 본 발명의 일 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 개략도이다.
도 5는 도 4의 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 타이밍도이다.
도 6은 도 4의 실시예에 따른 반도체 장치의 다른 동작례를 설명하기 위한 타이밍도이다.
도 7 및 도 8은 본 발명의 다른 실시예에 따른 반도체 장치를 설명하기 위한 개략도이다.
도 9는 본 발명의 다른 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 개략도이다.
도 10은 도 9의 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 타이밍도이다.
도 11은 본 발명의 일 실시예에 따른 반도체 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 몇몇의 실시예에 따른 반도체 장치 및 반도체 장치의 동작 방법이 적용될 수 있는 반도체 시스템의 블록도이다.
도 13 내지 도 15는 본 발명의 몇몇의 실시예들에 따른 반도체 장치 및 반도체 장치의 동작 방법을 적용할 수 있는 예시적인 반도체 시스템들이다.1 is a schematic view for explaining a semiconductor device according to an embodiment of the present invention.
2 and 3 are schematic views for explaining a semiconductor device according to an embodiment of the present invention.
4 is a schematic view for explaining an operation example of a semiconductor device according to an embodiment of the present invention.
5 is a timing chart for explaining an operation example of the semiconductor device according to the embodiment of FIG.
6 is a timing chart for explaining another operation example of the semiconductor device according to the embodiment of FIG.
7 and 8 are schematic views for explaining a semiconductor device according to another embodiment of the present invention.
9 is a schematic view for explaining an operation example of a semiconductor device according to another embodiment of the present invention.
10 is a timing chart for explaining an operation example of the semiconductor device according to the embodiment of FIG.
11 is a flowchart illustrating a method of operating a semiconductor device according to an embodiment of the present invention.
12 is a block diagram of a semiconductor system to which a semiconductor device and a method of operating a semiconductor device according to some embodiments of the present invention may be applied.
13 to 15 are exemplary semiconductor systems to which a semiconductor device according to some embodiments of the present invention and a method of operating the semiconductor device can be applied.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면에서 층 및 영역들의 상대적인 크기는 설명의 명료성을 위해 과장된 것일 수 있다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. The relative sizes of layers and regions in the figures may be exaggerated for clarity of illustration. Like reference numerals refer to like elements throughout the specification.
하나의 소자(elements)가 다른 소자와 "접속된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 커플링된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 반면, 하나의 소자가 다른 소자와 "직접 접속된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 소자를 개재하지 않은 것을 나타낸다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다. One element is referred to as being "connected to " or" coupled to "another element, either directly connected or coupled to another element, One case. On the other hand, when one element is referred to as being "directly connected to" or "directly coupled to " another element, it does not intervene another element in the middle. Like reference numerals refer to like elements throughout the specification. "And / or" include each and every combination of one or more of the mentioned items.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다. Although the first, second, etc. are used to describe various elements, components and / or sections, it is needless to say that these elements, components and / or sections are not limited by these terms. These terms are only used to distinguish one element, element or section from another element, element or section. Therefore, it goes without saying that the first element, the first element or the first section mentioned below may be the second element, the second element or the second section within the technical spirit of the present invention.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. It is noted that the terms "comprises" and / or "comprising" used in the specification are intended to be inclusive in a manner similar to the components, steps, operations, and / Or additions.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise.
도 1은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 개략도이다.1 is a schematic view for explaining a semiconductor device according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(1)는 클럭 관리 유닛(Clock Management Unit, CMU)(100), IP 블록(Intellectual Property block)(200, 210) 및 전력 관리 유닛(Power Management Unit, PMU)(300)을 포함한다. 본 발명의 다양한 실시예에 따른 반도체 장치(1)는 SoC(System-on-Chip)으로 구현될 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.1, a
클럭 관리 유닛(100)은 IP 블록(200, 210)에 클럭 신호를 제공한다. 본 실시예에서, 클럭 관리 유닛(100)은 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g), 채널 관리 회로(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) 사이의 통신 채널(CH)을 제공한다. 그리고 클럭 관리 유닛 컨트롤러(110)는 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)를 이용하여 IP 블록(200, 210)에 클럭 신호를 제공한다.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 channel management circuit (130, 132) may be a Low Power Interface (LPI), a Q-Channel Interface (P-Channel Interface). However, the scope of the present invention is not limited thereto, and may be implemented in a communication channel (CH) conforming to any communication protocol determined according to the implementation purpose.
클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)는 각각 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)와, 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)를 각각 제어하는 클럭 제어 회로(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) 간에도 형성된다.The
클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 부모와 자식 간에 클럭 요청(REQ) 및 이에 대한 애크(acknowledgement)(ACK)를 주고 받으며, IP 블록(200, 210)에 클럭 신호를 제공한다. The
예를 들어, IP 블록(200)이 클럭 신호를 필요로 하지 않는 경우, 예컨대 IP 블록(200)이 슬립(sleep) 상태가 되어야 할 필요가 있는 경우, 클럭 관리 유닛(100)은 IP 블록(200)에 대한 클럭 신호의 제공을 중지한다.For example, if the
구체적으로, 채널 관리 회로(130)는, 클럭 관리 유닛(100) 또는 클럭 관리 유닛 컨트롤러(110)의 제어 하에, IP 블록(200)에 클럭 신호의 제공을 중지하겠다는 제1 신호를 전송한다. 제1 신호를 수신한 IP 블록(200)은 처리 중인 작업을 완료한 후 클럭 신호가 중지되어도 좋다는 제2 신호를 채널 관리 회로(130)에 전송한다. 채널 관리 회로(130)는 IP 블록(200)으로부터 제2 신호를 수신한 후, 자신의 부모에 해당하는 클럭 컴포넌트(120f)에 클럭 신호의 제공을 중지할 것을 요청한다.Specifically, under the control of 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)에 대해서도 마찬가지로 수행될 수 있다.This operation can be similarly performed for the other
이와 다르게, 클럭 컴포넌트(120f)의 클럭 제어 회로(122f)가 자신의 부모에 해당하는 클럭 컴포넌트(120e)의 클럭 제어 회로(122e)에 제1 논리 값을 갖는 클럭 요청(REQ)을 전송하였지만, IP 블록(210)이 실행(running) 상태에 있는 경우라면, 클럭 제어 회로(122e)는 클럭 소오스(124e)를 디스에이블할 수 없다. 이후 IP 블록(210)이 더 이상 클럭 신호를 필요로 하지 않는 경우가 되어서야 비로소 클럭 제어 회로(122e)는 클럭 소오스(124e)를 디스에이블하고 자신의 부모에 해당하는 클럭 제어 회로(120d)에 제1 논리 값을 갖는 클럭 요청(REQ)을 전송할 수 있다. 즉, 클럭 제어 회로(122e)는 자식에 해당하는 클럭 제어 회로(122f, 122g) 모두로부터 클럭 제공 중지 요청을 수신한 경우에만 클럭 소오스(124e)를 디스에이블할 수 있다.Alternatively, the
한편, IP 블록(200, 210)이 슬립 상태에 있어서 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f)가 모두 디스에이블되었다가 IP 블록(200)이 실행 상태로 진입한 경우, 클럭 관리 유닛(100)은 IP 블록(200, 210)에 대한 클럭 신호의 제공을 재개한다.On the other hand, when the IP blocks 200 and 210 are in the sleep state and all of 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)를 제공한다.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 manner, 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
도 2 및 도 3은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 개략도이다.2 and 3 are schematic views for explaining a semiconductor device according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(1)에서, IP 블록(200)과 IP 블록(210)은 마스터-슬레이브 관계를 갖는다. 본 실시예에서, IP 블록(200)은 슬레이브 장치이고, IP 블록(210)은 마스터 장치일 수 있다. 예를 들어, IP 블록(210)은 프로세서(processor), 컨트롤러(controller) 등을 포함할일 수 있고, IP 블록(200)은 내부 메모리 장치(internal memory device), 외부 메모리 인터페이스(external memory interface) 등을 포함할 수 있다. 이들 IP 블록(210)과 IP 블록(200)은 버스(bus)(400)를 통해 서로 전기적으로 연결될 수 있다.Referring to FIG. 2, in the
이하에서는 편의상 IP 블록(210) 및 IP 블록(200)을 각각 마스터 IP 블록(210) 및 슬레이브 IP 블록(200)으로 표현하도록 한다.Hereinafter, the
본 발명의 다양한 실시예에서, 마스터 IP 블록(210)과 슬레이브 IP 블록(200)이 서로 데이터를 주고 받을 수 있는 버스(400)의 종류는 특별히 한정되지 않는다. 그런데 주목할 것은, 본 발명의 다양한 실시예가 적용 가능한 버스는, 예컨대 ARM 사의 APB 프로토콜(Advanced Peripheral Bus protocol), AHB 프로토콜(Advanced High-performance Bus protocol) 등과 같이, 마스터 장치가 슬레이브 장치와 버스 동작(bus operation)을 수행할 때 슬레이브 장치의 동작 상태를 고려하지 않는 프로토콜에 따르는 버스도 포함한다는 점이다. 예를 들어, 마스터 IP 블록(210)은 슬레이브 IP 블록(200)이 현재 슬립(sleep) 상태인지, 아니면 실행(running) 상태인지 여부를 고려하지 않고, 데이터 전송을 위한 버스 동작 신호(bus operation signal)을 슬레이브 IP 블록(200)에 전송할 수 있다.In the various embodiments of the present invention, the type of the
본 발명의 다양한 실시예에서, 버스 동작 신호는 마스터 IP 블록(210)과 슬레이브 IP 블록(200)이 버스 동작을 수행하기 위해 필요한 주소 신호, 데이터 신호, 제어 신호 등을 포함하며, 버스(400)가 채용한 프로토콜의 종류에 따라 여러 형태로 구현될 수 있다. 이에 대한 구체적인 예는, 도 4 및 도 9와 관련하여 후술하도록 한다.The bus operation signal includes an address signal, a data signal, a control signal, and the like necessary for the
앞서 도 1에서 설명한 바와 같이, 마스터 IP 블록(210) 및 슬레이브 IP 블록(200)은 풀 핸드셰이크 방식으로 클럭 관리 유닛(100)에 클럭 요청을 하고, 클럭 관리 유닛(100)으로부터 클럭 신호를 제공받는다.1, the
구체적으로, 슬레이브 IP 블록(200)은 채널 관리 회로(130) 사이에 형성된 채널(CH1)을 통해 클럭 제공 요청 또는 클럭 제공 중지 요청을 전송하고, 채널 관리 회로(130)와 클럭 컴포넌트(120f)는 클럭 요청(REQ)과 애크(ACK)를 주고 받으며 슬레이브 IP 블록(200)에 제공되는 클럭 신호(CLK1)를 제어한다. 클럭 컴포넌트(120f)는, 앞서 도 1에서 설명한 바와 같이, 클럭 신호(CLK1)를 생성하는 클럭 소오스(124f) 및 클럭 소오스(124f)를 하드웨어적으로 제어하는 클럭 제어 회로(122f)를 포함한다.Specifically, the
슬레이브 IP 블록(200)의 경우와 마찬가지로, 마스터 IP 블록(210)은 채널 관리 회로(132) 사이에 형성된 채널(CH2)을 통해 클럭 제공 요청 또는 클럭 제공 중지 요청을 전송하고, 채널 관리 회로(132)와 클럭 컴포넌트(120g)는 클럭 요청(REQ)과 애크(ACK)를 주고 받으며 마스터 IP 블록(210)에 제공되는 클럭 신호(CLK2)를 제어한다. 클럭 컴포넌트(120g)는, 앞서 도 1에서 설명한 바와 같이, 클럭 신호(CLK2)를 생성하는 클럭 소오스(124g) 및 클럭 소오스(124g)를 하드웨어적으로 제어하는 클럭 제어 회로(122g)를 포함한다.As in the case of the
이어서 도 3을 참조하면, 슬레이브 IP 블록(200)은 기능 유닛(function unit)(202) 및 인터페이스 유닛(interface unit)(204)를 포함한다.Referring now to Figure 3, the
기능 유닛(202)은 슬레이브 IP 블록(200)의 본연의 동작을 제어한다. 다시 말해서 기능 유닛(202)은, 예컨대 내부 메모리 장치, 외부 메모리 인터페이스 등과 같은 슬레이브 IP 블록(200) 본연의 기능이 구현된 회로 영역에 해당한다.The
인터페이스 유닛(204)은 채널(410, 420)을 통해 기능 유닛(202)과 신호를 주고 받으며, 마스터 IP 블록(210)으로부터 제공되는 신호(제1 신호)를 기능 유닛(202)에 제공한다.The
먼저, 인터페이스 유닛(204)은 채널(410)을 통해 기능 유닛(202)으로부터 동작 상태 신호를 수신할 수 있다. 채널(410)을 통해 수신한 동작 상태 신호는 기능 유닛(202)의 동작 상태에 대한 정보를 포함할 수 있다. 예를 들어, 동작 상태 신호는 기능 유닛(202)의 동작 상태가 슬립 상태인지, 실행 상태인지 등에 대한 정보를 포함할 수 있다.First, the
한편, 인터페이스 유닛(204)은 채널(420)을 통해 기능 유닛(202)과 제2 신호를 주고 받을 수 있다. 채널(420)을 통해 송수신되는 제2 신호는, 마스터 IP 블록(210)으로부터 버스(400)를 통해 제공되는 제1 신호에 대응되는 신호를 포함한다. 예를 들어, 제2 신호는 제1 시점에서 L에서 H로 트랜지션(transition)되는 제1 신호에 대응하여, 제2 시점에서 L에서 H로 트랜지션되는 신호일 수 있다. 여기서 제2 시점은 제1 시점보다 늦은 시점일 수 있다.On the other hand, the
예를 들어, 슬레이브 IP 블록(200)이 슬립 상태에 있는 동안, 마스터 IP 블록(210)으로부터 제공된 제1 신호가 제1 시점에서 L에서 H로 트랜지션된 경우, 슬레이브 IP 블록(200)이 웨이크업된 후, 인터페이스 유닛(204)은 제1 시점보다 늦은 제2 시점에서 L에서 H로 트랜지션되는 신호를 포함할 수 있다. For example, while the
도 2와 관련하여 앞서 설명한 바와 같이, 예컨대 APB 프로토콜 또는 AHB 프로토콜을 따르는 버스(400)의 경우에는, 마스터 IP 블록(210)이 슬레이브 IP 블록(200)의 상태를 고려하지 않고 버스 동작 신호를 슬레이브 IP 블록(200)에 전송할 수 있다. 이 때 만일 슬레이브 IP 블록(200)이 슬립 상태에 있었다면, 마스터 IP 블록(210)의 버스 동작 신호를 수신할 수 없다. 이와 같은 문제를 방지하기 위해, 인터페이스 유닛(204)은, 예컨대 마스터 IP 블록(210)이 제1 신호(버스 동작 신호)을 제공하는 제1 시점에 슬립 상태에 있는 기능 유닛(202) 대신 제1 신호를 수신하고, 예컨대 슬레이브 IP 블록(200)이 웨이크업된 제2 시점에 기능 유닛(202)에 제2 신호를 제공할 수 있다. 즉, 제2 시점에 인터페이스 유닛(204)은 제1 신호에 대응하는 제2 신호를 생성할 수 있다.2, for example, in the case of the
인터페이스 유닛(204)은 또한 마스터 IP 블록(210)으로부터 제1 신호를 수신한 후, 슬레이브 IP 블록(200)의 기능 유닛(202)을 웨이크업하기 위해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청을 전송할 수 있다.The
이에 따라 기능 유닛(202)은 웨이크업된 후 인터페이스 유닛(204)으로부터 수신한 제2 신호에 따라, 곧바로 마스터 IP 블록(210)과 버스 동작을 수행할 수 있게 된다.Accordingly, the
이와 같은 동작을 구현하기 위해, 기능 유닛(202)과 인터페이스 유닛(204)은 서로 다른 클럭 신호에 의해 구동될 수 있으며, 그 구체적인 구현 형태는 구체적인 구현 목적에 따라 얼마든지 변형될 수 있다.In order to implement such an operation, the
도 4는 본 발명의 일 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 개략도이다.4 is a schematic view for explaining an operation example of a semiconductor device according to an embodiment of the present invention.
도 4를 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(1)에서 마스터 IP 블록(210)과 슬레이브 IP 블록(200)은 APB 프로토콜에 따르는 버스(400)를 통해 버스 동작을 수행할 수 있다. 본 발명의 몇몇의 실시예에서, 마스터 IP 블록(210)은 다른 프로토콜, 예컨대 AHB 프로토콜에 따르는 다른 버스와의 데이터 통신을 중개하는 APB 브리지(bridge) 블록을 포함할 수 있다. 먼저 슬레이브 IP 블록(200)의 기능 유닛(200)이 슬립 상태에 있다고 가정한다.4, the
마스터 IP 블록(210)은 슬레이브 IP 블록(200)과 버스 동작을 수행하기 위해, 제1 신호를 슬레이브 IP 블록(200)에 전송할 수 있다. 이 때 마스터 IP 블록(210)은 기능 유닛(202)의 동작 상태를 고려하지 않는다. 본 실시예에서, 마스터 IP 블록(210)이 전송하는 제1 신호는 PSEL, PENABLE, PADDR, PWRITE 등의 신호를 포함할 수 있다. 이들 신호에 대한 정의 및 설명은 ARM 사에서 배포한 "AMBATM 3 APB Protocol v1.0 Specification(ARM IHI 0024B)" 문서로부터 참조될 수 있으며, 상기 문서 내용의 전부는 본 명세서에 포함된다.The
인터페이스 유닛(204)은 채널(410)을 통해 기능 유닛(202)이 현재 슬립 상태에 있음을 인지하고 있다. 인터페이스 유닛(204)은 기능 유닛(202)이 슬립 상태인 동안 마스터 IP 블록(210)으로부터 제공되는 제1 신호를 수신한다.
다음으로, 인터페이스 유닛(204)은 슬레이브 IP 블록(200)의 기능 유닛(202)을 웨이크업하기 위해, 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청을 전송하고, 채널 관리 회로(130)로부터 애크(ACK)를 수신할 수 있다. 인터페이스 유닛(204)은 채널 관리 회로(130)로부터 수신한 애크(ACK) 통해 슬레이브 IP 블록(200)에 클럭 신호가 제공되고 있음을 확인할 수 있다.Next, the
이후 인터페이스 유닛(204)은 채널(410)을 통해 기능 유닛(202)이 실행 상태로 전환되었는지 여부를 검출한다. 기능 유닛(202)이 실행 상태로 전환되었다면, 인터페이스 유닛(204)은 제1 신호에 대응하는 제2 신호를 생성하고, 생성된 제2 신호를 기능 유닛(202)에 제공한다. 여기서 제2 신호는 IP_PSEL, IP_PENABLE, IP_PADDR, IP_PWRITE 등의 신호를 말하며, 이들 신호는 제1 신호인 PSEL, PENABLE, PADDR, PWRITE 등의 신호에 각각 대응된다.The
이에 따라 기능 유닛(202)은 웨이크업된 후, 인터페이스 유닛(204)으로부터 수신한 제2 신호에 따라, 곧바로 마스터 IP 블록(210)과 APB 프로토콜에 따른 버스 동작을 수행할 수 있게 된다.Accordingly, after the
한편, 인터페이스 유닛(204)은 버스 동작 중 슬레이브 IP 블록(200)의 기능 유닛(202)이 출력한 IP_PREADY 신호를 수신하고, IP_PREADY 신호를 APB 프로토콜에 따르는 PREADY 신호로서 마스터 IP 블록(210)에 제공할 수도 있다.Meanwhile, the
도 5는 도 4의 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 타이밍도이다.5 is a timing chart for explaining an operation example of the semiconductor device according to the embodiment of FIG.
도 5를 참조하면, T1에서 슬레이브 IP 블록(200)의 기능 유닛(200)은 슬립 상태에 있다.Referring to FIG. 5, at T1, the
T2에서, 마스터 IP 블록(210)(예컨대 APB 브리지 블록)이 PSEL 신호를 슬레이브 IP 블록(200)에 전송하면서 버스 동작을 시작하고, 이어서 마스터 IP 블록(210)은 T3에서 PENABLE 신호를 슬레이브 IP 블록(200)에 전송한다. PSEL 신호와 PENABLE 신호는 일정한 클럭 간격(예컨대 1 클럭 간격 또는 2 클럭 간격)으로 마스터 IP 블록(210)으로부터 제공될 수 있는데, 그 구체적인 구현 내용은 구체적인 구현 목적에 따라 정해질 수 있다.At T2, a master IP block 210 (e.g., an APB bridge block) initiates a bus operation while transmitting a PSEL signal to a
T2에서, 마스터 IP 블록(210)의 PSEL 신호를 수신한 인터페이스 유닛(204)은 IP 블록(200)의 기능 유닛(202)을 웨이크업하기 위해, 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청을 전송한다. 예를 들어, 채널(CH1)이 Q-채널 인터페이스를 따르는 경우 인터페이스 유닛(204)은 채널 관리 회로(130)와 QACTIVE, QREQn, QACCEPTn 등의 신호를 주고 받을 수 있다. 이들 신호에 대한 정의 및 설명은 ARM 사에서 배포한 "Low Power Inteface Specification: ARM Q-Channel and P-Channel Interfaces(ARM IHI 0068B)" 문서로부터 참조될 수 있으며, 상기 문서 내용의 전부는 본 명세서에 포함된다.At T2, the
T4를 지나 IP 블록(200)의 기능 유닛(202)에 클럭(PCLK)이 제공되고, IP 블록(200)은 웨이크업 절차를 수행한다. 이 때 마스터 IP 블록(210)은 슬레이브 IP 블록(200)으로부터 아직 PREADY 신호를 제공받을 때까지, PSEL 및 PENABLE 신호를 동일하게 유지하고 있다.The clock (PCLK) is provided to the
T5에서, 기능 유닛(202)이 웨이크업되었음을 인지한 인터페이스 유닛(204)은 PSEL 및 PENABLE 신호에 대응하는 IP_PSEL 및 IP_PENABLE 신호를 생성한다. IP_PSEL 신호와 IP_PENABLE 신호는, PSEL 신호와 PENABLE 신호 사이의 클럭 간격(T2 내지 T3)과 동일한 클럭 간격(T5 내지 T6)을 가질 수 있다. 인터페이스 유닛(204)은 또한 생성한 IP_PSEL 및 IP_PENABLE 신호를 기능 유닛(202)에 제공한다.At T5, the
T6에서, 인터페이스 유닛(204)으로부터 IP_PSEL 및 IP_PENABLE 신호를 제공받은 기능 유닛(202)은 인터페이스 유닛(204)을 통해 마스터 IP 블록(210)에 PREADY 신호를 전송할 수 있다. 구체적으로, 기능 유닛(202)은 PREADY 신호에 대응하는 IP_PREADY 신호를 인터페이스 유닛(204)에 전송하고, 인터페이스 유닛(204)은 IP_PREADY 신호를 PREADY 신호로서 마스터 IP 블록(210)에 전송할 수 있다.At T6, the
이후, 버스 동작이 완료되면, 필요에 따라, IP 블록(200)의 기능 유닛(202)을 슬립 상태로 전환하기 위해 인터페이스 유닛(204)은 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 제공 중지 요청을 전송할 수 있다. T8 내지 T10에서 볼 수 있는 바와 같이, 예를 들어, 채널(CH1)이 Q-채널 인터페이스를 따르는 경우 인터페이스 유닛(204)은 채널 관리 회로(130)와 QACTIVE, QREQn, QACCEPTn 등의 신호를 주고 받을 수 있다.Then, when the bus operation is completed, the
도 6은 도 4의 실시예에 따른 반도체 장치의 다른 동작례를 설명하기 위한 타이밍도이다.6 is a timing chart for explaining another operation example of the semiconductor device according to the embodiment of FIG.
도 6을 참조하면, 도 5는 버스 동작이 완료됨에 따라 IP 블록(200)의 기능 유닛(202)을 슬립 상태로 전환하는 시나리오를 도시하고 있는 반면, 도 6은 버스 동작이 완료된 후 인터페이스 유닛(204)이 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청(CLKREQ)을 추가적으로 전송하는 시나리오를 도시하고 있다.6 shows a scenario in which the
T6에서, 인터페이스 유닛(204)으로부터 IP_PSEL 및 IP_PENABLE 신호를 제공받은 기능 유닛(202)은 인터페이스 유닛(204)을 통해 마스터 IP 블록(210)에 PREADY 신호를 전송할 수 있다. 구체적으로, 기능 유닛(202)은 PREADY 신호에 대응하는 IP_PREADY 신호를 인터페이스 유닛(204)하고, 인터페이스 유닛(204)은 IP_PREADY 신호를 PREADY 신호로서 마스터 IP 블록(210)에 전송할 수 있다.At T6, the
이후, 버스 동작이 완료되었지만, 추가적으로 슬레이브 IP 블록(200)을 동작시킬 필요가 있는 경우, 인터페이스 유닛(204)은 자체적으로 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청(CLKREQ)을 전송할 수 있다.The
이후, 추가적인 동작이 완료되면, 필요에 따라, IP 블록(200)의 기능 유닛(202)을 슬립 상태로 전환하기 위해 인터페이스 유닛(204)은 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 제공 중지 요청을 전송할 수 있다. T8 내지 T10에서 볼 수 있는 바와 같이, 예를 들어, 채널(CH1)이 Q-채널 인터페이스를 따르는 경우 인터페이스 유닛(204)은 채널 관리 회로(130)와 QACTIVE, QREQn, QACCEPTn 등의 신호를 주고 받을 수 있다.Then, when the additional operation is completed, the
도 7 및 도 8은 본 발명의 다른 실시예에 따른 반도체 장치를 설명하기 위한 개략도이다.7 and 8 are schematic views for explaining a semiconductor device according to another embodiment of the present invention.
도 7을 참조하면, 본 발명의 다른 실시예에 따른 반도체 장치(1)에서, IP 블록(200, 210)과 IP 블록(220)은 마스터-슬레이브 관계를 갖는다. 본 실시예에서, IP 블록(200, 210)은 슬레이브 장치이고, IP 블록(220)은 마스터 장치일 수 있다. 이들 IP 블록(220)과 IP 블록(200, 210)은 버스(500)를 서로 전기적으로 연결될 수 있다.Referring to FIG. 7, in the
이하에서는 편의상 IP 블록(220) 및 IP 블록(200, 210)을 각각 마스터 IP 블록(220) 및 슬레이브 IP 블록(200, 210)으로 표현하도록 한다.Hereinafter, the
도 2와 관련하여 앞서 설명한 바와 같이, 버스(500)의 종류는 특별히 한정되지 않고, 버스(500)는, 예컨대 AHB 프로토콜과 같이, 마스터 장치가 슬레이브 장치와 버스 동작을 수행할 때 슬레이브 장치의 동작 상태를 고려하지 않는 프로토콜에 따르는 버스도 포함한다.2, the kind of the
앞서 도 1에서 설명한 바와 같이, 마스터 IP 블록(220) 및 슬레이브 IP 블록(200, 210)은 풀 핸드셰이크 방식으로 클럭 관리 유닛(100)에 클럭 요청을 하고, 클럭 관리 유닛(100)으로부터 클럭 신호를 제공받는다.1, the
구체적으로, 슬레이브 IP 블록(200, 210)은 각각 채널 관리 회로(130, 132) 사이에 형성된 채널(CH1, CH2)을 통해 클럭 제공 요청 또는 클럭 제공 중지 요청을 전송하고, 채널 관리 회로(130, 132)와 클럭 컴포넌트(120f, 120g)는 각각 클럭 요청(REQ)과 애크(ACK)를 주고 받으며 슬레이브 IP 블록(200, 210)에 제공되는 클럭 신호(CLK1, CLK2)를 각각 제어한다. 클럭 컴포넌트(120f, 120g)는, 앞서 도 1에서 설명한 바와 같이, 클럭 신호(CLK1, CLK2)를 각각 생성하는 클럭 소오스(124f, 124g) 및 클럭 소오스(124f, 124g)를 하드웨어적으로 각각 제어하는 클럭 제어 회로(122f, 122g)를 포함한다.Specifically, the slave IP blocks 200 and 210 transmit the clock supply request or the clock supply stop request through the channels CH1 and CH2 formed between the
슬레이브 IP 블록(200, 210)의 경우와 마찬가지로, 마스터 IP 블록(220)은 채널 관리 회로(134) 사이에 형성된 채널(CH3)을 통해 클럭 제공 요청 또는 클럭 제공 중지 요청을 전송하고, 채널 관리 회로(134)와 클럭 컴포넌트(120h)는 클럭 요청(REQ)과 애크(ACK)를 주고 받으며 마스터 IP 블록(220)에 제공되는 클럭 신호(CLK3)를 제어한다. 클럭 컴포넌트(120h)는, 앞서 도 1에서 설명한 바와 같이, 클럭 신호(CLK3)를 생성하는 클럭 소오스(124h) 및 클럭 소오스(124h)를 하드웨어적으로 제어하는 클럭 제어 회로(122h)를 포함한다.As in the case of the slave IP blocks 200 and 210, the
이어서 도 8을 참조하면, 슬레이브 IP 블록(200, 210)은 각각 기능 유닛(202, 212) 및 인터페이스 유닛(204, 214)를 포함한다.8, the slave IP blocks 200 and 210 include
기능 유닛(202, 212)은 슬레이브 IP 블록(200, 202)의 본연의 동작을 제어하고, 인터페이스 유닛(204, 214)은 채널(510, 520, 512, 522)을 통해 기능 유닛(202, 212)과 각각 신호를 주고 받으며, 마스터 IP 블록(220)으로부터 제공되는 제1 신호를 기능 유닛(202, 204)에 제공한다.The
인터페이스 유닛(204, 214)은 채널(510, 512)을 통해 기능 유닛(202, 214)으로부터 동작 상태 신호를 각각 수신할 수 있다. 한편, 인터페이스 유닛(204)은 채널(520, 522)을 통해 기능 유닛(202)과 제2 신호를 각각 주고 받을 수 있다. 제1 신호 및 제2 신호에 대한 설명은 도 3과 관련하여 설명한 내용과 중복되므로 여기서는 생략하도록 한다.
인터페이스 유닛(204, 214)은 마스터 IP 블록(220)이 제1 신호를 제공하는 제1 시점에 슬립 상태에 있는 기능 유닛(202, 212) 대신 제1 신호를 수신하고, 슬레이브 IP 블록(200, 210)이 웨이크업된 제2 시점에 기능 유닛(202, 212)에 제2 신호를 제공할 수 있다. 즉, 제2 시점에 인터페이스 유닛(204, 214)은 제1 신호에 대응하는 제2 신호를 생성할 수 있다.The
인터페이스 유닛(204, 214)은 또한 마스터 IP 블록(220)으로부터 제1 신호를 수신한 후, 슬레이브 IP 블록(200, 210)의 기능 유닛(202, 212)을 웨이크업하기 위해 클럭 관리 유닛(100)의 채널 관리 회로(130, 132)에 클럭 요청을 전송할 수 있다.The
이에 따라 기능 유닛(202, 204)은 웨이크업된 후 인터페이스 유닛(204, 214)으로부터 수신한 제2 신호에 따라, 곧바로 마스터 IP 블록(220)과 버스 동작을 수행할 수 있게 된다.Thus, the
도 9는 본 발명의 다른 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 개략도이다.9 is a schematic view for explaining an operation example of a semiconductor device according to another embodiment of the present invention.
도 9를 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(1)에서 마스터 IP 블록(220)과 슬레이브 IP 블록(200)은 AHB 프로토콜에 따르는 버스(400)를 통해 버스 동작을 수행할 수 있다. 먼저 슬레이브 IP 블록(200)의 기능 유닛(200)이 슬립 상태에 있다고 가정한다.9, the
마스터 IP 블록(210)은 슬레이브 IP 블록(200)과 버스 동작을 수행하기 위해, 제1 신호를 슬레이브 IP 블록(200)에 전송할 수 있다. 이 때 마스터 IP 블록(210)은 기능 유닛(202)의 동작 상태를 고려하지 않는다. 본 실시예에서, 마스터 IP 블록(210)이 전송하는 제1 신호는 HADDR, HWDATA, HTRANS 등의 신호를 포함할 수 있다. 또한 디코더(DEC)는 HADDR 신호를 입력받고 HSEL1 신호를 슬레이브 IP 블록(200)에 제공할 수 있는데, 설명의 편의를 위해 HSEL1 신호도 제1 신호로 표현하도록 한다. 이들 신호에 대한 정의 및 설명은 ARM 사에서 배포한 "AMBATM 3 AHB-Lite Protocol v1.0 Specification(ARM IHI 0033A)" 문서로부터 참조될 수 있으며, 상기 문서 내용의 전부는 본 명세서에 포함된다.The
인터페이스 유닛(204)은 채널(510)을 통해 기능 유닛(202)이 현재 슬립 상태에 있음을 인지하고 있다. 인터페이스 유닛(204)은 기능 유닛(202)이 슬립 상태인 동안 마스터 IP 블록(210)으로부터 제공되는 제1 신호를 수신한다.The
다음으로, 인터페이스 유닛(204)은 슬레이브 IP 블록(200)의 기능 유닛(202)을 웨이크업하기 위해, 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청을 전송하고, 채널 관리 회로(130)로부터 애크(ACK)를 수신할 수 있다. 인터페이스 유닛(204)은 채널 관리 회로(130)로부터 수신한 애크(ACK) 통해 슬레이브 IP 블록(200)에 클럭 신호가 제공되고 있음을 확인할 수 있다.Next, the
이후 인터페이스 유닛(204)은 채널(410)을 통해 기능 유닛(202)이 실행 상태로 전환되었는지 여부를 검출한다. 기능 유닛(202)이 실행 상태로 전환되었다면, 인터페이스 유닛(204)은 제1 신호에 대응하는 제2 신호를 생성하고, 생성된 제2 신호를 기능 유닛(202)에 제공한다. 여기서 제2 신호는 IP_HADDR, IP_HWDATA, IP_HTRANS, IP_HSEL1 등의 신호를 말하며, 이들 신호는 제1 신호인 HADDR, HWDATA, HTRANS, HSEL1 등의 신호에 각각 대응된다.The
이에 따라 기능 유닛(202)은 웨이크업된 후, 인터페이스 유닛(204)으로부터 수신한 제2 신호에 따라, 곧바로 마스터 IP 블록(220)과 AHB 프로토콜에 따른 버스 동작을 수행할 수 있게 된다.Thus, after the
한편, 인터페이스 유닛(204)은 버스 동작 중 슬레이브 IP 블록(200)의 기능 유닛(202)이 출력한 IP_HRDATA1, IP_HREADYOUT1 신호를 수신하고, IP_HRDATA1, IP_HREADYOUT1 신호를 APB 프로토콜에 따르는 HRDATA1, HREADYOUT1 신호로서 다중화 회로(MUX)를 통해 마스터 IP 블록(210)에 HRDATA, HREADY 신호로서 제공할 수도 있다.Meanwhile, the
이와 같은 내용은 마스터 IP 블록(220)과 슬레이브 IP 블록(210) 사이에도 동일하게 적용될 수 있다.The same can be applied to the
도 10은 도 9의 실시예에 따른 반도체 장치의 동작례를 설명하기 위한 타이밍도이다.10 is a timing chart for explaining an operation example of the semiconductor device according to the embodiment of FIG.
도 10을 참조하면, T1에서 슬레이브 IP 블록(200)의 기능 유닛(200)은 슬립 상태에 있다.Referring to FIG. 10, at T1, the
T2에서, 디코더(DEC) 및 마스터 IP 블록(220)이 HSEL 및 HTRANS 신호를 슬레이브 IP 블록(200)에 전송하면서 버스 동작을 시작한다.At T2, the decoder DEC and the
T2에서, 디코더(DEC) 및 마스터 IP 블록(220)의 HSEL 및 HTRANS 신호를 수신한 인터페이스 유닛(204)은 슬레이브 IP 블록(200)의 기능 유닛(202)을 웨이크업하기 위해, 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청을 전송한다. 예를 들어, 채널(CH1)이 Q-채널 인터페이스를 따르는 경우 인터페이스 유닛(204)은 채널 관리 회로(130)와 QACTIVE, QREQn, QACCEPTn 등의 신호를 주고 받을 수 있다.At T2, the
T2 및 T3 사이에, 마스터 IP 블록(210)은 HSEL 및 HTRANS 신호를 저장해 둔다. 저장된 HSEL 및 HTRANS 신호는 T4를 지나 슬레이브 IP 블록(200)의 기능 유닛(202)에 클럭(Slave clock)이 제공된 후, T5에서 IP_HSEL 및 IP_HTRANS 신호로서 재생성된다. IP 블록(200)의 기능 유닛(202)에 클럭(Slave clock)이 제공되면 IP 블록(200)은 웨이크업 절차를 수행한다.Between T2 and T3, the
T5에서, 기능 유닛(202)이 웨이크업되었음을 인지한 인터페이스 유닛(204)은 HSEL 및 HTRANS 신호에 대응하는 IP_HSEL 및 IP_HTRANS 신호를 생성한다. 인터페이스 유닛(204)은 또한 생성한 IP_HSEL 및 IP_HTRANS 신호를 기능 유닛(202)에 제공한다.At T5, the
T6에서, 인터페이스 유닛(204)으로부터 IP_HSEL 및 IP_HTRANS 신호를 제공받은 기능 유닛(202)은 인터페이스 유닛(204)을 통해 다중화 회로(MUX)에 HREADYOUT 신호를 전송할 수 있고, 다중화 회로(MUX)는 마스터 IP 블록(220)에 HREADY 신호를 전송할 수 있다. 구체적으로, 기능 유닛(202)은 HREADYOUT 신호에 대응하는 IP_HREADYOUT 신호를 인터페이스 유닛(204)에 전송하고, 인터페이스 유닛(204)은 IP_ HREADYOUT 신호를 HREADYOUT 신호로서 다중화 회로(MUX)에 전송할 수 있다.At T6, the
이후, 버스 동작이 완료되면, 필요에 따라, 슬레이브 IP 블록(200)의 기능 유닛(202)을 슬립 상태로 전환하기 위해 인터페이스 유닛(204)은 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 제공 중지 요청을 전송할 수 있다. T8 내지 T10에서 볼 수 있는 바와 같이, 예를 들어, 채널(CH1)이 Q-채널 인터페이스를 따르는 경우 인터페이스 유닛(204)은 채널 관리 회로(130)와 QACTIVE, QREQn, QACCEPTn 등의 신호를 주고 받을 수 있다.Then, when the bus operation is completed, the
도 11은 본 발명의 일 실시예에 따른 반도체 장치의 동작 방법을 설명하기 위한 흐름도이다.11 is a flowchart illustrating a method of operating a semiconductor device according to an embodiment of the present invention.
도 11을 도 3과 함께 참조하면, 본 발명의 일 실시예에 따른 반도체 장치의 동작 방법은 다음을 포함한다.Referring to FIG. 11 together with FIG. 3, a method of operating a semiconductor device according to an embodiment of the present invention includes the following.
인터페이스 유닛(204)은 마스터 IP 블록(210)으로부터 제1 신호를 수신(S1101)하고, 슬레이브 IP 블록(200)의 기능 유닛(202)을 웨이크업하기 위한 클럭 요청을 클럭 관리 유닛(100)에 전송(S1103)한다.The
슬레이브 IP 블록(200)이 클럭 관리 유닛(100)으로부터 클럭 신호를 제공받은 후, 즉, 인터페이스 유닛(204)이 클럭 관리 유닛(100)으로부터 클럭 요청에 대한 응답으로 애크(ACK)를 수신(S1105)한 후, 인터페이스 유닛(204)은 제1 신호에 대응하는 제2 신호를 생성(S1107)한다.After the
이후, 인터페이스 유닛(204)은 생성한 제2 신호를 기능 유닛(202)에 제공(S1109)하여, 슬립 상태에 있던 기능 유닛(202)이 웨이크업된 후 인터페이스 유닛(204)으로부터 수신한 제2 신호에 따라, 곧바로 마스터 IP 블록(210)과 버스 동작을 수행할 수 있도록 한다.Then, the
도 12는 본 발명의 몇몇의 실시예에 따른 반도체 장치 및 반도체 장치의 동작 방법이 적용될 수 있는 반도체 시스템의 블록도이다.12 is a block diagram of a semiconductor system to which a semiconductor device and a method of operating a semiconductor device according to some embodiments of the present invention may be applied.
도 12를 참조하면, 본 발명의 몇몇의 실시예에 따른 반도체 장치 및 반도체 장치의 동작 방법이 적용될 수 있는 반도체 시스템은 앞서 설명한 바와 같은 특징들을 포함하는 반도체 장치(SoC)(1), 프로세서(10), 메모리 장치(20), 디스플레이 장치(30), 네트워크 장치(40), 스토리지 장치(50) 및 입출력 장치(60)를 포함할 수 있다. 반도체 장치(SoC)(1), 프로세서(10), 메모리 장치(20), 디스플레이 장치(30), 네트워크 장치(40), 스토리지 장치(50) 및 입출력 장치(60)는 버스(70)를 통해 서로 데이터를 주고 받을 수 있다.12, a semiconductor system to which a semiconductor device and a method of operating a semiconductor device according to some embodiments of the present invention can be applied includes a semiconductor device (SoC) 1 including the above-described features, a processor 10
본 발명의 다양한 실시예에서 언급된 반도체 장치(SoC)(1) 내부의 IP 블록들은 메모리 장치(20)를 제어하는 메모리 컨트롤러, 디스플레이 장치(30)를 제어하는 디스플레이 컨트롤러, 네크워크 장치(40)를 제어하는 네트워크 컨트롤러, 스토리지 장치(50)를 제어하는 스토리지 컨트롤러 및 입출력 장치(60)를 제어하는 입출력 컨트롤러 중 적어도 하나를 포함할 수 있다. 또한 반도체 시스템은 이들 장치들을 제어하는 추가적인 프로세서(10)를 더 구비할 수도 있다.The IP blocks within the semiconductor device (SoC) 1 referred to in various embodiments of the present invention include a memory controller for controlling the
도 13 내지 도 15는 본 발명의 몇몇의 실시예들에 따른 반도체 장치 및 반도체 장치의 동작 방법을 적용할 수 있는 예시적인 반도체 시스템들이다.13 to 15 are exemplary semiconductor systems to which a semiconductor device according to some embodiments of the present invention and a method of operating the semiconductor device can be applied.
도 13은 태블릿 PC(1200)를 도시한 도면이고, 도 14는 노트북(1300)을 도시한 도면이며, 도 15는 스마트폰(1400)을 도시한 것이다. 본 발명의 다양한 실시예들에 따른 반도체 장치는 이러한 태블릿 PC(1200), 노트북(1300), 스마트폰(1400) 등에 사용될 수 있다. Fig. 13 shows a
또한, 본 발명의 몇몇 실시예들에 따른 반도체 장치는, 예시하지 않는 다른 집적 회로 장치에도 적용될 수 있음은 해당 기술 분야의 통상의 기술자에게 자명하다.It will be apparent to those skilled in the art that a semiconductor device according to some embodiments of the present invention may also be applied to other integrated circuit devices not illustrated.
즉, 이상에서는 본 실시예에 따른 반도체 시스템의 예로, 태블릿 PC(1200), 노트북(1300), 및 스마트폰(1400)만을 들었으나, 본 실시예에 따른 반도체 시스템의 예가 이에 제한되는 것은 아니다. That is, although only the
본 발명의 몇몇 실시예에서, 반도체 시스템은, 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 무선 전화기(wireless phone), 모바일 폰(mobile phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player) 등으로 구현될 수도 있다.In some embodiments of the invention, the semiconductor system may be a computer, an Ultra Mobile PC (UMPC), a workstation, a netbook, a Personal Digital Assistant (PDA), a portable computer, a wireless phone, A mobile phone, an e-book, a portable multimedia player (PMP), a portable game machine, a navigation device, a black box, a digital camera, A digital audio recorder, a digital audio recorder, a digital picture recorder, a digital picture player, a digital video recorder, ), A digital video player, or the like.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, You will understand. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.
1: 반도체 장치
100: 클럭 관리 유닛(CMU)
110: 클럭 관리 유닛 컨트롤러(CMU controller)
120: 클럭 컴포넌트
122: 클럭 제어 회로
124: 클럭 소오스
130, 132: 채널 관리 회로
200, 210: IP 블록
300: 전력 관리 유닛(PMU)1: semiconductor device 100: clock management unit (CMU)
110: a clock management unit controller (CMU controller)
120: clock component 122: clock control circuit
124:
200, 210: IP block 300: Power management unit (PMU)
Claims (20)
제1 클럭 소오스(clock source)를 제어하는 제1 클럭 제어 회로(clock control circuit),
상기 제1 클럭 제어 회로에 제1 클럭 요청을 전송하고, 상기 제1 클럭 소오스로부터 클럭 신호를 제공받는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로 및
상기 제1 IP 블록으로부터 수신되는 IP 블록 클럭 요청에 대한 응답으로 상기 제2 클럭 제어 회로에 제2 클럭 요청을 전송하는 채널 관리 회로(channel management circuit)를 포함하는 클럭 관리 유닛(Clock Management Unit, CMU)을 포함하고,
상기 기능 유닛은 상기 제1 IP 블록의 동작을 제어하고, 상기 인터페이스 유닛은 상기 제1 IP 블록과 전기적으로 접속된 제2 IP 블록으로부터 제공되는 제1 신호를 수신하여 상기 기능 유닛에 제공하는 반도체 장치.A first IP block (Intellectual Property block) including a functional unit and an interface unit; And
A first clock control circuit for controlling a first clock source,
A second clock control circuit for controlling a second clock source to transmit a first clock request to the first clock control circuit and to receive a clock signal from the first clock source,
And a channel management circuit for transmitting a second clock request to the second clock control circuit in response to an IP block clock request received from the first IP block, ),
Wherein the functional unit controls the operation of the first IP block and the interface unit receives a first signal provided from a second IP block electrically connected to the first IP block and provides the first signal to the functional unit, .
상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛의 동작 상태에 대한 정보를 수신하고,
상기 동작 상태는 슬립(sleep) 상태 및 실행 상태 중 적어도 하나를 포함하는 반도체 장치.The method according to claim 1,
Wherein the interface unit receives information on an operation state of the functional unit of the first IP block,
Wherein the operating state includes at least one of a sleep state and a running state.
상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛이 슬립(sleep) 상태인 동안 상기 제2 IP 블록으로부터 제공되는 상기 제1 신호를 수신하는 반도체 장치..The method according to claim 1,
Wherein the interface unit receives the first signal provided from the second IP block while the functional unit of the first IP block is in a sleep state.
상기 인터페이스 유닛은 상기 제1 신호를 수신한 후, 상기 클럭 관리 유닛에 상기 IP 블록 클럭 요청을 전송하는 반도체 장치.The method of claim 3,
And the interface unit receives the first signal and then transmits the IP block clock request to the clock management unit.
상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛이 웨이크업(wakeup)된 후, 상기 제1 신호에 대응하는 제2 신호를 생성하는 반도체 장치.The method of claim 3,
And the interface unit generates a second signal corresponding to the first signal after the functional unit of the first IP block is waken up.
상기 인터페이스 유닛은, 상기 제1 블록의 상기 기능 유닛이 웨이크업된 후, 상기 제2 신호를 상기 기능 유닛에 제공하는 반도체 장치.6. The method of claim 5,
And the interface unit provides the second signal to the functional unit after the functional unit of the first block is woken up.
상기 제1 IP 블록은 슬레이브 장치이고, 상기 제2 IP 블록은 마스터 장치인 반도체 장치.The method according to claim 1,
Wherein the first IP block is a slave device and the second IP block is a master device.
상기 제1 신호는 버스 동작 신호(bus operation signal)을 포함하는 반도체 장치.The method of claim 1, wherein
Wherein the first signal comprises a bus operation signal.
제2 클럭 관리 유닛으로부터 제2 클럭 신호를 제공받아 동작하는 기능 유닛(function unit) 및
제1 시점에 상기 마스터 IP 블록으로부터 버스 동작 신호(bns operation signal)을 수신하고 상기 제1 시점과 다른 제2 시점에 상기 버스 동작 신호를 상기 기능 유닛에 제공하는 인터페이스 유닛(interface unit)을 포함하는 슬레이브 IP 블록을 포함하는 반도체 장치.A master IP block that receives a first clock signal from a clock management unit (CMU) and operates; And
A function unit for receiving a second clock signal from the second clock management unit and operating the same,
And an interface unit for receiving a bus operation signal (bns operation signal) from the master IP block at a first time point and providing the bus operation signal to the functional unit at a second time point different from the first time point A semiconductor device comprising a slave IP block.
상기 인터페이스 유닛은 상기 슬레이브 IP 블록의 상기 기능 유닛이 슬립(sleep) 상태인 상기 제1 시점에 상기 마스터 IP 블록으로부터 제공되는 상기 버스 동작 신호를 수신하는 반도체 장치.10. The method of claim 9,
Wherein the interface unit receives the bus operation signal provided from the master IP block at the first time when the functional unit of the slave IP block is in a sleep state.
상기 인터페이스 유닛은 상기 마스터 IP 블록으로부터 상기 버스 동작 신호를 수신한 후, 상기 클럭 관리 유닛에 클럭 요청을 전송하는 반도체 장치.11. The method of claim 10,
And the interface unit receives the bus operation signal from the master IP block, and then transmits a clock request to the clock management unit.
상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛이 웨이크업(wakeup)된 상기 제2 시점에, 상기 버스 동작 신호를 상기 기능 유닛에 제공하는 반도체 장치.11. The method of claim 10,
And the interface unit provides the bus operation signal to the functional unit at the second time point at which the functional unit of the first IP block is waken up.
제1 IP 블록과 전기적으로 접속된 제2 IP 블록 및
제1 클럭 소오스(clock source)를 제어하는 제1 클럭 제어 회로(clock control circuit),
상기 제1 클럭 제어 회로에 제1 클럭 요청을 전송하고, 상기 제1 클럭 소오스로부터 클럭 신호를 제공받는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로 및
상기 제1 IP 블록으로부터 수신되는 IP 블록 클럭 요청에 대한 응답으로 상기 제2 클럭 제어 회로에 제2 클럭 요청을 전송하는 채널 관리 회로(channel management circuit)를 포함하는 클럭 관리 유닛(Clock Management Unit, CMU)을 포함하는 SoC(System-on-Chip); 및
상기 SoC와 전기적으로 접속된 하나 이상의 외부 장치(external device)를 포함하고,
상기 기능 유닛은 상기 제1 IP 블록의 동작을 제어하고, 상기 인터페이스 유닛은 상기 제2 IP 블록으로부터 제공되는 제1 신호를 수신하여 상기 기능 유닛에 제공하는 반도체 시스템.A first IP block (Intellectual Property block) including a functional unit and an interface unit,
A second IP block electrically connected to the first IP block and
A first clock control circuit for controlling a first clock source,
A second clock control circuit for controlling a second clock source to transmit a first clock request to the first clock control circuit and to receive a clock signal from the first clock source,
And a channel management circuit for transmitting a second clock request to the second clock control circuit in response to an IP block clock request received from the first IP block, A System-on-Chip (SoC)); And
And at least one external device electrically connected to the SoC,
Wherein the functional unit controls the operation of the first IP block and the interface unit receives and provides the first signal provided from the second IP block to the functional unit.
상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛이 슬립(sleep) 상태인 동안 상기 제2 IP 블록으로부터 제공되는 상기 제1 신호를 수신하는 반도체 시스템.14. The method of claim 13,
Wherein the interface unit receives the first signal provided from the second IP block while the functional unit of the first IP block is in a sleep state.
상기 인터페이스 유닛은 상기 제1 신호를 수신한 후, 상기 클럭 관리 유닛에 상기 IP 블록 클럭 요청을 전송하는 반도체 시스템.15. The method of claim 14,
Wherein the interface unit receives the first signal and then transmits the IP block clock request to the clock management unit.
상기 인터페이스 유닛은 상기 제1 IP 블록의 상기 기능 유닛이 웨이크업(wakeup)된 후, 상기 제1 신호에 대응하는 제2 신호를 생성하는 반도체 시스템.15. The method of claim 14,
Wherein the interface unit generates a second signal corresponding to the first signal after the functional unit of the first IP block is waken up.
슬레이브 IP 블록의 기능 유닛(function unit)을 웨이크업(wakeup)하기 위한 클럭 요청을 클럭 관리 유닛(Clock Management Unit, CMU)에 전송하고,
상기 슬레이브 IP 블록이 상기 클럭 관리 유닛으로부터 클럭 신호를 제공받은 후 상기 제1 신호에 대응하는 제2 신호를 생성하고,
상기 제2 신호를 상기 기능 유닛에 제공하는 것을 포함하는 반도체 장치의 동작 방법.Receiving a first signal from the master IP block,
Transmits a clock request for waking up a function unit of the slave IP block to a clock management unit (CMU)
The slave IP block generates a second signal corresponding to the first signal after receiving a clock signal from the clock management unit,
And providing the second signal to the functional unit.
상기 기능 유닛으로부터 상기 기능 유닛의 동작 상태에 대한 정보를 수신하는 것을 더 포함하고,
상기 제1 신호에 대응하는 제2 신호를 생성하는 것은 상기 기능 유닛의 동작 상태가 슬립(sleep) 상태에서 웨이크업 상태로 전환된 때에 상기 제1 신호에 대응하는 제2 신호를 생성하는 것을 포함하는 반도체 장치의 동작 방법.18. The method of claim 17,
Further comprising receiving information on an operating state of the functional unit from the functional unit,
Generating a second signal corresponding to the first signal includes generating a second signal corresponding to the first signal when the operational state of the functional unit transitions from a sleep state to a wake up state A method of operating a semiconductor device.
상기 제1 신호를 수신하는 것은,
상기 기능 유닛이 슬립 상태인 동안 상기 제1 신호를 수신하는 것을 포함하는 반도체 장치의 동작 방법.18. The method of claim 17,
The receiving of the first signal comprises:
And receiving the first signal while the functional unit is in the sleep state.
상기 제1 신호는 버스 동작 신호(bus operation signal)을 포함하는 반도체 장치의 동작 방법.18. The method of claim 17,
Wherein the first signal comprises a bus operation signal.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/424,028 US10503674B2 (en) | 2016-02-03 | 2017-02-03 | 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 |
| DE102017110582.4A DE102017110582A1 (en) | 2016-02-03 | 2017-05-16 | Semiconductor device, semiconductor system and method of operating the semiconductor device |
| CN201710617460.2A CN108268086B (en) | 2017-01-03 | 2017-07-26 | Semiconductor device, semiconductor system, and method of operating semiconductor device |
| TW106126163A TWI752067B (en) | 2016-02-03 | 2017-08-03 | Semiconductor device and a semiconductor system |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201662290540P | 2016-02-03 | 2016-02-03 | |
| US62/290,540 | 2016-02-03 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20170092451A true KR20170092451A (en) | 2017-08-11 |
| KR102571154B1 KR102571154B1 (en) | 2023-08-24 |
Family
ID=59651641
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020170000722A Active KR102571154B1 (en) | 2016-02-03 | 2017-01-03 | Semiconductor device, semiconductor system and method for operating semiconductor device |
Country Status (3)
| Country | Link |
|---|---|
| KR (1) | KR102571154B1 (en) |
| DE (1) | DE102017110582A1 (en) |
| TW (1) | TWI752067B (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019172590A1 (en) * | 2018-03-05 | 2019-09-12 | 삼성전자 주식회사 | Integrated circuit and electronic device for controlling function modules in low-power state according to operation state, and control method therefor |
| KR20230000638A (en) * | 2021-06-25 | 2023-01-03 | 한국전자통신연구원 | Low power system on chip |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6442642B1 (en) * | 1999-09-30 | 2002-08-27 | Conexant Systems, Inc. | System and method for providing an improved synchronous operation of an advanced peripheral bus with backward compatibility |
| US20110145625A1 (en) * | 2008-08-26 | 2011-06-16 | Derek Beattie | Multi-core clocking system with interlocked 'anti-freeze' mechanism |
| US20130173951A1 (en) * | 2011-12-30 | 2013-07-04 | Gabriel Vogel | Controlling communication of a clock signal to a peripheral |
| US20140266333A1 (en) * | 2013-03-12 | 2014-09-18 | Sebastien Jouin | Generating clock on demand |
| US20150339257A1 (en) * | 2012-05-31 | 2015-11-26 | Phonak Ag | System and method for master-slave data transmission based on a flexible serial bus for use in hearing devices |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9489009B2 (en) * | 2014-02-20 | 2016-11-08 | Samsung Electronics Co., Ltd. | System on chip, bus interface and method of operating the same |
| US9921989B2 (en) * | 2014-07-14 | 2018-03-20 | Intel Corporation | Method, apparatus and system for modular on-die coherent interconnect for packetized communication |
| KR20170000722A (en) | 2015-06-24 | 2017-01-03 | 엘지전자 주식회사 | Electronic device and method for recognizing speech thereof |
-
2017
- 2017-01-03 KR KR1020170000722A patent/KR102571154B1/en active Active
- 2017-05-16 DE DE102017110582.4A patent/DE102017110582A1/en active Pending
- 2017-08-03 TW TW106126163A patent/TWI752067B/en active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6442642B1 (en) * | 1999-09-30 | 2002-08-27 | Conexant Systems, Inc. | System and method for providing an improved synchronous operation of an advanced peripheral bus with backward compatibility |
| US20110145625A1 (en) * | 2008-08-26 | 2011-06-16 | Derek Beattie | Multi-core clocking system with interlocked 'anti-freeze' mechanism |
| US20130173951A1 (en) * | 2011-12-30 | 2013-07-04 | Gabriel Vogel | Controlling communication of a clock signal to a peripheral |
| US20150339257A1 (en) * | 2012-05-31 | 2015-11-26 | Phonak Ag | System and method for master-slave data transmission based on a flexible serial bus for use in hearing devices |
| US20140266333A1 (en) * | 2013-03-12 | 2014-09-18 | Sebastien Jouin | Generating clock on demand |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019172590A1 (en) * | 2018-03-05 | 2019-09-12 | 삼성전자 주식회사 | Integrated circuit and electronic device for controlling function modules in low-power state according to operation state, and control method therefor |
| KR20190105406A (en) * | 2018-03-05 | 2019-09-17 | 삼성전자주식회사 | An integrated circuit and an electronic device for controlling functionblocks according to operating status of clock generator and clock distribution circuit and a method thereof |
| US11307608B2 (en) | 2018-03-05 | 2022-04-19 | Samsung Electronics Co., Ltd. | Integrated circuit and electronic device for controlling function modules in low-power state according to operation state, and control method therefor |
| KR20230000638A (en) * | 2021-06-25 | 2023-01-03 | 한국전자통신연구원 | Low power system on chip |
| US12147263B2 (en) | 2021-06-25 | 2024-11-19 | Electronics And Telecommunications Research Institute | Low power system on chip |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102571154B1 (en) | 2023-08-24 |
| TWI752067B (en) | 2022-01-11 |
| DE102017110582A1 (en) | 2018-07-05 |
| TW201826135A (en) | 2018-07-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101529460B1 (en) | Method and apparatus to reduce idle link power in a platform | |
| US9086966B2 (en) | Systems, apparatuses, and methods for handling timeouts | |
| US11314278B2 (en) | Semiconductor device, semiconductor system and method for operating semiconductor device | |
| US10503674B2 (en) | 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 | |
| CN104345869B (en) | Secure digital input/output device, system and control method thereof | |
| US11789515B2 (en) | Semiconductor device | |
| US20190250659A1 (en) | Semiconductor device, semiconductor system and method for operating semiconductor device | |
| US10587265B2 (en) | Semiconductor device and semiconductor system | |
| KR102571154B1 (en) | Semiconductor device, semiconductor system and method for operating semiconductor device | |
| KR100591524B1 (en) | Slave device capable of dynamic clock gating under bus structure and its operation method | |
| TW201710823A (en) | Clock management circuitry, system on chip and method of clock management | |
| US20170212550A1 (en) | Semiconductor device, semiconductor system, and method of operating the semiconductor device | |
| CN110874339A (en) | Data transmission format conversion circuit and method for controlling operation thereof | |
| US10248155B2 (en) | Semiconductor device including clock generating circuit and channel management circuit | |
| KR102712345B1 (en) | Semiconductor device, semiconductor system and method for operating semiconductor device | |
| KR102474620B1 (en) | Semiconductor device, semiconductor system and method for operating semiconductor device | |
| KR102740417B1 (en) | Semiconductor device, semiconductor system and method for operating semiconductor device | |
| CN108268086B (en) | Semiconductor device, semiconductor system, and method of operating semiconductor device | |
| US10429881B2 (en) | Semiconductor device for stopping an oscillating clock signal from being provided to an IP block, a semiconductor system having the semiconductor device, and a method of operating the semiconductor device | |
| CN108268117B (en) | Semiconductor device and semiconductor system | |
| KR102568225B1 (en) | Semiconductor device, semiconductor system and method for operating semiconductor device | |
| CN108268085B (en) | Semiconductor device | |
| TW201837652A (en) | Semiconductor device and semiconductor system | |
| CN108268087A (en) | Semiconductor device, semiconductor system and the method for operating semiconductor device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20170103 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20211126 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20170103 Comment text: Patent Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20230118 Patent event code: PE09021S01D |
|
| E90F | Notification of reason for final refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Final Notice of Reason for Refusal Patent event date: 20230321 Patent event code: PE09021S02D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20230604 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20230822 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20230822 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |