KR101971472B1 - 저전력 구현을 위한 순차회로 설계방법 - Google Patents

저전력 구현을 위한 순차회로 설계방법 Download PDF

Info

Publication number
KR101971472B1
KR101971472B1 KR1020140190703A KR20140190703A KR101971472B1 KR 101971472 B1 KR101971472 B1 KR 101971472B1 KR 1020140190703 A KR1020140190703 A KR 1020140190703A KR 20140190703 A KR20140190703 A KR 20140190703A KR 101971472 B1 KR101971472 B1 KR 101971472B1
Authority
KR
South Korea
Prior art keywords
flip
flops
matrix
circuit
clock
Prior art date
Application number
KR1020140190703A
Other languages
English (en)
Other versions
KR20160079402A (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 KR1020140190703A priority Critical patent/KR101971472B1/ko
Publication of KR20160079402A publication Critical patent/KR20160079402A/ko
Application granted granted Critical
Publication of KR101971472B1 publication Critical patent/KR101971472B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

본 발명은 반도체 회로 설계에 관한 것으로, 특히 저전력 구현을 위한 순차회로 설계방법과 그 방법에 사용되는 클럭 게이팅 회로에 관한 것으로, 설계하고자 하는 순차회로를 구성하는 각 플립플롭들에 대하여 클럭 인가에 따른 토글 횟수를 카운트해 놓은 토글 매트릭스를 생성하는 단계와, 상기 토글 매트릭스 데이터를 참조하여 각 플립플롭간의 상관 관계를 계산해 놓은 동적 이벤트 매트릭스를 생성하는 단계와, 상기 플립플롭들의 집합중 최소 토글 횟수를 가지는 플립플롭을 우선 선택하여 가상의 클러스터 그룹에 추가하고, 추가된 플립플롭과 상관 관계가 큰 플립플롭을 상기 동적 이벤트 매트릭스에서 찾아 상기 가상의 클러스터 그룹에 재추가하는 방식으로 가상의 클러스터 그룹을 순차적으로 생성하는 단계와, 상기 가상의 클러스터 그룹 생성단계에서 추가된 하나 이상의 플립플롭들을 클럭 게이팅 회로에 연결하여 절감 전력값을 계산하고, 계산된 절감 전력값에 따라 상기 가상의 클러스터 그룹에 속한 플립플롭들을 진정한 클러스터 그룹으로 재분류하는 방식으로 상기 순차회로를 구성하는 모든 플립플롭을 다수의 그룹으로 클러스터화하는 단계;를 포함함을 특징으로 한다.

Description

저전력 구현을 위한 순차회로 설계방법{SEQUENTIAL CIRCUIT DESIGN METHOD}
발명은 반도체 회로 설계에 관한 것으로, 특히 저전력 구현을 위한 순차회로 설계방법과 그 방법에 사용되는 클럭 게이팅 회로에 관한 것이다.
최근 수억 개의 트랜지스터로 구성되는 반도체 칩의 가장 큰 문제점은 소모 전력의 절감에 있다. 특히, 휴대폰 등의 휴대기기는 전원 공급 장치인 2차 전지의 발전 속도보다 많은 전력 소모를 하고 있어서 반도체 칩에서 소모되는 전력 절감을 위한 많은 기술이 고안되고 있다.
소모 전력의 절감을 위하여 많은 연구와 기술이 개발되었으나, 최근에는 반도체 회로에서 가장 많은 소모 전력(통계적으로 개략 30-40%선)을 사용하는 회로인 클럭 회로의 개선을 통하여 소모 전력을 절감하는 기술, 즉 클럭 게이팅 기술을 개발하여 적용하고 있다.
일반적으로 반도체 칩을 구성하는 회로는 조합논리회로(combinational circuit), 순차회로(sequential circuit), 회로를 연결하는 버스 및 동작의 동기를 제공하기 위한 클럭회로(clock distribution network)로 구성된다.
조합논리회로는 주로 기능의 구현을 담당하고, 순차회로는 플립플롭(flip-flop), 래치(latch) 등과 같이 기능을 임시 또는 출력을 위하여 저장하는 역할을 담당한다.
반도체 칩에서 전력 소모가 가장 큰 회로는 클럭에 의해 동작하는 순차회로이다. 회로가 동작할 때 전력의 30%-40%를 순차회로에서 소모하게 된다. 따라서 클럭으로 동작하는 순차회로의 전력 소모를 절감시키는 것이 반도체 칩의 전력 소모를 절감시키는 것이다.
클럭 게이팅 기술은 순차회로가 클럭을 기반으로 동작하기 때문에 순차회로에 클럭을 인가하는 회로를 구성하여 전력소모를 대폭적으로 개선하는 기술이다. 클럭 게이팅 기술은 도 1에 도시한 바와 같이, 순차회로의 입력과 출력을 비교하여 입출력이 같은 경우에는 순차회로를 비활성화시켜 소모 전력을 절감하는 방법이다.
그러나 순차회로의 동적 동작 특성을 고려함이 없이 단순히 클럭 게이팅 기술을 적용하여 반도체 회로의 소모 전력을 절감시키는 방법은 한계가 있기 때문에, 순차회로 설계시 설계하고자 하는 순차회로를 구성하는 소자들의 동적 동작 특성을 분석하여 유사한 특성을 가지는 소자들을 그룹화하고, 각 그룹별로 동일한 클럭 게이팅 회로를 사용한다면, 보다 큰 소모 전력 절감효과를 얻을 수 있을 것으로 판단된다.
대한민국 공개특허공보 10-2008-0052225호 대한민국 공개특허공보 10-2011-0113551호
이에 본 발명은 상술한 착상에 따라 창안된 발명으로써, 동적 동작 특성이 유사한(상관 관계가 높은) 플립플롭들을 클러스터하고, 각 클러스터에 속하는 플립플롭들이 동일한 클럭 게이팅 회로에 의해 동작하게 함으로서 소모 전력을 절감시킬 수 있는 저전력 구현을 위한 순차회로 설계방법을 제공함에 있으며,
더 나아가 본 발명의 또 다른 목적은 소모 전력을 절감시킬 수 있는 순차회로 설계방법에 이용 가능한 클럭 게이팅 회로를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 저전력 구현을 위한 순차회로 설계방법은,
설계하고자 하는 순차회로를 구성하는 각 플립플롭들에 대하여 클럭 인가에 따른 토글 횟수를 카운트해 놓은 토글 매트릭스를 생성하는 단계와;
상기 토글 매트릭스 데이터를 참조하여 각 플립플롭간의 상관 관계를 계산해 놓은 동적 이벤트 매트릭스를 생성하는 단계와;
상기 플립플롭들의 집합중 최소 토글 횟수를 가지는 플립플롭을 우선 선택하여 가상의 클러스터 그룹에 추가하고, 추가된 플립플롭과 상관 관계가 큰 플립플롭을 상기 동적 이벤트 매트릭스에서 찾아 상기 가상의 클러스터 그룹에 재추가하는 방식으로 가상의 클러스터 그룹을 순차적으로 생성하는 단계와;
상기 가상의 클러스터 그룹 생성단계에서 추가된 하나 이상의 플립플롭들을 클럭 게이팅 회로에 연결하여 절감 전력값을 계산하고, 계산된 절감 전력값에 따라 상기 가상의 클러스터 그룹에 속한 플립플롭들을 진정한 클러스터 그룹으로 재분류하는 방식으로 상기 순차회로를 구성하는 모든 플립플롭을 다수의 그룹으로 클러스터화하는 단계;를 포함함을 특징으로 한다.
더 나아가 클러스터화된 다수의 상기 그룹 각각에 클럭 게이팅 회로를 연결하는 단계;를 더 포함함을 또 다른 특징으로 한다.
한편 상술한 순차회로 설계방법에 있어서, 상기 절감 전력값은 상기 클럭 게이팅 회로에 의해서 절감된 소모 전력값에서 상기 클럭 게이팅 회로에 의해서 소모된 전력값을 차감하여 산출됨을 특징으로 하며,
상기 순차회로 설계방법에 이용 가능한 클럭 게이팅 회로는,
플립플롭의 입력과 출력을 배타적 논리합하기 위한 하나 이상의 제1게이팅부와;
상기 하나 이상의 제1게이팅부 출력을 논리합하기 위한 제2게이팅부와;
상기 제2게이팅부의 출력을 인가 클럭에 따라 래치 출력하기 위한 래치부와;
상기 래치부 출력과 상기 클럭은 논리곱하여 상기 플립플롭의 클럭단으로 전달하기 위한 제3게이팅부;를 포함함을 특징으로 한다.
상술한 바와 같은 본 발명의 실시예에 따르면, 본 발명은 동적 동작 특성이 유사한(상관 관계가 높은) 플립플롭들을 클러스터하고, 각 클러스터에 속하는 플립플롭들이 할당된 클럭 게이팅 회로에 의해 동작하게 함으로서, 동적 동작 특성이 고려되지 않은 채 단순히 클럭 게이팅 회로가 적용된 종전의 반도체 회로들보다 높은 소모 전력 절감효과를 얻을 수 있다.
도 1과 도 2는 일반적인 클럭 게이팅 회로가 부가된 회로 및 타이밍도를 도시한 도면.
도 3은 본 발명의 실시예에 따른 저전력 구현을 위한 순차회로 설계 방법을 설명하기 위한 동작 흐름 예시도.
도 4는 본 발명의 실시예에 따른 클럭 게이팅 회로가 부가된 회로 예시도.
도 5는 도 6은 본 발명의 실시예를 설명하기 위해 필요한 신호 타이밍 예시도.
도 7은 본 발명의 실시예에 따라 설계된 반도체 회로의 소모 전력 예시 표
이하 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 관련된 공지 기능 혹은 구성이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.
도 3은 본 발명의 실시예에 따른 저전력 구현을 위한 순차회로 설계 방법을 설명하기 위한 동작 흐름도를 예시한 것이며, 도 4는 본 발명의 실시예에 따른 클럭 게이팅 회로가 부가된 회로도를 예시한 것이며, 도 5는 도 6은 본 발명의 실시예를 설명하기 위해 필요한 신호 타이밍도를 각각 예시한 것이다.
우선 도 4에 도시한 바와 같이 K개의 플립플롭(FF)을 클러스터화하여 클럭 게이팅 회로를 연결하면 전력 소모 감소 효과를 얻을 수 있다. 이러한 방법이 최적의 방법인 듯하지만 개선점이 있다. 동 방법의 문제점은 상호 상관 관계를 고려하지 않았다는 점이다. 가령 K=3일 경우, 플립플롭 FF1, FF2 및 FF3의 토글 횟수가 도 4에 도시한 바와 같다면, FF1과 FF3는 같은 토글 횟수를 가지며, FF2는 2개의 토글이 더 많다. 도 4와 같은 클럭 파형에서, 총 토글 횟수 대비 FF1, FF2, FF3의 토글 횟수는 TR(1)=4/14, TR(2)=6/14, TR(3)=4/14로 표기한다.
소모 전력의 최적화를 찾기 위한 방안으로 토글 횟수에 의하여 클러스터화하면 {FF1, FF3, FF2}로 정렬되고, {FF1, FF3}가 클러스터되어 동일 클럭 게이팅 회로 의해 동작한다. 하지만 도 5에 도시한 바와 같이, {FF1, FF3}보다는 {FF1, FF2}를 클러스터화할 경우 소모 전력 절감효과가 더욱 크기 때문에(토글 횟수가 적음) 보완할 필요가 있다. 따라서 이를 보완하기 위한 방안이 필요하며, 이를 위해 본 발명의 실시예에서는 동적 이벤트 매트릭스를 이용하였다. 참고적으로 본 발명의 실시예에서 '이벤트'라 함은 회로의 출력단 값이 변동된 경우를 지칭하는 것으로 정의하기로 한다.
동적 이벤트 매트릭스는 반도체 회로에서 실제 동작시 플립플롭들의 상호 상관 관계를 추출한 것이다. 동작시 플립플롭의 상관 관계에 대한 정의는 주어진 입력값을 이용하고, 입력 값이 유효한 시간(t) 동안에 플립플롭들 사이의 토글 횟수의 상관 관계를 의미한다. 즉, 주어진 입력값이 유효할 때, 각 플립플롭들의 토글 횟수와 토글 패턴의 유사성을 발견하여 플립플롭들을 클러스터화하는 것이 기본 개념이다. 플립플롭의 토글 횟수가 현격한 차이를 보일때는, 유사성이 없다고 판단하는 것이다.
한편, 동적 이벤트 매트릭스의 구성은 동적 동작에 따라서 구하며, RTL 시뮬레이터의 결과물인 VCD(Value Change Dump)를 이용한다.
Figure 112014126416357-pat00001
Figure 112014126416357-pat00002
는 각 플립플롭의 토글 횟수, k는 k번째 시뮬레이션 결과를 나타내며,
Figure 112014126416357-pat00003
는 i번째 플립플롭의 토글 횟수, N은 플립플롭의 번호를 나타낸다.
상관 관계의 N*N은 이벤트 상관 매트릭스
Figure 112014126416357-pat00004
로 표현된다.
매트릭스
Figure 112014126416357-pat00005
의 각 열은
Figure 112014126416357-pat00006
로 표시할 수 있고,
Figure 112014126416357-pat00007
는 i번째 플립플롭의 k회의 시뮬레이션에 의한 토글 횟수이며, M은 시뮬레이션 총 횟수이다. M횟수의 시뮬레이션 이후 생성되는 매트릭스는 플립플롭 회로의 동적 상관 관계를 표시하며, 대칭 매트릭스이 특성과 사선의 값은 1이다.
상술한 부연 설명에 기반하여 본 발명의 실시예에 따른 순차회로 설계방법을 도 3을 참조하여 설명하면,
본 발명의 실시예에 따른 순차회로(이 순차회로는 반도체 회로의 예시에 불과하며 클럭에 의해 동작하는 셀일 수도 있다) 설계방법은 첫 번째 단계로서, 설계하고자 하는 순차회로를 구성하는 각 플립플롭들에 대하여 클럭 인가에 따른 토글 횟수를 카운트해 놓은 토글 매트릭스를 생성(S10단계)한다.
본 발명의 실시예에서는 설계하고자 하는 순차회로를 구성하는 플립플롭의 수는 3(FF1, FF2, FF3)개인 것으로 가정하기로 하며, 시뮬레이션 결과인 VCD를 이용하여 순차회로를 구성하는 각 플립플롭의 토글 횟수를 카운트(계산)하여 하기 표 1과 같은 토글 매트릭스를 생성한다. 하기 표 1의 토글 매트릭스는 도 5에 도시된 신호 파형에 기초한 것이다. VCD는 RTL 회로 시뮬레이션으로 얻어지는 결과 파일로 반도체 회로 설계에 통상적으로 사용되는 것이므로, 그에 대한 상세 설명은 생략하기로 한다.
클럭번호 클럭 횟수 FF1 토글 횟수 FF2 토글 횟수 FF3 토글 횟수
1 1-2 1 1 0
2 3-4 1 1 0
3 5-6 1 1 0
4 7-8 1 1 1
5 9-10 0 0 1
6 11-12 0 2 0
7 13-14 0 0 2
토글 매트릭스가 생성되면 상기 토글 매트릭스 데이터를 참조하여 각 플립플롭간의 상관 관계를 계산해 놓은 동적 이벤트 매트릭스를 생성(S20단계)한다.
상기 동적 이벤트 매트릭스는 플립플롭간의 상호 상관관계를 구성한다. 동적 이벤트 매트릭스는 우선적으로 각 플립플롭간 토글 횟수 차이를 합산하는 방식으로 플립플롭간 상관 관계계수를 계산해 놓은 플립플롭간 상관 관계 매트릭스를 생성한다.
플립플롭간 상관 관계계수(Correlation(FFx, FFv)는 하기 수식에 의해 구해지며 이를 하기 표 2와 같이 나열해 놓은 것이 플립플롭간 상관 관계 매트릭스이다.
Correlation(FF1,FF2)=ABS(1-1)+ABS(1-1)+ABS(1-1)+ABS(1-1)+ABS(0-0)+ABS(0-2)+ABS(0-0)= 2
Correlation(FF1,FF3)=ABS(1-0)+ABS(1-0)+ABS(1-0)+ABS(1-1)+ABS(0-1)+ABS(0-0)+ABS(0-0)= 6
플립플롭 FF1 FF2 FF3
FF1 0 2 6
FF2 2 0 0
FF3 6 8 0
상기 플립플롭간 상관 관계 매트릭스가 작성되면 이를 정규화하여 최종 동적 이벤트 매트릭스를 생성하되, 동적 이벤트 매트릭스를 구성하는 상관 관계계수(A)는 하기 수식에 의해 산출되며, 이에 따라 만들어진 동적 이벤트 매트릭스의 예가 하기 표 3이다.
A = B/C
A는 비교대상인 플립플롭간의 상관 관계계수.
B는 (플립플롭간 상관 관계 매트릭스중 최대값) - (비교대상인 플립플롭간 상관 관계계수 차이값의 합).
C는 플립플롭간 상관 관계 매트릭스중 최대값.
상기 표 2에 근거하여 동적 이벤트 매트릭스를 구성하는 상관 관계계수 산출과정을 예시하면 하기와 같다.
Correlation(FF1, FF2) = {플립플롭간(FF1,FF2) 상관 관계 매트릭스 중 최대값} - (비교대상인 플립플롭간(FF1,FF2) 상관 관계계수 차이값의 합}/플립플롭간 상관 관계 매트릭스중 최대값 = {8-2}/8 = 3/4.
Correlation(FF1, FF3) = {플립플롭간(FF1,FF3) 상관 관계 매트릭스 중 최대값} - (비교대상인 플립플롭간(FF1,FF3) 상관 관계계수 차이값의 합}/플립플롭간 상관 관계 매트릭스중 최대값 = {8-6}/8 = 1/4.
Correlation(FF2, FF3) = {플립플롭간(FF2,FF3) 상관 관계 매트릭스 중 최대값} - (비교대상인 플립플롭간(FF2,FF3) 상관 관계계수 차이값의 합}/플립플롭간 상관 관계 매트릭스중 최대값 = {8-8}/8 = 0/4
플립플롭 FF1 FF2 FF3
FF1 1 3/4 1/4
FF2 3/4 1 0
FF3 1/4 0 1
상술한 방법에 의해 토글 매트릭스와 동적 이벤트 매트릭스가 생성되면, 이후 순차회로를 구성하는 플립플롭들의 집합중 최소 토글 횟수를 가지는 플립플롭을 토글 매트릭스에서 우선 선택하여 가상의 클러스터 그룹에 추가하고, 추가된 플립플롭과 상관 관계가 큰 플립플롭을 상기 동적 이벤트 매트릭스에서 찾아 상기 가상의 클러스터 그룹에 재추가하는 방식으로 가상의 클러스터 그룹을 순차적으로 생성(S30단계)한다.
단, 상기 가상의 클러스터 그룹 생성단계에서 추가된 하나 이상의 플립플롭들을 도 4에 도시된 클럭 게이팅 회로에 연결하여 절감 전력값(
Figure 112014126416357-pat00008
)을 계산(S40단계)하고, 계산된 절감 전력값(
Figure 112014126416357-pat00009
)에 따라(기준치와 비교, S50단계) 상기 가상의 클러스터 그룹에 속한 플립플롭들을 진정한 클러스터 그룹으로 재분류(S60단계)하는 방식으로 순차회로를 구성하는 모든 플립플롭을 다수의 그룹으로 클러스터화한다.
이를 보다 구체적으로 부연 설명하면,
우선 클럭 게이팅 회로에 의하여 절약되는 소모 전력의 실제 값을 구해야 한다. 소모 전력을 계산하기 위해서는 클럭 게이팅 회로로 말미암아 발생되는 부가회로에 의한 전력 소모의 값을 정확히 계산 적용하여야 실제 회로상의 소모 전력을 구할 수 있다. 도 4는 클럭 게이팅 회로가 부가된 회로를 도시한 것으로, 부가된 회로는 배타적 논리합 회로인 제1게이팅부(XOR 게이트), 논리합 회로인 제2게이팅부(OR 게이트), 래치 회로 및 논리곱 회로인 제3게이팅부(AND 게이트)이며, 각각에서 소모되는 전력은 다음과 같이 구할 수 있다.
Figure 112014126416357-pat00010
Figure 112014126416357-pat00011
는 토글 레이트를 나타내며,
Figure 112014126416357-pat00012
은 부하의 커패시턴스 값,
Figure 112014126416357-pat00013
는 단선 때의 커패시턴스 값, f는 동작주파수,
Figure 112014126416357-pat00014
는 공급전압을 나타낸다.
플립플롭은 일반적으로 4개의 단계로 동작한다. 첫째(Ⅰ)는 입력과 클럭이 변동하는 경우, 둘째(Ⅱ)는 클럭은 변하고 입력 변동이 없는 경우, 셋째(Ⅲ)는 입력이 변하고 클럭은 변동이 없는 경우, 넷째(Ⅳ)는 입력과 클럭 변동이 없는 경우로 구분할 수 있다. 유효 토글은 입력과 출력이 변하는 단계가 영향을 미친다.
따라서, 유효 플립플롭의 토글 레이트
Figure 112014126416357-pat00015
이다.
Figure 112014126416357-pat00016
는 단계 i의 클럭 토글 레이트,
Figure 112014126416357-pat00017
는 단계 i의 입력 데이터 토글 레이트이며, 단계 i는 플립플롭의 4가지(Ⅰ- Ⅳ)동작 유형을 나타낸 것이다.
그리고, 클럭 게이팅 회로는 클럭의 토글을 제거하기 위하여 설계된 개념이기 때문에, 플립플롭의 동작 단계 Ⅱ에서 가장 큰 전력 소모 효과를 발휘한다. 따라서 Ⅱ단계에서의 유효 토글 레이트는
Figure 112014126416357-pat00018
로 표현할 수 있다.
또한 단계 Ⅱ의 동작은 단순 증가함수이기 때문에,
Figure 112014126416357-pat00019
는 리니어 함수로 표현할 수 있다. 따라서
Figure 112014126416357-pat00020
로 표현되고, 소모되는 전력값은
Figure 112014126416357-pat00021
이며, 클럭 게이팅 회로에 의해 절감되는 소모 전력은 하기 수식으로 표현 가능하다.
Figure 112014126416357-pat00022
Figure 112014126416357-pat00023
은 회로의 셀라이브러리에 의해 표기되는 값이다. 그리고 도 4에 부가된 회로에 의해 소모되는 전력은,
Figure 112014126416357-pat00024
Figure 112014126416357-pat00025
Figure 112014126416357-pat00026
Figure 112014126416357-pat00027
Figure 112014126416357-pat00028
를 취합하면 다음과 같은 수식으로 표현된다.
Figure 112014126416357-pat00029
요약하면, 가상의 클러스터 그룹 생성단계에서 추가된 하나 이상의 플립플롭들을 도 4에 도시된 클럭 게이팅 회로에 연결하여 계산되는 절감 전력값(
Figure 112014126416357-pat00030
)은 상기 클럭 게이팅 회로에 의해서 절감된 소모 전력값에서 상기 클럭 게이팅 회로에 의해서 소모된 전력값을 차감하여 산출된다.
Figure 112014126416357-pat00031
만약 계산된 절감 전력값(
Figure 112014126416357-pat00032
)이 양수(미리 설정된 기준치에 해당함)이면 상기 가상의 클러스터 그룹에 추가된 플립플롭들은 같은 클러스터 그룹에 속하게 된다. 이때 클러스터 그룹에 추가된 플립플롭들은 순차회로를 구성하는 플립플롭들의 집합에서 제외된다.
이와 같은 방법으로 플립플롭들의 집합에 남아 있는 플립플롭이 없을 때까지, 즉 순차회로를 구성하는 모든 플립플롭들을 다수의 그룹으로 클러스터화 한 후, 클러스터화된 다수의 그룹 각각에 클럭 게이팅 회로를 연결하는 방식으로 저전력 순차회로를 설계한다.
이와 같이 본 발명은 반도체 회로의 일예인 순차회로에서 생성한 동적 이벤트 매트릭스와 절감 전력값을 이용하여 다수의 플립플롭들을 클러스터 그룹으로 분류할 수 있으며, 분류된 각 클러스터 그룹은 그룹별로 할당된 클럭 게이팅 회로에 의해 동작 가능하기 때문에 최대의 전력 소모 절감 효과를 얻을 수 있다.
본 발명의 실시예에 따른 순차회로 설계 방법의 효과를 입증하기 위한 반도체 회로의 소모 전력 비교표를 도 7에 첨부하였다.
본 발명의 실시예에 따라 설계된 회로의 성능 평가와 측정을 위하여 표준화된 IEEE산하 기관인 ISCAS89 벤치마크 회로를 사용하여 성능 비교와 측정을 수행하였다. ISCAS89 벤치마크회로는 89년도에 IEEE에서 제정된 회로로써, 회로 분석의 성능평가를 위하여 통상적으로 사용되는 권위 있는 회로이다.
벤치마크 결과에서 'Original"은 클럭 게이팅 회로 기법을 사용하지 않은 전력 소모량이고, 'ACG' 칼럼의 파워 소모 값은 반도체 설계에서 많이 사용되는 상용 SW인 시놉시스사의 'Design Compiler'를 이용하여 얻어진 값이다.
벤치마크 결과는 'Original", "ACG" 대비하여 모든 회로에서 소모 전력의 절감효과가 있다는 것을 보여 주고 있다. 벤치마크 표의 '성능향상 비율'은 각 회로의 종류에 대하여 클럭 게이팅 기술이 적용되지 않은 일반회로와 본 발명에 따른 회로의 소모 전력량 비율을 표시한 것으로, 총 30개의 벤치마크 회로를 비교한 결과 평균 28.3%의 소모 전력 절감 효과가 있음을 보여주고 있다. 특히 1,000개 이상의 플립플롭으로 구성된 회로에서 평균이상의 소모 전력 절감효과가 있다는 것은 매우 고무적인 결과이다.
이상 본 발명은 도면에 도시된 실시예들을 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.

Claims (6)

  1. 설계하고자 하는 순차회로를 구성하는 각 플립플롭들에 대하여 클럭 인가에 따른 토글 횟수를 카운트해 놓은 토글 매트릭스를 생성하는 단계와;
    상기 토글 매트릭스의 데이터를 참조하여 각 플립플롭간의 상관 관계를 계산해 놓은 동적 이벤트 매트릭스를 생성하는 단계와;
    상기 플립플롭들의 집합중 최소 토글 횟수를 가지는 플립플롭을 우선 선택하여 가상의 클러스터 그룹에 추가하고, 추가된 플립플롭과 상관 관계가 큰 플립플롭을 상기 동적 이벤트 매트릭스에서 찾아 상기 가상의 클러스터 그룹에 재추가하는 방식으로 가상의 클러스터 그룹을 순차적으로 생성하는 단계와;
    상기 가상의 클러스터 그룹 생성단계에서 추가된 하나 이상의 플립플롭들을 클럭 게이팅 회로에 연결하여 절감 전력값을 계산하고, 계산된 절감 전력값에 따라 상기 가상의 클러스터 그룹에 속한 플립플롭들을 진정한 클러스터 그룹으로 재분류하는 방식으로 상기 순차회로를 구성하는 모든 플립플롭을 다수의 그룹으로 클러스터화하는 단계;를 포함함을 특징으로 하는 저전력 구현을 위한 순차회로 설계방법.
  2. 청구항 1에 있어서, 클러스터화된 다수의 상기 그룹 각각에 클럭 게이팅 회로를 연결하는 단계;를 더 포함함을 특징으로 하는 저전력 구현을 위한 순차회로 설계방법.
  3. 청구항 1 또는 청구항 2에 있어서, 상기 절감 전력값은 상기 클럭 게이팅 회로에 의해서 절감된 소모 전력값에서 상기 클럭 게이팅 회로에 의해서 소모된 전력값을 차감하여 산출됨을 특징으로 하는 저전력 구현을 위한 순차회로 설계방법.
  4. 청구항 1 또는 청구항 2에 있어서, 상기 동적 이벤트 매트릭스는,
    각 플립플롭간 토글 횟수 차이를 합산하는 방식으로 플립플롭간 상관 관계계수를 계산해 놓은 플립플롭간 상관 관계 매트릭스를 생성한 후, 상기 플립플롭간 상관 관계 매트릭스를 정규화하여 상기 동적 이벤트 매트릭스를 생성하되, 상기 동적 이벤트 매트릭스를 구성하는 상관 관계계수(A)는 하기 수식에 의해 산출됨을 특징으로 하는 저전력 구현을 위한 순차회로 설계방법.
    A = B/C
    A는 비교대상인 플립플롭간의 상관 관계계수.
    B는 (플립플롭간 상관 관계 매트릭스중 최대값) - (비교대상인 플립플롭간 상관 관계계수 차이값의 합).
    C는 플립플롭간 상관 관계 매트릭스중 최대값
  5. 청구항 1 또는 청구항 2에 있어서, 상기 클럭 게이팅 회로는,
    플립플롭의 입력과 출력을 배타적 논리합하기 위한 하나 이상의 제1게이팅부와;
    상기 하나 이상의 제1게이팅부 출력을 논리합하기 위한 제2게이팅부와;
    상기 제2게이팅부의 출력을 인가 클럭에 따라 래치 출력하기 위한 래치부와;
    상기 래치부의 출력과 상기 클럭은 논리곱하여 상기 플립플롭의 클럭단으로 전달하기 위한 제3게이팅부;를 포함함을 특징으로 하는 저전력 구현을 위한 순차회로 설계방법.
  6. 삭제
KR1020140190703A 2014-12-26 2014-12-26 저전력 구현을 위한 순차회로 설계방법 KR101971472B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140190703A KR101971472B1 (ko) 2014-12-26 2014-12-26 저전력 구현을 위한 순차회로 설계방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140190703A KR101971472B1 (ko) 2014-12-26 2014-12-26 저전력 구현을 위한 순차회로 설계방법

Publications (2)

Publication Number Publication Date
KR20160079402A KR20160079402A (ko) 2016-07-06
KR101971472B1 true KR101971472B1 (ko) 2019-08-13

Family

ID=56502371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140190703A KR101971472B1 (ko) 2014-12-26 2014-12-26 저전력 구현을 위한 순차회로 설계방법

Country Status (1)

Country Link
KR (1) KR101971472B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010225084A (ja) 2009-03-25 2010-10-07 Nec Corp 半導体集積回路の設計方法、設計装置および、コンピュータプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100921509B1 (ko) 2006-12-05 2009-10-13 한국전자통신연구원 저전력 클럭 게이팅 회로
US8736332B2 (en) * 2009-12-17 2014-05-27 Lsi Corporation Leakage current reduction in a sequential circuit
KR101139603B1 (ko) 2010-08-24 2012-04-27 광운대학교 산학협력단 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010225084A (ja) 2009-03-25 2010-10-07 Nec Corp 半導体集積回路の設計方法、設計装置および、コンピュータプログラム

Also Published As

Publication number Publication date
KR20160079402A (ko) 2016-07-06

Similar Documents

Publication Publication Date Title
Gupta et al. Gate-length biasing for runtime-leakage control
Uma et al. Modified gate diffusion input technique: a new technique for enhancing performance in full adder circuits
Sotiriadis et al. A bus energy model for deep submicron technology
US7890904B2 (en) Estimating jitter in a clock tree of a circuit and synthesizing a jitter-aware and skew-aware clock tree
Salman et al. Exploiting setup–hold-time interdependence in static timing analysis
Kumar et al. An energy efficient logic approach to implement CMOS full adder
CN107862161A (zh) 一种基于层次化处理与分簇约束的多阈值单元替换方法
Xiong et al. Parallel forward and back substitution for efficient power grid simulation
Strollo et al. Analysis of power dissipation in double edge-triggered flip-flops
Chen et al. Simultaneous voltage scaling and gate sizing for low-power design
Seomun et al. Synthesis of active-mode power-gating circuits
Ghani et al. Fast vectorless power grid verification under an RLC model
Bhutada et al. Complex clock gating with integrated clock gating logic cell
Salman et al. Worst case power/ground noise estimation using an equivalent transition time for resonance
Behrens et al. Hierarchical partitioning
KR101971472B1 (ko) 저전력 구현을 위한 순차회로 설계방법
Lindkvist et al. Deep sub-micron bus invert coding
Mishra et al. Overhead reduction with optimal margining using a reliability aware design paradigm
Chiou et al. Sleep transistor sizing for leakage power minimization considering temporal correlation
Koshy et al. Low leakage and high performance tag comparator implemented in 180 nm CMOS technology
Shan et al. Timing monitoring paths selection for wide voltage IC
Chen et al. Towards the capability of providing power-area-delay trade-off at the register transfer level
Liu et al. Fault-duration and-location aware ced technique with runtime adaptability
Dinh et al. BDD-based circuit restructuring for reducing dynamic power
Pham et al. Design of radix-4 SRT dividers in 65 nanometer CMOS technology

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