KR950006354B1 - 비교회로 - Google Patents

비교회로 Download PDF

Info

Publication number
KR950006354B1
KR950006354B1 KR1019930001581A KR930001581A KR950006354B1 KR 950006354 B1 KR950006354 B1 KR 950006354B1 KR 1019930001581 A KR1019930001581 A KR 1019930001581A KR 930001581 A KR930001581 A KR 930001581A KR 950006354 B1 KR950006354 B1 KR 950006354B1
Authority
KR
South Korea
Prior art keywords
output
carry
bit
significant bit
comparison
Prior art date
Application number
KR1019930001581A
Other languages
English (en)
Other versions
KR940020689A (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 KR1019930001581A priority Critical patent/KR950006354B1/ko
Priority to JP6011864A priority patent/JPH06250821A/ja
Priority to DE4403401A priority patent/DE4403401A1/de
Priority to CN94102748A priority patent/CN1044523C/zh
Publication of KR940020689A publication Critical patent/KR940020689A/ko
Application granted granted Critical
Publication of KR950006354B1 publication Critical patent/KR950006354B1/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/02Comparing digital values
    • G06F7/026Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Manipulation Of Pulses (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

내용 없음.

Description

비교회로
제1도는 종래의 비교회로의 회로도.
제2도는 제1도에 도시된 비교회로 중 A>B를 계산한 일부분에 대한 회로도.
제3도는 본 발명에 의한 비교회로의 일 실시예에 따른 회로도.
제4도는 제3도에 도시된 비교회로 중 A>B를 계산하는 일부분에 대한 회로도.
* 도면의 주요부분에 대한 부호의 설명
100,200 : 제1 및 제2보수수단 300,400 : 캐리검출수단
500 : 일치검출수단
본 발명은 디지탈 시스템에 있어서 비교회로에 관한 것으로, 특히 캐리 발생 원리를 이용하여 두 수의 대소비교를 간단한 회로로 구현하는 비교회로에 관한 것이다.
최근 디지탈 회로가 고집적화되어 가면서 각 기능에 대한 회로의 구현을 알기 쉽게 또한 칩에서 차지하는 면적을 최소화하여 표현하는 것이 요구되는 있다.
종래의 비교회로는 n비트를 같는 두 수를 비교할 때, 진리표를 이용해서 두 수의 대소를 비교할 경우 22n개의 입력항을 처리해야하는 복잡한 문제점을 개선하여 제1도에 도시된 바와 같은 대소 비교회로에서는 상위비트부터 차례로 대소관계를 판정하는 방법을 취한다. 이 비교회로는 "Digital Logic and Computer Design", p164-p167,1979, Prentice Hall에 개재되어 있다.
이는 2개의 수치그룹의 대소를 비교할 때 하위의 자리부터 차례로 비교해 나가는 경우에는 모든 자리에 걸쳐 비교할 필요가 있지만 상위자리부터 비교하면 최초에 얻어지는 대소관계만으로 출력이 결정되기 때문에 하위자리의 비교는 필요없게 되기 때문이다.
예를 들면, 4비트로 구성된 두 수를 A, B라 하면, 다음과 같이 나타낼 수 있다.
A=A3A2A1A0B=B3B2B1B0
여기서, A3=B3, A2=B2, A1=B2이면 A0=B0이고 이 경우를 다음과 같이 나타낼 수 있다.
Xi=AiBi+Ai/Bi ………………………………………………… (1)
i=0,1,2,3이라 하면,
Ai=Bi이면 Xi=1이고,
(A=B)=X3ㆍX2ㆍX1ㆍX0이다.
A가 B보다 큰지 작은지를 결정하기 위해서는 최상위비트 자리(MSB/Magnificent Sign Bit)부터 차례로 비교하게 되며, 같으면 그 다음 자리를 비교하게 된다.
이 관계를 정리하면 다음과 같다.
(A>B)=A3/B3+X3A2/B2+X3X2A1/B1+X3X2X1A0/B0………… (2)
(A=B)=X3ㆍX2ㆍX1ㆍX0………………………………………… (3)
(A>B)=/A3B3+X3/A2B2+X3X2/A1B1+X3X2X1A0/B0………… (4)
위의 (2)-(4)논리식을 구현한 로직회로는 제1도에 도시한 바와같다.
또한 상기 (2)식에 도시된 A>B만의 논리식을 구현한 로직회로는 제2도에 도시한 바와 같다.
여기서, 인버터는 CMOS로 구성될 경우 2개의 트랜지스터(p-채널 트랜지스터, n-채널 트랜지스터)가 필요하고, 낸드게이트는 2개의 직렬로 접속된 n-채널 트랜지스터와 2개의 병렬로 접속된 p-채널 트랜지스터로 구성되므로 4개의 트랜지스터가 필요하며, 노아게이트는 2개의 병렬로 접속된 n-채널 트랜지스터와 2개의 직렬로 접속된 p-채널 트랜지스터로 구성되므로 4개의 트랜지스터가 필요하다.
또한, 배타논리합게이트는 4개의 낸드게이트로 구성될 경우 16개의 트랜지스터가 필요하게 되며, 3입력의 낸드게이트는 6개의 트랜지스터, 4입력의 노아게이트는 8개의 트랜지스터가 필요하다.
따라서, 제1도에 도시된 비교회로는 25개의 인버터(11-18,31-38,61-66,72,74,76), 10개의 낸드게이트(21-28,51,52), 3입력의 4개의 낸드게이트(53-56), 4개의 노아게이트(41-44), 4입력의 3개의 노아게이트(71,73,75)로 구성되어 있으므로 154개의 트랜지스터가 필요하다.
제2도에 도시된 비교회로는 4개의 배타논리합게이트(81,83,86,89), 2개의 인버터(84,90), 1개의 2입력 낸드게이트(82), 3개의 3입력 낸드게이트(85,88,92), 4입력의 낸드게이트(93), 2개의 노아게이트(87,91)로 되어 있으므로 CMOS로 구현할 때 98개의 트랜지스터가 필요하게 된다.
따라서, 위의 (2)-(4)식에 도시된 비교알고리즘을 이용한 제1도 및 제2도에 도시된 비교회로는 진리표에 의한 방법을 크게 개선하기는 했지만 구조가 복잡하고, 논리게이트의 숫자로 기능에 비해 많은 문제점이 있었다.
본 발명의 목적은 n비트의 두 수의 대소비교를 캐리 발생여부를 이용하여 간단하게 구현하여 칩면적을 줄이는 비교회로를 제공하는데 있다.
상술한 목적을 달성하기 위하여, 본 발명에 의한 비교회로는 n비트를 갖는 두 수를 기교하는 비교회로에 있어서 : 두 수중 어느 한 수의 각 비트에 대해 보수를 취하는 보수수단 ; 및 상기 보수수단으로부터 출력되는 수와 보수를 취하지 않은 수를 최하위비트부터 각 비트에서 캐리를 검출하여 캐리검출결과에 따라 보수를 취한 수보다 보수를 취하지 않은 수가 큼을 나타내는 검출신호를 출력하는 캐리 검출수단을 포함함을 특징으로 하고 있다.
이하, 첨부된 도면을 참조하여 본 발명에 의한 비교회로의 바람직한 실시예를 설명하기로 한다.
제3도는 본 발명에 의한 비교회로의 일 실시예에 따른 회로도이다.
본 발명에 의한 비교회로는 유입되는 4비트의 두 수(A, B) 중 어느 한 수(B)의 보수를 취하기 위한 4개의 인버터(101-104)로 구성된 제1보수수단(100)과, 4비트의 두 수(A, B) 중 다른 한 수(A)의 보수를 취하기 위한 4개의 인버터(201-204)로 구성된 제2보수수단(200)과, 제1보수수단(100)으로부터 출력되는 보수를 취한 수와 보수를 취하지 않은 수, 즉 두 수의 최하위비트로부터 각 비트에서 발생하는 캐리를 검출하여 A가 B보다 큰(A>B)지를 검출하는 제1캐리 검출수단(300)과, 제2보수수단(200)으로부터 보수를 취한 수와 보수를 취하지 않은 수, 두 수의 최하위비트로부터 각 비트에서 발생하는 캐리를 검출하여 B가 A보다 큰(A>B)지를 검출하는 제2캐리 검출수단(400)과, 제1 및 제2캐리 검출수단(300,400)의 출력을 부정논리합하여 두 수가 일치하는지를 검출하는 일치검출수단(500)으로 되어 있다.
이어서, 제3도의 동작을 설명하기로 한다.
본 발명의 동작을 설명하기 전 본 발명에 이용되는 알고리즘을 설명하기로 한다.
우선, 두 수의 뺄셈 연산에 있어서 큰 수에서 작은 수를 빼면 결과는 양의 값이 나오고, 작은 수에서 큰 수를 빼면 음의 값이 나온다.
즉, A-B의 연산을 하고자 하는 경우에는 먼저 B에 '1'의 보수를 취하고, A+(/B)(/B는 '1'의 보수)를 수행한 다음 캐리가 발생하면(carry=1), A+(/B)의 연산 결과에 1을 더한 값을 최종결과가 된다.
캐리가 발생하지 않으면(carry=0), A+(/B)의 연산결과에 '1'의 보수를 취한 후 부호를 '-'로 하는 것이 최종 결과가 된다.
따라서, 본 발명에서는 이 원리 중 A,B의 크기에 따라 캐리가 발생하는 성질을 이용한다. 캐리는 뺄셈 연산서 발생하며, 뺄셈연산은 두 수중 어느 한 수에 보수를 취하여 계산하게 된다.
한편, 전가산기 입력은 각각 x,y,z로 하고 캐리를 c라고 하면 전가산기에서 캐리를 발생하는 로직은 아래 (5)식과 같다.
c=xy+xz+yz …………………………………………………… (5)
종래의 제1도에 도시된 예와 같이 4비트의 두 수를 비교하는 비교기의 예를 들면
A=A3A2A1A0.
B=B3B2B1B0, /B=/B3/B2/B1/B0
최하위비트(LSB)로부터 각 비트에서 발생되는 캐리를 각각 C1,C2,C3, COUT라 하고, A-B의 캐리를 구하면
C1=A0/B0…………………………………………………(6)
C2=A1/B1+A1C1+/B1C1……………………………… (7)
C3=A2/B2+A2C2+B2C2…………………………………(8)
COUT=A3/B3+A3C3+/B3C3………………………………(9)
위(6)-(9)식의 관계를 정리하여 A-B와 B-A에서의 캐리 즉, 비교회로의 출력을 논리회로 구현한 회로를 제3도에 도시된 바와 같다.
(1) A>B인 경우
인버터(101-104)에서는 두 수중 B를 보수로 취하여 /B=/B3/B2/B1/B0를 출력한다.
인버터(302)의 출력 즉, 최하위비트이 두 수(A0,/B0)의 캐리인 C1은 위(6)식에 도시된 바와 같고, 인버터(304)의 로직상태는 C2가 되며, 이 C2는 인버터(302)의 출력(C1)과 최하위비트에서 그 다음 하위비트의 두수와 가산했을 때 발생하는 캐리이며 로직상태는 위(7)식과 같다.
인버터(306)의 출력 즉, C3는 캐리 C2와 세번째 하위비트의 두 수(A2,/B2)를 가산했을 때 발생하는 캐리이며 로직상태는 위(8)식과 같다.
인버터(308)의 출력 즉, C4는 캐리 C3와 최상위비트의 두수(A3,/B3)를 가산했을 때 발생하는 캐리이며 로직상태는 위(9)식과 같다. 위(9)식이 "하이(1)"가 되면 A가 B보다 큰 수임을 나타낸다.
(2) A>B인 경우
위(6)식 내지 위(9)식에 나타낸 관계를 이용하면
C1'=A0/B0………………………………………………… (10)
C2'=A1/B1+A1C1'+/B1C1'……………………………… (11)
C3'=A2/B2+A2C2'+B2C2'…………………………………(12)
COUT'=A3/B3+A3C3'+/B3C3'………………………………(13)
와 같다.
인버터(201-204)에서는 두 수중 A를 보수를 취하여 즉, /A=/A3/A2/A1/A0로 출력한다.
인버터(402)의 출력 즉, C1'은 두 수(/A, B)의 캐리이며 이 C1'의 로직상태는 위(10)식에 도시된 바와 같고, 인버터(404)의 출력은 C2'가 되며, 이 C2'는 인버터(402)의 출력(C1')과 최하위비트에서 그 다음 하위비트의 두수가 가산했을 때 발생하는 캐리이며 로직상태는 위(11)식과 같다.
인버터(406)의 출력 즉, C3'는 캐리 C2'와 세번째 하위비트의 두 수(A2,/B2)를 가산했을 때 발생하는 캐리이며 로직상태는 위(12)식과 같다.
인버터(408)의 출력 즉, C4'는 캐리 C3'와 최상위비트의 두수(A3,/B3)를 가산했을 때 발생하는 캐리이며 로직상태는 위(3)식과 같다. 위(13)식이 "하이(1)"가되면 B가 A보다 큰 수임을 나타낸다.
(3) A=B인 경우
인버터(308)의 출력도 "로우(O)"이고, 인버터(408)의 출력도 "로우(O)"이면 두 수가 같다는 것을 의미하므로 두 인버터(308,408)의 출력이 "0"일 때 "1"을 나타내는 노아게이트(300)로부터 "1"이 출력되면 두 수(A,B)가 같은 것으로 판단한다.
디지탈 회로에서 비교회로의 출력은 제4도에 도시된 바와 같이 대부분 하나만을 갖는 기능을 원하고 있다.
즉, A>B 기능만을 갖는 회로를 만들면 출력이 1인 경우는 A가 B보다 크고, 0인 경우는 A가 B보다 같거나 작은 경우를 나타내기 때문이다.
본 발명에 의한 제4도에 도시된 비교회로는 제3도에 도시된 비교회로의 절반 정도의 로직으로 비교기의 기능을 하므로 본 발명의 효과가 극대화된다.
이를 제3도 및 제4도에서 사용되는 트랜지스터의 수와 제1도 및 제2도에 도시된 종래회로를 비교하면 용이하게 알 수 있다.
제3도에 도시된 비교회로는 16개의 인버터(101-104,201-204,302,304,306,308,402,404,406,408), 2개의 2입력 낸드게이트(301,401), 6개의 복합게이트(303,305,307,403,405,407)로 구성되어 있으므로 총 116개의 트랜지스터가 필요하므로 종래의 제1도에 도시된 비교회로에서 필요한 154개의 트랜지스터보다 작은 수의 트랜지스터로서 구현할 수 있음을 알 수 있다.
여기서, 2개의 병렬로 접속된 p-채널 트랜지스터를 직렬로 3개 연결하고, 2개의 직렬로 접속된 n-채널 트랜지스터를 병렬로 3개 연결하여 구성하는 복합게이트(303,305,307,403,405,407)의 각각은 12개의 트랜지스터가 필요하다.
제4도는 8개의 인버터(101-104,302,204,306,308), 1개의 낸드게이트(301), 3개의 복합게이트(303,305,307)로 구성되어 있으므로 56개의 트랜지스터가 필요하므로 제2도에 도시된 종래의 A>B를 위한 계산회로에서 필요한 94개의 트랜지스터 수보다 훨씬 작은 수의 트랜지스터로 비교회로를 구성할 수 있음을 알 수 있다.
즉, 제3도의 경우 트랜지스터의 수를 약 25%정도 줄이며, 제4도에 경우 트랜지스터의 수를 약 40%정도 줄일 수 있다.
이상으로 상술한 바와 같이 본 발명에 의한 비교회로는 회로가 간략되며, 칩면적을 훨씬 감소시키는 효과와 계산속도를 증가시키는 효과가 있다.

Claims (4)

  1. n비트를 갖는 두 수(A, B)를 비교하는 비교회로에 있어서, 두 수중 어느 한 수(B)의 각 비트에 대해 보수를 취하는 제1보수수단 ; 두 수중 어느 한 수(A)의 각 비트에 대해 보수를 취하는 제2보수수단 ; 상기 제1보수수단으로부터 출력되는 수(/B)와 보수를 취하지 않은 수(A)를 최하위비트부터 비교하고, 비교결과에 따라 발생하는 캐리를 그 다음 하위비트의 비교에 반영하는 과정을 /B와 A의 최상위비트가 비교될때까지 반복하여 상기 /B와 A의 최상위비트에서의 비교결과에 따라 발생하는 캐리의 논리레벨에 따라 A가 B보다 큼을 나타내는 비교신호를 출력하는 제1비교수단 ; 상기 제2보수수단으로부터 출력되는 수(/A)와 보수를 취하지 않은 수(B)를 최하위비트부터 비교하고, 비교결과에 따라 발생하는 캐리를 그 다음 하위비트의 비교에 반영하는 과정을 /A와 B의 최상위비트가 비교될 때까지 반복하여 상기 /A와 B의 최상위비트에서의 비교결과에 따라 발생하는 캐리의 논리레벨에 따라 B가 A보다 큼을 나타내는 비교신호를 출력하는 제2비교수단 ; 상기 제1 및 제2비교수단의 출력을 부정논리합하여 두 수가 동일함을 나타내는 일치신호를 출력하는 일치검출수단을 포함함을 특징으로 하는 비교회로.
  2. 제1항에 있어서, 상기 제1비교수단은 A의 최하위비트와 /B의 최하위비트의 논리상태를 부정논리곱하는 낸드게이트 ; 낸드게이트의 출력을 인버팅시켜 최하위비트의 두 수(A,/B)의 캐리를 검출하는 인버터 ; A와 /B의 그 다음 하위비트를 논리곱한 출력, 인버터의 출력과 A의 그 다음 하위비트를 논리곱한 출력, 인버터의 출력과 /B의 그 다음 하위비트를 논리곱한 출력을 논리합하여 최하위비트에서 그 다음 하위비트의 캐리를 발생하고, 검출된 캐리를 다시 상술한 과정을 반복하여 최상위비트까지의 캐리를 발생하기 위한 복수의 복합게이트로 구성됨을 특징으로 하는 비교회로.
  3. 제1항에 있어서, 상기 제2비교수단은 /A의 최하위비트와 B의 최하위비트의 논리상태를 부정논리곱하는 낸드게이트 ; 낸드게이트의 출력은 인버팅시켜 최하위비트의 두 수(/A, B)의 캐리를 검출하는 인버터 ; /A와 그 다음 하위비트를 논리곱한 출력, 인버터의 출력과 /A의 그 다음 하위비트를 논리곱한 출력, 인버터의 출력과 B의 그 다음 하위비트를 논리곱한 출력을 논리합하여 최하위비트에서 그 다음 하위비트의 캐리를 발생하고, 검출된 캐리를 다시 상술한 과정을 반복하여 최상위비트까지의 캐리를 발생하기 위한 복수의 복합게이트로 구성됨을 특징으로 하는 비교회로.
  4. 제2항 또는 제3항에 있어서, 상기 일치검출수단은 상기 제1비교수단의 최상위비트의 캐리를 발생하는 복합게이트의 출력과 상기 제2비교수단의 최상위비트의 캐리를 발생하는 복합게이트의 출력을 부정논리합하는 논리소자로 구성됨을 특징으로 하는 비교회로.
KR1019930001581A 1993-02-05 1993-02-05 비교회로 KR950006354B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019930001581A KR950006354B1 (ko) 1993-02-05 1993-02-05 비교회로
JP6011864A JPH06250821A (ja) 1993-02-05 1994-02-03 ディジタル比較器
DE4403401A DE4403401A1 (de) 1993-02-05 1994-02-04 Digitaler Komparator
CN94102748A CN1044523C (zh) 1993-02-05 1994-02-05 数字比较电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930001581A KR950006354B1 (ko) 1993-02-05 1993-02-05 비교회로

Publications (2)

Publication Number Publication Date
KR940020689A KR940020689A (ko) 1994-09-16
KR950006354B1 true KR950006354B1 (ko) 1995-06-14

Family

ID=19350447

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930001581A KR950006354B1 (ko) 1993-02-05 1993-02-05 비교회로

Country Status (4)

Country Link
JP (1) JPH06250821A (ko)
KR (1) KR950006354B1 (ko)
CN (1) CN1044523C (ko)
DE (1) DE4403401A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100258870B1 (ko) * 1997-12-24 2000-06-15 김영환 2진 비교회로
CN110597483B (zh) * 2019-09-06 2020-09-08 中国科学院近代物理研究所 一种用于fpga比较器的全二进制数据高速比较方法及系统

Also Published As

Publication number Publication date
CN1095494A (zh) 1994-11-23
DE4403401A1 (de) 1994-08-11
KR940020689A (ko) 1994-09-16
JPH06250821A (ja) 1994-09-09
CN1044523C (zh) 1999-08-04

Similar Documents

Publication Publication Date Title
US6820107B1 (en) Square root extraction circuit and floating-point square root extraction device
US5278783A (en) Fast area-efficient multi-bit binary adder with low fan-out signals
US5600583A (en) Circuit and method for detecting if a sum of two multidigit numbers equals a third multidigit number prior to availability of the sum
US4163211A (en) Tree-type combinatorial logic circuit
US5426598A (en) Adder and multiplier circuit employing the same
US6240438B1 (en) Multiplier circuit for reducing the number of necessary elements without sacrificing high speed capability
KR940008612B1 (ko) 2진수의 보수 발생 장치
US5325321A (en) High speed parallel multiplication circuit having a reduced number of gate stages
US4879677A (en) Parallel adder circuit with sign bit decoder for multiplier
KR950006354B1 (ko) 비교회로
GB2173328A (en) Cmos subtractor
JP2554452B2 (ja) 自己検査型補数加算器ユニット
US4866655A (en) Arithmetic processor and divider using redundant signed digit
US5944771A (en) Arithmetic operation system for binary addition/subtraction
US6813628B2 (en) Method and apparatus for performing equality comparison in redundant form arithmetic
US5636156A (en) Adder with improved carry lookahead structure
US6546411B1 (en) High-speed radix 100 parallel adder
US6826588B2 (en) Method and apparatus for a fast comparison in redundant form arithmetic
US5227678A (en) Fast digital comparison circuit for fuzzy logic operations
US6044063A (en) Unsigned integer comparator
EP0442220B1 (en) Decoder
JPH01187630A (ja) 大小比較回路
US4810995A (en) Arithmetic and logic operating unit
US7277909B2 (en) High speed adder
US5909386A (en) Digital adder

Legal Events

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

Payment date: 20080602

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee