KR101621761B1 - 다중 주파수 클럭을 가지는 파이프라인 회로 장치 - Google Patents

다중 주파수 클럭을 가지는 파이프라인 회로 장치 Download PDF

Info

Publication number
KR101621761B1
KR101621761B1 KR1020140104004A KR20140104004A KR101621761B1 KR 101621761 B1 KR101621761 B1 KR 101621761B1 KR 1020140104004 A KR1020140104004 A KR 1020140104004A KR 20140104004 A KR20140104004 A KR 20140104004A KR 101621761 B1 KR101621761 B1 KR 101621761B1
Authority
KR
South Korea
Prior art keywords
delay
clock
unit
frequency
clock signal
Prior art date
Application number
KR1020140104004A
Other languages
English (en)
Other versions
KR20160019335A (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 KR1020140104004A priority Critical patent/KR101621761B1/ko
Publication of KR20160019335A publication Critical patent/KR20160019335A/ko
Application granted granted Critical
Publication of KR101621761B1 publication Critical patent/KR101621761B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명은 다중 주파수 클럭을 가지는 파이프라인 회로에 관한 것으로, 이러한 본 발명은 복수의 스테이지로 구분되는 파이프라인 방식으로 배치되어 상기 파이프라인의 각 스테이지의 데이터를 논리 연산하는 복수의 조합논리부와, 복수의 조합논리부 사이에 배치되어 이전 스테이지의 조합논리부에서 출력된 데이터를 다음 스테이지의 조합논리부로 전달하는 복수의 래치부와, 복수의 래치부 각각에 비동기 방식으로 클럭 신호를 제공하며, 다음 스테이지의 동작이 진행되도록 요청하는 클럭 신호를 전송하는 복수의 클럭제공부와, 상기 요청 신호를 시간 지연하여 다음 스테이지로 전달하되, EMI의 피크를 낮추도록 입력되는 클럭 신호의 주파수를 적어도 적어도 2개의 주파수로 변조하여 확산시키는 적어도 하나의 다중주파수지연부를 포함한다. 이러한 본 발명에 따르면, 비동기 방식의 클럭을 제공하고 그 클럭의 주파수를 변조함으로써, EMI 피크치를 낮출 수 있다. 더욱이, 단지 몇 개의 주파수만 사용하기 때문에 회로 복잡도를 줄일 수 있다.

Description

다중 주파수 클럭을 가지는 파이프라인 회로 장치{A pipeline circuit apparatus having multi-frequency clock}
본 발명은 파이프라인 회로 장치에 관한 것으로, 보다 상세하게는, 비동기 방식이며, 다중 주파수로 변조된 클록으로 동작하는 파이프라인 구조를 가지는 회로 장치에 관한 것이다.
반도체 기술의 발전으로, 수십억 개의 트랜지스터가 하나의 칩 상에 집적되었고, 크기가 수 나노미터로 조정되었다. 또한, 칩 성능이 빨라지고 전력 및 에너지 소비가 작아짐에 따라 공급 및 임계전압이 줄어들었다. 그러나 이러한 기술발전은 심각한 신호 혹은 전력 무결성과 EMI(Electromagnetic interference) 문제를 일으키고 있고, 회로 기능은 내부 칩 동작 또는 칩 외부로부터 방사된 노이즈에 점점 더 취약해지고 있다. 회로에서 유효 신호와 결합된 예기치 않은 노이즈는 그 신호의 논리값을 변경시키거나 또는 전파 속도가 지연될 수 있으며, 마지막으로, 회로의 오동작을 초래할 수 있다.
특히, EMI 문제는 무선 주파수(RF) 통신이 회로의 신호와 논리 연산을 방해할 수 있는 현재의 차량과 가전기기에서 많은 관심을 받고 있다. 칩 동작으로 인해 방사된 EM 노이즈는 전자제품에서 무선장비가 잘못된 방법으로 작업하도록 RF 동작을 방해할 수 있다.
현대의 시스템 온 칩(SoC, System on Chip)은 단일 칩 상에 디지털 블록과 노이즈에 민감한 아날로그 회로 블록을 포함하고, 각 부분에서 발생된 EMI 노이즈는 다른 부분의 기능에 심각한 영향을 줄 수 있다. 일반적으로, EMI는 클록 주파수와 트랜지스터 집적도 증가에 따라 증가한다. 동시에, 칩 동작의 면역력은 나노 스케일 기술 발전에 따라 감소된다. 결과적으로, EMI 문제는 장래에 보다 더 심각해질 것이다.
한국공개특허 제2012-0072125호 2012년 07월 03일 공개 (명칭: 지연 회로, 이를 이용한 FPGA에서의 비동기 회로 시뮬레이션 장치 및 그 방법)
본 발명의 목적은 파이프라인 회로 구조에서 전역 클럭을 사용하지 않고, 파이프라인의 각 스테이지에서 비동기 방식으로 지역 클럭을 사용하되, 다중 주파수 클록을 사용하여 EMI(Electromagnetic interference)를 저감할 수 있는 파이프라인 회로 장치를 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 파이프라인 회로 장치는 복수의 스테이지로 구분되는 파이프라인 방식으로 배치되어 파이프라인의 각 스테이지의 데이터를 논리 연산하는 복수의 조합논리부와, 복수의 조합논리부 사이에 배치되어 이전 스테이지의 조합논리부에서 출력된 데이터를 다음 스테이지의 조합논리부로 전달하는 복수의 래치부와, 복수의 래치부 각각에 비동기 방식으로 클럭 신호를 제공하며, 다음 스테이지의 동작이 진행되도록 요청하는 클럭 신호를 전송하는 복수의 클럭제공부와, 요청 신호를 시간 지연하여 다음 스테이지로 전달하되, EMI(Electromagnetic interference)의 피크를 낮추도록 입력되는 클럭 신호의 주파수를 미리 설정된 수 이하로 변조하여 확산시키는 적어도 하나의 다중주파수지연부를 포함한다.
여기서, 다중주파수지연부는 클럭 신호를 시간 지연하여 출력하는 기본지연소자와, 기본지연소자에서 출력된 클럭 신호를 각각이 서로 다른 시간 동안 지연하여 출력하는 복수의 가변지연소자와, 복수의 가변지연소자로부터 출력된 클럭 신호를 다중화하여 출력하는 다중화기를 포함한다.
더욱이, 다중주파수지연부는 복수의 가변지연소자 중 적어도 2개를 선택하여 동작하도록 하는 선택 신호를 생성하여, 선택 신호를 다중화기에 제공하는 스케줄러;를 더 포함한다.
여기서, 스케줄러는 입력 신호와 복수의 플립플롭의 피드백을 가산하는 가산기와, 가산기로부터 입력에 따라 논리 연산을 통해 선택 신호를 출력하는 복수의 플립플롭을 포함한다.
다중주파수지연부의 시간 지연은 다음의 수학식을 만족한다.
Figure 112014075915680-pat00001
+
Figure 112014075915680-pat00002
+
Figure 112014075915680-pat00003
+
Figure 112014075915680-pat00004
<
Figure 112014075915680-pat00005
+
Figure 112014075915680-pat00006
Figure 112014075915680-pat00007
는 다중주파수지연부의 입력으로부터 플립플롭의 클럭 포트로까지의 지연,
Figure 112014075915680-pat00008
는 플립플롭에서의 지연,
Figure 112014075915680-pat00009
는 플립플롭의 출력으로부터 다중화기에 입력될 때까지의 지연,
Figure 112014075915680-pat00010
는 다중화기에서의 지연.
또한, 복수의 가변지연소자는 제1, 제2, 제3 및 제4 가변지연소자를 포함하며,
기본지연소자 및 제1 내지 제4 가변지연소자는 다음의 수학식을 만족한다.
Figure 112014075915680-pat00011
<
Figure 112014075915680-pat00012
<
Figure 112014075915680-pat00013
<
Figure 112014075915680-pat00014
<
Figure 112014075915680-pat00015
여기서,
Figure 112014075915680-pat00016
는 기본지연소자의 지연 시간,
Figure 112014075915680-pat00017
은 제1 가변지연소자의 지연 시간,
Figure 112014075915680-pat00018
은 제1 가변지연소자의 지연 시간,
Figure 112014075915680-pat00019
은 제1 가변지연소자의 지연 시간,
Figure 112014075915680-pat00020
은 제1 가변지연소자의 지연 시간
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 파이프라인 구조를 가지는 회로에서 클럭 신호를 제공하는 장치는 파이프라인 형태의 직렬로 배치되는 복수의 조합논리부와, 각각이 복수의 조합논리부와 일대일로 대응하며, 입력되는 클럭 신호에 따라 복수의 조합논리부 사이에서 이전 스테이지의 조합논리부에서 출력된 데이터를 다음 스테이지의 조합논리부로 전달하는 복수의 래치부와, 복수의 래치부 각각과 일대일로 대응하여 복수의 래치부 각각에 비동기 방식으로 클럭 신호를 제공하는 복수의 클럭제공부;를 포함한다.
여기서, 클럭제공부는 제1 C소자 및 제2 C소자를 포함하고, 제1 C소자 및 제2 C소자는 각각 입력, 반전 입력, 리셋 및 출력을 가지며, 제1 C소자의 출력은 제2 C소자의 입력이고, 제2 C소자의 출력은 클럭 신호로 대응하는 래치부에 입력되는 동시에 제1 C소자의 반전 입력이 되는 것을 특징으로 한다.
클럭제공부의 제1 C소자의 하이 레벨 출력이 클럭제공부의 제2 C소자의 입력에 인가되면 클럭제공부의 제2 C소자의 출력이 하이 레벨이되고, 클럭제공부의 제2 C소자의 하이 레벨 출력이 래치부에 인가되면, 래치부는 상승 에지에서 오픈되어 조합논리부의 데이터를 다음 스테이지로 전달하는 것을 특징으로 한다.
제1 C소자 및 제2 C소자 각각은 병렬로 연결되는 제1 내지 제3 AND 게이트와, 직렬로 연결되는 OR 게이트;를 포함하며, 제1 C소자 및 제2 C소자 각각에 대한 입력은 제1 및 제2 AND 게이트에 인가되며, 반전 입력은 제2 및 제3 AND 게이트에 인가되고, 리셋은 제1 내지 제3 AND 게이트에 인가되며, 제1 내지 제3 AND 게이트의 출력은 OR 게이트에 인가되고, OR 게이트의 출력은 제1 및 제3 AND 게이트에 피드백되는 것을 특징으로 한다.
복수의 클럭제공부와 일대일 대응하여 대응하는 클럭제공부의 출력을 지연하는 복수의 지연부를 더 포함하는 것을 특징으로 하고, 지연부는 직렬로 연결되어 복수의 지연 AND 게이트를 포함하며, 복수의 지연 AND 게이트 각각은 지연부로의 입력과 이전 지연 AND 게이트의 출력을 입력받아 지연시켜 출력하며, 지연 AND 게이트의 수는 다음의 수학식을 만족하는 것을 특징으로 한다.
Figure 112014075915680-pat00021
+
Figure 112014075915680-pat00022
+
Figure 112014075915680-pat00023
Figure 112014075915680-pat00024
Figure 112014075915680-pat00025
여기서,
Figure 112014075915680-pat00026
은 조합연산부의 시간 지연이고,
Figure 112014075915680-pat00027
은 조합연산부에 대응하는 지연부의 시간 지연이며,
Figure 112014075915680-pat00028
는 지연부와 연결된 와이어에서의 시간 지연이다.
어느 일 스테이지의 클럭제공부의 제2 C소자의 출력이 하이레벨인 동안 일 스테이지의 래치부의 제1 데이터가 일 스테이지의 다음 스테이지로 전달되며, 이전 스테이지의 클럭제공부의 제2 C소자의 출력이 하이레벨이 되어, 이전 스테이지의 래치부의 제2 데이터가 일 스테이지로 전달되기 전, 일 스테이지의 클럭제공부의 제2 C소자의 출력이 로우 레벨이 되도록, 다음의 수학식을 만족하는 것을 특징으로 한다.
Figure 112014075915680-pat00029
Figure 112014075915680-pat00030
Figure 112014075915680-pat00031
Figure 112014075915680-pat00032
=
Figure 112014075915680-pat00033
+
Figure 112014075915680-pat00034
+
Figure 112014075915680-pat00035
+
Figure 112014075915680-pat00036
+
Figure 112014075915680-pat00037
+
Figure 112014075915680-pat00038
+
Figure 112014075915680-pat00039
+
Figure 112014075915680-pat00040
=
Figure 112014075915680-pat00041
+ 2
Figure 112014075915680-pat00042
Figure 112014075915680-pat00043
+
Figure 112014075915680-pat00044
+
Figure 112014075915680-pat00045
+
Figure 112014075915680-pat00046
Figure 112014075915680-pat00047
=
Figure 112014075915680-pat00048
+
Figure 112014075915680-pat00049
+
Figure 112014075915680-pat00050
Figure 112014075915680-pat00051
=
Figure 112014075915680-pat00052
+
Figure 112014075915680-pat00053
+
Figure 112014075915680-pat00054
+
Figure 112014075915680-pat00055
+
Figure 112014075915680-pat00056
+
Figure 112014075915680-pat00057
+
Figure 112014075915680-pat00058
= 2
Figure 112014075915680-pat00059
Figure 112014075915680-pat00060
+ 2
Figure 112014075915680-pat00061
Figure 112014075915680-pat00062
+
Figure 112014075915680-pat00063
+
Figure 112014075915680-pat00064
+
Figure 112014075915680-pat00065
여기서,
Figure 112014075915680-pat00066
는 회선에 대한 지연이고,
Figure 112014075915680-pat00067
는 C소자에 대한 지연이고,
Figure 112014075915680-pat00068
은 지연부에서의 지연이고,
Figure 112014075915680-pat00069
은 조합논리부에서의 지연이고,
Figure 112014075915680-pat00070
은 하강 에지에서 지연이고,
Figure 112014075915680-pat00071
은 상승 에지에서의 지연이고,
Figure 112014075915680-pat00072
은 클럭-투-래치 오픈(clock-to-latch open)에 대한 지연이고,
Figure 112014075915680-pat00073
은 클럭-투-래치 클로즈(clock-to-latch close)에 대한 지연이다.
본 발명에 따르면, 비동기 방식의 클럭을 제공하고 그 클럭의 주파수를 변조함으로써, EMI 피크치를 낮출 수 있다. 이와 동시에, 단지 몇 개의 주파수만 사용하기 때문에 회로 복잡도를 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 파이프라인 회로를 설명하기 위한 도면이다.
도 2a 내지 도 2c는 본 발명의 실시예에 따른 클럭제공부를 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 비동기 파이프라인 회로의 동작을 설명하기 위한 타이밍도이다.
도 4는 본 발명의 실시예에 따른 비동기 파이프라인 회로의 시간 지연을 설명하기 위한 파이프라인 회로의 도면이다.
도 5는 본 발명의 실시예에 따른 비동기 파이프라인 회로의 시간 지연을 설명하기 위한 타이밍도이다.
도 6은 본 발명의 실시예에 따른 지연부를 설명하기 위한 회로도이다.
도 7은 동기 방식 및 비동기 방식의 클럭 동작을 비교하여 설명하기 위한 그래프이다.
도 8은 본 발명의 실시예에 따라 각 파이프라인의 스테이지에 비동기 방식으로 지역 클럭을 제공하도록 구성된 프로세서의 일 예를 도시한 블록도이다.
도 9는 대기 비율(idling-ratio)을 다양하게 변화함에 따른 전력 소비에 대한 그래프이다.
도 10은 본 발명의 실시예에 따른 다중주파수지연부를 설명하기 위한 도면이다.
도 11은 본 발명의 실시예에 따른 다중주파수지연부의 주파수 변조를 설명하기 위한 도면이다.
도 12는 본 발명의 실시예에 따른 다중 주파수 클럭 신호를 가지는 파이프라인 회로로 구성된 프로세서의 일 예를 도시한 도면이다.
도 13a 내지 도 13c는 본 발명의 실시예를 다른 실시예들과 비교하여 EMI 감소의 정보를 설명하기 위한 그래프이다.
하기의 설명에서는 본 발명의 실시예를 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1a 내지 도 1c는 본 발명의 일 실시예에 따른 파이프라인 회로를 설명하기 위한 도면이다.
도 1a 내지 도 1c를 참조하면, 본 발명의 일 실시예에 따른 파이프라인 구조를 가지는 회로(이하, 파이프라인 회로로 축약함)는 복수의 모듈이 파이프라인 형식으로 직렬 연결되는 구조를 가진다. 하나의 모듈은 파이프라인의 하나의 스테이지를 이룬다. 도 1a에 도시된 바와 같이, 어느 하나의 모듈은 기본적으로 클럭제공부(100), 지연부(200), 래치부(300) 및 조합논리(Combinational Logic)부(400)를 포함하여 구성되거나, 클럭제공부(100), 래치부(300), 조합논리부(400) 및 다중주파수지연부(500)를 포함하여 구성될 수 있다. 즉, 파이프라인 회로는 도 1b에 도시된 바와 같이, 복수의 클럭제공부(100: 101, 102, 103, 104), 복수의 지연부(200: 201, 202, 203, 204), 복수의 래치부(300: 301, 302, 303, 304) 및 복수의 조합논리부(400: 401, 402, 403, 404)를 포함하되, 도 1c에 도시된 바와 같이, 복수의 지연부(200: 201, 202, 203, 204) 중 적어도 하나는 다중주파수지연부(500)가 될 수 있다.
클럭제공부(100: 101, 102, 103, 104)는 비동기 방식으로 래치부(300: 301, 302, 303, 304) 각각에 클럭을 제공한다. 즉, 클럭제공부(100: 101, 102, 103, 104) 각각은 복수의 래치부(300: 301, 302, 303, 304)에 일대일 대응하며, 전역 클럭(global clock)이 아닌 지역 클럭(local clock)으로 복수의 래치부(300: 301, 302, 303, 304) 각각에 클럭을 제공한다. 예컨대, 제1 클럭제공부(101)은 제1 래치부(301)에 클럭을 제공하고, 제2 클럭제공부(102)는 제2 래치부(302)에 클럭을 제공하며, 제3 클럭제공부(103)는 제3 래치부(303)에 클럭을 제공한다.
지연부(200: 201, 202, 203, 204) 각각은 클럭제공부(100: 101, 102, 103, 104) 혹은 조합논리부(400: 401, 402, 403, 404)에 일대일 대응한다. 지연부(200: 201, 202, 203, 204)는 파이프라인의 이전 스테이지의 클럭제공부(100)로부터 출력된 신호를 시간 지연한 후 대응하는 클럭제공부(100)에 입력으로 제공한다. 본 발명의 실시예에 따르면, 지연부(200: 201, 202, 203, 204) 각각의 지연 시간은 대응하는 조합논리부(400: 401, 402, 403, 404)의 연산 시간에 따라 결정될 수 있으며, 아래에서 보다 상세하게 설명될 것이다.
래치부(300: 301, 302, 303, 304)는 적어도 하나의 래치(latch)로 이루어질 수 있다. 이러한 래치(latch)는 입력되는 클럭 신호에 따라, 레벨(예컨대, high, low 또는 1, 0)이 변경되며, 레벨에 따라 조합논리부(400: 401, 402, 403, 404)로부터 출력되는 데이터를 다음 스테이지로 전달할 수 있다. 본 발명의 실시예에서 래치는 하이 레벨(high level, 1)인 동안 입력된 데이터를 출력하는 것으로 설명한다. 하지만, 이 기술분야에서 통상의 지식을 가진자라면 그 역의 경우(로우 레벨에서 동작)에도 본 발명이 실시될 수 있음을 이해할 수 있을 것이다. 이러한 래치의 동작으로, 래치부(300)는 클럭제공부(100)로부터의 클럭 신호에 따라 동 스테이지의 조합논리부(400)의 출력을 다음 스테이지의 조합논리부(400)의 입력으로 전달할 수 있다. 한편, 래치부(300)는 래치 대신 플립플롭을 이용하여 구현될 수도 있다.
조합논리부(400: 401, 402, 403, 404)는 연산을 위한 회로이며, 시독립논리(time-independent logic) 회로라고 칭하기도 한다. 이는 디지털 논리의 일 형태이며, 불린 회로(Boolean circuits)에 의해 구현된다. 조합논리부(400: 401, 402, 403, 404)는 입력되는 데이터를 논리 연산하여 출력한다. 예컨대, 이러한 조합논리부(400: 401, 402, 403, 404)는 ALU(arithmetic logic unit)를 대표적으로 예시할 수 있다.
그러면, 본 발명의 실시예에 따른 클럭제공부(100)에 대해서 보다 상세하게 설명하기로 한다. 도 2a 내지 도 2c는 본 발명의 실시예에 따른 클럭제공부를 설명하기 위한 도면이다.
도 2a를 참조하면, 본 발명의 실시예에 따른 클럭제공부(100)는 두 개의 C소자(C-element, 110: 111, 112)가 핸드쉐이킹 형식으로 연결되는 구조를 가진다. 즉, 본 발명의 실시예에 따른 클럭제공부(100)는 제1 C소자(111) 및 제2 C소자(112)를 포함한다.
도 2b에 도시된 바와 같이, 어느 하나의 C소자(100)는 입력(a), 반전 입력(b), 리셋(reset) 및 출력(out)을 가진다. 이러한 C소자(100)는 복수의 게이트로 구성될 수 있다. 복수의 게이트로 구성된 C소자(100)의 일 예를 도 2c에 도시하였다.
도 2c에 도시된 바와 같이, C소자(100)는 제1 내지 제3 AND 게이트(11, 12, 13)가 병렬로 연결되며, 하나의 OR 게이트(14)가 직렬로 연결되는 구조를 가진다. 또한, 입력(a) 신호는 제1 및 제2 AND 게이트(11, 12)의 입력으로 인가되며, 반전 입력(b) 신호는 제2 및 제3 AND 게이트(12, 13)의 입력으로 인가된다. 또한, 리셋(reset) 신호는 3개의 AND 게이트(11, 12, 13)의 입력으로 인가될 수 있다. 제1 내지 제3 AND 게이트(11, 12, 13)의 출력은 OR 게이트(14)의 입력으로 인가된다. 또한, OR 게이트(14)의 출력은 제1 및 제3 AND 게이트(11, 13)의 입력으로 인가된다.
한편, 도 2a 및 도 2b를 다시 참조하면, 제1 C소자(111)의 출력은 제2 C소자(112)의 입력(a)이 된다. 또한, 제2 C소자(112)의 출력은 클럭 신호로 래치부(300)로 입력되며, 동시에 제1 C소자(111)의 반전 입력(b)이 된다.
다음으로, 본 발명의 실시예에 따른 비동기 파이프라인 회로의 동작에 대해서 상세하게 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 비동기 파이프라인 회로의 동작을 설명하기 위한 타이밍도이다.
도 3의 타이밍도에서 설명의 편의를 위하여, 3개의 연속된 스테이지, 즉, 스테이지 i, j, k가 있는 것으로 가정한다. 또한, out-i, out-i, out-j, out-j, out-k 및 out-k는 각각 스테이지 i, 스테이지 j 및 스테이지 k의 제1 C소자(111) 및 제2 C소자(112)의 출력을 나타낸다. 즉, 스테이지 i의 제1 C소자(111) 및 제2 C소자(112)의 출력은 각각 out-i, out-i이고, 스테이지 j의 제1 C소자(111) 및 제2 C소자(112)의 출력은 각각 out-j, out-j이며, 스테이지 k의 제1 C소자(111) 및 제2 C소자(112)의 출력은 각각 out-k, out-k이다.
도 1a 내지 도 3을 참조하면, 데이터 1 내지 데이터 4(①, ②, ③, ④)는 클럭제공부(100)가 출력하는 클럭 신호에 따라 래치부(300)가 다음 스테이지의 조합논리부(400)로 전달하는 데이터이다.
클럭제공부(100)의 출력중 제1 C소자(111)의 출력 out-i, out-j, out-k이 하이 레벨이면, 이러한 출력은 제2 C소자(112)의 입력(a)에 인가되며, 제2 C소자(112)의 출력 out-i, out-j, out-k는 하이 레벨이 된다. 예컨대, 제2 클럭제공부(102)의 제1 C소자(111)의 출력 out-j이 하이 레벨이면, 이러한 출력(out-j, high)은 제2 클럭제공부(102)의 제2 C소자(112)의 입력(a)에 인가되며, 제2 클럭제공부(102)의 제2 C소자(112) 출력 out-j는 하이 레벨이 된다. 이와 같이, 클럭제공부(100)의 출력중 제2 C소자(112)의 출력 out-i, out-j, out-k가 하이 레벨(high level)이면, 래치부(300)는 데이터를 다음 스테이지의 조합논리부(400)로 전달한다. 예컨대, out-j가 하이 레벨인 동안, 제2 래치부(302)는 스테이지 i의 제2 조합논리부(402)로부터 출력된 데이터를 스테이지 k의 제3 조합논리부(403)로 전달한다.
제1 C소자(111)의 출력 out-i, out-j, out-k이 로우 레벨이고, 다음 스테이지의 제1 C소자(111)의 출력 out-i, out-j, out-k이 하이 레벨이면, 제2 C소자(112)의 출력 out-i, out-j, out-k는 로우 레벨이 된다. 예컨대,
제2 클럭제공부(102)의 제1 C소자(111)의 출력 out-j가 로우 레벨이면, 이는 제2 클럭제공부(102)의 제2 C소자(112)의 입력(a)에 인가되며, 제3 클럭제공부(103)의 제1 C소자(111)의 출력 out-k가 하이 레벨이면, 이는 피드백되어 제2 클럭제공부(102)의 제2 C소자(112)의 반전 입력(b)에 인가된다. 이에 따라, 제2 클럭제공부(102)의 제2 C소자(102)의 출력 out-j는 로우 레벨이 된다. 이와 같이, 클럭제공부(100)의 출력중 제2 C소자(112)의 출력 out-i, out-j, out-k가 로우 레벨(low level)이면, 래치부(300)는 데이터를 다음 스테이지의 조합논리부(400)로 전달한다. 예컨대, out-j가 로우 레벨인 동안, 제2 래치부(302)는 스테이지 i의 제2 조합논리부(402)로부터 출력된 데이터를 스테이지 k의 제3 조합논리부(403)로 전달하지 않는다. 즉, out-j가 로우 레벨인 동안, 제2 래치부(302)는 스테이지 i의 제2 조합논리부(402)의 데이터를 일시 저장한다.
보다 상세히, 스테이지 j에서 데이터 1의 전달 과정을 살펴보면, 다음과 같다. 제2 클럭제공부(102)의 제1 C소자(111)의 출력 out-j가 하이 레벨이면, S100 단계에서 이는 제2 클럭제공부(102)의 제2 C소자(112)의 입력(a)으로 전달된다. 그러면, 제2 클럭제공부(102)의 제2 C소자(112)의 출력 out-j는 하이 레벨이된다. 제2 클럭제공부(102)의 제2 C소자(112)의 출력 out-j가 하이 레벨이되면, 제2 래치부(302)는 하이 레벨이 되는 상승 에지에서 오픈(open)되어 출력 out-j가 하이 레벨인 동안 데이터가 다음 스테이지(스테이지 k)로 전달된다. 다음 스테이지로 전달된 데이터는 다음 스테이지의 제3 조합논리부(403)로 제공되며, 제3 조합논리부(403)에서의 연산 과정을 거친 후 제3 래치부(303)에 저장될 것이다.
이때, S110 단계에서 제2 클럭제공부(102)의 출력 out-j는 순방향으로 다음 스테이지를 진행하도록 요청하기 위한 요청 신호(클럭 신호)로 제3 지연부(203)를 거쳐 제3 클럭제공부(103)의 제1 C소자(111)로 전달된다. 또한, S120 단계에서 제2 클럭제공부(102)의 출력 out-j는 역방향으로 수신 확인 신호를 전송한다.
S110 단계의 순방향으로 전파된 요청 신호는 제3 클럭제공부(103)의 제1 C소자(111)의 입력(a)이 된다. 이에 따라, S130 단계에서 제3 클럭제공부(103)의 제1 C소자(111)의 출력 out-k는 하이 레벨이며, 이러한 하이레벨 출력 out-k는 S120 단계에서 제2 클럭제공부(102)의 제2 C소자(112)의 반전 입력(b)이 된다.
한편, S130 단계에서, 역방향으로 전송된 하이 레벨 출력 out-j는 제2 클럭제공부(102)의 제1 C소자(111)의 반전 입력(b)이 된다. 이에 따라, 제2 클럭제공부(102)의 제1 C소자(111)의 출력 out-j는 로우 레벨이 된다. 이러한 로우 레벨 출력 out-j는 S140 단계에서, 제2 클럭제공부(102)의 제2 C소자(112)의 입력(a)이 된다.
이와 같이, 하이 레벨 출력 out-k가 제2 클럭제공부(102)의 제2 C소자(112)의 반전 입력(b)이 되고, 로우 레벨 출력 out-j가 제2 클럭제공부(102)의 제2 C소자(112)의 입력(a)이 되면, 제2 클럭제공부(102)의 출력 out-j는 로우 레벨이 된다. 이러한 out-j의 하강 에지에서, 제2 래치부(302)는 닫히고(close), 해당 데이터는 제2 래치부(302)에 임시 저장된다.
도 4는 본 발명의 실시예에 따른 비동기 파이프라인 회로의 시간 지연을 설명하기 위한 파이프라인 회로의 도면이며, 도 5는 본 발명의 실시예에 따른 비동기 파이프라인 회로의 시간 지연을 설명하기 위한 타이밍도이다.
S210 내지 S250 단계를 통해, 데이터 1을 전달하는 이벤트가 완료되기 전, 데이터 2가 전달되는 이벤트가 발생하는 상황에 대해서 설명하기로 한다. 도 4 및 도 5를 참조하면, 제2 클럭제공부(102)의 출력 out-j가 하이 레벨이되면, 제2 래치부(302)는 하이 레벨이 되는 상승 에지에서 오픈(open)되어 출력 out-j가 하이 레벨인 동안 데이터 1이 다음 스테이지(스테이지 k)로 전달된다. 다음 스테이지로 전달된 데이터 1은 다음 스테이지의 제3 조합논리부(403)로 제공되며, 제3 조합논리부(403)에서의 연산 과정을 거친 후 제3 래치부(303)에 저장될 것이다.
이때, S210 단계에서 제2 클럭제공부(102)의 출력 out-j는 순방향으로 다음 스테이지를 진행하도록 요청하기 위한 요청 신호로 제3 지연부(203)를 거쳐 제3 클럭제공부(103)의 제1 C소자(111)로 전달된다. 또한, S230 단계에서 제2 클럭제공부(102)의 출력 out-j는 역방향으로 수신 확인 신호를 전송한다.
S210 단계의 순방향으로 전파된 요청 신호는 제3 클럭제공부(103)의 제1 C소자(111)의 입력(a)이 된다. 이에 따라, S220 단계에서 제3 클럭제공부(103)의 제1 C소자(111)의 출력 out-k는 하이 레벨이며, 이러한 출력 out-k는 제2 클럭제공부(102)의 제2 C소자(112)의 반전 입력(b)이 된다. 그러면, 제2 클럭제공부(102)의 출력 out-j는 로우 레벨이 된다. 이러한 out-j의 로우 레벨 출력의 하강 에지에서, 제2 래치부(302)는 닫히고(close), 더 이상의 데이터 전달은 이루어지지 않는다. 이러한 S210 및 S220 단계의 순방향 사이클에 소요되는 순방향 사이클 시간은
Figure 112014075915680-pat00074
로 표시하였다.
한편, S230 단계에서 역방향으로 전송된 하이 레벨 출력 out-j는 제2 클럭제공부(102)의 제1 C소자(111)의 반전 입력(b)이 된다. 이에 따라, 제2 클럭제공부(102)의 제1 C소자(111)의 출력 out-j는 로우 레벨이 되며, 이는 제2 클럭제공부(102)의 제2 C소자(112)의 입력(a)이 되기도 하지만, S240 단계에서와 같이, 제1 클럭제공부(101)의 제2 C소자(112)의 반전 입력(b)이 될 수 있다.
그러면, S250 단계에서와 같이, 제1 클럭제공부(101)의 제2 C소자(112)는 새로운 데이터, 즉, 데이터 2를 판독하도록 하는 상승 신호 이벤트를 생성할 수 있다. 그러면, 데이터 2가 스테이지 j에서 제2 래치부(302)의 입력으로 제2 조합논리부(402)를 통해 전파된다. 이러한 S220 내지 S250 단계의 역방향 사이클에 소요되는 역방향 사이클 시간을
Figure 112014075915680-pat00075
로 표시하였다.
만약,
Figure 112014075915680-pat00076
Figure 112014075915680-pat00077
Figure 112014075915680-pat00078
이면, 데이터 1을 전달하는 이벤트가 완료되기 전, 데이터 2가 전달되는 이벤트가 발생할 수 있다. 따라서, 본 발명의 실시예에 따른 클럭은 다음의 조건
Figure 112014075915680-pat00079
Figure 112014075915680-pat00080
Figure 112014075915680-pat00081
을 만족해야만 한다. 이러한 조건에 대해 보다 상세하게 설명하면 다음과 같다.
먼저,
Figure 112014075915680-pat00082
은 다음의 수학식 1과 같다.
Figure 112014075915680-pat00083
또한,
Figure 112014075915680-pat00084
는 다음의 수학식 2와 같다.
Figure 112014075915680-pat00085
수학식 1 및 2에서,
Figure 112014075915680-pat00086
는 회로 구성 사이의 회선(wire)에 대한 지연이며,
Figure 112014075915680-pat00087
는 C소자(110)에 대한 지연을 의미한다. 또한,
Figure 112014075915680-pat00088
은 지연부(200)에서의 지연,
Figure 112014075915680-pat00089
은 조합논리부(400)에서의 지연을 의미한다.
Figure 112014075915680-pat00090
Figure 112014075915680-pat00091
은 지역 클럭 신호에 대한 지연이며, 각각 하강 및 상승 클럭 신호(제2 소자부(112)의 로우 레벨 출력 및 하이 레벨 출력)에 대한 지연이다.
Figure 112014075915680-pat00092
,
Figure 112014075915680-pat00093
은 각각 클럭-투-래치 오픈(clock-to-latch open) 및 클럭-투-래치 클로즈(clock-to-latch close)에 대한 지연이다. 클럭-투-래치 오픈은 래치부(300)의 각 래치의 클럭 포트에서 상승 클럭 신호(하이 레벨)가 입력되는 시간으로부터 래치가 오픈(open)되는 시간까지의 지연이며, 클럭-투-래치 클로즈는 래치부(300)의 각 래치의 클럭 포트에서 하강 클럭 신호(로우 레벨) 이벤트의 시간으로부터 래치가 클로즈(close)되는 시간까지의 지연이다.
Figure 112014075915680-pat00094
에서 최소 3개의 지연 요소
Figure 112014075915680-pat00095
+
Figure 112014075915680-pat00096
+
Figure 112014075915680-pat00097
의 합은 조합논리부(400)의 지연과 일치하며, 이에 따라,
Figure 112014075915680-pat00098
로 나타낼 수 있다. 결과적으로,
Figure 112014075915680-pat00099
Figure 112014075915680-pat00100
보다 크거나 또는 동일하다.
여기서, 회로 소자 중 동일한 타입은 동일한 지연을 가진다고 가정한다. 예컨대, 즉, 모든 지연부(201, 202, 203)는 동일한 지연을 가지며, 모든 조합논리부(401, 402, 403) 또한 동일한 지연을 가진다고 가정한다.
또한,
Figure 112014075915680-pat00101
Figure 112014075915680-pat00102
Figure 112014075915680-pat00103
이고,
Figure 112014075915680-pat00104
Figure 112014075915680-pat00105
Figure 112014075915680-pat00106
이며,
Figure 112014075915680-pat00107
Figure 112014075915680-pat00108
Figure 112014075915680-pat00109
이라고 가정한다.
그러면,
Figure 112014075915680-pat00110
Figure 112014075915680-pat00111
Figure 112014075915680-pat00112
은 다음의 수학식 3과 같이 간소화될 수 있다.
Figure 112014075915680-pat00113
여기서, 수학식 3은
Figure 112014075915680-pat00114
Figure 112014075915680-pat00115
Figure 112014075915680-pat00116
이고,
Figure 112014075915680-pat00117
Figure 112014075915680-pat00118
Figure 112014075915680-pat00119
이며,
Figure 112014075915680-pat00120
Figure 112014075915680-pat00121
Figure 112014075915680-pat00122
이면,
Figure 112014075915680-pat00123
Figure 112014075915680-pat00124
Figure 112014075915680-pat00125
이 만족함을 보인다.
도 6은 본 발명의 실시예에 따른 지연부를 설명하기 위한 회로도이다.
도시된 바와 같이, 지연부(200)은 복수의 지연 AND 게이트(211, 212, 213, 214)가 직렬로 연결되며, 이때, 지연부(200)의 입력은 복수의 지연 AND 게이트(211, 212, 213, 214)에 의해 지연된 후 출력된다. 각 지연 AND 게이트는 지연부(200)로의 입력과 앞선 지연 AND 게이트의 출력을 입력으로 받아 이루지기 때문에, 지연 AND 게이트의 수에 따라 지연 시간이 결정된다. 이에 따라, 지연 AND 게이트의 수는
Figure 112014075915680-pat00126
( =
Figure 112014075915680-pat00127
+
Figure 112014075915680-pat00128
+
Figure 112014075915680-pat00129
)
Figure 112014075915680-pat00130
Figure 112014075915680-pat00131
혹은
Figure 112014075915680-pat00132
( =
Figure 112014075915680-pat00133
+
Figure 112014075915680-pat00134
+
Figure 112014075915680-pat00135
)
Figure 112014075915680-pat00136
Figure 112014075915680-pat00137
을 만족하도록 구성된다.
보다 상세하게 설명하면, 제2 지연 AND 게이트(212)는 2개의 입력을 가지며, 이는 지연부(200)에 대한 입력과 제1 지연 AND 게이트(211)의 출력을 입력으로 가진다. 마찬가지로, 제3 지연 AND 게이트(213)는 2개의 입력을 가지며, 이는 지연부(200)에 대한 입력과 제2 지연 AND 게이트(212)의 출력을 입력으로 가진다. 또한, 제4 지연 AND 게이트(213)도 2개의 입력을 가지며, 이는 지연부(200)에 대한 입력과 제3 지연 AND 게이트(213)의 출력을 입력으로 가진다. 이에 따라, 지연부(200)의 출력은 제1 내지 제4 지연 AND 게이트(211, 212, 213, 214)에 의해 지연된다.
SoC에서 실행되는 작업은 시간이 지남에 따라 다를 수 있으며, 때때로 시스템에 사용되는 데이터 패턴은 버스트 형식(bursty)으로 입력될 수 있다. 특히, 이러한 데이터 패턴은 동기 회로를 사용하는 경우, 연속적으로 전력 혹은 에너지를 소모하는 프리러닝 클럭(free-running clock)에 기인한 문제가 발생할 수 있다. 클럭 게이팅(clock gating)이 회로에 공급되는 클럭을 정지시키기 위해 사용될 수 있는 슬립 또는 대기 상태인 경우에도, 절전 단계 및 활성 상태 사이의 임시 시점에서 추가 타이밍 및 파워 오버헤드가 요구된다. 뿐만 아니라, 클럭 게이팅은 설계자가 회로의 어떤 부분이 클록킹없이 대기하여야 하는지, 언제 클럭을 중지하여야 하는지, 그리고, 클럭을 얼마나 오랫동안 중지하여야 하는지에 대한 정보를 알고 있어야 한다. 또한, 이러한 정보는 메모리에 저장하여야 하며, 별도의 제어 회로가 메모리에 저장된 정보에 따라 회로의 특정 부분에 대한 클록킹을 중지하기 위해 적절한 제어신호를 생성해야 한다. 따라서 설계에 있어서 클럭 게이팅 응용의 문제는 오버헤드를 감소시키기 위해 중요하게 고려된다.
프로세서 코어에 대한 동적 전력 소비를 위한 일반적인 방정식은 다음의 수학식 4 및 5와 같다.
Figure 112014075915680-pat00138
Figure 112014075915680-pat00139
식 4에서,
Figure 112014075915680-pat00140
은 유효 용량,
Figure 112014075915680-pat00141
는 공급 전압 레벨이고,
Figure 112014075915680-pat00142
는 주파수이다.
Figure 112014075915680-pat00143
은 동기 회로에서 식 5에서와 같이 세 가지 구성 요소
Figure 112014075915680-pat00144
,
Figure 112014075915680-pat00145
,
Figure 112014075915680-pat00146
이 될 수 있다.
Figure 112014075915680-pat00147
은 논리 회로의 전력 소비,
Figure 112014075915680-pat00148
은 시그날링에 따른 전력 소비, 그리고,
Figure 112014075915680-pat00149
은 클럭에 따른 전력 소비를 의미한다. 여기서, 동기 회로의 경우,
Figure 112014075915680-pat00150
은 유휴 상태에서도 지속적으로 전력 소비에 기여한다. 반면, 비동기 방식의 회로의 경우, 이벤트 구동 핸드쉐이크 프로토콜에 따라 활성화되는 지역적으로 생성된 클럭을 사용하기 때문에,
Figure 112014075915680-pat00151
은 코어의 대기 시간 동안에는 전력 및 에너지 누출에 기여하지 않는다.
도 7은 동기 방식 및 비동기 방식의 클럭 동작을 비교하여 설명하기 위한 그래프이다.
도 7에서, 대기 시간(Idle phase time)은 코어가 유효한 연산을 수행하지 않는 기간으로 정의하며, 동작 시간(working phase time)은 코어가 유효한 연산을 수행하는 기간으로 정의된다. 여기서, 본 실시예에서 코어는 조합논리부(400)가 될 수 있다.
클럭 주파수 성분은 동작 시간 동안의 주파수
Figure 112014075915680-pat00152
와 대기 시간 동안의 주파수
Figure 112014075915680-pat00153
의 두 가지 형태의 주파수로 분류될 수 있다. 활성화 팩터로
Figure 112014075915680-pat00154
를 사용할 때,
Figure 112014075915680-pat00155
이고,
Figure 112014075915680-pat00156
이다. 여기서,
Figure 112014075915680-pat00157
는 다음의 수학식 6과 같다.
Figure 112014075915680-pat00158
Figure 112014075915680-pat00159
는 유효한 연산을 포함하는 주파수 부분인 반면,
Figure 112014075915680-pat00160
은 어떠한 연산도 수행하지 않는 주파수 부분이다. 동기 회로에서 전력 소비를
Figure 112014075915680-pat00161
라고 할 때, 동기 회로에서 전력 소비는 다음의 수학식 7과 같고, 비동기 회로에서 전력 소비를
Figure 112014075915680-pat00162
라고 하면, 비동기 회로에서 전력 소비는 다음의 수학식 8과 같다.
Figure 112014075915680-pat00163
+
Figure 112014075915680-pat00164
Figure 112014075915680-pat00165
수학식 8에서 보인 바와 같이,
Figure 112014075915680-pat00166
의 경우, 전력 소비가 0이기 때문에
Figure 112014075915680-pat00167
부분이 없다.
이제, 비동기 회로의 전력 소비가 동기 회로의 전력 소비보다 더 낮을 때의 동작 조건에 대해서 설명하며, 다음의 수학식 9와 같다.
Figure 112014075915680-pat00168
식 9를 요약하면, 다음의 수학식 10과 같은 조건이 유도된다.
Figure 112014075915680-pat00169
where,
Figure 112014075915680-pat00170
,
Figure 112014075915680-pat00171
,
Figure 112014075915680-pat00172
마지막으로, 수학식 10은 다음의 수학식 11과 같이 다시 쓸 수 있다.
Figure 112014075915680-pat00173
따라서 동작 시간(working phase time) 동안 비동기 회로의 전력 소비가 대응하는 동기 회로의 전력 소비보다 더 많더라도 비동기 회로는 평균 전력 소비의 비용에 있어서 동기 회로보다 뛰어날 수 있다. 만약,
Figure 112014075915680-pat00174
비율이 수학식 11의 오른쪽 부분으로부터 계산된 값보다 더 높으면 이것은 참이 된다. 이러한 비률을 대기 비율(idling-ratio)라고 정의하고,
Figure 112014075915680-pat00175
라고 표시하기로 한다. 또한,
Figure 112014075915680-pat00176
,
Figure 112014075915680-pat00177
,
Figure 112014075915680-pat00178
는 모두
Figure 112014075915680-pat00179
에 비해 작다고 가정하면, 비동기 회로는 낮은 대기 비율(idling-ratio)을 가지는 동기 회로보다 전력을 덜 소비함을 알 수 있다.
다음으로, 전술한 비동기 회로의 전력 소비 절감에 대한 구체적인 실시예를 들어 설명하기로 한다. 도 8은 본 발명의 실시예에 따라 각 파이프라인의 스테이지에 비동기 방식으로 지역 클럭을 제공하도록 구성된 프로세서의 일 예를 도시한 블록도이다.
여기서, 도 8에 도시된 프로세서는 본 발명의 실시예에 따른 파이프라인 회로의 일 예이다. 도시된 바와 같이, 복수의 조합연산부(400: IMEM, RF, ALU, DMEM, WB), 조합연산부(400) 사이에 배치되는 복수의 래치부(300: L1 내지 L5), 래치부(300)에 지역 클럭을 제공하는 복수의 클럭제공부(100: C2-HC) 및 복수의 클럭제공부(100) 사이에서 조합연산부(400)의 연산 시간이 보장되도록 시간을 지연하는 지연부(200:
Figure 112014075915680-pat00180
,
Figure 112014075915680-pat00181
,
Figure 112014075915680-pat00182
,
Figure 112014075915680-pat00183
)를 포함한다. 도 8에 도시된 예시적인 프로세서를 이용하여 본 발명의 효과에 대해서 설명하기로 한다.
도 8에 도시된 클럭제공부(C2-HC)를 기반으로 한 비동기 프로세서는 Verilog-HDL을 사용하여 개발되었고, Xilinx ISE Design Suite 13.4 로 합성되었다. 시뮬레이션 및 측정을 위해 Virtex-5 LX110t(스피드 그레이드-3) 및 Spartan-6 LX9 개발 보드를 사용한다. 시뮬레이션 결과는 45nm 기술을 기반으로 한 Virtex-5 장비의 전압 및 온도 변화 영향을 조사하기 위해, 다음과 같은 두 개의 경계 조건(corner conditions)을 갖는 처리 성능의 변화를 관찰한다. 여기서, 최상의 동작 조건은 코어 전압 = 1.05V, 온도 = 0이며, 최악의 동작 조건은 코어 전압 = 0.95V, 온도 = 85이다.
Virtex-5 장비상에서 비동기 방식의 경우, 최상 및 최악 동작 조건의 처리 성능은 각각 122.5 MHz와 106.1MHz이다. 주어진 전압 및 온도의 변화 범위에서 그 성능은 최악의 경우 최상의 경우 보다 대략 1.15초 더 느리다. Spartan-6상에서의 설계는 50.6MHz 처리 성능을 나타낸다. 한편, 동기 방식을 가지는 프로세서에서, 최상의 경우 및 최악의 경우 동작 조건에 대하여 Virtex-5상에서 처리 성능은 각각 216.9MHz와 195.3MHz가 관찰되었다. 이 동기 방식의 경우, 최악 조건 성능은 최상 경우 성능보다 대략 1.11초 더 느리다.
표 1 및 표 2는 동기 프로세서 및 비동기 프로세서의 코어가 각각 하이엔드 Virtex-5(106.1 MHz)와 저전력 Spartan-6(50.6 MHz) 장비로 구성될 때 자원 구성 형태에 의한 코어의 동적인 전력 소비를 나타낸다. Spartan-6 장비에 대해, 1.16V 및 85의 조건이 전력 평가를 위해 사용되었다.
Figure 112014075915680-pat00184
Figure 112014075915680-pat00185
공정한 비교를 위해, 동기 프로세서의 클럭 주파수가 비동기 프로세서의 코어의 평균 주파수로 설정된다. 표 1에서 나타낸 바와 같이, 고성능 Virtex-5 에서 클럭 자원을 위한 전력 소비의 상당한 감소 덕분에 36.8%의 소비 전력 감소가 관찰되었다. 다른 한편, 표 2의 저전력 Spartan-6 장비에서 25.6% 이상의 소비 전력 증가가 관찰되었다.
동기 프로세서와 비동기 프로세서의 자원 사용은 거의 동일하다. LUT 자원에서 단지 작은 증가가 비동기 프로세서에서 관찰되었다. LUT 자원의 증가는 비동기 핸드쉐이크 컨트롤러에 추가된 지연 소자에 의해 발생된다. 논리 소자의 증가는 논리 전력 소비의 증가에 기여한다.
전역 클럭 버퍼 및 낮은 왜곡 클럭 신호 자원이 동기 코어에서 사용됨을 주목한다. FPGA 장비의 클럭 버퍼 및 신호 라인은 FPGA상의 칩 회로가 동작할 수 있는 최대 클럭 주파수를 제공하도록 설계되어야 한다. 따라서 장비 또는 장비의 일부분이 최대 주파수에서 동작하지 않는다면 FPGA 칩은 이러한 오버 설계 구성 때문에 전력을 낭비할 것이다. Virtex-5 장비의 동기 설계에서 전력 소비의 상당한 증가는 주로 전력 소모 구성요소들 때문이다. 이러한 결과는 고성능 및 고용량 FPGA에서 비동기 회로를 채택하여 전력 소모를 절약할 수 있다는 것을 의미한다.
한편, 저전력 Spartan-6에서, 클럭 라인은 저전력 소비를 위해 최적화되었다. 게다가, Spartan-6 장비는 아주 작은 로직 용량 및 와이어 자원을 가진 LX9 시리즈 모델이다. 낮은 로직 용량과 매우 제한된 자원으로 특정화된 이러한 칩에서, 비동기 프로세스 코어는 저전력을 소비하는 쇼트 와이어가 데이터 신호 및 비동기 지역 클럭을 라우팅하기 위해 충분하지 않기 때문에 더 많은 전력을 소비할 수 있다. 그럼에도 불구하고, 저전력 Spartan-6상에서의 비동기 프로세서의 설계는 앞서 정의된 대기 비율(idling-ratio)에 따른 이벤트 구동 동작 환경에서 더 좋은 해결책이 될 수 있다.
수학식 11에 기초한 단순화된 1차 분석은, 만약 대기 비율(idling-ratio)이 표 2에서 주어진 값(
Figure 112014075915680-pat00186
= (2.79 mW - 2.02 mW)/(
Figure 112014075915680-pat00187
) = 0.77 mW/(
Figure 112014075915680-pat00188
),
Figure 112014075915680-pat00189
= (6.28 mW 5.24 mW)/(
Figure 112014075915680-pat00190
) = 1.04 mW/(
Figure 112014075915680-pat00191
),
Figure 112014075915680-pat00192
= (6.78 mW - 5.35 mW)/(
Figure 112014075915680-pat00193
) = 1.43 mW/(
Figure 112014075915680-pat00194
) 및
Figure 112014075915680-pat00195
= 5.35 mW/(
Figure 112014075915680-pat00196
))인 0.38보다 크다면, 비동기 프로세서를 기초로 한 Spartan-6가 동기 프로세서 보다 전력을 덜 소모하는 것을 나타낸다.
이벤트 구동 환경에서 버스트 작업 특성은 특정된 시간 동안에는 어플리케이션 코드를 실행하고, 다른 특정된 시간 동안에는 아무것도 하지 않도록 설계된다. 인터럽트 기반의 시스템에서, 어플리케이션 코드는 새로운 데이터에 대한 새로운 인터럽트 신호를 기다리는 동안 버스트 작업 데이터로 인터럽트 처리를 완료한후, 인터럽트 코드가 코어 상에서 버스트 데이터를 처리하고, 그 다음 코어가 대기 상태로 돌아가도록 하기 위한 인터럽트 핸들러로 생각될 수 있다. 인터럽트 처리를 위한 런타임은 동작 시간(working phase time)으로 생각될 수 있고, 새로운 이벤트를 기다리는 대기 시간은 대기 시간(Idle phase time)으로 고려될 수 있다. 결과적으로, 이벤트 구동 환경에서 버스트 작업으로부터의 전력 이득의 평가는 동작 시간(working phase time)과 대기 시간(Idle phase time)에 의해 특정된 비율을 달리함으로써 수행될 수 있다.
동작 시간(working phase time)과 대기 시간(Idle phase time)의 영향을 평가하기 위하여, 비율 요소
Figure 112014075915680-pat00197
을 사용하며, 이러한 결과를 표 3에 나타내었다.
Figure 112014075915680-pat00198
표 3에 나타낸 바와 같이, 전력 소비는
Figure 112014075915680-pat00199
에 매우 선형적이다. 또한, 도 9는 대기 비율(idling-ratio)을 다양하게 변화함에 따른 전력 소비에 대한 그래프를 나타낸다. 전력 소비가 0.4보다 더 크면, 크로싱 포인트(Crossing Point)로 표시되고, 도 9에 따르면, 이 크로싱 포인트에서 값은 0.35와 0.4 사이의 값이 된다. 이에 따라, 본 발명의 실시예에 따른 비동기 프로세서가 낮은 전력 소비를 위해 더 나은 선택이 될 것임을 확인할 수 있다. 표 2에서 주어진 데이터를 식 11을 사용하여 간단하게 분석하여 파생한 값의 범위가 대기 비율 0.38을 포함하는 것에 주목하여야 한다.
전술한 바와 같이, 본 발명의 실시예에 따른 비동기 방식의 프로세서는 대응하는 동기 방식의 프로세서와 비교할 때, 고성능 Virtex-5상에서 정확하게 동작하고, 36.8%의 동적 전력 감소를 얻었다. 저용량 Spartan-6상에서, 25.6%의 전력이 더 소모되었지만, 이벤트 구동 작업 환경의 버스트 동작으로 인해 전력 감소가 이루어질 수 있다.
도 10은 본 발명의 실시예에 따른 다중주파수지연부를 설명하기 위한 도면이며, 도 11은 본 발명의 실시예에 따른 다중주사푸지연부의 주파수 변조를 설명하기 위한 도면이다.
도 10을 참조하면, 다중주파수지연부(500)는 기본적으로, 복수의 지연 소자를 포함하며, 복수의 지연 소자는 기본지연소자(510) 및 복수의 가변지연소자(520: 521, 522, 523, 524)를 포함한다. 또한, 다중주파수지연부(500)는 스케줄러(501)를 더 포함하며, 스케줄러는 다중화기(530), 가산기(540) 및 플립플롭(550)을 포함하여 구성된다.
본 발명의 실시예에 따른 다중주파수지연부(500)는 입력되는 클럭의 주파수를 다중 주파수로 변조하여 그 스펙트럼을 확산한다. 이러한 스펙트럼의 확산을 통해 EMI의 피크를 줄일 수 있다. 도 11에 도시된 변조 프로파일(modulation profile) A와 같이 수많은 주파수를 이용하여 스펙트럼을 확산시키기 위해서는, 위상 검출기, 전압 제어 발진기, 스펙트럼 확산 클럭 발생기에의 저역통과필터와 같은 아날로그 소자들을 사용해야 한다. 이러한 경우의 회로 설계는 높은 복잡도를 요구한다. 하지만, 본 발명은 도 11의 변조 프로파일(modulation profile) B와 같이 단지 몇 개의 주파수만을 이용하여 클럭의 주파수를 확산시킨다. 변조 프로파일 B는 3개의 주파수만을 이용한 예를 보인다. 이러한 경우, EMI의 피크치의 감소는 변조 프로파일 A에 비해 많지 않지만, 전술한 바와 같은 아날로그 소자들을 이용하지 않고, 디지털 소자들(510, 520, 530, 540, 550)만으로 다중주파수지연부(500)를 구성할 수 있어, 회로 설계의 복잡도를 줄일 수 있다. 이와 같이, 본 발명은 회로 복잡도를 줄이기 위해 변조된 주파수는 몇 개로 제한한다. 따라서 가변지연소자(520)는 회로 복잡도를 줄이기 위해 많은 수를 사용하지 않는다. 주파수를 변조하여 피크치를 낮추기 위해 가변지연소자(520)는 적어도 2개 사용한다. 하지만, 너무 많은 수를 사용할 필요는 없다. 예컨대, 가변지연소자(520)의 수는 적어도 2개를 사용하며, 바람직하게는 3개 내지 5개가 될 수 있다.
기본지연소자(510)는 파이프라인의 이전 스테이지로부터 수시되는 클럭 신호를 시간 지연하여 출력한다. 또한, 기본지연소자(510)에서 출력된 클럭 신호는 복수의 가변지연소자(520) 각각에 입력되며, 복수의 가변지연소자(520) 각각은 입력되는 클럭 신호를 서로 다른 시간 동안 지연하여 출력한다. 여기서, 가변지연소자(520)는 주파수 변조를 통해 스펙트럼을 확산하기 위한 것이다. 다중화기(530)는 복수의 가변지연소자(520)로부터 출력된 클럭 신호를 다중화하여 출력한다.
보다 구체적으로, 이 실시예에서는 가변지연소자(520)는 4개인 것으로 설명하지만, 가변지연소자(520)의 수는 변경될 수 있다. 제1 내지 제4 가변지연소자(521, 522, 523, 524)는 서로 병렬 연결된다. 또한, 제1 내지 제4 가변지연소자(521, 522, 523, 524)는 기본지연소자(510)에 연결된다. 제1 내지 제4 가변지연소자(521, 522, 523, 524)는 다중주파수지연부(500)에 입력되는 신호의 주파수를 변조하여 그 신호가 다중 주파수를 가지도록 한다. 여기서, 신호는 제1 내지 제4 가변지연소자(521, 522, 523, 524) 각각에 대응하여 다중의 변조된 주파수를 가진다. 이를 위하여, 제1 내지 제4 가변지연소자(521, 522, 523, 524) 각각은 기본지연소자(510)의 지연 시간과 소정의 차이를 가진다. 기본지연소자(510)의 지연을
Figure 112014075915680-pat00200
라 하고, 제1 내지 제4 가변지연소자(521, 522, 523, 524)의 지연을 각각
Figure 112014075915680-pat00201
,
Figure 112014075915680-pat00202
,
Figure 112014075915680-pat00203
Figure 112014075915680-pat00204
라 할 때, 지연 시간은 다음의 수학식 12를 만족하도록 구현된다.
Figure 112014075915680-pat00205
한편, 다중주파수지연부(500)는 기본지연소자(510)의 지연과 제1 내지 제4 가변지연소자(521, 522, 523, 524) 중 선택된 가변지연소자의 지연을 조합하여 그 시간 지연을 동적으로 가변한다. 이를 위하여, 스케줄러(501)는 복수의 가변지연소자(520) 중 적어도 2개를 선택하여 동작하도록 하는 선택 신호를 생성하고, 생성된 선택 신호를 다중화기(530)에 제공한다. 그러면, 다중화기(530)는 복수의 가변지연소자(520)의 출력 중 선택 신호에 따라 선택된 적어도 2개의 가변지연소자(520)로부터 출력된 시간 지연된 클럭 신호를 다중화한다. 이에 따라, 주파수의 스펙트럼이 확산된다. 그런 다음, 다중화기(530)는 다중화된 클럭 신호를 출력한다.
스케줄러(501)는 가산기(540) 및 복수의 플립플롭(550)을 포함한다. 플립플롭은 바람직하게, DQ 플립플롭이 될 수 있다. 도시된 바와 같이, 가산기(540)는 입력 신호(1)와 플립플롭(550)의 피드백을 가산한다. 플립플롭(550)은 가산기(540)로부터 입력에 따라 논리 연산을 통해 선택 신호를 출력한다. 가산기(540)는 지연 스케줄링을 위한 것이다. 가산기(540)는 지연이 선택 신호에 따라 동적으로 변경되도록 수신되는 모든 신호에서 '1'에 의해 다중화기(540)의 선택 신호를 증가시킨다. 즉, 선택되는 가변지연소자(520)의 수를 늘린다.
한편, 기본지연소자(510)와 제1 가변지연소자(521)은 임계 경로(critical path)이며,
Figure 112014075915680-pat00206
+
Figure 112014075915680-pat00207
는 임계 경로의 지연 시간이다. 다중주파수지연부(500)의 정확한 동작을 위해서는 다음의 수학식 13과 같은 타이밍 제약을 만족해야 한다.
Figure 112014075915680-pat00208
여기서,
Figure 112014075915680-pat00209
는 다중주파수지연부(500)의 입력으로부터 플립플롭(550)의 클럭 포트로까지의 지연이다. 또한,
Figure 112014075915680-pat00210
는 플립플롭(500)에서의 지연, 즉, 플립플롭(550)의 클럭 포트에서 q 출력(clock-to-q)까지의 출력 지연이다.
Figure 112014075915680-pat00211
는 플립플롭(550)의 출력(q 출력)으로부터 다중화기(530)에 입력될 때까지의 지연이고,
Figure 112014075915680-pat00212
는 다중화기(530)에서의 지연, 즉, 다중화기(530)의 내부 신호 확산을 안정화하기 위한 지연이다. 앞서 설명된 바와 같이,
Figure 112014075915680-pat00213
은 기본지연소자(510)의 지연,
Figure 112014075915680-pat00214
은 제1 가변지연소자(521)의 지연이다. 이러한 수학식 13에 따른 조건은 다중화기(530)의 선택이 다중화기(530)에 대한 입력 도달 전에 안정되는 것을 보장하기 위한 것이다.
도 12는 본 발명의 실시예에 따른 다중 주파수 클럭 신호를 가지는 파이프라인 회로로 구성된 프로세서의 일 예를 도시한 도면이다.
도 12는 본 발명의 실시예에 따라 각 파이프라인의 스테이지에 비동기 방식으로 지역 클럭을 제공하도록 구성된 프로세서의 일 예를 도시한 블록도이다.
여기서, 도 8에 도시된 프로세서는 본 발명의 실시예에 따른 파이프라인 회로의 일 예이다. 도시된 바와 같이, 복수의 조합연산부(400: IMEM, RF, ALU, DMEM, WB), 조합연산부(400) 사이에 배치되는 복수의 래치부(300: L1 내지 L5), 래치부에 지역 클럭을 제공하는 복수의 클럭제공부(300: HC) 및 복수의 클럭제공부(300) 사이에서 조합연산부(400)의 연산 시간이 보장되도록 시간을 지연하는 지연부(200:
Figure 112014075915680-pat00215
,
Figure 112014075915680-pat00216
,
Figure 112014075915680-pat00217
)를 포함한다. 여기서, 도 8과 비교했을 때, 지연부(200) 중 하나(
Figure 112014075915680-pat00218
)는 다중주파수지연부(500: ST-VDL)로 대체되었다.
그러면, 도 12에 도시된 예시적인 프로세서를 이용하여 본 발명의 효과를 설명하기로 한다. 도 13a 내지 도 13c는 본 발명의 실시예를 다른 실시예들과 비교하여 EMI 감소의 정보를 설명하기 위한 그래프이다.
도 13a 내지 도 13c에 50MHz에서 작동하는 프로세서 코어의 세가지 다른 버전에 대한 EMI를 나타내었다. 도 13a는 동기 방식의 프로세서에서의 EMI를 나타내며, 도 13b는 비동기 방식의 프로세서에서의 EMI를 나타낸다. 그리고 도 13c에 본 발명의 실시예에 따른 다중주파수지연부(500)를 포함하는 프로세서에 EMI를 나타내었다.
도 13a 내지 도 13c에서 30MHz에서 1.2GHz까지의 주파수 스펙트럼 범위를 관찰하였다. 도시된 바와 같이, 도 13a의 동기 방식의 프로세서의 경우, 67.25dBV의 피크 EMI가 관찰되었고, 몇몇 의사 EMI가 높은 주파수 스펙트럼 대역에서 관찰되었다. 도 13b의 비동기 방식의 프로세서의 경우, 62.08dBV가 피크 EMI로 관찰되었고, 이는 비동기 회로 설계를 통해 5.17dBV 감소됨을 나타낸다. 또한, 피크 EMI 감소 이외에, 도시된 것처럼 비동기의 경우에 700MHz 주변보다 높은 주파수 밴드에서 의사 EM 신호가 나타나지 않았다.
마지막으로, 도 13c에서 피크 EMI는 56.2dBV로 나타났으며, 이에 따라 동기 방식의 프로세서와 비동기 방식의 프로세서와 비교할 때 각각 11.05dB, 5.88dB의 감소를 보인다. 또한, 도 13c에 보인바와 같이, 600MHz보다 높은 주파수 스펙트럼에서 눈에 띄는 EMI가 관찰되지 않았다. 이는 IC 칩으로부터 EMI 방사를 줄이기 위해 본 발명의 다중주파수지연부(500)이 매우 효과적임을 나타낸다. 또한, 이는 EMI가 본 발명의 비동기 회로에서도 더욱 효과적으로 억제될 수 있음을 나타낸다.
본 발명에 따른 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Versatile Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리, SSD(Solid State Disk), HDD(Hard Disk Drive) 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
11, 12, 13: AND 게이트 14: OR 게이트
100, 101, 102, 103, 104: 클럭제공부 110, 111, 112: C소자
200, 201, 202, 203, 204: 지연부
211, 212, 213, 214: 지연 AND 게이트
300, 301, 302, 303, 304: 래치부
400, 401, 402, 403, 404: 조합논리부
500: 다중주파수지연부 501: 스케줄러
510: 기본지연소자
520, 521, 522, 523, 524: 가변지연소자
530: 다중화기 540: 가산기
550: 플립플롭

Claims (5)

  1. 복수의 스테이지로 구분되는 파이프라인 방식으로 배치되어 상기 파이프라인의 각 스테이지의 데이터를 논리 연산하는 복수의 조합논리부;
    상기 복수의 조합논리부 사이에 배치되어 이전 스테이지의 조합논리부에서 출력된 데이터를 다음 스테이지의 조합논리부로 전달하는 복수의 래치부;
    상기 복수의 래치부 각각에 비동기 방식으로 클럭 신호를 제공하며, 다음 스테이지의 동작이 진행되도록 요청하는 클럭 신호를 전송하는 복수의 클럭제공부; 및
    상기 요청하는 클럭 신호를 시간 지연하여 다음 스테이지로 전달하되, EMI(Electromagnetic interference)의 피크를 낮추도록 입력되는 클럭 신호의 주파수를 미리 설정된 수 이하로 변조하여 확산시키는 적어도 하나의 다중주파수지연부;를 포함하며,
    상기 다중주파수지연부는 상기 클럭 신호를 시간 지연하여 출력하는 기본지연소자와, 상기 기본지연소자에서 출력된 클럭 신호를 각각이 서로 다른 시간 동안 지연하여 출력하는 복수의 가변지연소자와, 상기 복수의 가변지연소자로부터 출력된 클럭 신호를 다중화하여 출력하는 다중화기를 포함하고,
    상기 복수의 가변지연소자는 제1, 제2, 제3 및 제4 가변지연소자를 포함하며, 상기 기본지연소자 및 상기 제1 내지 제4 가변지연소자는 다음의 수학식을 만족하는 것을 특징으로 하는 파이프라인 회로 장치.
    Figure 112016003969211-pat00258
    <
    Figure 112016003969211-pat00259
    <
    Figure 112016003969211-pat00260
    <
    Figure 112016003969211-pat00261
    <
    Figure 112016003969211-pat00262

    여기서,
    Figure 112016003969211-pat00263
    는 기본지연소자의 지연 시간,
    Figure 112016003969211-pat00264
    은 제1 가변지연소자의 지연 시간,
    Figure 112016003969211-pat00265
    은 제2 가변지연소자의 지연 시간,
    Figure 112016003969211-pat00266
    은 제3 가변지연소자의 지연 시간,
    Figure 112016003969211-pat00267
    은 제4 가변지연소자의 지연 시간
  2. 삭제
  3. 제1항에 있어서,
    상기 다중주파수지연부는 복수의 가변지연소자 중 적어도 2개를 선택하여 동작하도록 하는 선택 신호를 생성하여, 상기 선택 신호를 상기 다중화기에 제공하는 스케줄러;를 더 포함하며,
    상기 스케줄러는 입력 신호와 복수의 플립플롭의 피드백을 가산하는 가산기; 및 상기 가산기로부터 입력에 따라 논리 연산을 통해 상기 선택 신호를 출력하는 상기 복수의 플립플롭;을 포함하는 것을 특징으로 하는 파이프라인 회로 장치.
  4. 제1항에 있어서,
    상기 다중주파수지연부의 시간 지연은 다음의 수학식을 만족하는 것을 특징으로 하는 파이프라인 회로 장치.
    Figure 112016003969211-pat00219
    +
    Figure 112016003969211-pat00220
    +
    Figure 112016003969211-pat00221
    +
    Figure 112016003969211-pat00222
    <
    Figure 112016003969211-pat00223
    +
    Figure 112016003969211-pat00224

    여기서,
    Figure 112016003969211-pat00268
    는 기본지연소자의 지연 시간,
    Figure 112016003969211-pat00269
    은 제1 가변지연소자의 지연 시간,
    Figure 112016003969211-pat00225
    는 다중주파수지연부의 입력으로부터 플립플롭의 클럭 포트로까지의 지연,
    Figure 112016003969211-pat00226
    는 플립플롭에서의 지연,
    Figure 112016003969211-pat00227
    는 플립플롭의 출력으로부터 다중화기에 입력될 때까지의 지연,
    Figure 112016003969211-pat00228
    는 다중화기에서의 지연.
  5. 삭제
KR1020140104004A 2014-08-11 2014-08-11 다중 주파수 클럭을 가지는 파이프라인 회로 장치 KR101621761B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140104004A KR101621761B1 (ko) 2014-08-11 2014-08-11 다중 주파수 클럭을 가지는 파이프라인 회로 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140104004A KR101621761B1 (ko) 2014-08-11 2014-08-11 다중 주파수 클럭을 가지는 파이프라인 회로 장치

Publications (2)

Publication Number Publication Date
KR20160019335A KR20160019335A (ko) 2016-02-19
KR101621761B1 true KR101621761B1 (ko) 2016-05-17

Family

ID=55448766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140104004A KR101621761B1 (ko) 2014-08-11 2014-08-11 다중 주파수 클럭을 가지는 파이프라인 회로 장치

Country Status (1)

Country Link
KR (1) KR101621761B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3165378A1 (en) * 2021-10-09 2023-04-09 Nan Li Pipeline clock driving circuit, computing chip, hashboard and computing device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120072125A (ko) 2010-12-23 2012-07-03 한국전자통신연구원 지연 회로, 이를 이용한 fpga에서의 비동기 회로 시뮬레이션 장치 및 그 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jeong-Gun LEE, "Asynchronous Circuit Designs on an FPGA for Targeting a Power/Energy Efficient SoC", IEICE Transactions on Electronics, Vol. 97 (2014.01.)

Also Published As

Publication number Publication date
KR20160019335A (ko) 2016-02-19

Similar Documents

Publication Publication Date Title
Lin et al. Design and performance evaluation of radiation hardened latches for nanoscale CMOS
US8572539B2 (en) Variability-aware scheme for high-performance asynchronous circuit voltage regulation
JP3560997B2 (ja) マイクロプロセッサ回路
EP3465911B1 (en) Low clock power data-gated flip-flop
US5444407A (en) Microprocessor with distributed clock generators
US10075153B2 (en) Low-power clock-gated synchronizer, a data processing system that incorporates the same and a synchronization method
US8493108B2 (en) Synchronizer with high reliability
US7958476B1 (en) Method for multi-cycle path and false path clock gating
Tu et al. Low-power timing closure methodology for ultra-low voltage designs
KR101621761B1 (ko) 다중 주파수 클럭을 가지는 파이프라인 회로 장치
Krstic et al. Asynchronous and GALS design-overview and perspectives
Huang et al. Computation-skip error mitigation scheme for power supply voltage scaling in recursive applications
KR101621760B1 (ko) 비동기 클럭을 가지는 파이프라인 회로 장치
Dasgupta et al. Comparative analysis of GALS clocking schemes
JP2023538648A (ja) 集積回路のリセット方法及び集積回路
Thuraka et al. Design of general purpose microprocessor with an improved performance self-sleep circuit
Liu et al. Fault-duration and-location aware ced technique with runtime adaptability
Sherrill et al. Reducing power consumption in asynchronous MTNCL circuits through selective sleep
US7010072B2 (en) Aligned clock forwarding scheme
Gul et al. Synchronously triggered GALS design templates leveraging QDI asynchronous interfaces
Kudo et al. Comparison of Pipelined Asynchronous Circuits Designed for FPGA
Hasan et al. An all-digital skew-adaptive clock scheduling algorithm for heterogeneous multiprocessor systems on chips (MPSoCs)
Van Toan et al. A GALS design based on multi-frequency clocking for digital switching noise reduction
Rawat et al. A Novel Low-Power Design Approach to Exploit the Power Usage of AMBA APB Bridge
Kulkarni et al. Power Optimization of a 32-Bit ALU Using Distributed Clock Gating Technique

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 4