[go: up one dir, main page]

KR20170092451A - Semiconductor device, semiconductor system and method for operating semiconductor device - Google Patents

Semiconductor device, semiconductor system and method for operating semiconductor device Download PDF

Info

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
Application number
KR1020170000722A
Other languages
Korean (ko)
Other versions
KR102571154B1 (en
Inventor
전호연
김아찬
이재곤
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US15/424,028 priority Critical patent/US10503674B2/en
Priority to DE102017110582.4A priority patent/DE102017110582A1/en
Priority to CN201710617460.2A priority patent/CN108268086B/en
Priority to TW106126163A priority patent/TWI752067B/en
Publication of KR20170092451A publication Critical patent/KR20170092451A/en
Application granted granted Critical
Publication of KR102571154B1 publication Critical patent/KR102571154B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • Y02B60/1221
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • 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.

Figure P1020170000722
Figure P1020170000722

Description

반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법{SEMICONDUCTOR DEVICE, SEMICONDUCTOR SYSTEM AND METHOD FOR OPERATING SEMICONDUCTOR DEVICE}Technical Field [0001] The present invention relates to a semiconductor device, a semiconductor system, and a method of operating the same.

본 발명은 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법에 관한 것이다.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 semiconductor device 1 according to an embodiment of the present invention includes a clock management unit (CMU) 100, an IP block 200 and a power management unit 210, (Power Management Unit, PMU) 300. The semiconductor device 1 according to various embodiments of the present invention may be implemented as a SoC (System-on-Chip), but the scope of the present invention is not limited thereto.

클럭 관리 유닛(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 clock management unit 100 provides a clock signal to the IP blocks 200 and 210. In this embodiment, the clock management unit 100 includes clock components 120a, 120b, 120c, 120d, 120e, 120f and 120g, channel management circuits 130 and 132 and a clock management controller (110). The clock components 120a, 120b, 120c, 120d, 120e, 120f and 120g generate clock signals to be provided to the IP blocks 200 and 210. The channel management circuits 130 and 132 generate clock signals 120f and 120g, And the IP blocks 200 and 210 to provide a communication channel CH between the clock managing unit 100 and the IP blocks 200 and 210. [ The clock management unit controller 110 provides the clock signals to the IP blocks 200 and 210 using the clock components 120a, 120b, 120c, 120d, 120e, 120f, and 120g.

본 발명의 몇몇의 실시예에서, 채널 관리 회로(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 clock components 120a, 120b, 120c, 120d, 120e, 120f and 120g are connected to clock sources 124a, 124b, 124c, 124d, 124e, 124f, 124g, clock sources 124a, 124b, 124c, 122b, 122c, 122d, 122e, 122f, and 122g for controlling the clock signals 124f, 124f, and 124g, respectively. The clock sources 124a, 124b, 124c, 124d, 124e, 124f and 124g may be, for example, a multiplexer circuit, a clock dividing circuit, a short stop circuit, a clock gating circuit clock gating circuit, and the like.

클럭 컴포넌트(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 clock components 120a, 120b, 120c, 120d, 120e, 120f, and 120g form a parent-child relationship with each other. In this embodiment, the clock component 120a is the parent of the clock component 120b and the clock component 120b is the child of the clock component 120a and the parent of the clock component 120c. The clock component 120e is also the parent of the two clock components 120f and 120g and the clock components 120f and 120g are the children of the clock component 120e. Meanwhile, in this embodiment, the clock component 120a arranged closest to the PLL (Phase Locked Loop) is a root clock component and the clock components 120f, 120f arranged closest to the IP blocks 200, 120g) is a leaf clock component. This parent-child relationship necessarily requires the clock control circuits 122a, 122b, 122c, 122d, 122e, 122f, 122g, 120g, 120f, 120g, ), And between the clock sources (124a, 124b, 124c, 124d, 124e, 124f, 124g).

클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 부모와 자식 간에 클럭 요청(REQ) 및 이에 대한 애크(acknowledgement)(ACK)를 주고 받으며, IP 블록(200, 210)에 클럭 신호를 제공한다. The clock control circuits 122a, 122b, 122c, 122d, 122e, 122f and 122g transmit and receive a clock request (REQ) and an acknowledgment (ACK) between the parent and the child, Clock signal.

예를 들어, IP 블록(200)이 클럭 신호를 필요로 하지 않는 경우, 예컨대 IP 블록(200)이 슬립(sleep) 상태가 되어야 할 필요가 있는 경우, 클럭 관리 유닛(100)은 IP 블록(200)에 대한 클럭 신호의 제공을 중지한다.For example, if the IP block 200 does not need a clock signal, for example, if the IP block 200 needs to be in a sleep state, the clock management unit 100 may determine that the IP block 200 ) Of the clock signal.

구체적으로, 채널 관리 회로(130)는, 클럭 관리 유닛(100) 또는 클럭 관리 유닛 컨트롤러(110)의 제어 하에, IP 블록(200)에 클럭 신호의 제공을 중지하겠다는 제1 신호를 전송한다. 제1 신호를 수신한 IP 블록(200)은 처리 중인 작업을 완료한 후 클럭 신호가 중지되어도 좋다는 제2 신호를 채널 관리 회로(130)에 전송한다. 채널 관리 회로(130)는 IP 블록(200)으로부터 제2 신호를 수신한 후, 자신의 부모에 해당하는 클럭 컴포넌트(120f)에 클럭 신호의 제공을 중지할 것을 요청한다.Specifically, under the control of the clock managing unit 100 or the clock managing unit controller 110, the channel managing circuit 130 transmits a first signal to stop the provision of the clock signal to the IP block 200. After receiving the first signal, the IP block 200 transmits a second signal to the channel management circuit 130 indicating that the clock signal may be stopped after completing the processing in process. The channel management circuit 130 receives the second signal from the IP block 200 and then requests the clock component 120f corresponding to its parent to stop providing the clock signal.

일례로, 만일 채널 관리 회로(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 channel management circuit 130 follows a Q-channel interface, the channel management circuit 130 may provide the IP block 200 with a first logical value (e.g., (logic low), hereinafter referred to as L) as a first signal. The channel management circuit 130 then receives from the IP block 200, for example, a QACCEPTn signal having a first logic value as a second signal and then transmits to the clock component 120f a clock request (e.g., REQ). In this case, the clock request (REQ) having the first logical value is a "clock provision stop request ".

채널 관리 회로(130)로부터 제1 논리 값을 갖는 클럭 요청(REQ), 즉 클럭 제공 중지 요청을 수신한 클럭 제어 회로(122f)는 클럭 소오스(124f)(예컨대, 클럭 게이팅 회로)를 디스에이블(disable)하여 클럭 신호의 제공을 중지하고, 이에 따라 IP 블록(200)은 슬립 모드로 진입할 수 있게 된다. 이 과정에서 클럭 제어 회로(122f)는 제1 논리 값을 갖는 애크(ACK)를 채널 관리 회로(130)에 제공할 수 있다. 유의할 점은 채널 관리 회로(130)가 제1 논리 값을 갖는 클럭 제공 중지 요청을 전송한 후 제1 논리 값을 갖는 애크(ACK)를 수신했다고 해서 클럭 소오스(124f)로부터의 클럭 제공의 중지가 보장되는 것은 아니다. 다만, 상기 애크(ACK)는, 채널 관리 회로(130)의 부모인 클럭 컴포넌트(120f)가 채널 관리 회로(130)에 더 이상 클럭 제공을 할 필요가 없다는 것을 클럭 제어 회로(122f)가 인지했다는 의미를 가질 뿐이다.The clock control circuit 122f that receives the clock request (REQ), i.e., the clock provisioning stop request, having the first logic value from the channel management circuit 130 disables the clock source 124f (e.g., clock gating circuit) disable the clock signal to stop providing the clock signal, so that the IP block 200 can enter the sleep mode. In this process, the clock control circuit 122f may provide the channel management circuit 130 with an ACK having the first logical value. It should be noted that if the channel management circuit 130 receives an ACK having a first logical value after transmitting a clock provisioning stop request having the first logical value, then the stop of the clock supply from the clock source 124f It is not guaranteed. The ACK indicates that the clock control circuit 122f has recognized that the clock component 120f, which is the parent of the channel management circuit 130, no longer needs to provide the clock to the channel management circuit 130 It only has meaning.

한편, 클럭 컴포넌트(120f)의 클럭 제어 회로(122f)는 자신의 부모에 해당하는 클럭 컴포넌트(120e)의 클럭 제어 회로(122e)에 제1 논리 값을 갖는 클럭 요청(REQ)을 전송한다. 만일 IP 블록(210) 역시 클럭 신호를 필요로 하지 않는 경우, 예컨대 클럭 제어 회로(122e)가 클럭 제어 회로(122g)로부터 클럭 제공 중지 요청을 수신한 경우라면, 클럭 제어 회로(122e)는 클럭 소오스(124e)(예컨대, 클럭 분주 회로)를 디스에이블하여 클럭 신호의 제공을 중지한다. 이에 따라 IP 블록(200, 210)은 슬립 모드로 진입할 수 있게 된다.Meanwhile, the clock control circuit 122f of the clock component 120f transmits a clock request (REQ) having the first logic value to the clock control circuit 122e of the clock component 120e corresponding to its parent. If the IP block 210 also does not require a clock signal, for example, if the clock control circuit 122e receives a clock provisioning stop request from the clock control circuit 122g, (E. G., A clock divider circuit) to stop providing the clock signal. Accordingly, the IP blocks 200 and 210 can enter the sleep mode.

이와 같은 동작은 다른 클럭 제어 회로(122a, 122b, 122c, 122d)에 대해서도 마찬가지로 수행될 수 있다.This operation can be similarly performed for the other clock control circuits 122a, 122b, 122c, and 122d.

이와 다르게, 클럭 컴포넌트(120f)의 클럭 제어 회로(122f)가 자신의 부모에 해당하는 클럭 컴포넌트(120e)의 클럭 제어 회로(122e)에 제1 논리 값을 갖는 클럭 요청(REQ)을 전송하였지만, IP 블록(210)이 실행(running) 상태에 있는 경우라면, 클럭 제어 회로(122e)는 클럭 소오스(124e)를 디스에이블할 수 없다. 이후 IP 블록(210)이 더 이상 클럭 신호를 필요로 하지 않는 경우가 되어서야 비로소 클럭 제어 회로(122e)는 클럭 소오스(124e)를 디스에이블하고 자신의 부모에 해당하는 클럭 제어 회로(120d)에 제1 논리 값을 갖는 클럭 요청(REQ)을 전송할 수 있다. 즉, 클럭 제어 회로(122e)는 자식에 해당하는 클럭 제어 회로(122f, 122g) 모두로부터 클럭 제공 중지 요청을 수신한 경우에만 클럭 소오스(124e)를 디스에이블할 수 있다.Alternatively, the clock control circuit 122f of the clock component 120f has transmitted a clock request (REQ) with the first logic value to the clock control circuit 122e of the clock component 120e corresponding to its parent, If the IP block 210 is in a running state, the clock control circuit 122e can not disable the clock source 124e. Until the IP block 210 no longer needs a clock signal, the clock control circuit 122e disables the clock source 124e and notifies the clock control circuit 120d corresponding to its parent Lt; RTI ID = 0.0 > (REQ). ≪ / RTI > That is, the clock control circuit 122e may disable the clock source 124e only when it receives a clock supply stop request from all of the clock control circuits 122f and 122g corresponding to the child.

한편, 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 clock sources 124a, 124b, 124c, 124d, 124e, and 124f are disabled and the IP block 200 enters the execution state, The unit 100 resumes providing the clock signal to the IP blocks 200 and 210.

채널 관리 회로(130)는 자신의 부모에 해당하는 클럭 컴포넌트(120f)의 클럭 제어 회로(122f)에 제2 논리 값(예컨대, 논리 하이(logic high), 이하 H로 표시)을 갖는 클럭 요청(REQ)을 전송하고, 클럭 제어 회로(122f)로부터의 애크(ACK)를 대기한다. 여기서 제2 논리 값을 갖는 클럭 요청(REQ)은 "클럭 제공 요청"을 말하고, 클럭 제공 요청에 대한 애크(ACK)는 클럭 소오스(124f)로부터 클럭 제공이 재개되었음을 의미한다. 클럭 제어 회로(122f)는 클럭 소오스(124f)(예컨대, 클럭 게이팅 회로)를 바로 인에이블(enable)하지 못하고, 부모로부터 클럭 신호가 제공되기를 대기한다. The channel management circuit 130 sends a clock request (e. G., A logic high) to the clock control circuit 122f of the clock component 120f corresponding to its parent REQ and waits for an ACK from the clock control circuit 122f. Here, a clock request (REQ) having a second logical value refers to a "clock provision request", and an ACK for a clock supply request means that the clock supply from the clock source 124f has resumed. Clock control circuit 122f does not immediately enable clock source 124f (e.g., a clock gating circuit) and waits for a clock signal to be provided from the parent.

다음으로 클럭 제어 회로(122f)는 자신의 부모에 해당하는 클럭 제어회로(122e)에 제2 논리 값을 갖는 클럭 요청(REQ), 즉 클럭 제공 요청을 전송하고, 클럭 제어 회로(122e)로부터의 애크(ACK)를 대기한다. 이와 같은 동작은 클럭 제어 회로(122a, 122b, 122c, 122d)에 대해서도 마찬가지로 수행될 수 있다.Next, the clock control circuit 122f transmits a clock request (REQ) having a second logic value, that is, a clock supply request to the clock control circuit 122e corresponding to its parent, And waits for an ACK. This operation can be similarly performed for the clock control circuits 122a, 122b, 122c, and 122d.

클럭 제어 회로(122b)로부터 제2 논리 값을 갖는 클럭 요청(REQ)를 수신한 루트 클럭 컴포넌트인 클럭 제어 회로(122a)는 클럭 소오스(124a)(예컨대, 다중화 회로)를 인에이블하고 애크(ACK)를 클럭 제어 회로(122b)에 전송한다. 이와 같은 방식으로 클럭 소오스(124b, 124c, 124d, 124d, 124e)가 순차적으로 인에이블되면 비로소 클럭 제어 회로(122e)는 클럭 제어 회로(122f)에 클럭 소오스(124e)로부터 클럭 제공이 재개되었음을 알리는 애크(ACK)를 전송한다. 애크(ACK)를 수신한 클럭 제어 회로(122f)는 비로소 클럭 소오스(124f)를 인에이블하여 클럭 신호를 IP 블록(200)에 제공하고, 채널 관리 회로(130)에 애크(ACK)를 제공한다.The clock control circuit 122a, which is the root clock component that received the clock request REQ with the second logical value from the clock control circuit 122b, enables the clock source 124a (e.g., multiplexing circuit) To the clock control circuit 122b. When the clock sources 124b, 124c, 124d, 124d, and 124e are sequentially enabled in this manner, the clock control circuit 122e notifies the clock control circuit 122f that the clock supply from the clock source 124e has resumed And transmits an ACK. The clock control circuit 122f receiving the ACK only enables the clock source 124f to provide a clock signal to the IP block 200 and provides an ACK to the channel management circuit 130 .

이와 같이 클럭 제어 회로(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 clock control circuits 122a, 122b, 122c, 122d, 122e, 122f, and 122g operate in a full handshake mode in which a clock request (REQ) do. Accordingly, the clock control circuits 122a, 122b, 122c, 122d, 122e, 122f and 122g control the clock sources 124a, 124b, 124c, 124d, 124e, 124f, 210, respectively.

이들 클럭 제어 회로(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 clock control circuits 122a, 122b, 122c, 122d, 122e, 122f and 122g operate in themselves to transmit a clock request (REQ) to the parents or to transmit clock signals 124a, 124b, 124c, 124d, 124e, And may operate under the control of the clock management unit controller 110. [ In some embodiments of the present invention, the clock control circuits 122a, 122b, 122c, 122d, 122e, 122f and 122g may be controlled by clock sources 124a, 124b, 124b, 124c, 124d, 124e, 124f, and 124g, respectively.

도 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 semiconductor device 1 according to the embodiment of the present invention, the IP block 200 and the IP block 210 have a master-slave relationship. In this embodiment, the IP block 200 is a slave device, and the IP block 210 may be a master device. For example, the IP block 210 may include a processor, a controller, etc., and the IP block 200 may include an internal memory device, an external memory interface, . ≪ / RTI > The IP block 210 and the IP block 200 may be electrically connected to each other via a bus 400.

이하에서는 편의상 IP 블록(210) 및 IP 블록(200)을 각각 마스터 IP 블록(210) 및 슬레이브 IP 블록(200)으로 표현하도록 한다.Hereinafter, the IP block 210 and the IP block 200 are expressed as a master IP block 210 and a slave IP block 200, respectively, for the sake of convenience.

본 발명의 다양한 실시예에서, 마스터 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 bus 400 through which the master IP block 210 and the slave IP block 200 exchange data with each other is not particularly limited. It should be noted that the buses to which the various embodiments of the present invention can be applied are those in which the master device is connected to the slave device and the bus operation such as the Advanced Peripheral Bus protocol (APB protocol) of the ARM company, the Advanced High-performance Bus protocol operation of the slave device is not taken into consideration. For example, the master IP block 210 may determine whether the slave IP block 200 is currently in a sleep state or in a running state, without considering whether the slave IP block 200 is currently in a sleep state or in a running state, To the slave IP block 200. [

본 발명의 다양한 실시예에서, 버스 동작 신호는 마스터 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 master IP block 210 and the slave IP block 200 to perform a bus operation, May be implemented in various forms depending on the type of protocol adopted. A specific example of this will be described later with reference to Figs. 4 and 9.

앞서 도 1에서 설명한 바와 같이, 마스터 IP 블록(210) 및 슬레이브 IP 블록(200)은 풀 핸드셰이크 방식으로 클럭 관리 유닛(100)에 클럭 요청을 하고, 클럭 관리 유닛(100)으로부터 클럭 신호를 제공받는다.1, the master IP block 210 and the slave IP block 200 make a clock request to the clock managing unit 100 in a full handshake manner and provide a clock signal from the clock managing unit 100 Receive.

구체적으로, 슬레이브 IP 블록(200)은 채널 관리 회로(130) 사이에 형성된 채널(CH1)을 통해 클럭 제공 요청 또는 클럭 제공 중지 요청을 전송하고, 채널 관리 회로(130)와 클럭 컴포넌트(120f)는 클럭 요청(REQ)과 애크(ACK)를 주고 받으며 슬레이브 IP 블록(200)에 제공되는 클럭 신호(CLK1)를 제어한다. 클럭 컴포넌트(120f)는, 앞서 도 1에서 설명한 바와 같이, 클럭 신호(CLK1)를 생성하는 클럭 소오스(124f) 및 클럭 소오스(124f)를 하드웨어적으로 제어하는 클럭 제어 회로(122f)를 포함한다.Specifically, the slave IP block 200 transmits a clock provision request or a clock provision stop request through the channel CH1 formed between the channel management circuits 130, and the channel management circuit 130 and the clock component 120f Receives a clock request (REQ) and an ACK (ACK), and controls a clock signal (CLK1) provided to the slave IP block (200). The clock component 120f includes a clock source 124f for generating a clock signal CLK1 and a clock control circuit 122f for controlling the clock source 124f in hardware as previously described with reference to FIG.

슬레이브 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 slave IP block 200, the master IP block 210 transmits a clock supply request or clock supply stop request through the channel CH2 formed between the channel management circuits 132, and the channel management circuit 132 And the clock component 120g send and receive clock requests REQ and ACK and control the clock signal CLK2 provided to the master IP block 210. [ The clock component 120g includes a clock source 124g for generating a clock signal CLK2 and a clock control circuit 122g for controlling hardware of the clock source 124g as described above with reference to FIG.

이어서 도 3을 참조하면, 슬레이브 IP 블록(200)은 기능 유닛(function unit)(202) 및 인터페이스 유닛(interface unit)(204)를 포함한다.Referring now to Figure 3, the slave IP block 200 includes a function unit 202 and an interface unit 204.

기능 유닛(202)은 슬레이브 IP 블록(200)의 본연의 동작을 제어한다. 다시 말해서 기능 유닛(202)은, 예컨대 내부 메모리 장치, 외부 메모리 인터페이스 등과 같은 슬레이브 IP 블록(200) 본연의 기능이 구현된 회로 영역에 해당한다.The functional unit 202 controls the intrinsic operation of the slave IP block 200. In other words, the functional unit 202 corresponds to a circuit area in which the function of the slave IP block 200 is implemented, such as an internal memory device, an external memory interface, or the like.

인터페이스 유닛(204)은 채널(410, 420)을 통해 기능 유닛(202)과 신호를 주고 받으며, 마스터 IP 블록(210)으로부터 제공되는 신호(제1 신호)를 기능 유닛(202)에 제공한다.The interface unit 204 sends and receives signals to and from the functional unit 202 via channels 410 and 420 and provides the signal (first signal) provided from the master IP block 210 to the functional unit 202.

먼저, 인터페이스 유닛(204)은 채널(410)을 통해 기능 유닛(202)으로부터 동작 상태 신호를 수신할 수 있다. 채널(410)을 통해 수신한 동작 상태 신호는 기능 유닛(202)의 동작 상태에 대한 정보를 포함할 수 있다. 예를 들어, 동작 상태 신호는 기능 유닛(202)의 동작 상태가 슬립 상태인지, 실행 상태인지 등에 대한 정보를 포함할 수 있다.First, the interface unit 204 may receive an operational status signal from the functional unit 202 via the channel 410. The operational status signal received via the channel 410 may include information on the operational state of the functional unit 202. [ For example, the operation state signal may include information on whether the operation state of the functional unit 202 is a sleep state, an execution state, and the like.

한편, 인터페이스 유닛(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 interface unit 204 can exchange the second signal with the functional unit 202 via the channel 420. The second signal transmitted and received via the channel 420 includes a signal corresponding to the first signal provided from the master IP block 210 via the bus 400. For example, the second signal may be a signal transited from L to H at a second time point, corresponding to a first signal that transitions from L to H at a first time point. Here, the second time point may be later than the first time point.

예를 들어, 슬레이브 IP 블록(200)이 슬립 상태에 있는 동안, 마스터 IP 블록(210)으로부터 제공된 제1 신호가 제1 시점에서 L에서 H로 트랜지션된 경우, 슬레이브 IP 블록(200)이 웨이크업된 후, 인터페이스 유닛(204)은 제1 시점보다 늦은 제2 시점에서 L에서 H로 트랜지션되는 신호를 포함할 수 있다. For example, while the slave IP block 200 is in the sleep state, when the first signal provided from the master IP block 210 transitions from L to H at the first time point, the slave IP block 200 wakes up The interface unit 204 may include a signal transited from L to H at a second time later than the first time.

도 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 bus 400 that conforms to the APB protocol or the AHB protocol, the master IP block 210 does not consider the state of the slave IP block 200, IP block 200 as shown in FIG. At this time, if the slave IP block 200 is in the sleep state, the bus operation signal of the master IP block 210 can not be received. In order to prevent such a problem, the interface unit 204 is provided with a first functional unit 202 in place of the functional unit 202 in a sleep state at a first time point at which the master IP block 210 provides the first signal (bus operation signal) For example, the slave IP block 200 may provide a second signal to the functional unit 202 at a second time point at which it is woken up. That is, at a second time point, the interface unit 204 may generate a second signal corresponding to the first signal.

인터페이스 유닛(204)은 또한 마스터 IP 블록(210)으로부터 제1 신호를 수신한 후, 슬레이브 IP 블록(200)의 기능 유닛(202)을 웨이크업하기 위해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청을 전송할 수 있다.The interface unit 204 also receives the first signal from the master IP block 210 and then controls the channel management circuit 100 of the clock management unit 100 to wake up the functional unit 202 of the slave IP block 200 130 in order to transmit the clock request.

이에 따라 기능 유닛(202)은 웨이크업된 후 인터페이스 유닛(204)으로부터 수신한 제2 신호에 따라, 곧바로 마스터 IP 블록(210)과 버스 동작을 수행할 수 있게 된다.Accordingly, the functional unit 202 can perform the bus operation with the master IP block 210 immediately following the second signal received from the interface unit 204 after being woken up.

이와 같은 동작을 구현하기 위해, 기능 유닛(202)과 인터페이스 유닛(204)은 서로 다른 클럭 신호에 의해 구동될 수 있으며, 그 구체적인 구현 형태는 구체적인 구현 목적에 따라 얼마든지 변형될 수 있다.In order to implement such an operation, the functional unit 202 and the interface unit 204 may be driven by different clock signals, and the specific implementation thereof may be modified to any specific implementation purpose.

도 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 master IP block 210 and the slave IP block 200 in the semiconductor device 1 according to the embodiment of the present invention can perform a bus operation through the bus 400 compliant with the APB protocol have. In some embodiments of the invention, the master IP block 210 may include an APB bridge block that mediates data communication with other protocols, e.g., other buses conforming to the AHB protocol. First, it is assumed that the functional unit 200 of the slave IP block 200 is in the sleep state.

마스터 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 master IP block 210 may send a first signal to the slave IP block 200 to perform a bus operation with the slave IP block 200. At this time, the master IP block 210 does not consider the operation state of the functional unit 202. In this embodiment, the first signal transmitted by the master IP block 210 may include signals such as PSEL, PENABLE, PADDR, and PWRITE. Definitions and descriptions of these signals can be referenced from the document "AMBA TM 3 APB Protocol v1.0 Specification (ARM IHI 0024B)" issued by ARM Corporation, the entire contents of which are incorporated herein.

인터페이스 유닛(204)은 채널(410)을 통해 기능 유닛(202)이 현재 슬립 상태에 있음을 인지하고 있다. 인터페이스 유닛(204)은 기능 유닛(202)이 슬립 상태인 동안 마스터 IP 블록(210)으로부터 제공되는 제1 신호를 수신한다.Interface unit 204 is aware that functional unit 202 is currently in a sleep state via channel 410. [ The interface unit 204 receives the first signal provided from the master IP block 210 while the functional unit 202 is in the sleep state.

다음으로, 인터페이스 유닛(204)은 슬레이브 IP 블록(200)의 기능 유닛(202)을 웨이크업하기 위해, 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청을 전송하고, 채널 관리 회로(130)로부터 애크(ACK)를 수신할 수 있다. 인터페이스 유닛(204)은 채널 관리 회로(130)로부터 수신한 애크(ACK) 통해 슬레이브 IP 블록(200)에 클럭 신호가 제공되고 있음을 확인할 수 있다.Next, the interface unit 204 sends a clock request to the channel management circuit 130 of the clock management unit 100 via the channel CH1 to wake up the functional unit 202 of the slave IP block 200 And can receive an ACK from the channel management circuit 130. [ The interface unit 204 can confirm that a clock signal is being supplied to the slave IP block 200 through the ACK received from the channel management circuit 130. [

이후 인터페이스 유닛(204)은 채널(410)을 통해 기능 유닛(202)이 실행 상태로 전환되었는지 여부를 검출한다. 기능 유닛(202)이 실행 상태로 전환되었다면, 인터페이스 유닛(204)은 제1 신호에 대응하는 제2 신호를 생성하고, 생성된 제2 신호를 기능 유닛(202)에 제공한다. 여기서 제2 신호는 IP_PSEL, IP_PENABLE, IP_PADDR, IP_PWRITE 등의 신호를 말하며, 이들 신호는 제1 신호인 PSEL, PENABLE, PADDR, PWRITE 등의 신호에 각각 대응된다.The interface unit 204 then detects whether the functional unit 202 has been switched to the running state via the channel 410. If the functional unit 202 has been switched to the running state, the interface unit 204 generates a second signal corresponding to the first signal and provides the generated second signal to the functional unit 202. Here, the second signal refers to signals such as IP_PSEL, IP_PENABLE, IP_PADDR, and IP_PWRITE, and these signals correspond to signals of the first signals PSEL, PENABLE, PADDR, PWRITE, and the like.

이에 따라 기능 유닛(202)은 웨이크업된 후, 인터페이스 유닛(204)으로부터 수신한 제2 신호에 따라, 곧바로 마스터 IP 블록(210)과 APB 프로토콜에 따른 버스 동작을 수행할 수 있게 된다.Accordingly, after the functional unit 202 is woken up, it can immediately perform the bus operation according to the APB protocol with the master IP block 210 according to the second signal received from the interface unit 204.

한편, 인터페이스 유닛(204)은 버스 동작 중 슬레이브 IP 블록(200)의 기능 유닛(202)이 출력한 IP_PREADY 신호를 수신하고, IP_PREADY 신호를 APB 프로토콜에 따르는 PREADY 신호로서 마스터 IP 블록(210)에 제공할 수도 있다.Meanwhile, the interface unit 204 receives the IP_PREADY signal output from the functional unit 202 of the slave IP block 200 during the bus operation and provides the IP_PREADY signal to the master IP block 210 as a PREADY signal conforming to the APB protocol You may.

도 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 functional unit 200 of the slave IP block 200 is in a sleep state.

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 slave IP block 200, and then the master IP block 210 sends a PENABLE signal to a slave IP block 200 at T3. (200). The PSEL signal and the PENABLE signal may be provided from the master IP block 210 at a constant clock interval (e.g., one clock interval or two clock intervals), and the specific implementation may be determined according to the specific implementation purpose.

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 interface unit 204 receiving the PSEL signal of the master IP block 210 is connected to the clock management unit 100 via the channel CH1 to wake up the functional unit 202 of the IP block 200, Lt; RTI ID = 0.0 > 130 < / RTI > For example, when the channel CH1 follows the Q-channel interface, the interface unit 204 can exchange signals such as QACTIVE, QREQn, and QACCEPTn with the channel management circuit 130. [ Definitions and descriptions of these signals can be referenced from the "Low Power Inteface Specification: ARM Q-Channel and P-Channel Interfaces (ARM IHI 0068B)" document distributed by ARM Corporation, .

T4를 지나 IP 블록(200)의 기능 유닛(202)에 클럭(PCLK)이 제공되고, IP 블록(200)은 웨이크업 절차를 수행한다. 이 때 마스터 IP 블록(210)은 슬레이브 IP 블록(200)으로부터 아직 PREADY 신호를 제공받을 때까지, PSEL 및 PENABLE 신호를 동일하게 유지하고 있다.The clock (PCLK) is provided to the functional unit 202 of the IP block 200 via T4, and the IP block 200 performs the wakeup procedure. At this time, the master IP block 210 keeps the PSEL and PENABLE signals the same until the PREADY signal is still received from the slave IP block 200.

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 interface unit 204, recognizing that the functional unit 202 has been woken up, generates the IP_PSEL and IP_PENABLE signals corresponding to the PSEL and PENABLE signals. The IP_PSEL signal and the IP_PENABLE signal may have the same clock interval (T5 to T6) as the clock interval (T2 to T3) between the PSEL signal and the PENABLE signal. The interface unit 204 also provides the generated IP_PSEL and IP_PENABLE signals to the functional unit 202.

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 functional unit 202, which has received the IP_PSEL and IP_PENABLE signals from the interface unit 204, may transmit the PREADY signal to the master IP block 210 via the interface unit 204. [ Specifically, the functional unit 202 may transmit an IP_PREADY signal corresponding to the PREADY signal to the interface unit 204, and the interface unit 204 may transmit the IP_PREADY signal to the master IP block 210 as a PREADY signal.

이후, 버스 동작이 완료되면, 필요에 따라, IP 블록(200)의 기능 유닛(202)을 슬립 상태로 전환하기 위해 인터페이스 유닛(204)은 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 제공 중지 요청을 전송할 수 있다. T8 내지 T10에서 볼 수 있는 바와 같이, 예를 들어, 채널(CH1)이 Q-채널 인터페이스를 따르는 경우 인터페이스 유닛(204)은 채널 관리 회로(130)와 QACTIVE, QREQn, QACCEPTn 등의 신호를 주고 받을 수 있다.Then, when the bus operation is completed, the interface unit 204, via the channel CH1, to switch the functional unit 202 of the IP block 200 to the sleep state, if necessary, And may send a clock supply stop request to the management circuit 130. As can be seen from T8 to T10, for example, when the channel CH1 follows the Q-channel interface, the interface unit 204 sends and receives signals such as QACTIVE, QREQn, and QACCEPTn to the channel management circuit 130 .

도 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 function unit 202 of the IP block 200 is switched to the sleep state as the bus operation is completed, 204 additionally transmits a clock request (CLKREQ) to the channel management circuit 130 of the clock management unit 100. [

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 functional unit 202, which has received the IP_PSEL and IP_PENABLE signals from the interface unit 204, may transmit the PREADY signal to the master IP block 210 via the interface unit 204. [ Specifically, the functional unit 202 may transmit an IP_PREADY signal corresponding to the PREADY signal to the interface unit 204, and the interface unit 204 may transmit the IP_PREADY signal to the master IP block 210 as a PREADY signal.

이후, 버스 동작이 완료되었지만, 추가적으로 슬레이브 IP 블록(200)을 동작시킬 필요가 있는 경우, 인터페이스 유닛(204)은 자체적으로 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청(CLKREQ)을 전송할 수 있다.The interface unit 204 itself then sends a clock request (CLKREQ) to the channel management circuit (130) of the clock management unit (100) when the bus operation is completed but the slave IP block (200) Lt; / RTI >

이후, 추가적인 동작이 완료되면, 필요에 따라, IP 블록(200)의 기능 유닛(202)을 슬립 상태로 전환하기 위해 인터페이스 유닛(204)은 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 제공 중지 요청을 전송할 수 있다. T8 내지 T10에서 볼 수 있는 바와 같이, 예를 들어, 채널(CH1)이 Q-채널 인터페이스를 따르는 경우 인터페이스 유닛(204)은 채널 관리 회로(130)와 QACTIVE, QREQn, QACCEPTn 등의 신호를 주고 받을 수 있다.Then, when the additional operation is completed, the interface unit 204, via the channel CH1, to switch the functional unit 202 of the IP block 200 to the sleep state, if necessary, And may send a clock supply stop request to the management circuit 130. As can be seen from T8 to T10, for example, when the channel CH1 follows the Q-channel interface, the interface unit 204 sends and receives signals such as QACTIVE, QREQn, and QACCEPTn to the channel management circuit 130 .

도 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 semiconductor device 1 according to another embodiment of the present invention, the IP blocks 200 and 210 and the IP block 220 have a master-slave relationship. In this embodiment, the IP blocks 200 and 210 are slave devices, and the IP block 220 may be a master device. The IP block 220 and the IP blocks 200 and 210 may be electrically connected to each other.

이하에서는 편의상 IP 블록(220) 및 IP 블록(200, 210)을 각각 마스터 IP 블록(220) 및 슬레이브 IP 블록(200, 210)으로 표현하도록 한다.Hereinafter, the IP block 220 and the IP blocks 200 and 210 are represented by the master IP block 220 and the slave IP blocks 200 and 210, respectively, for convenience.

도 2와 관련하여 앞서 설명한 바와 같이, 버스(500)의 종류는 특별히 한정되지 않고, 버스(500)는, 예컨대 AHB 프로토콜과 같이, 마스터 장치가 슬레이브 장치와 버스 동작을 수행할 때 슬레이브 장치의 동작 상태를 고려하지 않는 프로토콜에 따르는 버스도 포함한다.2, the kind of the bus 500 is not particularly limited, and the bus 500 may be configured to operate in a slave device when the master device performs a bus operation with the slave device, such as an AHB protocol It also includes buses conforming to protocols that do not take into account state.

앞서 도 1에서 설명한 바와 같이, 마스터 IP 블록(220) 및 슬레이브 IP 블록(200, 210)은 풀 핸드셰이크 방식으로 클럭 관리 유닛(100)에 클럭 요청을 하고, 클럭 관리 유닛(100)으로부터 클럭 신호를 제공받는다.1, the master IP block 220 and the slave IP blocks 200 and 210 make a clock request to the clock managing unit 100 in a full handshake manner and receive a clock signal from the clock managing unit 100 .

구체적으로, 슬레이브 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 channel management circuits 130 and 132, respectively, and the channel management circuits 130 and 132, 132 and the clock components 120f and 120g exchange clock requests REQ and ACK respectively and control the clock signals CLK1 and CLK2 provided to the slave IP blocks 200 and 210 respectively. The clock components 120f and 120g respectively control the clock sources 124f and 124g and the clock sources 124f and 124g for generating the clock signals CLK1 and CLK2 respectively as described above with reference to FIG. And clock control circuits 122f and 122g.

슬레이브 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 master IP block 220 transmits a clock supply request or a clock supply stop request through the channel CH3 formed between the channel management circuits 134, The clock component 134 and the clock component 120h send and receive a clock request REQ and an ACK and control the clock signal CLK3 provided to the master IP block 220. [ The clock component 120h includes a clock source 124h for generating the clock signal CLK3 and a clock control circuit 122h for controlling the clock source 124h in hardware as described above with reference to FIG.

이어서 도 8을 참조하면, 슬레이브 IP 블록(200, 210)은 각각 기능 유닛(202, 212) 및 인터페이스 유닛(204, 214)를 포함한다.8, the slave IP blocks 200 and 210 include functional units 202 and 212 and interface units 204 and 214, respectively.

기능 유닛(202, 212)은 슬레이브 IP 블록(200, 202)의 본연의 동작을 제어하고, 인터페이스 유닛(204, 214)은 채널(510, 520, 512, 522)을 통해 기능 유닛(202, 212)과 각각 신호를 주고 받으며, 마스터 IP 블록(220)으로부터 제공되는 제1 신호를 기능 유닛(202, 204)에 제공한다.The functional units 202 and 212 control the intrinsic operation of the slave IP blocks 200 and 202 and the interface units 204 and 214 are connected to the functional units 202 and 212 via channels 510 and 520, And provides a first signal, which is provided from the master IP block 220, to the functional units 202 and 204, respectively.

인터페이스 유닛(204, 214)은 채널(510, 512)을 통해 기능 유닛(202, 214)으로부터 동작 상태 신호를 각각 수신할 수 있다. 한편, 인터페이스 유닛(204)은 채널(520, 522)을 통해 기능 유닛(202)과 제2 신호를 각각 주고 받을 수 있다. 제1 신호 및 제2 신호에 대한 설명은 도 3과 관련하여 설명한 내용과 중복되므로 여기서는 생략하도록 한다.Interface units 204 and 214 may receive operating status signals from functional units 202 and 214, respectively, via channels 510 and 512, respectively. On the other hand, the interface unit 204 can exchange the second signal with the functional unit 202 via the channels 520 and 522, respectively. The description of the first signal and the second signal is the same as that described with reference to FIG. 3, and will not be described here.

인터페이스 유닛(204, 214)은 마스터 IP 블록(220)이 제1 신호를 제공하는 제1 시점에 슬립 상태에 있는 기능 유닛(202, 212) 대신 제1 신호를 수신하고, 슬레이브 IP 블록(200, 210)이 웨이크업된 제2 시점에 기능 유닛(202, 212)에 제2 신호를 제공할 수 있다. 즉, 제2 시점에 인터페이스 유닛(204, 214)은 제1 신호에 대응하는 제2 신호를 생성할 수 있다.The interface units 204 and 214 receive the first signal instead of the functional units 202 and 212 in the sleep state at the first time point at which the master IP block 220 provides the first signal and the slave IP blocks 200, 210 may provide a second signal to the functional units 202, 212 at a second point in time that is woken up. That is, at a second time point, the interface units 204 and 214 may generate a second signal corresponding to the first signal.

인터페이스 유닛(204, 214)은 또한 마스터 IP 블록(220)으로부터 제1 신호를 수신한 후, 슬레이브 IP 블록(200, 210)의 기능 유닛(202, 212)을 웨이크업하기 위해 클럭 관리 유닛(100)의 채널 관리 회로(130, 132)에 클럭 요청을 전송할 수 있다.The interface units 204 and 214 also receive a first signal from the master IP block 220 and then transmit the clock signals to the clock management unit 100 To the channel management circuits 130 and 132 of the channel management circuit 130 and 132, respectively.

이에 따라 기능 유닛(202, 204)은 웨이크업된 후 인터페이스 유닛(204, 214)으로부터 수신한 제2 신호에 따라, 곧바로 마스터 IP 블록(220)과 버스 동작을 수행할 수 있게 된다.Thus, the functional units 202 and 204 are able to perform bus operations with the master IP block 220 immediately following the second signal received from the interface units 204 and 214 after being woken up.

도 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 master IP block 220 and the slave IP block 200 in the semiconductor device 1 according to the embodiment of the present invention can perform a bus operation through the bus 400 compliant with the AHB protocol have. First, it is assumed that the functional unit 200 of the slave IP block 200 is in the sleep state.

마스터 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 master IP block 210 may send a first signal to the slave IP block 200 to perform a bus operation with the slave IP block 200. At this time, the master IP block 210 does not consider the operation state of the functional unit 202. In this embodiment, the first signal transmitted by the master IP block 210 may include signals such as HADDR, HWDATA, HTRANS, and the like. The decoder DEC receives the HADDR signal and provides the HSEL1 signal to the slave IP block 200. For convenience of explanation, the HSEL1 signal is also expressed by the first signal. Definitions and descriptions of these signals can be referenced from the document "AMBA TM 3 AHB-Lite Protocol v1.0 Specification (ARM IHI 0033A) ", which is incorporated herein by reference in its entirety.

인터페이스 유닛(204)은 채널(510)을 통해 기능 유닛(202)이 현재 슬립 상태에 있음을 인지하고 있다. 인터페이스 유닛(204)은 기능 유닛(202)이 슬립 상태인 동안 마스터 IP 블록(210)으로부터 제공되는 제1 신호를 수신한다.The interface unit 204 is aware that the functional unit 202 is currently in a sleep state via the channel 510. [ The interface unit 204 receives the first signal provided from the master IP block 210 while the functional unit 202 is in the sleep state.

다음으로, 인터페이스 유닛(204)은 슬레이브 IP 블록(200)의 기능 유닛(202)을 웨이크업하기 위해, 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청을 전송하고, 채널 관리 회로(130)로부터 애크(ACK)를 수신할 수 있다. 인터페이스 유닛(204)은 채널 관리 회로(130)로부터 수신한 애크(ACK) 통해 슬레이브 IP 블록(200)에 클럭 신호가 제공되고 있음을 확인할 수 있다.Next, the interface unit 204 sends a clock request to the channel management circuit 130 of the clock management unit 100 via the channel CH1 to wake up the functional unit 202 of the slave IP block 200 And can receive an ACK from the channel management circuit 130. [ The interface unit 204 can confirm that a clock signal is being supplied to the slave IP block 200 through the ACK received from the channel management circuit 130. [

이후 인터페이스 유닛(204)은 채널(410)을 통해 기능 유닛(202)이 실행 상태로 전환되었는지 여부를 검출한다. 기능 유닛(202)이 실행 상태로 전환되었다면, 인터페이스 유닛(204)은 제1 신호에 대응하는 제2 신호를 생성하고, 생성된 제2 신호를 기능 유닛(202)에 제공한다. 여기서 제2 신호는 IP_HADDR, IP_HWDATA, IP_HTRANS, IP_HSEL1 등의 신호를 말하며, 이들 신호는 제1 신호인 HADDR, HWDATA, HTRANS, HSEL1 등의 신호에 각각 대응된다.The interface unit 204 then detects whether the functional unit 202 has been switched to the running state via the channel 410. If the functional unit 202 has been switched to the running state, the interface unit 204 generates a second signal corresponding to the first signal and provides the generated second signal to the functional unit 202. Here, the second signal refers to signals such as IP_HADDR, IP_HWDATA, IP_HTRANS, IP_HSEL1, etc., which correspond to signals of the first signals HADDR, HWDATA, HTRANS, HSEL1 and the like.

이에 따라 기능 유닛(202)은 웨이크업된 후, 인터페이스 유닛(204)으로부터 수신한 제2 신호에 따라, 곧바로 마스터 IP 블록(220)과 AHB 프로토콜에 따른 버스 동작을 수행할 수 있게 된다.Thus, after the functional unit 202 is woken up, it can immediately perform the bus operation according to the master IP block 220 and the AHB protocol according to the second signal received from the interface unit 204.

한편, 인터페이스 유닛(204)은 버스 동작 중 슬레이브 IP 블록(200)의 기능 유닛(202)이 출력한 IP_HRDATA1, IP_HREADYOUT1 신호를 수신하고, IP_HRDATA1, IP_HREADYOUT1 신호를 APB 프로토콜에 따르는 HRDATA1, HREADYOUT1 신호로서 다중화 회로(MUX)를 통해 마스터 IP 블록(210)에 HRDATA, HREADY 신호로서 제공할 수도 있다.Meanwhile, the interface unit 204 receives the IP_HRDATA1 and IP_HREADYOUT1 signals output from the functional unit 202 of the slave IP block 200 during the bus operation, and outputs the IP_HRDATA1 and IP_HREADYOUT1 signals as the HRDATA1 and HREADYOUT1 signals conforming to the APB protocol, As a HRDATA, HREADY signal to the master IP block 210 via a multiplexer (MUX).

이와 같은 내용은 마스터 IP 블록(220)과 슬레이브 IP 블록(210) 사이에도 동일하게 적용될 수 있다.The same can be applied to the master IP block 220 and the slave IP block 210 as well.

도 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 functional unit 200 of the slave IP block 200 is in a sleep state.

T2에서, 디코더(DEC) 및 마스터 IP 블록(220)이 HSEL 및 HTRANS 신호를 슬레이브 IP 블록(200)에 전송하면서 버스 동작을 시작한다.At T2, the decoder DEC and the master IP block 220 initiate the bus operation while transmitting the HSEL and HTRANS signals to the slave IP block 200.

T2에서, 디코더(DEC) 및 마스터 IP 블록(220)의 HSEL 및 HTRANS 신호를 수신한 인터페이스 유닛(204)은 슬레이브 IP 블록(200)의 기능 유닛(202)을 웨이크업하기 위해, 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 요청을 전송한다. 예를 들어, 채널(CH1)이 Q-채널 인터페이스를 따르는 경우 인터페이스 유닛(204)은 채널 관리 회로(130)와 QACTIVE, QREQn, QACCEPTn 등의 신호를 주고 받을 수 있다.At T2, the interface unit 204 receiving the HSEL and HTRANS signals of the decoder DEC and the master IP block 220 receives the channel CH1 to wake up the functional unit 202 of the slave IP block 200, And transmits the clock request to the channel management circuit 130 of the clock management unit 100 through the clock control unit 130. [ For example, when the channel CH1 follows the Q-channel interface, the interface unit 204 can exchange signals such as QACTIVE, QREQn, and QACCEPTn with the channel management circuit 130. [

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 master IP block 210 stores the HSEL and HTRANS signals. The stored HSEL and HTRANS signals are regenerated as IP_HSEL and IP_HTRANS signals at T5 after a clock (Slave clock) is provided to functional unit 202 of slave IP block 200 via T4. When a slave clock is provided to the functional unit 202 of the IP block 200, the IP block 200 performs a wakeup procedure.

T5에서, 기능 유닛(202)이 웨이크업되었음을 인지한 인터페이스 유닛(204)은 HSEL 및 HTRANS 신호에 대응하는 IP_HSEL 및 IP_HTRANS 신호를 생성한다. 인터페이스 유닛(204)은 또한 생성한 IP_HSEL 및 IP_HTRANS 신호를 기능 유닛(202)에 제공한다.At T5, the interface unit 204, which recognizes that the functional unit 202 has been woken up, generates the IP_HSEL and IP_HTRANS signals corresponding to the HSEL and HTRANS signals. The interface unit 204 also provides the generated IP_HSEL and IP_HTRANS signals to the functional unit 202.

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 functional unit 202, which has received the IP_HSEL and IP_HTRANS signals from the interface unit 204, can send the HREADYOUT signal to the multiplexing circuit MUX via the interface unit 204, Block 220 to transmit the HREADY signal. Specifically, the functional unit 202 transmits an IP_HREADYOUT signal corresponding to the HREADYOUT signal to the interface unit 204, and the interface unit 204 can transmit the IP_HREADYOUT signal as the HREADYOUT signal to the multiplexing circuit (MUX).

이후, 버스 동작이 완료되면, 필요에 따라, 슬레이브 IP 블록(200)의 기능 유닛(202)을 슬립 상태로 전환하기 위해 인터페이스 유닛(204)은 채널(CH1)을 통해 클럭 관리 유닛(100)의 채널 관리 회로(130)에 클럭 제공 중지 요청을 전송할 수 있다. T8 내지 T10에서 볼 수 있는 바와 같이, 예를 들어, 채널(CH1)이 Q-채널 인터페이스를 따르는 경우 인터페이스 유닛(204)은 채널 관리 회로(130)와 QACTIVE, QREQn, QACCEPTn 등의 신호를 주고 받을 수 있다.Then, when the bus operation is completed, the interface unit 204 is connected to the clock management unit 100 via the channel CH1 to switch the function unit 202 of the slave IP block 200 to the sleep state, And may transmit a clock supply stop request to the channel management circuit 130. [ As can be seen from T8 to T10, for example, when the channel CH1 follows the Q-channel interface, the interface unit 204 sends and receives signals such as QACTIVE, QREQn, and QACCEPTn to the channel management circuit 130 .

도 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 interface unit 204 receives a first signal from the master IP block 210 in step S1101 and sends a clock request for waking up the functional unit 202 of the slave IP block 200 to the clock management unit 100 (S1103).

슬레이브 IP 블록(200)이 클럭 관리 유닛(100)으로부터 클럭 신호를 제공받은 후, 즉, 인터페이스 유닛(204)이 클럭 관리 유닛(100)으로부터 클럭 요청에 대한 응답으로 애크(ACK)를 수신(S1105)한 후, 인터페이스 유닛(204)은 제1 신호에 대응하는 제2 신호를 생성(S1107)한다.After the slave IP block 200 receives the clock signal from the clock managing unit 100, that is, the interface unit 204 receives an ACK in response to the clock request from the clock managing unit 100 (S1105 ), The interface unit 204 generates a second signal corresponding to the first signal (S1107).

이후, 인터페이스 유닛(204)은 생성한 제2 신호를 기능 유닛(202)에 제공(S1109)하여, 슬립 상태에 있던 기능 유닛(202)이 웨이크업된 후 인터페이스 유닛(204)으로부터 수신한 제2 신호에 따라, 곧바로 마스터 IP 블록(210)과 버스 동작을 수행할 수 있도록 한다.Then, the interface unit 204 provides the generated second signal to the functional unit 202 (S1109) so that the second signal received from the interface unit 204 after the functional unit 202 in the sleep state is woken up So that the bus operation with the master IP block 210 can be performed immediately.

도 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 A memory device 20, a display device 30, a network device 40, a storage device 50, and an input / output device 60, as shown in FIG. The semiconductor device (SoC) 1, the processor 10, the memory device 20, the display device 30, the network device 40, the storage device 50 and the input / output device 60 are connected via a bus 70 Data can be exchanged with each other.

본 발명의 다양한 실시예에서 언급된 반도체 장치(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 memory device 20, a display controller for controlling the display device 30, a network device 40 A storage controller for controlling the storage device 50, and an input / output controller for controlling the input / output device 60. The input / The semiconductor system may further comprise an additional processor 10 for controlling these devices.

도 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 tablet PC 1200, Fig. 14 shows a notebook 1300, and Fig. 15 shows a smartphone 1400. Fig. The semiconductor device according to various embodiments of the present invention may be used in such a tablet PC 1200, notebook 1300, smart phone 1400, and the like.

또한, 본 발명의 몇몇 실시예들에 따른 반도체 장치는, 예시하지 않는 다른 집적 회로 장치에도 적용될 수 있음은 해당 기술 분야의 통상의 기술자에게 자명하다.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 tablet PC 1200, the notebook computer 1300, and the smartphone 1400 have been described as examples of the semiconductor system according to the present embodiment, examples of the semiconductor system according to the present embodiment are not limited thereto.

본 발명의 몇몇 실시예에서, 반도체 시스템은, 컴퓨터, 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: clock source 130, 132: channel management circuit
200, 210: IP block 300: Power management unit (PMU)

Claims (20)

기능 유닛(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 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항에 있어서,
상기 인터페이스 유닛은 상기 제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항에 있어서,
상기 인터페이스 유닛은 상기 제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.
제3항에 있어서,
상기 인터페이스 유닛은 상기 제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.
제3항에 있어서,
상기 인터페이스 유닛은 상기 제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.
제5항에 있어서,
상기 인터페이스 유닛은, 상기 제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항에 있어서,
상기 제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항에 있어서
상기 제1 신호는 버스 동작 신호(bus operation signal)을 포함하는 반도체 장치.
The method of claim 1, wherein
Wherein the first signal comprises a bus operation signal.
클럭 관리 유닛(Clock Management Unit, CMU)로부터 제1 클럭 신호를 제공받아 동작하는 마스터 IP 블록; 및
제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.
제9항에 있어서,
상기 인터페이스 유닛은 상기 슬레이브 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.
제10항에 있어서,
상기 인터페이스 유닛은 상기 마스터 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.
제10항에 있어서,
상기 인터페이스 유닛은 상기 제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.
기능 유닛(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 신호를 수신하여 상기 기능 유닛에 제공하는 반도체 시스템.
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.
제13항에 있어서,
상기 인터페이스 유닛은 상기 제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.
제14항에 있어서,
상기 인터페이스 유닛은 상기 제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.
제14항에 있어서,
상기 인터페이스 유닛은 상기 제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 블록으로부터 제1 신호를 수신하고,
슬레이브 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.
제17항에 있어서,
상기 기능 유닛으로부터 상기 기능 유닛의 동작 상태에 대한 정보를 수신하는 것을 더 포함하고,
상기 제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.
제17항에 있어서,
상기 제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.
제17항에 있어서,
상기 제1 신호는 버스 동작 신호(bus operation signal)을 포함하는 반도체 장치의 동작 방법.
18. The method of claim 17,
Wherein the first signal comprises a bus operation signal.
KR1020170000722A 2016-02-03 2017-01-03 Semiconductor device, semiconductor system and method for operating semiconductor device Active KR102571154B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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