KR20030093260A - 승산 로직 회로 - Google Patents
승산 로직 회로 Download PDFInfo
- Publication number
- KR20030093260A KR20030093260A KR10-2003-7012228A KR20037012228A KR20030093260A KR 20030093260 A KR20030093260 A KR 20030093260A KR 20037012228 A KR20037012228 A KR 20037012228A KR 20030093260 A KR20030093260 A KR 20030093260A
- Authority
- KR
- South Korea
- Prior art keywords
- logic
- array
- multiplication
- logic circuit
- binary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000009467 reduction Effects 0.000 claims abstract description 32
- 238000000034 method Methods 0.000 claims description 22
- 238000013461 design Methods 0.000 claims description 16
- 238000009825 accumulation Methods 0.000 claims description 9
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 239000000463 material Substances 0.000 claims description 2
- 239000004065 semiconductor Substances 0.000 claims description 2
- 230000001934 delay Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 13
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012938 design process Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5318—Multiplying 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)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Manipulation Of Pulses (AREA)
Abstract
승산 로직 회로는 어레이 생성 로직 및 어레이 감소 로직을 포함한다. 어레이 감소 로직은 최대 길이 칼럼을 감소시키는 최대 길이 병렬 카운터를 포함하는 제1 레벨의 어레이 감소를 위한 어레이 감소 로직을 포함한다. 이어서, 최대 길이 병렬 카운터의 출력은, 최대 길이 병렬 카운터의 출력이 받게 되는 상이한 지연을 보상하기 위해 비대칭 지연을 갖는 로직 회로를 포함하는 제2 레벨의 감소에 의해 더욱 감소된다.
Description
동시에 n개의 입력을 가산하는 블록을 갖는 것은 많은 어플리케이션에 유리하다. 이 블록의 출력은 하이 입력 수의 2진 표현이다. 병렬 카운터(L. Dadda, Some Schemes for Parallel Multipliers, Alta Freq 34: 349-356(1965); E.E.Swartzlander Jr., Pallel Counters, IEEE Trans.Comput.C-22: 1021-1024(1973))라고 불리는 이러한 블록은 2진 승산을 실행하는 회로에 이용된다. 병렬 카운터의 다른 어플리케이션으로는, 예컨대 MV 디코더(majority-voting decoder) 또는 RSA 인코더 및 디코더가 있다. 최대 속도로 병렬 카운터가 구현되는 것이 중요하다. 병렬 카운터를 승산에 이용하는 것이 알려져 있다(L.Dadda, On parallel digital Multipliers, Alta Freq 45: 574-580(1976)).
전가산기(full adder)는 3-비트 입력과 2비트 출력을 갖는 특별한 병렬 카운터이다. 현재 입력이 더 큰 고등급의 병렬 카운터의 구현은 전가산기의 이용에 기반한다(C.C. Foster and F.D. Stockton, Counting Responders in an Associative Memory, IEEE Trans. Comput. C-20:1580-1583(1971)). 일반적으로, 출력의 최하위 비트는 그러한 구현에 있어서 가장 빠른 비트인 반면, 다른 비트들은 일반적으로 더 느리다.
이하의 부호가 로직 연산에 이용된다:
- 배타적 OR;
- OR ;
- AND ;
-- NOT.
병렬 카운터의 유효한 종래 기술의 설계(Foster 및 Stockton)는 전가산기를 이용한다. FA로 지시되는 전가산기는 도 1에 나타낸 3-비트 입력 병렬 카운터이다. 이 전가산기는 3개의 입력(X1, X2, X3)과 2개의 출력(S,C)을 갖는다. 출력에 대한 논리적 표현은 다음과 같다.
S = X1 X2 X3
C = (X1 X2)(X1 X3)(X2 X3)
HA로 지시되는 반가산기(half adder)는 도 1에 나타낸 2비트 병렬 카운터이다. 이 반가산기는 2개의 입력(X1, X2)과 2개의 출력(S,C)을 갖는다. 출력에 대한 논리적 표현은 다음과 같다.
S = X1 X2
C = (X1 X2)
7-비트 입력 병렬 가산기의 종래 기술에서의 구현이 도 2에 도시되었다.
승산은 기본적인 연산이다. 주어진 두개의 n-수(n-digit) 2진수,
An-12n-1+An-22n-2+...+A12+A0및 Bn-12n-1+Bn-22n-2+...+B12+B0는,
그들의 승산 P2n-122n-1+P2n-222n-2+...+P12+P0이 2n수까지 가질 수도 있다. 월리스(Wallace)는 현재 월리스-트리 승산기로 언급되는 승산기에 대한 빠른 아키텍쳐를 처음으로 발명하였다(wallace, C.S., A Suggestion for a Fast Multiplier, IEEE Trans. Electron. Comput. EC-13: 14-17(1964)). 다다(Dadda)는 승산기에서의 비트의 작용을 연구하였다(L.Dadd, Some Schemes for pallel Multipliers, Alta Freq 34; 349-356(1965)). 그는 다다의 이론(Dadda's scheme)에 따른 각종 승산기 및 최상의 승산기를 구성하였다.
다다의 승산기는 도 3에서의 도면을 이용한다. 입력이 8비트라면, 64개의 병렬 AND 게이트는 도 4에 나타낸 어레이를 생성한다. AND 게이트 부호()는 명확성을 위해 생략하고, 따라서 Ai Bj는AiBj가 된다. 도 4의 나머지 부분은 전가산기(FA) 및 반가산기(HA)를 포함하는 어레이 감소를 나타낸다. 전가산기에 공급된 일부의 비트 그룹은 사각형이다. 반가산기에 공급된 일부 비트 그룹은 타원형이다. 어레이 감소의 결과 최종 단계에서는 단지 2개의 2진수가 더해진다. 이들 두개의 숫자는조건 가산기 또는 캐리-룩-어헤드-가산기(carry-look-ahead adder)와 같은 빠른 가산 기구 중 하나를 이용해 더해진다.
본 명세서에 그 전체 내용이 참조되어 있는, 영국 특허 출원 번호 0019287.2 및 0101961.1, 미국 특허 출원 번호 09/637,532, 09/759,954, 및 09/917,257, 및 국제 특허 출원 번호 GB01/03415 및 GB01/04455호에는 어레이 감소에 앞서 어레이의 변경 및 변형을 위한 기술이 기재되어 있다. 어레이 변형은, n이 정수일때, 어레이의 깊이(depth)를 2n-1-1 보다 크고 2n-1보다 작거나 같은 숫자로 줄이는 이득을 가져온다. 어레이의 최대 깊이의 이러한 감소는 어레이 감소 단계에서 병렬 카운터를 효율적으로 이용할 수 있게 해준다.
본 발명의 목적은 로직 회로의 연산 속도가 개선되어진 향상된 승산 로직 회로와 향상된 승산-누산 로직 회로를 제공하는데 있다.
본 발명은 일반적으로 디지털 전자 장치에 관한 것으로, 보다 상세하게는 두개의 2진수를 승산하기 위한 승산 로직 회로 및 승산 및 이전의 승산을 누산하기 위한 승산-누산 로직 회로에 관한 것이다.
도1은 종래 기술에 따른 전가산기 및 반가산기의 개략도.
도2는 종래 기술에 따른 전가산기를 이용하는 병렬 카운터의 개략도.
도3은 승산을 위해 종래 기술에서 사용된 단계를 나타내는 도면.
도4는 도 3의 프로세스를 보다 상세하게 나타내는 개략도.
도5는 본 발명의 일실시예에 따라 생성된 변형 어레이의 구조를 나타내는 개략도.
도6은 본 발명의 일실시예에 따라 최대 길이 병렬 카운터에 의해 감소된 후의 어레이를 나타내는 개략도.
도7은 게이트 지연을 나타내는 전가산기의 로직의 도면.
도8은 본 발명의 일실시예에 따라 전가산기로 구성된 4-2 압축기의 개략도.
도9는 본발명의 일실시예에 따라 4-2 압축키를 이용하는 어레이 감소의 제2 단계 로직 회로를 나타내는 개략도.
도10은 4-2 압축기의 로직의 도면.
본 발명자는 어레이 감소 단계에 있어서 최대 길이의 병렬 카운터를 이용하여 종래 기술의 어레이 감소 로직(array reduction logic)에 존재하던 배선 지연(wriring delay)을 상당히 감소시킬 수 있음을 알았다. 또한, 본 발명자는 최대 길이 병렬 카운터의 출력이 상이한 게이트 지연을 갖는 것을 알았다. 따라서, 본 발명에 의하면, 어레이 감소 단계에서 최대 길이 병렬 카운터의 이용에 더하여, 병렬 카운터 회로의 출력의 상이한 지연의 효과를 개선하기 위해, 최대 길이 병렬카운터의 출력이 비대칭 지연을 갖는 감소 로직 회로에 입력된다.
본 발명에 의하면, 짧게 지연된 최대 길이 병렬 카운터 로직으로부터 생성된 출력은 출력의 생성에 있어서 길게 지연된 감소 로직 입력에 입력된다. 병렬 카운터 로직에서 길게 지연된 최대 길이 병렬 카운터 로직의 출력은 출력의 생성에 있어서 짧게 지연된 비대칭 감소 로직 회로의 입력에 입력된다. 이와 같은 방식으로, 병렬 카운터 로직과 뒤따른 감소 로직을 통과한 전체 지연이 균등해 지고, 병렬 카운터 로직을 통과한 지연의 차이가 뒤따른 감소 로직에 의해 보상된다.
본 발명에 의하면, 한 칼럼내의 어레이에 있는 모든 값을 수신하여 어레이를 일차원으로 감소시키기 위해, 적어도 하나의 최대 길이 병렬 카운터가 어레이 감소 단계에 이용된다.
본 발명의 바람직한 실시예에 있어서, 어레이는 영국 특허 출원 번호 0019287.2 및 0101961.1, 미국 특허 출원 번호 09/637,532, 09/759,954, 및 09/917,257, 및 국제 특허 출원 번호 GB01/03415 및 GB01/04455호에 기재된 바와 같은 어레이 변형을 거쳐 변경된다. 어레이 변형은 최대 칼럼에 대한 입력의 수를 2n-1-1 보다 크고 2n-1 보다 작거나 같도록 감소시켜주는 이득을 제공하고, 여기서 n은 정수이다. 예컨대, 2개의 16비트 수의 승산에 있어서, 어레이 변형 프로세스는 어레이의 최대 깊이를 소정 칼럼내에서 15 비트로 감소시키고, 따라서 15비트 입력, 4비트 출력 병렬 카운터가 제1 감소 단계에 이용되는 것을 가능하게 하여, 어레이 깊이를 최대 4비트로 감소시킨다. 32비트의 입력의 경우, 어레이 변형 단계는어레이의 최대 높이를 소정 칼럼내에서 31비트로 감소시키고, 따라서 31 비트 이력과 5비트 출력 병렬 카운터가 이용되는 것을 가능하게 하여, 최대 5비트로 감소된 깊이의 어레이를 제공한다.
본 발명의 실시예에 있어서, 비대칭 지연을 갖는 감소 로직은 전가산기, 반가산기 및 4-2 압축기(4 to 2 compressor)의 임의의 조합을 포함한다. 병렬 카운터로부터의 출력의 수는 4 이상이고, 4-2 압축기는 1비트 출력을 생성하기 위해 사용되는 것이 바람직하다.
본 발명의 실시예를 첨부한 도면을 참조하여 이하에 설명하도록 한다.
도5에 나타낸 실시예에 있어서, 2개의 16비트 2진수 A 및 B를 승산하는 프로세스에서 생성된 어레이는, 본 명세서에 그 내용이 참조로서 포함되어 있는 영국 특허 출원 번호 0019287.2 및 0101961.1, 미국 특허 출원 번호 09/637,532, 09/759,954, 및 09/917,257, 및 국제 특허 출원 번호 GB01/03415 및 GB01/04455호에 기재된 프로세스에 따라 변형된 어레이로서 형성된다. 도 4에 나타낸 바와 같이, 종래 기술의 어레이에 대한 이런 어레이의 장점은 칼럼내 비트의 최대수가 작다는 것이다. 종래 기술에서는, 16비트 승산의 경우, 칼럼은 16비트를 갖는다. 도5의 어레이는 15비트의 4개 칼럼을 갖는다.
어레이를 감소시키기 위한 제1 감소 단계는 도6에 나타낸 바와 같이 각 칼럼을 최대 15비트를 최대 4비트로 감소시킨다. 종래의 모든 병렬 카운터가 15비트의 최대 칼럼을 4비트로 감소시키기 위해 이용될 수 있지만, 상술한 출원에 기재된 병렬 카운터를 이용하는 것이 좋다.
병렬 카운터로부터의 4비트 출력은 상이한 게이트 지연을 받게 된다. 일반적으로 2개의 출력은 4개 게이트 지연을 받고, 2개의 출력은 5개 게이트 지연을 받는다. 그러나, 어레이 감소를 위해 최대 길이 병렬 카운터의 형태로 단일 로직 회로를 이용하면 회로 사이의 배선을 대폭 감소시킬 수 있다. 따라서 최대 길이 병렬 카운터의 이용시 상당한 배선 이득이 있다.
도7은 회로의 비대칭 특성을 나타내는 전가산기의 논리도이다. 입력(A 및 B)은 4개 게이트 지연을 받게 되어 5개 게이트 지연을 받은 최대 길이 병렬 카운터로부터의 출력인 회로(C)로의 입력에 비교해 비교적 전진된 최대 길이 병렬 카운터로부터의 출력을 포함한다. 이 실시예에서 각 게이트 지연은 최저속도 게이트인 EXOR 게이트로서 표기된다. And 및 OR 게이트는 0.5의 상대 지연(relative delay)을 갖는다고 간주한다. 도7은 누적 게이트 지연(accumulate gate delay)을 나타내며, 도시된 바와 같이, 합(S)은 6의 누적 게이트 지연을 갖는 출력이며, 캐리(C) 역시 6의 누적 게이트 지연을 갖는 출력이다. 따라서, 제1 레벨의 어레이 감소회로에서의 최대 길이 병렬 카운터 출력의 상대 게이트 지연을 보상하기 위해, 전가산기가 제2 레벨의 어레이 감소회로의 일부분으로서 이용될 수 있다.
도 8은 각각 2개의 전가산기를 포함하고 있는 2개의 인접한 4-2 압축기의 개략도이다. 본 발명의 이 실시예에서 제2레벨의 로직 감소로서 이용된 로직의 비대칭성을 나타내기 위해 상대 게이트 지연이 도시되었다.
도 9는 최대 길이 병렬 카운터에 의해 제1 레벨의 감소를 거친 감소 어레이로부터 각각 4칼럼의 비트를 수용하기 위해 사용된 일련의 4-2 압축기를 나타낸다. 각 칼럼에 대한 4-2 압축기의 출력은 2비트를 포함한다. 이어서, 2n 비트의 2진수의 승산을 포함하는 2진수 출력을 생성하기 위해, 종래의 가산 로직 회로를 이용하여 이 2비트가 가산된다.
도10은 본 발명의 일실시예에 따른 4-2 압축기의 논리도이다.
따라서, 본 발명의 실시예에 있어서, 출원인의 종전에 연구한 어레이 변형 기술에 따른 어레이 변형에 의해 어레이가 생성 및 변경된다. 어레이는 2단계로 감소된다. 제1 단계는, 단일 병렬 카운터가 어레이의 각 칼럼의 감소에 이용되면 승산 로직 회로의 배선이 감소될 수 있다는 인식으로부터 이루어진다. 그러나, 이것은 그 출력이 상이한 게이트 지연을 받게 된다. 따라서, 본 발명은 이러한 문제를, 입력이 상대적으로 상이한 게이트 지연을 받게 되는 로직 회로- 즉, 로직 회로가 입력에 비대칭 지연을 부여함 - 를 이용하는 제2 레벨의 어레이 감소를 이용하여 개선한다. 이러한 방식으로, 최대 길이 병렬 카운터의 이용에 의해 야기되는 상대 지연은 다음의 감소 단계에서 지연을 유발시키지 않는다.
따라서, 이 승산 로직 회로는 로직 회로내의 게이트 지연의 밸런싱(balancing)으로 인하여 감소된 배선과 증가된 속도를 갖게 되어 대단히 효율적이다.
상술한 본 발명은 특정 실시예를 참조하여 설명하였지만, 본 발명의 사상 및 범위내에서 변형이 일어날 수 있다는 것은 당업자에게 명백한 것이다.
예컨대, 본 발명은 어레이이 감소전에 어레이가 변형되는 특정예를 참조하여 설명하였지만, 본 발명은 변형된 어레이를 감소시키는데 적용될 수 있다. 예컨대, 어레이는 종래 기술의 임의 기술을 이용하여 생성될 수 있다. 비트의 논리적인 조합을 실행하는 어떠한 로직 게이트 연산이라도 AND, NAND, OR 또는 NOR 게이트 등의 어레이를 형성하는데 이용될 수 있다. 게다가, 어레이는 부스 인코딩(Boothencoding)에 의해 생성될 수 있다.
본 발명에 있어서, 종래 기술의 어떠한 병렬 카운터 회로라도 제1레벨의 어레이 감소를 위해 이용될 수 있다. 병렬 카운터는 모든 수의 칼럼에 이용될 수 있으며, 모든 칼럼에 대해 이용될 필요는 없다. 예컨대, 3비트의 칼럼의 경우, 전가산기가 이용될 수 있다. 또한 일부 칼럼에 대해서는 병렬 카운터보다 전가산기를 이용하는 것이 바람직할 수 있다. 병렬 카운터의 이용에 의해 감소된 칼럼의 수는 설계시 선택 사항이다. 그러나, 어레이 내에 3비트 이상을 갖는 임의의 칼럼에 대해서는 병렬 카운터를 이용하는 것이 바람직하다고 파악된다.
본 발명에 의하면, 제2 어레이 감소 단계는 출력의 생성시에 입력이 상이한 지연을 받게 되는 모든 적당한 로직에 의해 구현될 수 있다.
본 발명에서는 모든 형태의 병렬 카운터가 이용될 수 있지만, 바람직한 실시예에서는, 영국 특허 출원 번호 0019287.2 및 0101961.1, 미국 특허 출원 번호 09/637,532, 09/759,954, 및 09/917,257, 및 국제 특허 출원 번호 GB01/03415 및 GB01/04455호에 기재된 병렬 카운터가 이용된다.
본 발명에서는 모든 종래의 방법이 승산 로직 회로의 출력을 생성하기 위해 2개의 2진수를 가산하는 최종 단계에 이용될 수 있다.
본 발명은 특정한 승산 로직 회로를 참조하여 설명되었지만, 본 발명은 승산을 실행하는 승산-누산 로직 회로(multiply-accumulate logic circuit)(승산 로직 회로의 특별한 경우로 볼수 있음)를 포함한 모든 로직 회로에 적용될 수 있다. 승산-누산 로직 회로에 있어서, 연산 A×B + C이 실행되고, 여기서 C는 전술한 승산의 누산이다. 승산-누산 로직 회로는 상술한 승산 로직 회로에서 설명한 바와 같이 A×B의 어레이를 생성하는 것에 의해 동작한다. 추가적인 로우(Row)는 C의 비트용으로 어레이에 추가된다. C는 이전의 누산이기 때문에 A와 B보다 더 많은 비트를 가질 수 있다. 이어서, 이러한 확장된 어레이는 상술한 바와 같은 어레이 감소를 받게 된다.
본 발명은 상술한 바와 같은 독창적인 승산 로직 회로의 모든 설계 및 제조의 방법을 포함한다. 본 발명은 상기 독창적인 승산 로직 회로의 특징을 나타내는 코드 또는 데이터를 더 포함한다. 또한, 본 발명은 상술한 바와 같은 승산 로직 회로의 독창적인 기능성을 모델링하는 코드를 포함한다.
로직 회로의 기능성을 모델링하도록 실행되는 코드를 이용하여 로직 회로가 컴퓨터 시스템에 설계될 수 있다는 것이 이 분야에 공지되어 있다. 그러한 설계 절차의 결과가 로직 회로의 특징과 기능성을 정의하는 코드이다. 따라서, 로직 회로의 특성과 기능을 정의하는 코드는 로직 회로 설계자 및 제조자에게 이용가능하게 만들어질 수 있다. 설계용 코드 및 로직 회로의 특성과 기능을 정의하는 코드는 예컨대 플라피 디스크, 하드디스크, CD-ROM, 테이프 장치, 또는 고체상태 메모리 장치와 같은 저장 매체 등의 적당한 캐리어매체, 또는 전기 신호, 광신호, 초음파 신호, 어쿠스틱 신호, 또는 자기 신호(예컨대 통신 네트워크를 통해 전달된 신호)와 같은 임의의 신호 형태와 같은 임시 매체(transient medium)에 이용가능하게 이루어질 수 있다.
따라서, 로직 회로 제조자는 표준 셀(standard cell)의 특성과 기능을 정의하는 코드를 제공 받을 수 있으며, 이 코드는 공지된 제조 기술을 이용하여 반도체 재료내에 로직 회로를 제조하기 위해 이용될 수 있다.
본 발명의 일실시예에 있어서, 설계 프로세스는 표준 셀 설계 프로세스를 이용하는 표준 셀의 이용을 포함한다. 설계자는 완전한 로직 기능이나 승산 로직 회로의 부분을 구현하는 표준 셀을 설계하기 위해 설계 프로그램을 구현할 수 있다. 설계 프로세스는 실리콘내의 표준셀의 설계(designing), 제조(bulding), 및 테스트(testing)를 포함하고, 성공적으로 테스트된 표준셀의 특성을 나타내는 데이터의 라이브러리(library)의 형성을 포함한다. 표준 셀 설계의 특성을 나타내는 이 라이브러리는 표준 셀을 이용하는 로직 회로의 설계에 어느 것이 이용될 수 있는지의 정보를 포함한다. 라이브러리내의 데이터 또는 코드는 표준 셀 모델을 정의하는 로직 회로를 위한 특성을 유지한다. 데이터는 표준 셀에 의해 실행되는 기능 모델뿐만 아니라 구조(geometry), 파워, 타이밍 정보를 포함할 수 있다. 표준 셀의 라이브러리의 기능성을 이용하여 특정 기능을 수행시키기 위해, 표준 셀 설계의 판매자(vendor)는 표준 셀 코드의 라이브를 로직 회로 설계자에게 이용가능하게 하여 로직 회로의 설계를 돕는다. 로직 회로 설계자는 표준 셀 코드를 이용하는 승산 로직 회로와 같은 로직 회로를 조립하기 위해 표준 셀용의 코드 라이브러리를 컴퓨터 모델링 구현에 이용할 수 있다. 따라서, 설계자는 소정 로직 회로의 모델을 구축하기 위해 코드를 이용하는 설계 어플리케이션을 실행한다. 결과 데이터는 예컨대 승산 로직 회로와 같은 로직 회로의 특성을 표준셀의 조합으로 정의한다. 따라서, 로직 회로 설계자에 의해 생성된 데이터 모델을 이용하여 칩을 설계하고 형성하기 위해 칩 제조자에 의해 이 데이터가 이용될 수 있다.
본 발명은 본 발명에 따른 기능을 구현하기 위한 표준 셀의 설계를 포함하고, 예컨대, 독창적인 기능을 구현하는 표준 셀의 특성을 정의하는 모델 데이터의 생성을 포한한다. 또한, 본 발명은 표준 셀 데이터의 라이브러리를 이용하여 독특한 승산 로직 회로를 설계하는 방법을 포함하고, 예컨대, 독특한 승산 로직 회로의 특성을 모델링하는 데이터를 생성하기 위한 컴퓨터 프로그램을 이용하는 단계를 포함한다. 또한, 본 발명은 설계 데이터를 이용하여 승산 로직 회로를 제조하는 프로세스를 포함한다.
본 발명이 특정 실시예를 참조하여 설명되었지만, 본 발명의 사상과 범위 내에서 변경될 수 있는 것은 당업자들게는 명백하다.
Claims (17)
- 2개의 2진수를 승산하기 위한 승산 로직 회로에 있어서,상기 2개의 2진수로부터 가산이 요구되는 2진값의 어레이를 생성하기 위한 어레이 생성 로직;상기 어레이의 깊이를 2개의 2진수로 감소시키기 위한 어레이 감소 로직; 및상기 2진수의 상기 2진값을 가산하기 위한 가산 로직을 포함하고,상기 어레이 감소 로직은,각각이 상기 어레이의 각 칼럼내의 모든 2진수의 2진값을 수신하고, 2진값을 출력하는 복수의 2진 카운터를 포함하는 제1 어레이 감소 로직; 및상기 로직로의 입력에 비대칭 지연을 부여하고, 병렬 카운터로부터의 상기 2진수를 입력에서 수신하고, 상기 2진수를 상기 가산 로직으로 출력하는 제2 어레이 감소 로직을 포함하는승산 로직 회로.
- 제1항에 있어서,상기 제1어레이 감소 로직은 각 칼럼내의 2진수의 2진값을 가산하기 위한 가산기 로직을 포함하는승산 로직 회로.
- 제2항에 있어서,상기 가산기 로직은 적어도 하나의 전가산기를 포함하는승산 로직 회로.
- 제2항 또는 제3항에 있어서,상기 가산기 로직은 3개 또는 그 이하의 비트를 갖는 상기 어레이내의 칼럼에 대한 2진수의 2진값을 가산하도록 구성되는승산 로직 회로.
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 제2 어레이 감소 로직은 전가산기, 반가산기, 4-2 압축기 로직 중 어느 하나 또는 이들의 조합을 포함하는승산 로직 회로.
- 제1항 내지 제5항 중 어느 한 항에 있어서,상기 어레이 생성 로직은 논리적 조합의 어레이로서 2진값의 어레이를 생성하기 위해 하나의 2진수 내의 각 비트와 다른 하나의 2진수 내의 각 비트 사이의 논리적 조합을 수행하도록 구성되는승산 로직 회로.
- 제6항에 있어서,상기 어레이 생성 로직은 논리적 AND 조합의 어레이로서 2진값의 어레이를 생성하기 위해 하나의 2진수 내의 각 비트와 다른 하나의 2진수 내의 각 비트 사이의 논리적 AND 연산을 수행하도록 구성되는승산 로직 회로.
- 제1항 내지 제7항 중 어느 한 항에 기재된 로직 승산 회로를 포함하는 승산-누산 로직 회로에 있어서,어레이 생성 로직은 이전 승산의 누산을 포함하도록 배열되는승산-누산 로직 회로.
- 제1항 내지 제8항에 기재된 로직 회로를 포함하는 집적 회로.
- 제1항 내지 제9항에 기재된 로직 회로를 포함하는 디지털 전자 장치.
- 제1항 내지 제7항 중 어느 한 항에 기재된 승산 로직 회로를 설계하는 방법에 있어서,상기 승산 로직 회로의 특성을 정의하는 정보를 생성하기 위한 컴퓨터 프로그램을 구현하는 단계를 포함하는방법.
- 제11항에 있어서,상기 정보는 코드로서 생성되는방법.
- 제11항 또는 제12항의 방법을 구현하기 위해, 컴퓨터를 제어하는 컴퓨터 판독 가능한 코드를 운반하는캐리어 매체.
- 제11항 또는 제12항의 방법을 이용하여 생성된 코드를 운반하는캐리어 매체.
- 제1항 내지 제7항 중 어느 한 항에 기재된 승산 로직 회로를 설계하기 위한 설계 시스템에 있어서,상기 승산 로직 회로의 특성을 정의하는 정보를 생성하기 위한 컴퓨터 시스템을 포함하는설계 시스템.
- 제1항 내지 7항 중 어느 한 항에 기재된 승산 로직 회로의 특성을 정의하는 모드를 운반하는캐리어 매체.
- 제1항 내지 제7항 중 어느 한 항에 기재된 승산 로직 회로의 제조 방법에 있어서,상기 승산 로직 회로의 특성을 정의하는 코드에 따라 상기 승산 로직 회로를 반도체 재료 내에 설계 및 구축하는 단계를 포함하는방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0107212A GB2373602B (en) | 2001-03-22 | 2001-03-22 | A multiplication logic circuit |
GB0107212.3 | 2001-03-22 | ||
PCT/GB2002/001343 WO2002077792A2 (en) | 2001-03-22 | 2002-03-21 | A multiplication logic circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030093260A true KR20030093260A (ko) | 2003-12-06 |
Family
ID=9911341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-7012228A Withdrawn KR20030093260A (ko) | 2001-03-22 | 2002-03-21 | 승산 로직 회로 |
Country Status (8)
Country | Link |
---|---|
US (2) | US7139788B2 (ko) |
EP (1) | EP1370932A2 (ko) |
JP (1) | JP2004531804A (ko) |
KR (1) | KR20030093260A (ko) |
CN (1) | CN1503938A (ko) |
AU (1) | AU2002253284A1 (ko) |
GB (1) | GB2373602B (ko) |
WO (1) | WO2002077792A2 (ko) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2365636B (en) | 2000-08-04 | 2005-01-05 | Automatic Parallel Designs Ltd | A parallel counter and a multiplication logic circuit |
US7136888B2 (en) * | 2000-08-04 | 2006-11-14 | Arithmatica Limited | Parallel counter and a logic circuit for performing multiplication |
GB2373602B (en) * | 2001-03-22 | 2004-11-17 | Automatic Parallel Designs Ltd | A multiplication logic circuit |
US20040128336A1 (en) * | 2002-08-22 | 2004-07-01 | Zierhofer Clemens M. | Method and system for multiplication of binary numbers |
GB2396718B (en) * | 2002-12-23 | 2005-07-13 | Arithmatica Ltd | A logic circuit and method for carry and sum generation and method of designing such a logic circuit |
US7042246B2 (en) * | 2003-02-11 | 2006-05-09 | Arithmatica Limited | Logic circuits for performing threshold functions |
US8495122B2 (en) * | 2003-12-29 | 2013-07-23 | Xilinx, Inc. | Programmable device with dynamic DSP architecture |
US7472155B2 (en) * | 2003-12-29 | 2008-12-30 | Xilinx, Inc. | Programmable logic device with cascading DSP slices |
US7467175B2 (en) * | 2003-12-29 | 2008-12-16 | Xilinx, Inc. | Programmable logic device with pipelined DSP slices |
US7870182B2 (en) | 2003-12-29 | 2011-01-11 | Xilinx Inc. | Digital signal processing circuit having an adder circuit with carry-outs |
US7853632B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Architectural floorplan for a digital signal processing circuit |
US7840630B2 (en) * | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Arithmetic logic unit circuit |
CA2548327C (en) | 2003-12-29 | 2015-10-20 | Xilinx, Inc. | Integrated circuit with cascading dsp slices |
US7860915B2 (en) * | 2003-12-29 | 2010-12-28 | Xilinx, Inc. | Digital signal processing circuit having a pattern circuit for determining termination conditions |
US7853634B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a SIMD circuit |
US7480690B2 (en) * | 2003-12-29 | 2009-01-20 | Xilinx, Inc. | Arithmetic circuit with multiplexed addend inputs |
US7882165B2 (en) * | 2003-12-29 | 2011-02-01 | Xilinx, Inc. | Digital signal processing element having an arithmetic logic unit |
US7844653B2 (en) | 2003-12-29 | 2010-11-30 | Xilinx, Inc. | Digital signal processing circuit having a pre-adder circuit |
US7849119B2 (en) | 2003-12-29 | 2010-12-07 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit |
US7840627B2 (en) | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Digital signal processing circuit having input register blocks |
US7865542B2 (en) * | 2003-12-29 | 2011-01-04 | Xilinx, Inc. | Digital signal processing block having a wide multiplexer |
US7853636B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit for convergent rounding |
US7567997B2 (en) * | 2003-12-29 | 2009-07-28 | Xilinx, Inc. | Applications of cascading DSP slices |
US20050228845A1 (en) * | 2004-04-12 | 2005-10-13 | Mathstar, Inc. | Shift and recode multiplier |
US7565391B2 (en) * | 2004-12-17 | 2009-07-21 | The Regents Of The University Of California | Binary digit multiplications and applications |
US20100030836A1 (en) * | 2005-02-17 | 2010-02-04 | Matsushita Electric Industrial Co., Ltd. | Adder, Synthesis Device Thereof, Synthesis Method, Synthesis Program, and Synthesis Program Storage Medium |
JP4808197B2 (ja) * | 2007-09-06 | 2011-11-02 | シャープ株式会社 | 光学式エンコーダおよびそれを備えた電子機器 |
US8479133B2 (en) | 2009-01-27 | 2013-07-02 | Xilinx, Inc. | Method of and circuit for implementing a filter in an integrated circuit |
US8543635B2 (en) | 2009-01-27 | 2013-09-24 | Xilinx, Inc. | Digital signal processing block with preadder stage |
WO2011055168A1 (en) * | 2009-11-06 | 2011-05-12 | Freescale Semiconductor, Inc. | Area efficient counters array system and method for updating counters |
FR2990781A1 (fr) * | 2012-05-15 | 2013-11-22 | St Microelectronics Grenoble 2 | Multiplieur serie numerique |
US10037189B2 (en) * | 2016-09-20 | 2018-07-31 | Altera Corporation | Distributed double-precision floating-point multiplication |
US10884705B1 (en) | 2018-04-17 | 2021-01-05 | Ali Tasdighi Far | Approximate mixed-mode square-accumulate for small area machine learning |
US11467805B1 (en) | 2020-07-10 | 2022-10-11 | Ali Tasdighi Far | Digital approximate multipliers for machine learning and artificial intelligence applications |
US11416218B1 (en) | 2020-07-10 | 2022-08-16 | Ali Tasdighi Far | Digital approximate squarer for machine learning |
CN111695313B (zh) * | 2020-06-01 | 2024-05-17 | 中国人民解放军国防科技大学 | 近似乘法器设计方法、近似乘法器和fir滤波器 |
CN112068802B (zh) * | 2020-08-14 | 2022-11-11 | 清华大学 | 计数器的设计方法、装置及计数器 |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2062310A (en) * | 1932-07-29 | 1936-12-01 | Automatic Transmission Enginee | Variable speed transmission |
US2475250A (en) * | 1944-09-28 | 1949-07-05 | Egon M Petersen | Runner vehicle |
US3634658A (en) | 1970-03-19 | 1972-01-11 | Sperry Rand Corp | Parallel bit counter |
US3757098A (en) | 1972-05-12 | 1973-09-04 | Rca Corp | Carry generation means for multiple character adder |
US4168530A (en) * | 1978-02-13 | 1979-09-18 | Burroughs Corporation | Multiplication circuit using column compression |
JPS6022767B2 (ja) * | 1979-10-01 | 1985-06-04 | 株式会社東芝 | 2進乗算器細胞回路 |
FR2475250B1 (fr) | 1980-01-31 | 1986-04-11 | Thomson Csf Mat Tel | Multiplieur rapide |
US4399517A (en) | 1981-03-19 | 1983-08-16 | Texas Instruments Incorporated | Multiple-input binary adder |
FR2540376B3 (fr) * | 1983-02-04 | 1987-01-09 | Coustenoble Jean P | Appareil portatif destine a l'enregistrement d'electrocardiogrammes |
US4703435A (en) | 1984-07-16 | 1987-10-27 | International Business Machines Corporation | Logic Synthesizer |
US4607176A (en) | 1984-08-22 | 1986-08-19 | The United States Of America As Represented By The Secretary Of The Air Force | Tally cell circuit |
JP2506991B2 (ja) | 1987-09-25 | 1996-06-12 | 松下電器産業株式会社 | 回路変換システムと回路変換方法と反転論理生成方法および論理設計システム |
KR920007505B1 (ko) | 1989-02-02 | 1992-09-04 | 정호선 | 신경회로망을 이용한 곱셈기 |
US5175862A (en) | 1989-12-29 | 1992-12-29 | Supercomputer Systems Limited Partnership | Method and apparatus for a special purpose arithmetic boolean unit |
US5161119A (en) | 1990-02-14 | 1992-11-03 | Lsi Logic Corporation | Weighted-delay column adder and method of organizing same |
US4993421A (en) * | 1990-07-20 | 1991-02-19 | Thornton William E | Cardiac monitoring system |
FR2665275B1 (fr) | 1990-07-27 | 1992-11-13 | France Etat | Multiplieur cellulaire en arbre de type gradin inverse et son procede de realisation. |
US5187679A (en) | 1991-06-05 | 1993-02-16 | International Business Machines Corporation | Generalized 7/3 counters |
US5095547A (en) * | 1991-06-13 | 1992-03-17 | Kerns Carol S | Self defense glove construction |
US5524082A (en) | 1991-06-28 | 1996-06-04 | International Business Machines Corporation | Redundancy removal using quasi-algebraic methods |
GB2263002B (en) | 1992-01-06 | 1995-08-30 | Intel Corp | A parallel binary adder |
US5325320A (en) | 1992-05-01 | 1994-06-28 | Seiko Epson | Area efficient multiplier for use in an integrated circuit |
US5343417A (en) | 1992-11-20 | 1994-08-30 | Unisys Corporation | Fast multiplier |
US5701504A (en) | 1994-12-28 | 1997-12-23 | Intel Corporation | Apparatus and method for addition based on Kogge-Stone parallel algorithm |
KR100359965B1 (ko) | 1995-04-11 | 2003-03-15 | 캐논 가부시끼가이샤 | 프로세서와이의연산방법 및 데이타프로세서 |
KR100203907B1 (ko) | 1996-11-06 | 1999-06-15 | 김영환 | 병렬 데이타 비트 카운터 |
JP3070510B2 (ja) * | 1997-03-21 | 2000-07-31 | 日本電気株式会社 | 半導体装置の入力回路および出力回路ならびに半導体装置 |
US6023566A (en) | 1997-04-14 | 2000-02-08 | Cadence Design Systems | Cluster matching for circuit implementation |
US6029187A (en) | 1997-10-28 | 2000-02-22 | Atmel Corporation | Fast regular multiplier architecture |
US5964827A (en) * | 1997-11-17 | 1999-10-12 | International Business Machines Corporation | High-speed binary adder |
US6175852B1 (en) * | 1998-07-13 | 2001-01-16 | International Business Machines Corporation | High-speed binary adder |
JP3202196B2 (ja) * | 1998-08-25 | 2001-08-27 | 沖電気工業株式会社 | 出力回路と入力回路 |
US6269386B1 (en) * | 1998-10-14 | 2001-07-31 | Intel Corporation | 3X adder |
KR100300079B1 (ko) * | 1999-07-28 | 2001-11-01 | 김영환 | 센스앰프 구동회로 |
US6490608B1 (en) | 1999-12-09 | 2002-12-03 | Synopsys, Inc. | Fast parallel multiplier implemented with improved tree reduction schemes |
US6445210B2 (en) * | 2000-02-10 | 2002-09-03 | Matsushita Electric Industrial Co., Ltd. | Level shifter |
CN1468396A (zh) | 2000-08-04 | 2004-01-14 | 自动平行设计公司 | 并行计数器和用于执行乘法的逻辑电路 |
GB2365636B (en) | 2000-08-04 | 2005-01-05 | Automatic Parallel Designs Ltd | A parallel counter and a multiplication logic circuit |
US7136888B2 (en) | 2000-08-04 | 2006-11-14 | Arithmatica Limited | Parallel counter and a logic circuit for performing multiplication |
US6883011B2 (en) | 2000-08-04 | 2005-04-19 | Arithmatica Limited | Parallel counter and a multiplication logic circuit |
GB2373602B (en) | 2001-03-22 | 2004-11-17 | Automatic Parallel Designs Ltd | A multiplication logic circuit |
JP4090222B2 (ja) * | 2001-07-17 | 2008-05-28 | 株式会社ルネサステクノロジ | 半導体集積回路、該半導体集積回路の設計方法及び該半導体集積回路設計用プログラム |
JP4145565B2 (ja) * | 2002-05-17 | 2008-09-03 | 株式会社ルネサステクノロジ | 半導体装置 |
JP3609805B2 (ja) * | 2002-07-11 | 2005-01-12 | 松下電器産業株式会社 | ブロック間インタフェース回路およびシステムlsi |
GB2396718B (en) | 2002-12-23 | 2005-07-13 | Arithmatica Ltd | A logic circuit and method for carry and sum generation and method of designing such a logic circuit |
-
2001
- 2001-03-22 GB GB0107212A patent/GB2373602B/en not_active Expired - Fee Related
- 2001-07-03 US US09/898,752 patent/US7139788B2/en not_active Expired - Lifetime
-
2002
- 2002-03-21 KR KR10-2003-7012228A patent/KR20030093260A/ko not_active Withdrawn
- 2002-03-21 US US10/472,658 patent/US7275076B2/en not_active Expired - Fee Related
- 2002-03-21 WO PCT/GB2002/001343 patent/WO2002077792A2/en not_active Application Discontinuation
- 2002-03-21 CN CNA028082028A patent/CN1503938A/zh active Pending
- 2002-03-21 EP EP02722402A patent/EP1370932A2/en not_active Withdrawn
- 2002-03-21 AU AU2002253284A patent/AU2002253284A1/en not_active Abandoned
- 2002-03-21 JP JP2002575780A patent/JP2004531804A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20020138538A1 (en) | 2002-09-26 |
AU2002253284A1 (en) | 2002-10-08 |
US7275076B2 (en) | 2007-09-25 |
GB2373602B (en) | 2004-11-17 |
JP2004531804A (ja) | 2004-10-14 |
WO2002077792A3 (en) | 2003-03-06 |
US20040103135A1 (en) | 2004-05-27 |
WO2002077792A2 (en) | 2002-10-03 |
US7139788B2 (en) | 2006-11-21 |
GB2373602A (en) | 2002-09-25 |
EP1370932A2 (en) | 2003-12-17 |
CN1503938A (zh) | 2004-06-09 |
GB0107212D0 (en) | 2001-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20030093260A (ko) | 승산 로직 회로 | |
Schulte et al. | Reduced power dissipation through truncated multiplication | |
Pihl et al. | A multiplier and squarer generator for high performance DSP applications | |
KR20030045021A (ko) | 승산을 수행하기 위한 병렬 카운터 및 로직 회로 | |
US11321049B2 (en) | Fast binary counters based on symmetric stacking and methods for same | |
Qiqieh et al. | Significance-driven logic compression for energy-efficient multiplier design | |
CA1332196C (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
US20180121166A1 (en) | Division Synthesis | |
JPS588009B2 (ja) | デイジタル乗算器 | |
WO2002077796A1 (en) | Logic circuit for performing binary addition or subtraction | |
JP3556950B2 (ja) | 高速算術演算装置のけた上げ先見加算器段の数を減少させる構造及び方法 | |
JP2004506260A (ja) | 並列計数器と乗算を実行するための論理回路 | |
CN112580279B (zh) | 逻辑电路的优化方法、优化装置以及存储介质 | |
US20230229397A1 (en) | Multiplication by a rational in hardware with selectable rounding mode | |
Gangwar et al. | A Design Technique for Delay and Power Efficient Dadda-Multiplier | |
US7225217B2 (en) | Low-power Booth-encoded array multiplier | |
Kaur et al. | Analysis of ternary multiplier using booth encoding technique | |
US20050021585A1 (en) | Parallel counter and a logic circuit for performing multiplication | |
Varalakshmi et al. | Implementation of Multiplier Architecture Using Efficientcarry Select Adders for Synthesizing Fir Filters | |
US20050125481A1 (en) | Adder circuit with sense-amplifier multiplexer front-end | |
KR102696794B1 (ko) | 고속 병렬 곱셈기 하드웨어 및 그 동작 방법 | |
Teja et al. | Implementation of vedic multiplier using modified architecture by routing rearrangement for high-optimization | |
US6631393B1 (en) | Method and apparatus for speculative addition using a limited carry | |
Kim et al. | Digit-serial modular multiplication using skew-tolerant domino CMOS | |
CN117540669B (zh) | 数字电路的结构化数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20030919 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |