KR102634171B1 - 기능 블록들을 포함하는 반도체 장치 및 그것에 제공되는 클럭 신호들을 제어하는 방법 - Google Patents

기능 블록들을 포함하는 반도체 장치 및 그것에 제공되는 클럭 신호들을 제어하는 방법 Download PDF

Info

Publication number
KR102634171B1
KR102634171B1 KR1020180038117A KR20180038117A KR102634171B1 KR 102634171 B1 KR102634171 B1 KR 102634171B1 KR 1020180038117 A KR1020180038117 A KR 1020180038117A KR 20180038117 A KR20180038117 A KR 20180038117A KR 102634171 B1 KR102634171 B1 KR 102634171B1
Authority
KR
South Korea
Prior art keywords
clock
functional block
data
functional blocks
signal
Prior art date
Application number
KR1020180038117A
Other languages
English (en)
Other versions
KR20190115280A (ko
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 KR1020180038117A priority Critical patent/KR102634171B1/ko
Publication of KR20190115280A publication Critical patent/KR20190115280A/ko
Application granted granted Critical
Publication of KR102634171B1 publication Critical patent/KR102634171B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

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

본 발명의 실시 예에 따른 반도체 장치는, 클럭 신호들을 수신하여 동작하되, 순차적으로 연결된 스테이지들을 형성하여 순차적으로 데이터를 처리 및 출력하도록 구성되는 기능 블록들, 기능 블록들에 각각 연결되는 상태 신호 라인들, 및 클럭 신호들을 각각 기능 블록들에 전송하도록 구성되는 클럭 컨트롤러를 포함한다. 기능 블록들 각각은 데이터를 출력하는지 여부를 나타내는 상태 신호를 해당 상태 신호 라인을 통해 전송하도록 구성되고, 클럭 컨트롤러는 제 1 기능 블록으로부터 전송되는 상태 신호, 그리고 제 1 기능 블록의 출력단에 연결된 제 2 기능 블록으로부터 전송되는 상태 신호에 기반하여 제 2 기능 블록에 제공되는 클럭 신호를 게이팅하도록 구성된다.

Description

기능 블록들을 포함하는 반도체 장치 및 그것에 제공되는 클럭 신호들을 제어하는 방법{SEMICONDUCTOR DEVICE INCLUDING FUNCTIONAL BLOCKS AND METHOD OF CONTROLLING CLOCK SIGNALS PROVIDED THERETO}
본 발명은 전자 장치에 관한 것으로, 좀 더 구체적으로는 복수의 기능 블록들을 포함하는 반도체 장치 및 그것에 제공되는 클럭 신호들을 제어하는 방법에 관한 것이다.
컴퓨터, 통신, 방송 등이 점차 통합되는 컨버전스(Convergence)화에 따라, 기존 ASIC(Application Specific Integrated Circuit: 주문형 반도체)와 ASSP(Application Specific Standard Product: 특정용도 표준제품)의 수요는 SoC(System on Chip)의 수요로 변환되고 있는 추세이다. 또한, IT(Information Technology) 기기의 소형화 및 고기능화 추세도 SoC에 대한 수요를 증가시키는 요인들 중의 하나이다. 그러한 SoC는, 반도체 공정 기술의 발전에 힘입어 기존의 여러 가지 기능을 가진 기능 블록들, 예컨대 IP(Intellectural Property)들이 하나의 칩 상에 집약적으로 구현된 형태이다.
SoC의 집적도가 커지고 동작 속도가 증가함에 따라, 소비 전력 이슈가 매우 중요한 요소 중 하나가 된다. 소비 전력이 높을 경우, 칩의 온도가 과도하게 상승할 수 있고, 이는 동작 불능 및 패키지(package)의 파손을 야기할 수 있다.
위 기재된 내용은 오직 본 발명의 기술적 사상들에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.
본 발명의 실시 예는 감소된 소비 전력을 갖는 반도체 장치를 제공하기 위한 것이다.
본 발명의 다른 실시 예는 반도체 장치가 감소된 소비 전력을 갖도록 클럭 신호들을 제어하는 방법을 제공하기 위한 것이다.
본 발명의 실시 예에 따른 반도체 장치는, 클럭 신호들을 수신하여 동작하되, 순차적으로 연결된 스테이지들을 형성하여 순차적으로 데이터를 처리 및 출력하도록 구성되는 기능 블록들; 상기 기능 블록들에 각각 연결되는 상태 신호 라인들; 및 상기 클럭 신호들을 각각 상기 기능 블록들에 전송하도록 구성되는 클럭 컨트롤러를 포함하되, 상기 기능 블록들 각각은 상기 데이터를 출력하는지 여부를 나타내는 상태 신호를 해당 상태 신호 라인을 통해 전송하도록 구성되고, 상기 클럭 컨트롤러는 상기 기능 블록들 중 제 1 기능 블록으로부터 전송되는 상기 상태 신호, 그리고 상기 기능 블록들 중 상기 제 1 기능 블록의 출력단에 연결된 제 2 기능 블록으로부터 전송되는 상기 상태 신호에 기반하여 상기 제 2 기능 블록에 제공되는 클럭 신호를 게이팅하도록 구성된다.
상기 기능 블록들 각각은 상기 데이터를 출력할 때 상기 상태 신호를 인에이블하고, 상기 클럭 컨트롤러는 상기 제 1 기능 블록으로부터 전송되는 상기 상태 신호가 디스에이블되고 상기 제 2 기능 블록으로부터 전송되는 상기 상태 신호가 디스에이블될 때 상기 제 2 기능 블록에 제공되는 상기 클럭 신호를 차단하도록 구성될 수 있다.
상기 제 2 기능 블록은 상기 제 1 기능 블록으로부터 전송되는 상기 상태 신호에 적어도 부분적으로 기초하여 상기 제 1 기능 블록으로부터 출력되는 상기 데이터를 감지하도록 구성될 수 있다.
상기 반도체 장치는 상기 기능 블록들이 상기 스테이지들을 형성하도록 상기 기능 블록들을 연결하는 데이터 라인들을 더 포함하고, 상기 상태 신호 라인들 각각은 인접한 스테이지들의 기능 블록들을 연결할 수 있다.
상기 클럭 컨트롤러는 상기 제 2 기능 블록으로부터 전송되는 상기 상태 신호, 그리고 상기 기능 블록들 중 상기 제 2 기능 블록의 출력단에 연결된 제 3 기능 블록으로부터 전송되는 상기 상태 신호에 기반하여 상기 제 3 기능 블록에 제공되는 클럭 신호를 더 게이팅하도록 구성될 수 있다.
상기 반도체 장치는 상기 클럭 컨트롤러와 상기 기능 블록들 사이에서 상기 클럭 신호들을 전달하는 CTS(Clock Tree Synthesis) 회로들을 더 포함할 수 있다.
본 발명의 다른 실시 예에 따른 반도체 장치는, 제 1 및 제 2 클럭 신호들을 수신하여 동작하되, 순차적으로 연결된 스테이지들을 형성하여 순차적으로 데이터를 처리 및 출력하도록 구성되는 제 1 및 제 2 기능 블록들; 및 상기 제 1 및 제 2 클럭 신호들을 각각 상기 제 1 및 제 2 기능 블록들에 전송하도록 구성되는 클럭 컨트롤러를 포함하되, 상기 제 1 기능 블록은 수신된 데이터를 처리하여 생성되는 제 1 데이터를 제 2 기능 블록에 출력할 때 제 1 상태 신호를 인에이블하고, 상기 제 2 기능 블록은 상기 제 1 데이터를 처리하여 생성되는 제 2 데이터를 출력할 때 제 2 상태 신호를 인에이블하며, 상기 클럭 컨트롤러는 상기 제 1 상태 신호 및 상기 제 2 상태 신호에 기반하여 상기 제 2 클럭 신호를 게이팅하도록 구성된다.
상기 클럭 컨트롤러는 상기 제 1 상태 신호가 디스에이블되고 상기 제 2 상태 신호가 디스에이블될 때 상기 제 2 클럭 신호를 차단하도록 구성될 수 있다.
상기 제 2 기능 블록은 상기 제 1 상태 신호를 수신하며, 상기 제 1 상태 신호에 적어도 부분적으로 기초하여 상기 제 1 데이터를 감지하도록 구성될 수 있다.
본 발명의 다른 일면은 데이터를 순차적으로 처리 및 출력하는 스테이지들에 제공되는 클럭 신호들을 제어하는 방법에 관한 것이다. 본 발명의 실시 예에 따른 방법은, 제 1 클럭 신호를 이용하여 동작하는 제 1 스테이지에서 입력 데이터를 처리하는 단계; 상기 제 1 스테이지에 의해 처리된 제 1 데이터가 출력되는지 여부를 나타내는 제 1 상태 신호를 제공하는 단계; 제 2 클럭 신호를 이용하여 동작하는 제 2 스테이지에서 상기 제 1 상태 신호에 기초하여 상기 제 1 데이터를 감지하는 단계; 상기 제 2 스테이지에서 상기 감지된 제 1 데이터를 처리하는 단계; 상기 제 2 스테이지에 의해 처리된 제 2 데이터가 출력되는지 여부를 나타내는 제 2 상태 신호를 제공하는 단계; 및 상기 제 1 상태 신호 및 상기 제 2 상태 신호에 기반하여 상기 제 2 클럭 신호를 게이팅하는 단계를 포함한다.
본 발명의 실시 예에 따르면, 감소된 소비 전력을 갖는 반도체 장치가 제공된다.
본 발명의 다른 실시 예에 따르면, 반도체 장치가 감소된 소비 전력을 갖도록 클럭 신호들을 제어하는 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 반도체 장치를 보여주는 블록도이다.
도 2는 도 1의 데이터 처리기와 클럭 컨트롤러 사이에 연결된 CTS 회로들을 보여주는 블록도이다.
도 3은 도 1의 클럭 컨트롤러의 실시 예를 보여주는 블록도이다.
도 4는 도 1의 기능 블록들에 의해 형성되는 스테이지들의 동작 방법을 보여주는 순서도이다.
도 5는 도 4의 스테이지들에 클럭 신호들을 제공하는 방법을 보여주는 순서도이다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 모호하지 않도록 하기 위해 생략될 것이라는 것을 유의하여야 한다. 또한 본 발명은 여기에서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 여기에서 설명되는 실시 예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 실시 예에 따른 반도체 장치(1000)를 보여주는 블록도이다.
도 1을 참조하면, 반도체 장치(1000)는 메인 컨트롤러(100), 클럭 생성기(200), 데이터 처리기(300), 및 클럭 컨트롤러(400)를 포함한다.
메인 컨트롤러(100)는 반도체 장치(1000)의 제반 동작을 제어한다. 클럭 생성기(200), 데이터 처리기(300), 및 클럭 컨트롤러(400)는 메인 컨트롤러(100)의 제어에 응답하여 동작할 수 있다. 예를 들면, 메인 컨트롤러(100)는 제어 신호(CTRL)를 전송하여 클럭 컨트롤러(400)의 동작들을 제어할 수 있다.
클럭 생성기(200)는 소스 클럭 신호(SCLK)를 생성하도록 구성된다. 소스 클럭 신호(SCLK)는 반도체 장치(1000)에 포함된 다양한 구성 요소들에 공급되어 그 구성 요소들의 동작에 이용될 수 있다. 예를 들면, 소스 클럭 신호(SCLK)는 클럭 컨트롤러(400)를 통해 데이터 처리기(300)의 각 기능 블록에 전달되며, 각 기능 블록은 전달된 클럭 신호를 이용하여 동작할 수 있다.
실시 예들에서, 소스 클럭 신호(SCLK)를 이용하여 동작하는 반도체 장치(1000)의 구성 요소들은 상이한 클럭 도메인들을 가질 수 있다. 이러한 경우, 반도체 장치(1000)는 상이한 클럭 도메인들 간에 전송되는 신호를 동기화(synchronize)하기 위한 구성 요소를 더 포함할 수 있다.
데이터 처리기(300)는 입력 데이터 라인들(INDL)과 출력 데이터 라인들(OUTDL)에 연결되어 있다. 데이터 처리기(300)는 입력 데이터 라인들(INDL)을 통해 데이터를 수신하고, 수신된 데이터를 처리하고, 처리된 데이터를 출력 데이터 라인들(OUTDL)을 통해 출력하도록 구성된다.
데이터 처리기(300)는 각각 제 1 내지 제 3 클럭 신호들(CLK1~CLK3)을 이용하여 동작하는 제 1 내지 제 3 기능 블록들(310~330)을 포함한다. 도 1에서, 데이터 처리기(300)가 3개의 기능 블록들(310~330)을 포함하는 것으로 도시된다. 그러나, 본 발명의 기술적 사상은 여기에 한정되지 않다. 데이터 처리기(300)는 2개 또는 그 이상의 기능 블록들을 포함할 수 있다.
제 1 내지 제 3 기능 블록들(310~330)은 순차적으로 연결된 스테이지들을 형성한다. 데이터 라인들(INDL, DL1, DL2, OUTDL)은 제 1 내지 제 3 기능 블록들(310~330)이 순차적으로 연결된 스테이지들을 형성하도록 제 1 내지 제 3 기능 블록들(310~330)을 연결한다. 예를 들면, 제 1 내지 제 3 기능 블록들(310~330)은 데이터의 흐름대로 연결되어 파이프라인으로 기능할 수 있다.
제 1 내지 제 3 기능 블록들(310~330)은 순차적으로 데이터를 처리 및 출력하도록 구성된다. 첫번째 스테이지인 제 1 기능 블록(310)은 제 1 데이터 라인들(DL1)을 통해 제 2 기능 블록(320)에 연결된다. 제 1 기능 블록(310)은 입력 데이터 라인들(INDL)을 통해 수신된 데이터를 처리하고, 처리된 데이터를 제 2 기능 블록(320)에 의한 추가적인 처리를 위해 제 1 데이터 라인들(DL1)을 통해 제 2 기능 블록(320)에 전송한다. 두번째 스테이지인 제 2 기능 블록(320)은 제 2 데이터 라인들(DL2)을 통해 제 3 기능 블록(330)에 연결된다. 제 2 기능 블록(320)은 제 1 기능 블록(310)으로부터 전송된 데이터를 처리하고, 처리된 데이터를 제 3 기능 블록(330)에 의한 추가적인 처리를 위해 제 2 데이터 라인들(DL2)을 통해 제 3 기능 블록(330)에 전송한다. 세번째 스테이지인 제 3 기능 블록(330)은 출력 데이터 라인들(OUTDL)에 연결된다. 제 3 기능 블록(330)은 제 2 기능 블록(320)으로부터 전송된 데이터를 처리하고, 처리된 데이터를 출력 데이터 라인들(OUTDL)을 통해 전송한다.
예를 들면, 반도체 장치(1000)는 그래픽 프로세서일 수 있다. 이 경우, 데이터 처리기(300)는 프레임 및 라인들과 같은 기초 요소들(primitives)을 계산하고, 셰이딩(shading)을 수행하고, 텍스처(texture) 필터들을 적용하고, 프레임 버퍼링을 수행하는 등 다양한 처리들을 순차적으로 수행하는 기능 블록들을 포함할 수 있다. 각 프레임 혹은 프레임의 각 라인에 대한 처리를 위해 기능 블록들이 순차적으로 동작할 때, 기능 블록들 중 적어도 일부는 동작하지 않는 블랭크(blank) 시간 구간을 가질 수 있다. 이러한 블랭크 시간 구간에 해당 기능 블록에 제공되는 클럭 신호의 토글은 불필요할 수 있다. 불필요한 클럭 신호의 토글이 감소할 때 반도체 장치(1000)의 소비 전력은 감소할 수 있다.
제 1 내지 제 3 기능 블록들(310~330)은 상태 신호 라인들(INSSL, SSL1, SSL2, OUTSSL)에 더 연결된다. 제 1 기능 블록(310)은 입력 상태 신호 라인(INSSL)에 연결된다. 제 1 기능 블록(310)은 제 1 상태 신호 라인(SSL1)을 통해 제 2 기능 블록(320)에 연결된다. 제 2 기능 블록(320)은 제 2 상태 신호 라인(SSL2)을 통해 제 3 기능 블록(330)에 연결된다. 제 3 기능 블록(330)은 출력 상태 신호 라인(OUTSSL)에 연결된다.
제 k 기능 블록은 해당 데이터 라인들을 통해 데이터를 출력하는지 여부를 나타내는 상태 신호를 제 k 상태 신호 라인을 통해 제공한다(k는 1보다 크거나 같은 정수). 예를 들면, 데이터가 출력되는 시점으로부터 소정의 시간 혹은 소정의 클럭 사이클들 전에, 상태 신호는 인에이블된다. 제 k+1 기능 블록은 제 k 상태 신호 라인의 상태 신호에 기초하여 상기 데이터 라인들을 통해 입력되는 데이터를 감지할 수 있다. 예를 들면, 제 k 상태 신호 라인의 상태 신호가 인에이블될 때 상기 데이터 라인 상 데이터가 제 k+1 기능 블록에 래치될 수 있다.
제 1 기능 블록(310)은 입력 상태 신호 라인(INSSL)의 상태 신호에 따라 입력 데이터 라인들(INDL)의 데이터를 감지할 수 있다. 제 1 기능 블록(310)은 처리된 데이터를 출력할 때 제 1 상태 신호 라인(SSL1)의 상태 신호를 인에이블할 수 있다. 제 2 기능 블록(320)은 제 1 상태 신호 라인(SSL1)의 상태 신호가 인에이블될 때 제 1 기능 블록(310)으로부터 출력되는 데이터를 감지할 수 있다. 제 2 기능 블록(320)은 처리된 데이터를 출력할 때 제 2 상태 신호 라인(SSL2)의 상태 신호를 인에이블할 수 있다. 제 3 기능 블록(330)은 처리된 데이터를 출력할 때 출력 상태 신호 라인(OUTSSL)의 상태 신호를 인에이블할 수 있다. 이와 같이, 제 1 내지 제 3 기능 블록들(310~330)은 상태 신호들을 이용함으로써 효율적으로 수신되는 데이터를 감지하고 처리된 데이터를 출력할 수 있다.
클럭 컨트롤러(400)는 메인 컨트롤러(100)로부터의 제어 신호(CTRL)에 응답하여 동작한다. 클럭 컨트롤러(400)는 클럭 생성기(200)로부터 소스 클럭 신호(SCLK)를 수신하고, 수신된 소스 클럭 신호(SCLK)를 이용하여 제 1 내지 제 3 기능 블록들(310~330)에 각각 제 1 내지 제 3 클럭 신호들(CLK1~CLK3)을 제공한다.
본 발명의 실시 예에 따르면, 클럭 컨트롤러(400)는 상태 신호 라인들(INSSL, SSL1, SSL2, OUTSSL)의 상태 신호들을 모니터링하고, 상태 신호들에 따라 제 1 내지 제 3 클럭 신호들(CLK1~CLK3)을 게이팅하도록 구성된다.
클럭 컨트롤러(400)는 제 1 내지 제 3 상태 감지기들(411~413), 모드 선택기(420), 및 제 1 내지 제 3 클럭 게이팅 회로들(431~433)을 포함한다.
제 1 내지 제 3 상태 감지기들(411~413)은, 상태 신호 라인들(INSSL, SSL1, SSL2, OUTSSL)의 상태 신호들을 참조하여, 제 1 내지 제 3 기능 블록들(310~330)이 아이들(idle) 상태인지 여부를 감지한다. 아이들 상태인지 여부를 감지하는 것은 각 기능 블록의 입력단 및 출력단과 연관된 상태 신호 라인들을 모니터링함으로써 달성될 수 있다. 즉, 기능 블록에 입력되는 데이터 및 기능 블록으로부터 출력되는 데이터 모두가 없다면, 이는 해당 기능 블록은 동작하지 않음, 즉 아이들 상태임을 의미할 수 있다.
제 1 내지 제 3 상태 감지기들(411~413)은 각각 제 1 내지 제 3 기능 블록들(310~330)을 모니터링할 수 있다. 제 1 상태 감지기(411)는 제 1 기능 블록(310)의 입력단 및 출력단과 연관된 입력 상태 신호 라인(INSSL) 및 제 1 상태 신호 라인(SSL1)에 연결된다. 제 1 상태 감지기(411)는 입력 상태 신호 라인(INSSL) 및 제 1 상태 신호 라인(SSL1)의 상태 신호들 모두가 디스에이블될 때, 제 1 상태 감지 신호(SDS1)를 디스에이블하여 상기 제 1 기능 블록(310)이 아이들 상태임을 알린다. 제 2 상태 감지기(412)는 제 2 기능 블록(320)의 입력단 및 출력단과 연관된 제 1 상태 신호 라인(SSL1) 및 제 2 상태 신호 라인(SSL2)에 연결된다. 제 2 상태 감지기(412)는 제 1 및 제 2 상태 신호 라인들(SSL1, SSL2)의 상태 신호들 모두가 디스에이블될 때, 제 2 상태 감지 신호(SDS2)를 디스에이블하여 제 2 기능 블록(320)이 아이들 상태임을 알린다. 제 3 상태 감지기(413)는 제 3 기능 블록(330)의 입력단 및 출력단과 연관된 제 2 상태 신호 라인(SSL2) 및 출력 상태 신호 라인(OUTSSL)에 연결된다. 제 3 상태 감지기(413)는 제 2 상태 신호 라인(SSL2) 및 출력 상태 신호 라인(OUTSSL)의 상태 신호들 모두가 디스에이블될 때, 제 3 상태 감지 신호(SDS3)를 디스에이블하여 제 3 기능 블록(330)이 아이들 상태임을 알린다.
제 1 내지 제 3 상태 감지 신호들(SDS1~SDS3)에 각각 응답하여, 제 1 내지 제 3 기능 블록들(310~330)에 공급되는 제 1 내지 제 3 클럭 신호들(CLK1~CLK3)이 게이팅될 수 있다.
모드 선택기(420)는 메인 컨트롤러(100)로부터의 제어 신호(CTRL)에 따라 제 1 내지 제 3 상태 감지 신호들(SDS1~SDS3)을 제 1 내지 제 3 클럭 게이팅 회로들(431~433)에 각각 전달할 수 있다.
제 1 내지 제 3 클럭 게이팅 회로들(431~433)은 소스 클럭 신호(SCLK)를 수신하고, 제 1 내지 제 3 상태 감지 신호들(SDS1~SDS3)에 따라 제 1 및 제 3 클럭 신호들(CLK1~CLK3)을 게이팅한다. 각 클럭 게이팅 회로는 해당 상태 감지 신호가 인에이블될 때 클럭 신호를 제공하고, 해당 상태 감지 신호가 디스에이블될 때 클럭 신호를 차단할 수 있다. 이와 같이, 제 1 내지 제 3 상태 감지 신호들(SDS1~SDS3)에 따라 제 1 내지 제 3 클럭 신호들(CLK1~CLK3)이 게이팅될 수 있다.
실시 예들에서, 반도체 장치(1000)는 시스템 온 칩(System on Chip: SoC)으로 구현될 수 있다.
실시 예들에서, 반도체 장치(1000)는 그래픽 프로세서(graphics processor), 마이크로 프로세서(micro processor), 모바일 프로세서(mobile processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등으로 구현될 수 있다.
본 발명의 실시 예에 따르면, 클럭 컨트롤러(400)는 각 기능 블록의 입력단 및 출력단과 연관되는 상태 신호들에 기반하여 해당 기능 블록에 제공되는 클럭 신호를 게이팅한다. 이에 따라, 기능 블록이 아이들 상태일 때 그것에 제공되는 클럭 신호는 차단될 수 있다. 따라서, 반도체 장치(1000)의 소비 전력은 감소할 수 있다.
도 2는 도 1의 데이터 처리기(300)와 클럭 컨트롤러(400) 사이에 연결된 CTS 회로들(CTS1~CTS3)을 보여주는 블록도이다.
도 2를 참조하면, 반도체 장치(1000)은 클럭 컨트롤러(400)로부터의 제 1 내지 제 3 클럭 신호들(CLK1~CLK3)을 제 1 내지 제 3 기능 블록들(310~330)로 전달하는 CTS(Clock Tree Synthesis) 회로들(CTS1~CTS3)을 포함할 수 있다. CTS 회로들(CTS1~CTS3) 각각은 신호 왜곡을 줄이기 위해 클럭 경로(clock path)을 따라 배치되는 버퍼들 및 인버터들을 포함할 수 있다.
제 1 내지 제 3 클럭 신호들(CLK1~CLK3)을 전달할 때 CTS 회로들(CTS1~CTS3)은 전력을 소비한다. 만약 클럭 경로가 길어 CTS 회로들(CTS1~CTS3)이 더 많은 버퍼들 및 인버터들을 포함한다면, CTS 회로들(CTS1~CTS3)의 소비 전력은 증가할 수 있다.
도 1을 참조하여 설명된 바와 같이, 클럭 컨트롤러(400)는 제 1 내지 제 3 클럭 신호들(CLK1~CLK3)을 게이팅할 수 있다. 이에 따라, CTS 회로들(CTS1~CTS3)에서 제 1 내지 제 3 클럭 신호들(CLK1~CLK3)을 전달하는 데에 사용되는 소비 전력은 감소할 수 있다. 이는, 반도체 장치(1000)의 소비 전력도 더욱 감소함을 의미한다. 또한, 제 1 내지 제 3 클럭 신호들(CLK1~CLK3)이 전달되는 경로들이 상대적으로 길 때, 소비 전력은 획기적으로 감소할 수 있다.
도 3은 도 1의 클럭 컨트롤러(400)의 실시 예(500)를 보여주는 블록도이다.
도 3을 참조하면, 클럭 컨트롤러(500)는 제 1 내지 제 3 상태 감지기들(511~513), 모드 선택기(520), 및 제 1 내지 제 3 클럭 게이팅 회로(531~533)를 포함한다.
제 1 내지 제 3 상태 감지기들(511~513)은 제 1 내지 제 3 논리합 게이트들(OR1~OR3)을 포함할 수 있다. 제 1 논리합 게이트(OR1)는 입력 상태 신호 라인(INSSL)과 제 1 상태 신호 라인(SSL1)에 연결되는 입력단들을 포함하며, 논리합 연산을 수행하여 제 1 상태 감지 신호(SDS1)를 출력한다. 제 2 논리합 게이트(OR2)는 제 1 및 제 2 상태 신호 라인들(SSL1, SSL2)와 연결되는 입력단들을 포함하며, 논리합 연산을 수행하여 제 2 상태 감지 신호(SDS2)를 출력한다. 제 3 논리합 게이트(OR3)는 제 2 상태 신호 라인(SSL2)과 출력 상태 신호 라인(OUTSSL)에 연결되는 입력단들을 포함하며, 논리합 연산을 수행하여 제 3 상태 감지 신호(SDS3)를 출력한다.
제 1 내지 제 3 논리합 게이트들(OR1~OR3) 각각은 입력되는 상태 신호들 모두가 논리값 "로우"로 디스에이블될 때 출력되는 상태 감지 신호를 논리값 "로우"로 디스에이블할 수 있다.
모드 선택기(520)는 공통 인에이블 신호(CMEN) 및 제 1 내지 제 3 클럭 게이팅 인에이블 신호들(CGEN1~CGEN3)을 도 1의 제어 신호(CTRL)로서 수신한다. 모드 선택기(520)는 제 1 내지 제 3 논리곱 게이트들(AND1~AND3), 그리고 제 4 내지 제 6 논리합 게이트들(OR4~OR6)을 포함한다.
실시 예들에서, 모드 선택기(520)는 메인 컨트롤러(100, 도 1 참조)와 클럭 컨트롤러(500) 사이를 인터페이싱하는 제 1 내지 제 4 동기기들(521~524)을 더 포함할 수 있다. 예를 들면, 제 1 내지 제 4 동기기들(521~524)은 메인 컨트롤러(100)와 클럭 컨트롤러(500)가 서로 다른 클럭 도메인들에 속할 때, 공통 인에이블 신호(CMEN) 및 제 1 내지 제 3 클럭 게이팅 인에이블 신호들(CGEN1~CGEN3)을 모드 선택기(520)의 구성 요소들에 적합하도록 동기화할 수 있다.
제 1 논리곱 게이트(AND1)는 제 1 논리합 게이트(OR1) 및 제 1 동기기(521)에 연결되는 입력단들을 포함한다. 제 2 논리곱 게이트(AND2)는 제 2 논리합 게이트(OR2) 및 제 1 동기기(521)에 연결되는 입력단들을 포함한다. 제 3 논리곱 게이트(AND3)는 제 3 논리합 게이트(OR3) 및 제 1 동기기(521)에 연결되는 입력단들을 포함한다.
공통 인에이블 신호(CMEN)는 도 1의 데이터 처리기(300)를 동작시키도록 할 때 논리값 "하이"로 인에이블되고, 데이터 처리기(300)를 동작시키지 않도록 할 때 논리값 "로우"로 디스에이블될 수 있다. 제 1 내지 제 3 논리곱 게이트들(AND1~AND3)은 공통 인에이블 신호(CMEN)가 논리값 "로우"로 디스에이블될 때, 제 1 내지 제 3 상태 감지 신호들(SDS1~SDS3)에 관계없이 논리값 "로우"를 출력한다. 제 1 내지 제 3 논리곱 게이트들(AND1~AND3)은 공통 인에이블 신호(CMEN)가 논리값 "하이"로 인에이블될 때, 제 1 내지 제 3 상태 감지 신호들(SDS1~SDS3)의 논리값들을 출력한다.
제 4 논리합 게이트(OR4)는 제 1 논리곱 게이트(AND1) 및 제 2 동기기(522)에 연결되는 입력단들을 포함한다. 제 5 논리합 게이트(OR5)는 제 2 논리곱 게이트(AND2) 및 제 3 동기기(523)에 연결되는 입력단들을 포함한다. 제 6 논리합 게이트(OR6)는 제 3 논리곱 게이트(AND3) 및 제 4 동기기(524)에 연결되는 입력단들을 포함한다.
각각의 제 1 내지 제 3 클럭 게이팅 인에이블 신호들(CGEN1~CGEN3)은 논리값 "로우"로 인에이블되어 각각의 제 1 내지 제 3 기능 블록들(310~330)에 대한 클럭 게이팅을 허용한다. 제 4 내지 제 6 논리합 게이트들(OR4~OR6) 각각은 해당 클럭 게이팅 인에이블 신호가 논리값 "하이"일 때 해당 논리곱 게이트의 출력에 관계없이 논리값 "하이"를 출력한다. 제 4 내지 제 6 논리합 게이트들(OR4~OR6) 각각은 해당 클럭 게이팅 인에이블 신호가 논리값 "로우"일 때 해당 논리곱 게이트의 출력 신호를 출력한다.
제 1 내지 제 3 클럭 게이팅 회로들(531~533)은 각각 제 4 내지 제 6 논리합 게이트들(OR4~OR6)의 출력 신호들을 수신한다. 제 1 클럭 게이팅 회로(531)는 제 4 논리합 게이트(OR4)의 출력 신호가 논리값 "하이"일 때 소스 클럭 신호(SCLK)를 제 1 클럭 신호(CLK1)로서 출력하고, 제 4 논리합 게이트(OR4)의 출력 신호가 논리값 "로우"일 때 제 1 클럭 신호(CLK1)를 차단한다. 이와 유사하게, 제 2 클럭 게이팅 회로(532)는 제 5 논리합 게이트(OR5)의 출력 신호에 따라 제 2 클럭 신호(CLK2)를 게이팅하고, 제 3 클럭 게이팅 회로(533)는 제 6 논리합 게이트(OR6)의 출력 신호에 따라 제 3 클럭 신호(CLK3)를 게이팅한다.
도 4는 도 1의 기능 블록들(310~330)에 의해 형성되는 스테이지들의 동작 방법을 보여주는 순서도이다.
도 4를 참조하면, S110단계에서, 제 k 스테이지에서 제 k-1 스테이지에 의해 생성된 제 k-1 상태 신호에 적어도 부분적으로 기초하여 입력 데이터가 감지된다(k는 1보다 크거나 같은 정수).
S120단계에서, 제 k 스테이지에서 감지된 데이터가 처리된다. S130단계에서, 제 k 스테이지에 의해 처리된 데이터가 출력되는지 여부를 나타내는 제 k 상태 신호가 제공된다. S140단계에서, 만약 제 k 스테이지가 마지막 스테이지가 아니라면, S150단계가 수행된다. S110단계 내지 S150단계는 제 k 스테이지가 마지막 스테이지일때까지 반복된다.
도 5는 도 4의 스테이지들에 클럭 신호들을 제공하는 방법을 보여주는 순서도이다.
도 5를 참조하면, S210단계에서, 제 k-1 상태 신호와 제 k 상태 신호가 모니터링된다. S220단계에서, 제 k-1 상태 신호와 제 k 상태 신호 모두가 디스에이블되었는지 여부가 판별된다. 만약 그렇다면, S230단계가 수행된다. 만약 그렇지 않다면, S240단계가 수행된다.
S230단계에서, 제 k 스테이지에 공급되는 클럭 신호가 차단된다. 제 k 스테이지가 아이들 상태일 때 클럭 신호는 필요치 않으며, 따라서 아이들 상태인 스테이지에 공급되는 클럭 신호를 차단함으로써 소비 전력은 감소할 수 있다. 제 k 스테이지가 아이들 상태인지 여부를 감지하는 것은 제 k 스테이지의 입력단 및 출력단과 연관된 제 k 상태 신호 및 제 k-1 상태 신호를 모니터링함으로써 달성될 수 있다. 본 발명의 실시 예에 따르면, 제 k-1 상태 신호와 제 k 상태 신호 모두가 디스에이블될 때 제 k 스테이지에 공급되는 클럭 신호는 차단된다.
S240단계에서, 제 k 스테이지에 클럭 신호가 계속 공급된다.
비록 특정 실시 예들 및 적용 례들이 여기에 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정들 및 변형들이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
1000: 반도체 장치
100: 메인 컨트롤러
200: 클럭 생성기
300: 데이터 처리기
310~330: 제 1 내지 제 3 기능 블록들
400: 클럭 컨트롤러

Claims (10)

  1. 클럭 신호들을 수신하여 동작하되, 순차적으로 연결된 스테이지들을 형성하여 순차적으로 데이터를 처리 및 출력하도록 구성되는 기능 블록들;
    상기 기능 블록들에 각각 연결되는 상태 신호 라인들; 및
    상기 클럭 신호들을 각각 상기 기능 블록들에 전송하도록 구성되는 클럭 컨트롤러를 포함하되,
    상기 기능 블록들 각각은 상기 데이터를 출력하는지 여부를 나타내는 상태 신호를 해당 상태 신호 라인을 통해 전송하도록 구성되고,
    상기 클럭 컨트롤러는 상기 기능 블록들 중 제 1 기능 블록의 출력단으로부터 전송되는 제1 상태 신호, 및 상기 기능 블록들 중 상기 제 1 기능 블록의 출력단에 연결된 제 2 기능 블록의 출력단으로부터 전송되는 제2 상태 신호에 기반하여 상기 제 2 기능 블록에 제공되는 클럭 신호를 게이팅하도록 구성되는 반도체 장치.
  2. ◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1 항에 있어서,
    상기 기능 블록들 각각은 상기 데이터를 출력할 때 상태 신호를 인에이블하고,
    상기 클럭 컨트롤러는 상기 제 1 기능 블록으로부터 전송되는 상기 제1 상태 신호가 디스에이블되고 상기 제 2 기능 블록으로부터 전송되는 상기 제2 상태 신호가 디스에이블될 때 상기 제 2 기능 블록에 제공되는 클럭 신호를 차단하도록 구성되는 반도체 장치.
  3. ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1 항에 있어서,
    상기 제 2 기능 블록은 상기 제 1 기능 블록으로부터 전송되는 상기 제1 상태 신호에 적어도 부분적으로 기초하여 상기 제 1 기능 블록으로부터 출력되는 데이터를 감지하도록 구성되는 반도체 장치.
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1 항에 있어서,
    상기 기능 블록들이 상기 스테이지들을 형성하도록 상기 기능 블록들을 연결하는 데이터 라인들을 더 포함하고,
    상기 상태 신호 라인들 각각은 인접한 스테이지들의 기능 블록들을 연결하는 반도체 장치.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1 항에 있어서,
    상기 클럭 컨트롤러는 상기 제 2 기능 블록으로부터 전송되는 상기 제2 상태 신호, 그리고 상기 기능 블록들 중 상기 제 2 기능 블록의 출력단에 연결된 제 3 기능 블록의 출력단으로부터 전송되는 제3 상태 신호에 기반하여 상기 제 3 기능 블록에 제공되는 클럭 신호를 더 게이팅하도록 구성되는 반도체 장치.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제 1 항에 있어서,
    상기 클럭 컨트롤러와 상기 기능 블록들 사이에서 클럭 신호들을 전달하는 CTS(Clock Tree Synthesis) 회로들을 더 포함하는 반도체 장치.
  7. 제 1 및 제 2 클럭 신호들을 수신하여 동작하되, 순차적으로 연결된 스테이지들을 형성하여 순차적으로 데이터를 처리 및 출력하도록 구성되는 제 1 및 제 2 기능 블록들; 및
    상기 제 1 및 제 2 클럭 신호들을 각각 상기 제 1 및 제 2 기능 블록들에 전송하도록 구성되는 클럭 컨트롤러를 포함하되,
    상기 제 1 기능 블록은 수신된 데이터를 처리하여 생성되는 제 1 데이터를 제 2 기능 블록에 출력할 때 제 1 상태 신호를 인에이블하고,
    상기 제 2 기능 블록은 상기 제 1 데이터를 처리하여 생성되는 제 2 데이터를 출력할 때 제 2 상태 신호를 인에이블하며,
    상기 클럭 컨트롤러는 상기 제1 기능 블록의 출력단으로부터 전송되는 상기 제 1 상태 신호 및 상기 제2 기능 블록의 출력단으로부터 전송되는 상기 제 2 상태 신호에 기반하여 상기 제2 기능 블록에 제공되는 상기 제 2 클럭 신호를 게이팅하도록 구성되는 반도체 장치.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제 7 항에 있어서,
    상기 클럭 컨트롤러는 상기 제 1 상태 신호가 디스에이블되고 상기 제 2 상태 신호가 디스에이블될 때 상기 제 2 클럭 신호를 차단하도록 구성되는 반도체 장치.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제 7 항에 있어서,
    상기 제 2 기능 블록은 상기 제 1 상태 신호를 수신하며, 상기 제 1 상태 신호에 적어도 부분적으로 기초하여 상기 제 1 데이터를 감지하도록 구성되는 반도체 장치.
  10. 데이터를 순차적으로 처리 및 출력하는 스테이지들에 제공되는 클럭 신호들을 제어하는 방법에 있어서:
    제 1 클럭 신호를 이용하여 동작하는 제 1 스테이지에서 입력 데이터를 처리하는 단계;
    상기 제 1 스테이지에 의해 처리된 제 1 데이터가 출력되는지 여부를 나타내는 제 1 상태 신호를 제공하는 단계;
    제 2 클럭 신호를 이용하여 동작하는 제 2 스테이지에서 상기 제 1 상태 신호에 기초하여 상기 제 1 데이터를 감지하는 단계;
    상기 제 2 스테이지에서 상기 감지된 제 1 데이터를 처리하는 단계;
    상기 제 2 스테이지에 의해 처리된 제 2 데이터가 출력되는지 여부를 나타내는 제 2 상태 신호를 제공하는 단계; 및
    상기 제1 스테이지의 출력단으로부터 전송되는 상기 제 1 상태 신호 및 상기 제2 스테이지의 출력단으로부터 전송되는 상기 제 2 상태 신호에 기반하여 상기 제2 스테이지에 제공되는 상기 제 2 클럭 신호를 게이팅하는 단계를 포함하는 방법.
KR1020180038117A 2018-04-02 2018-04-02 기능 블록들을 포함하는 반도체 장치 및 그것에 제공되는 클럭 신호들을 제어하는 방법 KR102634171B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180038117A KR102634171B1 (ko) 2018-04-02 2018-04-02 기능 블록들을 포함하는 반도체 장치 및 그것에 제공되는 클럭 신호들을 제어하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180038117A KR102634171B1 (ko) 2018-04-02 2018-04-02 기능 블록들을 포함하는 반도체 장치 및 그것에 제공되는 클럭 신호들을 제어하는 방법

Publications (2)

Publication Number Publication Date
KR20190115280A KR20190115280A (ko) 2019-10-11
KR102634171B1 true KR102634171B1 (ko) 2024-02-06

Family

ID=68210195

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180038117A KR102634171B1 (ko) 2018-04-02 2018-04-02 기능 블록들을 포함하는 반도체 장치 및 그것에 제공되는 클럭 신호들을 제어하는 방법

Country Status (1)

Country Link
KR (1) KR102634171B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070980A (ja) * 2007-09-12 2009-04-02 Sony Corp 半導体集積回路

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04302014A (ja) * 1991-03-28 1992-10-26 Tokyo Electric Co Ltd 論理回路駆動装置
JP3773617B2 (ja) * 1997-02-28 2006-05-10 沖電気工業株式会社 クロック信号供給装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070980A (ja) * 2007-09-12 2009-04-02 Sony Corp 半導体集積回路

Also Published As

Publication number Publication date
KR20190115280A (ko) 2019-10-11

Similar Documents

Publication Publication Date Title
US11686771B2 (en) Chip, chip testing method and electronic device
US20120162460A1 (en) Global arming method for image processing pipeline
JPH02105910A (ja) 論理集積回路
CN205210876U (zh) 主从式电路及电子装置
US10594307B2 (en) Skew sensor with enhanced reliability
TWI586107B (zh) Timing Error Detection and Correction Device and Its Normal Timing Design Method
US9319040B2 (en) Distributing multiplexing logic to remove multiplexor latency on the output path for variable clock cycle, delayed signals
US10990473B2 (en) Systems on chips, integrated circuits, and operating methods of the integrated circuits
KR102634171B1 (ko) 기능 블록들을 포함하는 반도체 장치 및 그것에 제공되는 클럭 신호들을 제어하는 방법
US20160109928A1 (en) Integrated circuit and low power method of operation
US20210004032A1 (en) Electronic Systems For Integrated Circuits And Voltage Regulators
US11294687B2 (en) Data bus with multi-input pipeline
WO2023071651A1 (zh) 电路调整方法、装置、电子设备、存储介质及电路
CN111757051B (zh) 一种数据传输方法、智能终端及雷达系统
US9361258B2 (en) Common interface/conditional access module and method of transmitting data between common interface card and integrated circuit chip thereof
US8005078B2 (en) Packet processor, packet control method, and packet control program
Parsan et al. SCL design of a pipelined 8051 ALU
US6205192B1 (en) Clock input control circuit
US20200285266A1 (en) Integrated circuit device
CN112783814A (zh) 用于多模式pcie扩频的时钟电路、电子装置及其方法
US20220283604A1 (en) Communication apparatus and control method thereof
US11416439B2 (en) USB-C connection line and USB-C connection line signal judgement method thereof
TWI702566B (zh) 相機系統
TWI676990B (zh) 內嵌式功能測試模組記憶體晶片的電路拓撲
US20140247084A1 (en) Specifications support enablement

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant