KR100219286B1 - 병렬형 수치 비교기 - Google Patents

병렬형 수치 비교기 Download PDF

Info

Publication number
KR100219286B1
KR100219286B1 KR1019960072269A KR19960072269A KR100219286B1 KR 100219286 B1 KR100219286 B1 KR 100219286B1 KR 1019960072269 A KR1019960072269 A KR 1019960072269A KR 19960072269 A KR19960072269 A KR 19960072269A KR 100219286 B1 KR100219286 B1 KR 100219286B1
Authority
KR
South Korea
Prior art keywords
gate
signal
parallel
output
outputting
Prior art date
Application number
KR1019960072269A
Other languages
English (en)
Other versions
KR19980053200A (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 KR1019960072269A priority Critical patent/KR100219286B1/ko
Publication of KR19980053200A publication Critical patent/KR19980053200A/ko
Application granted granted Critical
Publication of KR100219286B1 publication Critical patent/KR100219286B1/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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

본 발명은 디지탈값으로 표시된 다수개의 값들중 제일 큰 수치를 가려내도록 하여 비교 수치들이 많을 경우에 적합하도록 한 병렬형 수치 비교기에 관한 것이다.
종래의 수치 비교기는 비트수(N)가 많거나 많은 수(N)를 비교할 경우에는 회로가 복잡해지며, 또한 큰 수를 추출하는데에는 상당한 시간이 소모되는 문제점이 있었다.
이것을 해결하기 위해, 본 발명은 첫번째로 입력되는 각 수들의 비트를 각가의 마스크신호와 병렬비교하고, 그 비교 결과를 출력하는 제1 병렬비교기와; 제1 병렬비교기에서 각각 출력된 신호와 두번째로 입력되는 각 수들의 비트를 병렬비교하고 그 비교 결과를 출력하는 제2 병렬비교기와; 제2 병렬비교기에서 각각 출력된 신호와 세번째로 입력되는 각 수들의 비트를 병렬비교하고 그 비교 결과를 출력하는 제3 병렬비교기와; 제 N-1 병렬비교기에 각각 출력된 신호와 N번째로 입력되는 각 수들의 비트를 병렬비교하고 그 비교 결과를 결과를 출력하는 제 N 병렬비교기와; 제 N 병렬비교기에서 각각 출력된 신호중 제일 먼저 입력되는 신호를 선택하여 최대값을 출력하는 병렬선택기로 구성된 것이다.

Description

병렬형 수치 비교기
본 발명은 병렬형 수치 비교기에 관한 것으로, 특히 디지탈값으로 표시된 다수개의 값들중 제일 큰 수치를 가려내도록 하여 비교 수치들이 많을 경우에 적합하도록 한 병렬형 수치 비교기에 관한 것이다.
종래의 수치 비교기는 단지 두개의 수치의 크기를 비교하는 비교기를 이용하게 때문에 다수개(N개)의 수치를 비교하기 위해서는 대략 N*(1-(1/2)log2N)만큼의 비교기와 같은 수의 스위치가 필요하게 됨으로 비교하는 수치의 갯수와 크기가 커질 경우에는 회로의 규모가 자수승으로 증가하게 됨으로 구현이 어렵게 된다.
예로서, 8비트 크기의 수 16개를 비교하는 회로를 구성하려면 8비트 비교기 15개와 8비트 스위치 15개가 필요하게 된다.
즉, 제1도에 도시된 바를 참조하여 설명하면 입력되는 수를 2개씩 짝지어서 비교부(1)내의 각각의 제1~N비교기(1a~n)에 출력한다.
그러면, 비교부(1)내의 각각의 제1~N 비교기(1a~n)는 입력되는 각각의 수의 크기를 비교하고 그 결과 큰 수를 선택부(2)내의 각각 제1~N 선택기(2a~2n)에 출력하게 된다.
이에 따라, 선택부(2)내의 각각 제1~N 선택기(2a~2n)는 상기 비교부(1)내의 각각의 제1~N 비교기(1a~n)에서 추출된 큰 수를 선택하여 출력한다.(제1단계)
그러면, 제2단계에서는 제1단계에서 추출된 수를 가지고 다시 두개씩 짝을 지어서 비교기(3)내의 각각 제1~N 비교기(3a~3n)에 출력한다.
이에 따라, 각각 제1~N 비교기(3a~3n)는 상기 1단계에서의 선택부(2)내의 각각 제1~N 선택기(2a~2n)에 각각 추출된 수를 다시 비교하고 그 결과 큰 수를 출력하게 된다.
그러면, 각각 제1~N 선택기(4a~4n)는 상기 비교기(3)내의 각각 제1~N 비교기(3a~3n)에서 추출된 큰 수를 선택하여 출력하게 된다.(제2단계)
이와 같은 동작을 최종 마지막 단계에서의 선택기(8)는 상기 비교기(7)에서 추출된 큰 수를 선택하여 최대값을 출력하게 된다.
그러나 이러한 종래의 수치 비교기는 상기와 같이 구성하면 비교하는 수치들의 비트수(N)가 많거나 많은 수(N)를 비교할 경우 회로가 복잡해지며, 또한 큰 수를 추출하는데에는 상당한 시간이 소모되는 문제점이 있었다.
따라서 본 발명은 디지탈값으로 표시된 다수개의 값들중 제일 큰 수치를 가려내도록 하여 비교 수치들이 많을 경우에 적합하도록 한 병렬형 수치 비교기를 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 기술적 수단은, 첫번째로 입력되는 각 수들의 비트를 각각의 마스크신호와 병렬비교하고 그 비교 결과를 출력하는 제1 병령비교기와; 상기 제1 병렬비교기에서 각각 출력된 신호와 두번째로 입력되는 각 수들의 비트를 병렬비교하고 그 비교 결과를 출력하는 제2 병렬비교기와; 상기 제2 병렬비교기에서 각각 출력된 신호와 세번째로 입력되는 각 수들의 비트를 병렬비교하고 그 비교 결과를 출력하는 제3 병렬비교기와; 상기 제N-1 병렬비교기에서 각각 출력된 신호와 N번째로 입력되는 각 수들의 비트를 병렬비교하고 그 비교 결과를 출력하는 제N 병렬비교기와; 상기 제N 병렬비교기에서 각각 출력된 신호중 제일 먼저 입력되는 신호를 선택하여 최대값을 출력하는 병렬선택기로 이루어진 것이다.
제1도는 종래의 수치 비교기의 회로 구성도.
제2도는 본 발명에 의한 병렬형 수치 비교기의 회로 구성도.
제3도는 제2도에 적용되는 병렬형 비교기의 상세 회로도.
제4도는 제2도에 적용되는 병렬형 선택기의 상세 회로도.
* 도면의 주요부분에 대한 부호의 설명
10A : 제1병렬비교기 10B : 제2병렬비교기
10C : 제3병렬비교기 10N : 제N병렬비교기
20 : 병렬선택기
이하, 본 발명을 첨부한 도면에 의거하여 상세히 설명하면 다음과 같다.
제2도는 본 발명에 의한 병렬형 수치 비교기의 회로 구성도이고, 제3도 및 제4도는 제2도의 각 부의 상세 회로도를 나타낸 것으로서, 첫번째로 입력되는 각 수들의 비트를 각각의 마스크신호와 병렬비교하고 그 비교 결과를 출력하는 제1 병렬비교기(10A)와, 상기 제1 병렬비교기(10A)에서 각각 출력된 신호와 두번째로 입력되는 각 수들의 비트를 병렬비교하고 그 비교 결과를 출력하는 제2 병렬비교기(10B)와, 상기 제2 병렬비교기(10B)에서 각각 출력된 신호와 세번째로 입력되는 각 수들의 비트를 병렬비교하고 그 비교 결과를 출력하는 제3 병렬비교기(10C)와, 상기 제N-1 병렬비교기(10N-1)에서 각각 출력된 신호와 N번째로 입력되는 각 수들의 비트를 병렬비교하고 그 비교 결과를 출력하는 제N 병렬비교기(10N)와, 상기 제N 병렬비교기(10N)에서 각각 출력된 신호중 제일 먼저 입력되는 신호를 선택하여 최대값을 출력하는 병렬선택기(20)로 구성되어져 있다.
상기에서, 제1~N 병렬비교기(10A~10N)는 입력되는 수의 비트와 타측에 입력되는 마스크신호(msk0)를 논리곱하여 출려하는 제1 앤드게이트(1a)와, 입력되는 수의 비트와 타측에 입력되는 마스크신호(msk1)를 논리곱하여 출력하는 제2 앤드게이트(1b)와, 입력되는 수의 비트와 타측에 입력되는 마스크신호(msk2)를 논리곱하여 출력하는 제3 앤드게이트(1c)와, 입력되는 수의 비트와 타측에 입력되는 마스크신호(mskN)를 논리곱하여 출력하는 제n 앤드게이트(1n)와, 상기 제1~n 앤드게이트(1a~n)에서 각각 출력된 신호를 부정 논리합하여 출력하는 노어게이트(2)와, 상기 제1 앤드게이트(1a)에서 출력된 신호(ctlo)와 상기 노어게이트(2)에서 출력된 신호를 논리합하여 출력하는 제1 오아게이트(3a)와, 상기 제2 앤드게이트(1b)에서 출력된 신호(ctl1)와 상기 노어게이트(2)에서 출력된 신호를 논리합하여 출력하는 제2 오아게이트(3b)와, 상기 제2 앤드게이트(1b)에서 출력된 신호(ctl2)와 상기 노어게이트(2)에서 출력된 신호를 논리합하여 출력하는 제3 오아게이트(3c)와, 상기 n 앤드게이트(1n)에서 출력된 신호(ctln)와 상기 노어게이트(2)에서 출력된 신호를 논리합하여 출력하는 제n 오아게이트(3n)와, 상기 제1 오아게이트(3a)에서 출력된 신호와 상기 마스크신호(msk0)를 제차 논리곱하여 출력하는 제1 앤드게이트(4a)와, 상기 제2 오아게이트(3b)에서 출력된 신호와 상기 마스크신호(msk1)를 제자 논리곱하여 출력하는 제2 앤드게이트(4b)와, 상기 마스크신호(msk1)를 제차 논리곱하여 출력하는 제2 앤드게이트(4b)와, 상기 제3 오아게이트(3c)에서 출력된 신호와 상기 마스크신호(msk2)를 논리합하여 출력하는 제3 앤드게이트(4c)와, 상기 제n 오아게이트(3n)에서 출력된 신호와 상기 마스크신호(mskN)를 논리곱하여 출력하는 제n 앤드게이트(4n)로 구성되어져 있다.
아울러, 병렬선택기(20)는 입력되는 마스크신호(msk0~mskn)를 위상 반전하여 출력하는 제1~n인버터(5a~5n)와, 상기 제1 인버터(5a)에서 위상 반전된 신호와 타측에 입력되는 신호를 논리곱하여 출력하는 제1 앤드게이트(6a)와, 상기 제2 인버터(5b)에서 위상 반전된 신호와 상기 제1 앤드게이트(6a)에서 출력된 신호를 논리합하여 출력하는 제2 앤드게이트(6b)와, 상기 제3 인버터(5c)에서 위상 반전된 신호와 상기 제2 앤드게이트(6b)에서 출력된 신호를 논리곱하여 출력하는 제3 앤드게이트(6c)와, 상기 제n 인버터(5n)에서 위상 반전된 신호와 상기 제 n-1 앤드게이트(6n-1)에서 출력된 신호를 논리곱하여 출력하는 제 n 앤드게이트(6n)로 구성되어져 있다.
이와 같이 구성된 본 발명의 동작 및 작용 효과를 첨부한 도면을 참조하여 설명하면 다음과 같다.
먼저, 제2도에 도시된 바와 같이, 단계별로 설명하자면 1단계에서 각 수들이 첫번째 비트들이 제1 병렬비교기(10A)에 입력(in0~inN)으로 입력되면 1의 값만 갖는 입력에 대해서는 출력(out0~outN)으로 1이 출력되고 나머지 것들은 0이 출력된다.
한편, 모든 입력(in0~inN)이 0이면 이때는 모두 1이 출력된다.
즉, 제1 병렬비교기(10A)내의 제1~N 앤드게이트(1A~1n)는 입력되는 수의 비트와 타측에 입력되는 마스크신호(msk0~mskN)를 논리곱하여 각각 노어게이트(2)에 출력한다.
그러면, 노어게이트(2)는 상기 제1~N 앤드게이트(1A~1n)에서 각각 출력되는 신호를 부정 논리합하여 제1~n 오아게이트(3a~3n)에 출력하게 된다.
그러면, 제1~n 오아게이트(3a~3n)는 상기 제1~N 앤드게이트(1A~1n)에서 각각 출력되는 신호(ctl0~ctlN)와 각각의 타측에 입력되는 마스크신호(msk0~mskN)를 논리합하여 제1~n 앤드게이트(4a~4n)에 출력하게 된다.
이에 따라, 제1~n 앤드게이트(4a~4n)는 상기 제1~n 오아게이트(3a~3n)에서 각각 출력되는 신호와 상기 마스크신호(msk0~mskN)를 제차 논리곱하여 출력함으로써 얻어지는 것이다.
상기와 마찬가지로 제2~n 병렬형비교기(10B~10N)도 동일하게 동작하게 된다.
여기서, 각 마스크신호(msk0~mskN)들은 이전 단계의 병렬형비교기 출력과 연결되는데 전 단계에서 출력이 0이면 다음 단계의 마스크신호(msk0~mskN)에 0이 입력되어 자동으로 출력이 0이 되도록 하여 마지막 N단계까지 출력을 계속 0이 되도록 하여 다른 수들과의 경쟁에서 탈락시키도록 한다.
따라서, 제1~n 병렬형비교기(10A~10N)에서는 1단계에서 첫번째 비트들을, 2단계에서는 두번째 비트들을, 그리고 마지막 N 단계에서는 마지막 N번째 비트를 비교하면 마지막 N단계의 출력으로 제일 큰값들(한개 혹은 같은 값이면 여러개)의 출력으로 1이 출력되고 나머지는 0이 출력된다.
그러면, 병렬선택기(20)에서는 마스크신호(msk0~mskN)에 입력된 상기 제N 병렬비교기(10N)로부터 출력되는 신호중 제일 먼저(내림차순 우선순위)신호의 출력만 1로 하고 나머지는 모두 0이 되므로 큰 값을 골라낼 수가 있게 되는 것이다.
이상에서 설명한 바와 같이 본 발명은 수치값이 큰 다수의 값들 중 최고의 값을 갖는 수를 선택하기에 적합한 효과가 있으며, 또한 병렬비교기가 캐스케이드(Cascade) 형태로 연결되어 있기 때문에 회로 설계가 간단하고 선택하는데 걸리는 시간이 각수의 길이에만 비례하므로 종래의 방법에 비해서 처리속도가 상당히 향상되어 단시간내에 처리할 수가 있는 효과가 있다.

Claims (1)

  1. 입력되는 수의 비트와 타측에 입력되는 마스크신호(msk0)를 논리곱하여 출력하는 제1 앤드게이트(1a)와, 입력되는 수의 비트와 타측에 입력되는 마스크신호(msk1)를 논리곱하여 출력하는 제2 앤드게이트(1b)와, 입력되는 수의 비트와 타측에 입력되는 마스크신호(msk2)를 논리곱하여 출력하는 제3 앤드게이트(1c)와, 입력되는 수의 비트와 타측에 입력되는 마스크신호(mskN)를 논리곱하여 출력하는 제n 앤드게이트(1n)와, 상기 제1~n 앤드게이트(1a~n)에서 각각 출력된 신호를 부정 논리합하여 출력하는 노어게이트(2)와, 상기 제1 앤드게이트(1a)에서 출력된 신호(ctlo)와 상기 노어게이트(2)에서 출력된 신호를 논리합하여 출력하는 제1 오아게이트(3a)와, 상기 제2 앤드게이트(1b)에서 출력된 신호(ctl1)와 상기 노어게이트(2)에서 출력된 신호를 논리합하여 출력하는 제2 오아게이트(3b)와, 상기 제2 앤드게이트(1b)에서 출력된 신호(ctl2)와 상기 노어게이트(2)에서 출력된 신호를 논리합하여 출력하는 제3 오아게이트(3c)와, 상기 n 앤드게이트(1n)에서 출력된 신호(ctln)와 상기 노어게이트(2)에서 출력된 신호를 논리합하여 출력하는 제 n 오아게이트(3n)와, 상기 제1 오아게이트(3a)에서 출력된 신호와 상기 마스크신호(msk0)를 재차 논리곱하여 출력하는 제1 앤드게이트(4a)와, 상기 제2 오아게이트(3b)에서 출력된 신호와 상기 마스크신호(msk1)를 재차 논리곱하여 출력하는 제2 앤드게이트(4b)와, 상기 제3 오아게이트(3c)에서 출력된 신호와 상기 마스크신호(msk2)를 논리합하여 출력하는 제3 앤드게이트(4c)와, 상기 제n 오아게이트(3n)에서 출력된 신호와 상기 마스크신호(mskN)를 논리곱하여 출력하는 제n 앤드게이트(4n)로 구성된 제1~N 병렬비교기(10A~10N)와, 입력되는 마스크신호(msk0~mskn)를 위상 반전하여 출력하는 제1~n인버터(5a~5n)와, 상기 제1인버터(5a)에서 위상 반전된 신호와 타측에 입력되는 신호를 논리곱하여 출력하는 제1 앤드게이트(6a)와, 상기 제2 인버터(5b)에서 위상 반전된 신호와 상기 제1 앤드게이트(6a)에서 출력된 신호를 논리합하여 출력하는 제2 앤드게이트(6b)와, 상기 제3 인버터(5c)에서 위상 반전된 신호와 상기 제2 앤드게이트(6b)에서 출력된 신호를 논리곱하여 출력하는 제3 앤드게이트(6c)와, 상기 제n 인버터(5n)에서 위상 반전된 신호와 상기 제n-1 앤드게이트(6n-1)에서 출력된 신호를 논리곱하여 출력하는 제n 앤드게이트(6n)로 구성된 병렬선택기(20)로 이루어짐을 특징으로 하는 병렬형 수치비교기.
KR1019960072269A 1996-12-26 1996-12-26 병렬형 수치 비교기 KR100219286B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960072269A KR100219286B1 (ko) 1996-12-26 1996-12-26 병렬형 수치 비교기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960072269A KR100219286B1 (ko) 1996-12-26 1996-12-26 병렬형 수치 비교기

Publications (2)

Publication Number Publication Date
KR19980053200A KR19980053200A (ko) 1998-09-25
KR100219286B1 true KR100219286B1 (ko) 1999-09-01

Family

ID=19491025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960072269A KR100219286B1 (ko) 1996-12-26 1996-12-26 병렬형 수치 비교기

Country Status (1)

Country Link
KR (1) KR100219286B1 (ko)

Also Published As

Publication number Publication date
KR19980053200A (ko) 1998-09-25

Similar Documents

Publication Publication Date Title
US20070027944A1 (en) Instruction based parallel median filtering processor and method
KR0156152B1 (ko) 최대값 선택회로
US8234320B1 (en) Bitwise comparator for selecting two smallest numbers from a set of numbers
KR100219286B1 (ko) 병렬형 수치 비교기
US5471156A (en) Device and method for binary-multilevel operation
US5465222A (en) Barrel shifter or multiply/divide IC structure
CN112230883B (zh) 一种用于乘法器零标志位的产生电路、乘法器和检测方法
KR0146655B1 (ko) 다치 논리곱 연산장치
US5227678A (en) Fast digital comparison circuit for fuzzy logic operations
US3277462A (en) Parallel-parallel encoding system
US20040249873A1 (en) Ultra fast comparator and method therefor
Hossain et al. A fast and compact binary to BCD converter circuit
KR100567643B1 (ko) 제로 판정 신호 생성 회로
KR0147433B1 (ko) 병렬식 리딩-원 검출장치
KR0177399B1 (ko) 최대값 추출기
KR0150131B1 (ko) 2의 승수가 아닌 특정값으로 나누는 디바이더
KR100239369B1 (ko) 중앙값 필터
JPH11102284A (ja) 選別方法および選別回路
KR100196520B1 (ko) 면적 개선을 위한 2의보수 변환 장치
JPS60537A (ja) 正規化回路
KR200232068Y1 (ko) 고속 동작을 위한 2의 보수 변환 장치
JP3109080B2 (ja) 語長制限回路
RU1795455C (ru) Устройство дл подсчета количества единиц в двоичном числе
CN111934654A (zh) 基于fpga的超高速最值检测器
JPS6160126A (ja) シフト制御回路

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee