KR0177986B1 - 1의 개수 카운터와 이를 이용한 곱셈기의 부분곱 압축기 및 이를 이용한 곱셈기 - Google Patents

1의 개수 카운터와 이를 이용한 곱셈기의 부분곱 압축기 및 이를 이용한 곱셈기 Download PDF

Info

Publication number
KR0177986B1
KR0177986B1 KR1019950037420A KR19950037420A KR0177986B1 KR 0177986 B1 KR0177986 B1 KR 0177986B1 KR 1019950037420 A KR1019950037420 A KR 1019950037420A KR 19950037420 A KR19950037420 A KR 19950037420A KR 0177986 B1 KR0177986 B1 KR 0177986B1
Authority
KR
South Korea
Prior art keywords
multiplier
bits
bit
output
counters
Prior art date
Application number
KR1019950037420A
Other languages
English (en)
Other versions
KR970022734A (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 KR1019950037420A priority Critical patent/KR0177986B1/ko
Publication of KR970022734A publication Critical patent/KR970022734A/ko
Application granted granted Critical
Publication of KR0177986B1 publication Critical patent/KR0177986B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 1의 개수 카운터와 이를 이용한 곱셈기의 부분곱 압축기 및 이를 이용한 곱셈기를 공개한다. 변형 톨리회로부를 가진 (m, n)카운터는 m 비트의 입력 데이터를 반전시키는 입력버퍼, 상기 m 비트의 입력 데이터의 비트중 1에 대응하여 턴온되는 수직 전달 게이트들과 0에 응답하여 턴온되는 수평 전달 게이트들로 구성되고 각 전달게이트의 적어도 p개 이하의 직렬 연결마다 레벨 리피터를 가지며 1의 개수에 대응하는 출력단만 인에이블되는 변형 톨리회로부, 상기 변형 토리회로부의 m 개의 출력단을 반전하는 출력버퍼, 및 상기 출력버퍼의 출력을 n(n은 log2 m의 최대 정수)비트의 2진수로 출력하는 인코더로 구성되어 있다.
따라서, 변형 톨리회로부를 이용하여 곱셈기를 구현함으로써 동작 속도의 저감 및 트랜지스터의 증가없이 전력소모를 대략 30%정도 줄일 수 있다.

Description

1의 개수 카운터와 이를 이용한 곱셈기와 부분곱 압축기 및 이를 이용한 곱셈기
본 발명은 1의 개수 카운터와 이를 이용한 곱셈기의 부분곱 압축기 및 이를 이용한 곱셈기에 관한 것으로, 특히 전력소모를 줄일 수 있는 1의 개수 카운터와 이를 이용한 곱셈기에 관한 것이다.
최근, 향상된 반도체 기술에 의해 집적밀도가 증가되고 하나의 실리콘 칩에 대규모 회로가 집적될 수 있게 되어 마이크로 프로세서의 성능이 비약적으로 개선되고 있다. 이러한 마이크로 프로세서의 성능향상과 더불어 디지털 신호처리 및 영상처리를 위해 고속 처리 성분들이 요구되었다. 이러한 고속처리가 요구되는 성분중 대표적인 것으로 병령 승산기가 있다. 많은 경우에 있어서, 시스템의 성능은 가수의 부동 소숫점 승산 시간에 의해 좌우되며, 특히 많은 비트수를 갖는 승수 및 피승수에 대한 연산을 수행하는 승산기의 성능을 향상시키기 위해서는 병렬 아키텍쳐로서 전파지연을 줄이는 것이 필요하다.
고속 승산기를 구현하기 위한 하나의 방법으로 계산단의 수를 감소시키고 병행성(parallelism)을 향상시키는 것으로, 일반적으로 변형 부스 알고리즘(modified Booth algorithm) 및 웰레이스 방법(Wallace method)이 이용된다. 변형 부스 알고리즘과 웰레이스 방법은 각기 에이. 디. 부스(A. D. Booth)의 논문, A Signed Multiplication Technique, Quart. J. Meth. Appl. Math. Vol. 4, pp 236-240(1951)과 시. 에스. 웰레이스(C. S. Wallace)의 논문, A Suggestion for Fast Multipliers, IEEE Trans. Electron. Comput. vol. EC-13, pp14-17(1964, 2)에 개시되어 있는 것으로, 계산단을 줄이는데 효과적으로 이용될 수 있다. 변형 부스 알고리즘을 사용하는 경우에 어떤 불리함이 없이도 전파단계의 수를 반으로 줄일 수 있다. 웰레이스 방법은 또한 물리적인 설계가 어렵다는 단점에도 불구하고 어레이내의 전파단계를 줄이는데 있어 가장 효과적인 방법으로 알려져 있다. 전술하는 웰레이스 어레이는 이러한 장점 때문에 다양한 승산기에 이용되었으며, 특히, 연산자가 32비트보다 작은 경우에 많이 이용되었다.
그러나, 연산자가 32비트를 넘은 경우에 이러한 부스 알고리즘 및 웰레이스 방법을 그대로 이용하면, 물리적 설계의 곤란성, 많은 양의 가산기를 이용한 승산기 크기 증가 및 그에 따른 시간 지연 등의 문제를 여전히 수반하게 되며, 현재의 디지털 신호 처리기 및 부동 소숫점 유니트와 같은 고속동작이 필요한 응용을 고려하는 경우에 이러한 문제는 보다 심각해진다.
전술한 문제를 해결하기 위해, 디지털 신호처리기 및 부동 소숫점 유니트와 같은 고속 응용에 이용될 수 있으며, 32비트보다 큰 비트수를 가진 연산자의 승산을 처리하기 위한 승산기가 마사토 나카마츠(Masato Nagamatsu) 등의 A 15-ns 32×32-bit CMOS Multiplier with an Improved Parallel Structure, IEEE J. Solid-State Circuits, vol. 25, pp494-497,(1990.4) 및 준지모리(Junji Mori) 등의 A 10-ns 54×54 bit Parallel Structured Full Array Multiplier with 0.5㎛ CMOS Technology, IEEE J. Solid-State Circuits, vol. 26. pp600-606(1991. 4)에 개시되어 있다. 진술하는 논문에 개시된 승산기는 부스 블록, 어레이 블록, 및 최종 가산기를 포함하여, 부스 블록은 예를 들어, 피승수 및 승수가 32비트인 경우, 부스 알고리즘을 이용하여 32×32비트 승산을 수행하여, 64비트의 16개 부분곱(partial products)을 생성한다. 어레이 블록은 이들 64㎉의 데이터를 갖는 16개의 부분곱을 더하기 위한 것으로, 전파지연을 최소화하기 위하여 웰레이스 어레이 이진구조를 이용하였으며, 최종가산기는 64비트 캐리 선택가산기를 이용하여 최종급을 산출하였다. 특히, 병렬 형성을 향상시키기 위해 4-2압축기를 전가산기 대신 사용하였다. 4-2압축기는 5개의 입력과 3개의 출력을 가지며, 4개의 부분곱을 2개의 새로운 부분곱으로 동시에 압축시킨다. 이러한 승산기는 전술한 논문에 개시된 바와 같이 변형 부스 알고리즘, 웰레이스 어레이 및 웰레이스 어레이에 전가산기 대신 이용된 4-2압축기에 의해 종래에 비해 20%정도의 속도개선을 얻을 수 있을 것으로 여겨진다.
그러나, 전술한 종래의 곱셈기에서는 동작속도를 향상시키는 방향으로 기술개발이 진행되어 비트수가 증가할수록 소비전력이 커지는 문제가 있다. 특히, 제1도에 도시된 바와 같이 데이터 압축기를 구성하는 (4,2) 1의 개수 카운터의 구성이 엔모스 및 피모스 트랜지스터로 구성한 로직 게이트회로를 이루고 있기 때문에 입력 데이터의 상태에 응답하여 모든 회로의 각 노드에서 상태변화에 다른 동적 스위칭 동작이 이루어지게 되므로 소비전력이 커지게 된다.
곱셈기의 동적 전력소비는 상태변화가 일어나는 각 노드에서 노드 캐패시턴스에 비례하게 되는 바, 복잡한 데이터 압축기 구조를 가진 곱셈기에서의 동적 전력소비는 매우 크다. 왜냐하면, 최악의 경우에 모든 노드의 상태가 변하게 되기 때문이다. 예를 들면, 0.5㎛ CMOS기술로 제작된 곱셈기에서의 전력소비는 870mW정도이다. 이 정도의 전력소비량은 휴대폰, 노트북 컴퓨터 등의 휴대용 전자장치의 배터리 사용시간의 단축에 무시하지 못할 정도의 전력소비량이다.
따라서, 동작속도를 떨어뜨지리 않을 정도의 범위에서 곱셈기의 전력소비량을 감소시킬 필요성이 요구되고 있다.
본 발명의 목적은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 전력 소비를 줄일 수 있는 1의 개수 카운터를 제공하는데 있다.
본 발명의 다른 목적은 전력소비를 줄일 수 있는 부분곱 데이터 압축기를 제공하는데 있다.
본 발명의 또 다른 목적은 전력소비를 줄일 수 있는 곱셈기를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 1의 개수 카운터는 m비트의 입력 데이터를 반전시키는 입력버퍼, m비트의 입력데이터의 비트중 1에 대응하는 턴온되는 수직 전달 게이트들과 0에 응답하여 턴온되는 수평 전달게이트들로 구성되고 각전달 게이트의 적어도 p개 이하의 직렬연결마다 레벨 리피터를 가지며 1의 개수에 대응하는 출력단만 인에이블되는 변형 톨리회로부, 변형 톨리회로부의 m개의 출력단을 반전하는 출력버퍼, 및 출력버퍼의 출력을 n(n은 log2 m의 최대 정수)비트의 2진수로 출력하는 인코더를 구비하는 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 압축기는 a비트의 피승수와 a비트의 승수를 곱하는 a×a곱셈기의 a/2행의 2a비트 부분곱들을 압축하여 2행의 2a 비트 최종 부분곱 결과를 출력하는 데이터 압축기에 있어서, 각 자리수의 a/2행의 각 비트들을 b로 분할하고 각 분할된 a/2b 비트들 중 1의 개수를 카운팅하기 위한 변형 톨리회로부를 가진 b개의 최하위단(a/2b, c)카운터들, 하위단 카운터들과 웰레이스 트리구조로 연결되고, 하위단 카운터들의 값들과 하위 자리의 하위단 카운터들에서 전파된 캐리값을 카운팅하는 복수의 상위단 카운터들로 구성하되 상위단의 최상위단 카운터의 출력이 2비트가 되도록 구성된 변형 톨리회로부를 가진 복수단 복수개의 (x,y)카운터들(여기서, x=2k(k는 하위단 카운터의 출력비트수), log2 2k)을 구비한 것을 특징으로 한다.
상기 또 다른 목적을 달성하기 위한 본 발명의 압축기는 a비트의 피승수와 a비트의 승수를 곱하는 a×a곱셈기에 있어서, a 비트의 피승수와 a 비트의 승수의 부분곱을 a/2행의 2a비트 부분곱들을 산출하기 위한 변형 부스 엔코더, 산출된 a/2행의 2a 비트 부분곱들을 압축하여 2행의 2a 비트의 최종부분곱 결과를 출력하기 위해 변형 톨리회로부를 가진 복수개의 카운터들로 웰레이스 트리구조를 구성하여서된 부분곱 데이터 압축기, 및 압축된 2행의 2a 비트의 최종 부분곱 결과를 가산하여 최종 곱셈 결과를 출력하는 최종 가산기를 구비한 것을 특징으로 한다.
제1도는 종래의 곱셈기에서 사용한 (4, 2)부분곱 압축기의 구성을 나타내는 회로도이다.
제2도는 본 발명의 저전력형 윈도우 검출개념을 설명하기 위한 것이다.
제3도는 볼 발명에 의한 윈도우 검출개념을 이용한 1의 개수 카운터의 바람직한 일실시예의 구성을 나타낸 것이다.
제4도는 본 발명에 의한 일실시예를 설명하기 위한 54비트 곱셈절차 및 곱셈기의 블록을 나타내는 것이다.
제5도는 본 발명에 의한 데이터 압축방법의 여러 가지 조합을 나타내는 것이다.
제6도는 본 발명에 의한 가장 바람직한 일실시예의 데이터 압축기의 구성을 나타내는 것이다.
제7도는 본 발명에 의한 1의 개수 카운터의 입력 데이터의 모든 상태가 변할 경우의 전류흐름상태를 나타내는 타이밍도이다.
제8도 내지 제10도는 본 발명과 종래의 압축방식의 차이를 비교 설명하기 위한 그래프선도이다.
이하,첨부한 도면을 참조하여 본 발명의 1의 개수 카운터와 이를 이용한 곱셈기의 부분곱 압축기 및 이를 이용한 곱셈기를 설명하면 다음과 같다.
제2도는 본 발명에서 제안하는 윈도우 검출 개념을 나타낸 구조도이다. (a)는 기존 보통 칩의 구조로서 입력신호에 상관없이 전체블럭이 동작하고 그 결과 전력 소모가 일어나지 않아도 될 부분에서조차 전력소비가 일어난다. 이에 비해, (b)의 구조는 주어진 입력 데이터에 따라 윈도우 디텍터가 동작하고, 윈도우 디텍터가 전체 동작 블록중에서 필요한 부분만 골라 동작시켜 줌으로써 전체적으로 전력소모를 줄일 수 있게 된다. 이런 개념을 곱셈기에 적용시키면 기존의 곱셈기보다 전력소모는 작으며 동작 속도는 거의 동일한 곱셈기를 얻을 수 있다.
본 발명에 의한 윈도우 검출개념을 이용하여 1의 개수 카운터를 구성한 바람직한 일실시예가 제3도에 도시되어 있다. 제3도의 (7, 3) 1의 개수 카운터의 회로는 7(=m)비트의 입력 데이터를 반전시키기 위한 7개의 인버터를 포함하는 입력버퍼(10)와, 7비트의 입력 데이터의 비트중 로직 '1에 대응하여 턴온되는 수직 전달 게이트들(VT)과 로직 0에 응답하여 온되는 수평 전달게이트들(HT)로 구성되고 각 전달 게이트의 적어도 p개 이하의 직렬연결마다 레베 리피터(LR)를 가지며 1개 개수에 대응하는 출력단만 인에이블되는 변형 톨리회로부(20)와, 변형 톨리회로부(20)의 7개의 출력단을 반전하기 위한 7개의 인버터를 포함하는 출력버퍼(30)와, 출력버퍼(30)의 출력을 3(=n)(n은 log2 m의 최대 정수)비트의 2진수로 출력하는 인코더(40)를 포함한다.
톨리회로부(20)는 기존의 톨리회로부(Tally Circuit)를 변형한 것이다. 기존의 톨리회로는 트랜지스터, 즉, 전달게이트의 체인이 길어질 경우 속도가 늦어진다는 단점이 있는 반면에, 본 발명의 변형 톨리 회로는 이를 보완하기 위해 중간 중간에 레벨 리피터(LR)를 삽입하여 회로 속도의 증진을 도모하였다.
레벨 리피터(LR)를 트랜지스터 체인사이에 개재하기 위한 지연시간 산출은 다음 수식에 의해 결정한다.
상기 식에서, n은 트랜지스터 체인의 수를 나타내고, R 및 C 는 아래의 식으로 나타내어진다.
상기 식에서, μ는 채널내의 캐리어 이동도, eo는 공기의 유전율, er은 실리콘의 유전율, Vgs는 트랜지스터의 게이트-소스간 전압, Vt는 문턱 전압, tox는 게이트 산화막의 두께, L은 트랜지스터의 채널 길이, W는 트랜지스터의 채널 폭, Cgn은 NMOS트랜지스터의 게이트 기생 용량(gate parasitic capacitance), 및 Cjn은 접합 기생 용량(junction parasitic capacitance)를 각각 나타낸다.
그 결과 전체적인 속도는 트랜지스터의 체인이 4와 동일한 속도를 갖는 버퍼, 즉, 레벨 리피터를 연결할 경우 약 30%정도 향상되었다.
따라서, 이와같은 개선된 변형 톨리회로를 이용하여 1의 개수 카운터를 구성한다.
1의 개수 카운터는 입력이 모두 0일 경우에는 입력버퍼(10)의 모든 인버터를 통하여 로직 1로 반전되어 변형 톨리회로부(20)의 최하단의 수평 전달 게이트인 NMOS트랜지스터의 게이트에 인가되게 되고 이에 최하단의 트랜지스터 수평체인이 모두 턴온되므로 로직 1이 출력버퍼(30)의 최하단 인버터에 전달되게 되고 이에 최하단의 인버터의 출력만이 로직0로 출력되게 된다. 출력버퍼의 나머지 인버터들의 출력은 모두 로지 1상태를 유지하게 된다. 다라서, 인코더(40)의 최하단 PMOS트랜지스터들만 턴온되고 이에 출력단자(Y0, Y1, Y3)에는 로직0가 출력된다. 즉, 1의 개수 카운팅의 결과 입력 데이터들 중에는 로직 1의 개수가 0이라는 결과를 출력한다.
입력이 모두 1111111일 경우에는 입력버퍼(10)의 모든 인버터를 통하여 로직0로 반전되어 변형 톨리회로부(20)의 최하단의 수평 전달 게이트인 NMOS트랜지스터의 게이트에 인가되게 되고 수평 전달게이트인 트랜지스터의 게이트에는 입력 데이터가 그대로 전달되게 된다. 그러므로, 수평 전달 게이트들은 모두 턴오프되고 수직전달 게이트들은 모두 턴온되므로 로직 1이 턴온된 계단상의 패스를 통하여 출력버퍼(30)의 최상단 인버터에 전달되게 되고 이에 최상단의 인버터의 출력만이 로직 0로 출력되게 된다. 출력버퍼의 나머지 인버터들의 출력은 모두 로직 1상태를 유지하게 된다. 따라서, 인코더(40)의 최상단 PMOS 트랜지스터들만 턴온되고 이에 출력단자(Y0, Y1, Y3)에는 로직 111가 출력된다. 즉, 1의 개수 카운팅의 결과 입력 데이터들 중에는 로직 1의 개수가 7이라는 결과를 출력한다.
이와같이 본 발명의 1의 개수 카운터는 입력 데이터에 응답하여 해당되는 패스만 인에이블되어 신호전달이 이루어지고 나머지 패스들은 디스에이블되므로 윈도우 검출개념에 의한 회로동작이 이루어지게 되어 전력소모를 줄일 수 있게 된다.
이와같은 본 발명의 저전력 소비형 1의 개수 카운터를 이용하여 54비트 ×54비트 곱셈 절차 및 블록구성을 나타낸다. 즉, 54비트 피승수(multiplicand)와 54비트 승수(multiplier)를 변형 부스 알고리즘에 의해 부분곱을 산출하면 108비트의 부분곱행이 27행으로 얻어지게 되어 부분곱의 수가 절반으로 감축되며, 27행의 108비트 부분곱들을 데이터 압축하여 합과 캐리로 된 2행 108비트의 부분곱을 얻고 최종적으로 2행 108비트의 부분곱을 캐리 룩어헤드 가산기(carry look-ahead adder)에 의해 최종곱을 얻는다. 본 발명의 실시예는 54비트의 피승수와 54비트의 승수를 곱하는 54×54곱셈기에 있어서, 54비트의 피승수와 54비트의 승수의 부분곱을 27행의 108비트 부분곱들로 산출하기 위한 변형 부스 엔코더(2)와, 산출된 27행의 108비트 부분곱들을 압축하여 2행의 108비트의 최종 부분곱 결과를 출력하기 위해 변형 톨리회로부를 가진 복수개의 카운터들로 웰레이스 트리구조를 구성하여 된 부분곱 데이터 압축기(4)와, 압축된 2행의 108비트의 최종 부분곱 결과를 가산하여 최종 곱셈 결과를 출력하는 최종 가산기(6)를 포함한다.
따라서, 본 발명에서는 54비트 ×54비트 곱셈기의 데이터 압축기의 구성을 변형 톨리회로부를 가진 1의 개수 카운터로 구성하고자 한다.
데이터 압축기에서는 부분곱의 해당 자리수의 수직 비트들을 복수개로 분할하고 분할된 비트들 중 로직 1의 개수를 카운팅하여 최종 2비트로 압축하게 된다. 이때, 1의 개수 카운터들은 웰레이스 트리구조로 배치된다.
a비트의 피승수와 a비트의 승수를 곱하는 54×54곱셈기의 27행의 108비트 부분곱들을 압축하여 2행의 108비트의 최종 부분곱 결과를 출력하는 데이터 압축기에 있어서, 각 자리수의 27행의 각 비트들을 4로 분할하고 각 분할된 7비트들중 1의 개수를 카운팅하기 위한 변형 톨리회로부를 가진 4개의 최하위단(7, 3)카운터들과, 하위단 카운터들과 웰레이스 트리구조로 연결되고, 하위단 카운터들의 값들과 하위 자리의 하위단 카운터들에서 전파된 캐리값을 카운팅하는 복수의 상위단 카운터들로 구성하되 상위단의 최상위단 카운터의 출력이 2비트가 되도록 구성된 변형 톨리회로부를 가진 복수단 복수개의 (x, y)카운터들 (여기서, x=2k(k는 하위단 카운터의 출력비트수), y = log2 2k)을 포함한다.
이와같은 데이터 압축기를 구성하는 방법으로는 제5도와 같이 여러 가지가 있을 수 있다. 즉, 높은 비트수를 갖는 데이터를 압축하느냐 낮은 비트수를 갖는 데이터를 압축하느냐에 따라 방법에 차이가 난다. 기존의 P. Song et al., circuit and architecture trade-offs for high-speed multiplication, IEEE J. Solid-State Circuit, vol. 26 pp1184-1198, Sep., 1991의 논문에서는 낮은 비트수의 압축(4-2 Compressor)을 수행하여 동작 속도의 영향을 도모하였다. 그 결과 동작 속도는 0.5㎛ CMOS공정에서 4.8ns의 바른 동작 속도를 얻었으나 각 노드에 생기는 데이터 변환 및 천이로 인하여 전력 소모는 약 870mW정도 였다. 이것은 휴대용 전화기 등과 같은 장비에서는 사용에 큰 제약을 가하는 전력 소모이다.
이에 비하여 높은 비트수를 갖는 데이터 압축기는 어떤 구성방법을 쓰냐에 따라 각각 다른 차이가 난다. 제5도의 경우에 있어서, 가장 최적화된 데이터 압축 기법은 (d)의 기법이다. 제6도에 도시한 바와 같이 처음에 (7, 3)카운터 4개를 병렬로 연결하여 27개의 데이터를 12개로 만든 후, 다시 (6, 3)카운터 2개를 이용하여 12개의 데이터를 6개로, 다음 (6,3)카운터 1개를 사용하여 6개의 데이터를 3개의 데이터로, 마지막으로, (3, 2)카운터로 3개의 데이터를 2개로 압축시켜 최종단의 덧셈기로 이동시킨다. 이와같은 과정을 거쳐 데이터 압축을 실행하면 가장 최적화된 결과를 얻을 수 있다.
제5도의 데이터 압축방법들 및 기존 논문의 압축 방법을 전체적인 트랜지스터의 개수, 동작 속도, 전력 소모의 3가지 하옥으로 나누어 비교 분석하면 표 1과 같다.
표 1로부터 알 수 있듯이, 전체적인 트랜지스터의 수는 기존의 것보다 많으나, 전력 소모 및 동작 속도에서는 (d)의 기법에 다른 압축 기법 및 기존의 것보다 우수함을 알 수 있다. (d)의 압축방법에 비하여 다른 압축기법은 트랜지스터의 개수, 전력 소모, 및 동작 속도 등이 크기 때문에 최적화된 구조라 할 수 없다. 따라서, 제3도의 (d)의 기법이 기존의 낮은 비트수 4-2 압축방식의 기법보다 동작 속도는 떨어지지 않으면서 전력 소모를 줄일 수 있는 기법이 된다.
이에 대한 시뮬레이션 결과가 제7도에 도시되어 있다. 전체적인 레이아웃에 대한 가장 열악한 경우의 입력신호를 인가하여 출력단의 결과를 본 것이며 그 경우의 전류 흐름도 도시되어 있다. 동작 속도의 경우는 약 5ns 정도로 기존의 것에 비해 뒤떨어지지 않음을 알 수 있다.
전류 부분만을 확대하여 본 결과가 제8도의 결과이다. 제8도에서, 데이터 입력단의 천이 변화가 100%(모든 입력 데이터의 상태가 변한 경우로 0에서 1, 또는 1에서 0으로 변한 모든 경우가 포함됨)일 경우 가장 큰 전류 흐름이 일어남을 알 수 있다. 이것은 데이터 압축기의 구성이 패스 트랜지스터의 로직으로 되어 있기 때문에 발생하는 현상이다.
제9도는 기존 곱셈기의 전류 크기를 도시한 것이다. 제안된 발명과는 달리 약 50%의 데이터 천이(입력 상태가 바뀌는 입력단이 약 반정도)가 일어날 경우 가장 큰 전류 흐름이 일어난다. 이것은 데이터 천이 비율이 50%정도일 때, 데이터 전달이 최대로 되기 때문이며 동적 로직회로의 기본 특성중의 하나이다. 그리고, 그때의 전류 흐름은 본 발명의 것보다 약 50%이상 커짐을 알 수 있다.
본 발명과 기존의 곱셈기를 비교하기 위해, 입력단의 상태 변화에 따른 전력 소모의 크기를 도시한 것이 제10도이다. 제10도에서, 본 곱셈기의 전력소모 변화는 밑부분의 그래프이며 기존 곱셈기의 전력 소모는 윗부분 그래프에 해당한다. 또한, 면적을 구한 평균 전력 소모의 크기도 제안된 발명이 기존의 것보다 약 33%정도 작아짐을 볼 수 있다. 제10도의 그래프를 통해 기존의 동적 로직으로 구성된 곱셈기에 비해 패스 트랜지스터로 구성된 곱셈기가, 전력 소모의 감소는 물론 , 동작 속도의 늦어짐없이 우수한 성능을 가짐을 알 수 있다. 또한, 전력 소모의 크기 변화를 제10도와 같이 예측할 수 있다는 장점을 갖는다.
비록, 본 발명이 특정 실시예를 참조하여 설명되고 도시하였으나, 본 발명의 범주 및 사상을 벗어나지 않는 범위에서 다양한 변경 및 변형이 있을 수 있음을 알 수 있을 것이다.
따라서, 본 발명은 변형된 톨리 회로를 사용하여 곱셈기를 구성함으로써 전력소모의 감소는 물론 동작 속도의 늦어짐없이 우수한 성능을 가질 수 있다.

Claims (4)

  1. m 비트의 입력 데이터를 반전시키는 입력버퍼, 상기 m 비트의 입력 데이터의 비트중 1에 대응하여 턴온되는 수직 전달 게이트들과 0에 응답하여 턴온되는 수평 전달 게이트들로 구성되고 각 전달게이트의 적어도 p개 이하의 직렬 연결마다 레벨 리피터를 가지며 1의 개수에 대응하는 출력단만 인에이블되는 변형 톨리회로부, 상기 변형 톨리회로부의 m 개의 출력단을 반전하는 출력버퍼, 및 상기 출력버퍼의 출력을 n(n은 log2 m의 최대 정수)비트의 2진수로 출력하는 인코더로 구비하는 것을 특징으로 하는 변형 톨리회로부를 가진 (m, n)카운터.
  2. a비트의 피승수와 a비트의 승수를 곱하는 a×a곱셈기의 a/2행의 2a비트 부분곱들을 압축하여 2행의 2a 비트 최종 부분곱 결과를 출력하는 데이터 압축기에 있어서, 각 자리수의 a/2행의 각 비트들을 b로 분할하고 각 분할된 a/2b 비트들 중 1의 개수를 카운팅하기 위한 변형 톨리회로부를 가진 b개의 최하위단(a/2b, c)카운터들; 하위단 카운터들과 웰레이스 트리구조로 연결되고, 하위단 카운터들의 값들과 하위 자리의 하위단 카운터들에서 전파된 캐리값을 카운팅하는 복수의 상위단 카운터들로 구성하되 상위단의 최상위단 카운터의 출력이 2비트가 되도록 구성된 변형 톨리회로부를 가진 복수단 복수개의 (x,y)카운터들(여기서, x=2k(k는 하위단 카운터의 출력비트수), y=log2 2k)을 구비한 것을 특징으로 하는 부분곱 데이터 압축기.
  3. a비트의 피승수와 a비트의 승수를 곱하는 a×a곱셈기에 있어서, a 비트의 피승수와 a 비트의 승수의 부분곱을 a/2행의 2a비트 부분곱들을 산출하기 위한 변형 부스 엔코더; 상기 산출된 a/2행의 2a 비트 부분곱들을 압축하여 2행의 2a 비트의 최종부분곱 결과를 출력하기 위해 변형 톨리회로부를 가진 복수개의 카운터들로 웰레이스 트리구조를 구성하여서된 부분곱 데이터 압축기; 및 상기 압축된 2행의 2a 비트의 최종 부분곱 결과를 가산하여 최종 곱셈 결과를 출력하는 최종 가산기를 구비한 것을 특징으로 하는 a×a 곱셈기.
  4. 제3항에 있어서, 상기 a는 54이고, 상기 각 자리수에서 웰레이스 트리구조는 4개의 최하위단 (7, 3)카운터들, 2개의 둘째단 (6, 3)카운터들, 1개의 셋째단 (6, 3)카운터, 1개의 최상위단 (3, 2)카운터로 구성된 것을 특징으로 하는 a×a곱셈기.
KR1019950037420A 1995-10-26 1995-10-26 1의 개수 카운터와 이를 이용한 곱셈기의 부분곱 압축기 및 이를 이용한 곱셈기 KR0177986B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950037420A KR0177986B1 (ko) 1995-10-26 1995-10-26 1의 개수 카운터와 이를 이용한 곱셈기의 부분곱 압축기 및 이를 이용한 곱셈기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950037420A KR0177986B1 (ko) 1995-10-26 1995-10-26 1의 개수 카운터와 이를 이용한 곱셈기의 부분곱 압축기 및 이를 이용한 곱셈기

Publications (2)

Publication Number Publication Date
KR970022734A KR970022734A (ko) 1997-05-30
KR0177986B1 true KR0177986B1 (ko) 1999-05-15

Family

ID=19431496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950037420A KR0177986B1 (ko) 1995-10-26 1995-10-26 1의 개수 카운터와 이를 이용한 곱셈기의 부분곱 압축기 및 이를 이용한 곱셈기

Country Status (1)

Country Link
KR (1) KR0177986B1 (ko)

Also Published As

Publication number Publication date
KR970022734A (ko) 1997-05-30

Similar Documents

Publication Publication Date Title
US5151875A (en) MOS array multiplier cell
Ohkubo et al. A 4.4 ns CMOS 54/spl times/54-b multiplier using pass-transistor multiplexer
KR100449963B1 (ko) 가산 회로 및 이를 구비한 승산 회로
Wairya et al. Performance analysis of high speed hybrid CMOS full adder circuits for low voltage VLSI design
Jothin et al. High performance compact energy efficient error tolerant adders and multipliers for 16-bit image processing applications
Gandhi et al. Comparative analysis for hardware circuit architecture of Wallace tree multiplier
US7620677B2 (en) 4:2 Carry save adder and 4:2 carry save adding method
KR0177986B1 (ko) 1의 개수 카운터와 이를 이용한 곱셈기의 부분곱 압축기 및 이를 이용한 곱셈기
US6785703B2 (en) Simultaneous dual rail static carry-save-adder circuit using silicon on insulator technology
Anand et al. A low power and high speed 8-bit ALU design using 17T full adder
Shraavya et al. Analysis of high performance low power full adder circuit
Ruiz et al. Self-timed multiplier based on canonical signed-digit recoding
Rastogi et al. Leakage power reduction in MTCMOS based high speed adders
Khanum et al. Xnor-xor based full adder using double pass transistor logic
Kumar et al. DESIGN AND IMPLEMENTATION OF HYBRID FULL ADDER USING GDI FOR HIGH-PERFORMANCE APPLICATIONS
EP0447254A2 (en) Array multiplier
Sharanya et al. LOW AREA HIGH SPEED COMBINED MULTIPLIER USING MULTIPLEXER BASED FULL ADDER
Joel et al. Design of Low Power High Speed Hybrid Adder Using Gdi Technique
Ravindran et al. Efficiency and Speed Trade-Offs in 8-Bit CMOS Adders at 180nm: An In-Depth Examination
Chang et al. A high speed low power 4: 2 compressor cell design
MALLIKARJUN et al. DESIGN OF EFFICIENT MULTIPLIER USING 15-4 COMPRESSOR
Mounika et al. Comparative analysis of low-power cmos&dtmos full adder circuits at 180nm and 45nm technologies
Attarha et al. High Performance Low-Power Signed Multiplier
SONG et al. Power Optimization for Data Compressors Based on a Window Detector in a 54< cd0215f. gif> 54 Bit Multiplier
Aziz et al. A high-speed two's complement multiplier using differential split-level CMOS

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: 20061030

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee