KR20030042070A - 2단계 논리 합성 방법 - Google Patents

2단계 논리 합성 방법 Download PDF

Info

Publication number
KR20030042070A
KR20030042070A KR1020010072483A KR20010072483A KR20030042070A KR 20030042070 A KR20030042070 A KR 20030042070A KR 1020010072483 A KR1020010072483 A KR 1020010072483A KR 20010072483 A KR20010072483 A KR 20010072483A KR 20030042070 A KR20030042070 A KR 20030042070A
Authority
KR
South Korea
Prior art keywords
cube
logic function
logic
circuit
function
Prior art date
Application number
KR1020010072483A
Other languages
English (en)
Other versions
KR100395160B1 (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 KR10-2001-0072483A priority Critical patent/KR100395160B1/ko
Publication of KR20030042070A publication Critical patent/KR20030042070A/ko
Application granted granted Critical
Publication of KR100395160B1 publication Critical patent/KR100395160B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Geometry (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Evolutionary Computation (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명은 2단계 논리 합성방법에 관한 것으로, 주어진 논리함수의 온-셋을 커버할 때까지 가장 큰 큐브부터 한번에 하나의 큐브를 차례대로 선택하여 큐브의 수를 감소시키는 큐브 선택방법을 이용하므로써 주어진 논리함수의 최소화가 가능함과 아울러 주어진 논리회로의 표현식으로부터 최소의 면적과 최소의 지연시간을 갖는 2단계 논리곱/배타적 논리합 회로를 생성할 수 있는 2-단계 논리 합성방법을 제시한다.

Description

2단계 논리 합성 방법{Method for synthesizing two-level logic}
본 발명은 2단계 논리 합성방법에 관한 것으로서, 특히 주어진 논리 회로의 표현식으로부터 최소의 면적과 최소의 지연시간을 갖는 2단계 논리곱/배타적 논리합 회로를 생성하는 2단계 논리 합성방법에 관한 것이다.
VLSI(Very Large Scale Integration) 설계자동화중 논리함수를 최적화하여 기술적 매핑(Mapping) 단계의 입력을 생성하는 논리합성에 관한 연구가 활발히 추진되고 있다. 논리합성 분야는 생성되는 회로의 구조에 따라 2단계회로(Two-level circuits)와 다단계회로(Multi-level circuits)로 구분되며, 합성하고자 하는 회로가 논리곱/논리합(AND/OR) 회로인지, 논리곱/배타적 논리합(AND/XOR) 회로인지에 따라 다시 구분된다. 그리고, 논리곱/논리합 회로의 논리 합성의 경우 'EXPRESSO'와 'MISII'등과 같은 논리합성도구 개발을 비롯한 많은 진전이 있었다. 그러나, 논리곱/배타 논리합 회로의 합성의 경우 이제 본격적인 연구의 시작 단계라 할 수 있다.
리드뮬러(Reed muller)는 일반적으로 논리곱/배타적 논리합 회로를 말하고, 배타적 논리합 게이트를 이용한 회로의 표현에 리드뮬러형식을 이용한다. 리드뮬러형식은 논리함수의 리터럴(literals)에 따라서 세 가지 형태로 나누어진다.
첫번째로, 양극성을 갖는 리드뮬러형식(Positive-polarity Reed Mullerforms; 이하 'PRM 형식'이라 함)은 하기의 수학식 1과 같이 표현되며, 사용되는 모든 리터럴 'i'는 양극성만을 갖는다.
두번째로, 음극성을 갖는 리드뮬러형식(Negative-polarity Reed Muller forms; 이하 'NRM 형식'이라 함)은 하기의 수학식 2와 같이 표현되며, 사용되는 모든 리터럴 'i'는 음극성만 갖는다.
세번째로, 일반화된 리드뮬러형식(Generalized Reed Muller forms)은 양극성과 음극성의 일반적인 경우로 하나의 표현식으로 두가지 경우에 모두 이용되고 하기의 수학식 3과 같이 표현된다.
즉, 상기와 같이 리터럴이 모두 양극성만을 가지는 경우는 'PRM 형식'이라 하고, 리터럴이 음극성만 가지는 경우는 'NRM 형식'이라 한다. 또한, 상기 수학식 3의 모든 리터럴이 두가지의 극성중 하나의 극성만으로 구성되면 고정-극성(Fixed-polarity)이라 하고, 각각의 리터럴이 동시에 양극성과 음극성을 갖는 형식을 혼합-극성(Mixed-polarity)이라 한다. 일반적으로, 혼합-극성 일반화된 리드뮬러형식(Mixed-polarity Generalized Reed Muller forms; 이하 'GRM 형식'이라 함)이 최소의 면적으로 회로 구현이 가능하므로 더 효율적인 것으로 평가되고 있다.
최근들어, 이러한 리드뮬러형식을 이용하여 논리함수를 설계하고 구현하는 데 많은 관심이 기울여지고 있으나, 예전에는 논리표현의 간결성과 회로를 쉽게 테스트 할 수 있는 장점에도 불구하고 리드뮬러형식이 자주 언급되지 않았다. 그 이유는 리드뮬러형식에 의해 구현된 논리곱/배타적 논리합 회로가 상대적으로 SOP(Sum of Products) 형식에 의해 실현된 논리곱/논리합 회로에 비해 배타적 논리합 게이트의 특성상 비용이 많이 들기 때문이다.
그러나, 최근에 VLSI 기술의 발달로 인해 배타적 논리합 게이트가 다른 게이트와 비교해서 가격과 속도면에서 동등한 구현이 가능하게 되었다. 이에 따라, 리드뮬러형식을 이용한 논리곱/배타적 논리합 회로는 산술, 통신회로, 에러 제어를 위한 코딩구조, 동기화 시스템, 테스팅 등과 같은 응용분야에서 많이 응용되고 있다. 이러한 응용분야의 회로들은 논리곱/배타적 논리합 회로로 구현하는 것이 논리곱/논리합 회로로 구현하는 것 보다 더 적은 회로들로 구현이 가능하기 때문에 더욱 경제적이다.
예를 들면, 패리티 검사기(Parity checker)는 논리곱/논리합 회로로 실현할 경우 '2n-1' 의 항이 필요한 반면, 논리곱/배타적 논리합 회로로 실현할 경우 'n'개의 항만 필요하다
따라서, 논리함수의 간결한 표현과 높은 회로 검증도는 리드뮬러회로의 가장 중요한 장점으로 볼 수 있다. 배타적 논리합 게이트로 테스트 가능한 회로를 설계하면 가능한 작은 테스트의 집합으로 회로의 결함을 쉽게 검출할 수 있는 장점이 있다. 동일한 회로를 구현하는 데 있어서 배타적 논리합 게이트를 이용하는 것이 회로의 검증도를 향상시키는 데 유리하다는 것이 여러 논문에서 제시되고 있다.
이러한, 리드뮬러형식을 사용하는데 있어서 가장 먼저 고려해야 할 사항은 배타적 논리합 게이트를 이용하는 회로의 논리함수를 어떻게 간결하게 표현하느냐 하는 것이다. 논리함수의 간결성은 리드뮬러회로의 논리합성을 이용하여 항과 리터럴의 수를 최소화하는 것을 말한다. 현재 대다수의 논리 합성도구는 논리함수의 논리곱/논리합 회로의 논리 합성에만 이용되고, 논리곱/논리합 처리에 필요한 논리합성도구가 빈약한 형편이기 때문에 논리곱/배타적 논리합 회로에서 잘 동작하지 않는다. 또한, 2단계 논리 합성도구인 'EXPRESSO'와 'MISII' 또는 'BOLD'와 같은 다단계 논리합성도구에서도 논리합/배타적 논리합 회로의 논리 합성을 위한 구조를 포함하고 있지 않고 있다.
일반적으로, SOP 형식의 최소화 방법으로 카르노 맵을 이용하는 방법이나 퀸-맥클러스키 방법이 많이 이용되고 있는데, 이러한 방법을 리드뮬러형식의 최소화 방법으로 확장하여 사용하는 것은 쉽지 않다. 최근, 리드뮬러형식 최소화 방법에 관한 연구중에서 'Perkowski'와 'Saul'의 연구가 대표적이라 할 수 있다.
'Perkowski'는 논리함수를 구성하는 큐브의 수를 최소화하기 위해 두개의 큐브를 묶는 슬링킹(Xlinking) 방법을 제안하였다. 여기서, 큐브는 논리함수를 구성하는 민텀 또는 곱항(Product terms)을 말하고, 논리함수를 표현하기 위해 카르노 맵을 이용하고 연결과정은 두개의 큐브를 묶어서 논리함수를 최소화하는 과정이다. 그러나, 슬링킹 방법은 두개의 큐브(Cube)를 묶는 연산 과정이 자주 반복됨으로 복잡할 뿐만 아니라 처음에 어떤 큐브를 선택하는가에 따라서 결과가 달라지는 문제점을 내포하고 있다.
'Saul'은 슬링킹 방법의 큐브선택의 문제점을 개선하기 위해 언링크(Unlink) 방법을 제안하였는데, 언링크 방법은 큐브의 수를 늘어나게 하는 민텀(Minterms)들을 원상태로 복귀시키는 방법이다. 즉, 초기상태의 큐브 수보다 연결 과정중에서 생성된 큐브 수가 많아지게 되면 원상태로 복귀시키는 방법이다. 슬링킹 방법에 부가적인 언링크 루틴이 추가됨에 따라 민텀들을 커버하는 적절한 큐브들이 선택됨으로써 처리결과의 향상을 가져왔다.그러나, 최적의 큐브를 선택하기 위한 과정이 반복되므로 처리시간이 증가하는 문제점을 내포하고 있다.
따라서, 본 발명은 상기의 문제를 해결하기 위해 안출된 것으로, 주어진 논리회로의 표현식으로부터 최소의 면적과 최소의 지연시간을 갖는 2단계 논리곱/배타적 논리합 회로를 생성하는 논리 합성 방법을 제시하는 데 그 목적이 있다.
상기의 목적을 달성하기 위해 본 발명은 소정의 논리회로를 제 1 논리함수로 표현하고, 상기 제 1 논리함수를 진리표 형태의 맵으로 표현하는 단계; 상기 맵의큐브 중에서 한번도 시도되지 않은 큐브 중 가장 큰 큐브를 선택하는 단계; 선택된 큐브의 이득을 계산하여 이득이 음수이면 선택된 큐브를 취소하고 새로운 큐브를 선택하며, 선택된 큐브의 이득이 음수가 아니면 선택된 큐브에 대한 제 2 논리함수를 계산하는 단계; 및 상기 제 2 논리함수의 온-셋 민텀의 수가 존재하지 않으면 종료하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
도 1은 본 발명의 실시예에 따른 2단계 논리 합성방법의 개요를 설명하기 위해 도시한 개요도.
도 2는 본 발명의 실시예에 따른 큐브 선택방법을 설명하기 위해 도시한 알고리즘.
도 3은 제 1 예제에 따라 주어진 논리함수의 카르노 맵.
도 4는 도 3에 도시된 카르노 맵을 SOP 형식으로 최소화하는 방법을 설명하기 위해 도시한 도면.
도 5a 내지 도 5c는 도 3에 도시된 카르노 맵을 큐브 선택방법을 이용하여 최소화하는 방법을 설명하기 위해 도시한 도면.
도 6은 제 2 예제에 따라 주어진 4비트 전가산기의 논리함수를 카르노 맵으로 표현한 도면.
도 7은 도 6에 도시된 카르노 맵을 SOP 형식으로 최소화하는 방법을 설명하기 위해 도시한 도면.
도 8a 내지 도 8e는 도 6에 도시된 카르노 맵을 큐브 선택방법을 이용하여 최소화하는 방법을 설명하기 위해 도시한 도면.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 2단계 논리 합성방법의 개요를 설명하기 위해 도시한 개요도이다.
도 1을 참조하면, 일반적으로 VLSI 설계자동화중 최적화된 2단계 논리 합성방법에는 합성하고자 하는 논리회로에 따라 SOP 형식과 XOP(Exclusivesum of Products) 형식으로 구분된다(S30 및 S40). 논리회로는 일반적으로 논리함수로 표현되고(S10), 논리함수는 최소화하기 위해 진리표 형태의 맵으로 다시 표현된다(S20). SOP 형식의 논리회로를 최소화하여 최적화된 2단계 논리곱/논리합 회로를 구하는 방법(S90)에는 카르노 맵방법(S50)과 퀸-맥클러스키 방법(S60)이 이용되고 있으며, XOP 형식의 논리회로를 최소화하여 최적화된 2-단계 논리곱/배타적 논리합 회로를 구현하는 방법(S100)에는 슬링킹방법(S70)이 이용되고 있다.
상기에서 설명한 바와 같이 슬링킹방법은 많은 문제점을 내포하고 있음에 따라 본 발명에서는 XOP 형식의 논리회로를 최소화하여 최적화된 2-단계 논리곱/배타적 논리합 회로를 구현하는 방법으로 슬링킹방법 대신 새로운 큐브(Cube) 선택방법(S80)을 사용하여 구현하기로 한다.
우선, 리드뮬러형식을 최소화하는데 있어 논리함수의 리드뮬러형식은 일반적인 SOP 형식의 특성과 매우 다르다. SOP 형식에서는 주어진 함수를 카르노 맵으로 표현하여 2i 개의 인접된 온-셋을 묶음으로 큐브를 최소화하는 방법인데 반해 리드뮬러형식의 중요한 특징은 함수의 온-셋을 실현하는 큐브의 집합을 만들때 인접된 오프-셋까지 확장하여 큐브를 만들 수 있다. 이는, 부울대수의 배타적 논리합의 성질에 의해 함수의 오프-셋을 짝수번 커버하면(예를 들어,) 원래의 함수에 영향을 미치지 않기 때문이다. 그러므로, 최소화과정을 유도하는 큐브는 함수의 온-셋 뿐만 아니라 필요한 경우 오프-셋까지 포함할 수 있다.
여기서, 본 발명의 큐브 선택방법을 설명하기 위해 언급될 용어들을 정의하면 다음과 같다.
논리함수가 주어지면 함수를 카르노맵으로 표현한다. 논리함수의 크기, 즉 논리함수의 온-셋(ON-set)의 크기는 논리함수의 온-셋의 민텀의 최대 갯수이다. 논리함수에 관한 큐브의 이득은 논리함수를 커버하기 위해 선택된 큐브의 온-셋의 수에서 오프-셋(OFF-set)의 수를 감산하므로 줄어드는 민텀의 수이다. 이것을 식으로 표현하면 하기의 수학식 4와 같다.
여기서, 'C'는 선택된 큐브이고, 'f'의 크기는 선택된 큐브의 온-셋의 민텀갯수이며, ''의 크기는 선택된 큐브의 오프-셋의 민텀 갯수이다.
도 2는 본 발명의 실시예에 따라 큐브 선택방법을 이용하여 XOP 형식의 논리회로를 최소화하는 방법을 설명하기 위해 도시한 알고리즘이다.
도 2를 참조하면, 주어진 논리함수를 진리표 형태의 맵으로 표현하는 단계(S81), 이를 입력으로 하여 아직 시도되지 않은 큐브중에서 가장 큰 큐브를 선택하는 단계(S82). 이어서, 선택된 큐브의 이득을 계산하여 상기 큐브의 이득이 양수이거나 '0'이면 상기 큐브를 받아들이고, 상기 큐브의 이득이 음수이면 선택된 큐브를 취소하고 새로운 큐브를 선택하는 단계(S83 내지 S85).
이때, 선택된 큐브를 받아들일 경우, 새로운 논리함수를 하기의 수학식 5와 같이 구하는 단계(S86), 선택된 큐브가 취소될 경우, 다시 큐브를 선택한다.
이어서, 새로운 논리함수의 온-셋의 수가 '0'이면 종료하고, 그렇지 않으면 단계 S20에서 S70을 다시 반복하는 단계(S87).
상기에서 설명한 큐브 선택방법을 예제들을 들어 SOP에 의한 최소화 방법 및 슬링킹 방법과 비교하여 상세히 설명하면 다음과 같다.
도 3은 제 1 예제에 따라 주어진 논리함수를 진리표 형태의 맵으로 표현한 도면이다. 도 3과 같이 표현된 주어진 논리함수를 SOP 형식, 슬링킹 방법 및 큐브 선택방법으로 최소화하는 경우에 대해 설명한다.
SOP 형식으로 주어진 논리함수를 최소화하는 경우 도 4에 도시된 바와 같이 3개의 큐브로 묶을 수 있다. 따라서, 주어진 논리함수는 하기의 수학식 6과 같이 최소화된다.
슬링킹 방법으로 주어진 논리함수를 최소화하는 경우, 주어진 논리함수는 하기의 수학식 7과 같이 최소화된다.
큐브 선택방법으로 주어진 논리함수를 최소화하는 경우, 주어진 상기 논리함수는 도 5a 내지 도 5c에 도시된 바와 같이 순차적으로 최소화된다.
도 5a를 참조하면, 한번도 시도되지 않은 큐브중 [ab'c'd]와 [ab'cd]의 오프-셋의 민텀을 포함하여 논리함수가 'd'인 제 1 큐브(C1)를 선택한다. 즉, 상기선택된 제 1 큐브(C1)는 상기 수학식 4에 의해 이득(즉, '6 - 2 = 2')이 양수이므로 상기 제 1 큐브(C1)는 선택이 가능해진다.
이는 상기에서 설명한 바와 같이 부울대수의 배타적 논리합의 성질에 의해 함수의 오프-셋을 짝수번 커버하면(예를 들어,) 원래의 함수에 영향을 미치지 않기 때문에 가능하다. 이어서, 상기 선택된 제 1 큐브(C1)는 상기 수학식 5를 이용하여 새로운 논리함수로 변환하므로써 도 5b에 도시된 바와 같이 새로운 맵으로 표현할 수 있다.
도 5b를 참조하면, 논리함수가 'ab''인 제 2 큐브(C2)를 선택한다. 상기 제 2 큐브(C2)의 이득(즉, '4 - 0 = 4')은 양수이므로, 상기 제 2 큐브(C2)는 선택이 가능하다. 선택된 제 2 큐브(C2)는 상기 수학식 5를 이용하여 새로운 논리함수로 변환되므로써 도 5c에 도시된 바와 같이 온-셋의 민텀이 전혀 없는 오프-셋 민텀만의 새로운 맵이 형성된다. 따라서, 주어진 논리함수는 하기의 수학식 8과 같이 최소화된다.
상기에서 설명한 바와 같이, 주어진 논리함수를 SOP 최소화하는 경우 최소화된 논리함수는 상기 수학식 6과 같이 항의 수는 '3'개이며, 리터럴의 수는 '7'개이다. XOP 최소화의 경우, 슬링킹 방법을 이용하여 최소화된 논리함수는 상기 수학식 7과 같이 항의 수는 '3'개이며, 리터럴의 수는 '4'이다. 이에 반해, 큐브 선택방법에 의한 최소화된 논리함수는 상기 수학식 8과 같이 항의 수는 '2'개이며, 리터럴의 수는 '3'개이다. 일반적으로, 주어진 논리함수에 대한 최소화 결과는 회로의 면적과 관계가 있는데, 회로의 면적은 회로를 구성하는 항과 리터럴의 수로 결정한다. 따라서, 본 발명의 큐브 선택방법에 의한 최소화방법이 가장 좋은 결과를 보여주고 있는 것을 알 수 있다.
또한, 본 발명의 큐브 선택방법에 의한 최소화방법은 격자형태의 구성을 갖는 산술, 통신, 에러제어등에 사용되는 논리회로들을 획기적으로 최소화할 수 있다.
도 6은 제 2 예제에 따라 주어진 4비트 가산기의 논리함수를 진리표 형태의 맵으로 표현한 도면이다. 도 6과 같이 표현된 주어진 논리함수를 SOP 형식과 XOP 형식의 큐브 선택방법으로 최소화하는 경우에 대해 설명한다.
SOP 형식으로 4비트 가산기의 논리함수를 최소화하는 경우 도 7에 도시된 바와 같이 3개의 큐브로 묶을 수 있다. 따라서, 주어진 논리함수는 하기의 수학식 9와 같이 최소화된다.
XOP 형식의 큐브 선택방법으로 4비트 가산기의 논리함수를 최소화하는 경우, 상기 4비트 가산기의 논리함수는 도 8a 내지 도 8e에 도시된 바와 같이 순차적으로최소화된다.
도 8a를 참조하면, 한번도 시도되지 않은 큐브중 [abc'd'], [abcd], [ab'c'd] 및 [ab'cd']의 오프-셋의 민텀을 포함하여 논리함수가 'a'인 제 1 큐브(C11)를 선택한다. 여기서, 상기 제 1 큐브(C11)는 그 의 이득이 '4 - 4 = 0'이므로써 선택될 수 있다. 상기 제 1 큐브(C11)는 상기 수학식 5에 의해 새로운 논리함수로 변환되므로써 도 8b에 도시된 바와 같이 새로운 맵이 형성된다.
도 8b를 참조하면, 새로운 큐브중 [a'bc'd], [a'bcd'], [abc'd] 및 [abcd']의 오프-셋의 민텀을 포함하여 논리함수가 'b'인 제 2 큐브(C12)를 선택한다. 여기서, 상기 제 2 큐브(C12)는 그의 이득이 '4 - 4 = 0'이므로써 선택될 수 있다. 상기 제 2 큐브(C12)는 상기 수학식 5에 의해 새로운 논리함수로 변환되므로써 도 8c에 도시된 바와 같이 새로운 맵이 형성된다.
도 8c를 참조하면, 새로운 큐브중 [a'b'cd], [a'bcd], [abcd] 및 [ab'cd]의 오프-셋의 민텀을 포함하여 논리함수가 'c'인 제 3 큐브(C13)를 선택한다. 여기서, 상기 제 3 큐브(C13)는 그의 이득이 '4 - 4 = 0'이므로 선택될 수 있다. 상기 제 3 큐브(C13)는 상기 수학식 5에 의해 새로운 논리함수로 변환되므로 도 8d에 도시된 바와 같이 새로운 맵이 형성된다.
도 8d를 참조하면, 새로운 큐브중 제 4 큐브(C14)를 선택한다. 여기서, 상기 제 4 큐브(14)는 그의 이득이 '8 - 0 = 8'이므로써 선택될 수 있다. 상기 제 4 큐브(C14)는 상기 수학식 5를 이용하여 새로운 논리함수로 변환되므로써 도 8e에 도시된 바와 같이 온-셋의 민텀이 전혀 없는 오프-셋 민텀만의 새로운 맵이 형성된다. 따라서, 주어진 논리함수는 하기의 수학식 10과 같이 최소화된다.
상기에서 설명한 바와 같이, 주어진 4비트 전가산기의 논리함수를 SOP 최소화하는 경우 최소화된 논리함수는 상기 수학식 9와 같이 항의 수는 '8'개이며, 리터럴의 수는 '32'개이다. 이에 반해, XOP 형식의 큐브 선택방법에 의한 최소화된 논리함수는 상기 수학식 10과 같이 항의 수는 '4'개이며, 리터럴의 수는 '4'개이다. 따라서, 본 발명의 큐브 선택방법에 의한 최소화방법은 4비트 전가산기의 논리함수의 최소화에 있어서도 최적의 결과를 생성함을 알 수 있다.
본 발명은 주어진 논리함수의 온-셋을 커버할 때까지 가장 큰 큐브부터 한번에 하나의 큐브를 차례대로 선택하여 큐브의 수를 감소시키는 큐브 선택방법을 이용하므로써 주어진 논리함수의 최소화가 가능함과 아울러 주어진 논리회로의 표현식으로부터 최소의 면적과 최소의 지연시간을 갖는 2-단계 논리곱/배타적 논리합 회로를 생성할 수 있다.

Claims (3)

  1. 소정의 논리회로를 제 1 논리함수로 표현하고, 상기 제 1 논리함수를 진리표 형태의 맵으로 표현하는 단계;
    상기 맵의 큐브 중에서 한번도 시도되지 않은 큐브 중 가장 큰 큐브를 선택하는 단계;
    선택된 큐브의 이득을 계산하여 이득이 음수이면 선택된 큐브를 취소하고 새로운 큐브를 선택하며, 선택된 큐브의 이득이 음수가 아니면 선택된 큐브에 대한 제 2 논리함수를 계산하는 단계; 및
    상기 제 2 논리함수의 온-셋 민텀의 수가 존재하지 않으면 종료하는 단계를 포함하여 이루어지는 것을 특징으로 하는 2단계 논리 합성방법.
  2. 제 1 항에 있어서,
    상기 선택된 큐브의 이득은 '선택된 큐브의 온-셋 민텀 갯수 - 선택된 큐브의 오프-셋 민텀 갯수'로 계산되는 것을 특징으로 하는 2단계 논리 합성방법.
  3. 제 1 항에 있어서,
    상기 제 2 논리함수는 상기 제 1 논리함수와 선택된 큐브의 배타적 논리합으로 계산되는 것을 특징으로 하는 2단계 논리 합성방법.
KR10-2001-0072483A 2001-11-20 2001-11-20 2단계 논리 합성 방법 KR100395160B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0072483A KR100395160B1 (ko) 2001-11-20 2001-11-20 2단계 논리 합성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0072483A KR100395160B1 (ko) 2001-11-20 2001-11-20 2단계 논리 합성 방법

Publications (2)

Publication Number Publication Date
KR20030042070A true KR20030042070A (ko) 2003-05-28
KR100395160B1 KR100395160B1 (ko) 2003-08-19

Family

ID=29570513

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0072483A KR100395160B1 (ko) 2001-11-20 2001-11-20 2단계 논리 합성 방법

Country Status (1)

Country Link
KR (1) KR100395160B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104836570A (zh) * 2015-05-07 2015-08-12 宁波大学 一种基于晶体管级的与/异或门电路

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102130980B1 (ko) * 2018-12-31 2020-07-07 포항공과대학교 산학협력단 변조 퀸맥클러스키 알고리즘을 이용한 삼진 논리 합성 장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3172211B2 (ja) * 1991-09-05 2001-06-04 富士通株式会社 回路合成システム
JPH06162134A (ja) * 1992-11-20 1994-06-10 Nec Corp 論理回路多段化装置
US5910898A (en) * 1995-12-14 1999-06-08 Viewlogic Systems, Inc. Circuit design methods and tools
US5754454A (en) * 1997-03-03 1998-05-19 Motorola, Inc. Method for determining functional equivalence between design models

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104836570A (zh) * 2015-05-07 2015-08-12 宁波大学 一种基于晶体管级的与/异或门电路

Also Published As

Publication number Publication date
KR100395160B1 (ko) 2003-08-19

Similar Documents

Publication Publication Date Title
LEWIN Design of logic systems
US7120894B2 (en) Pass-transistor logic circuit and a method of designing thereof
JPS6143341A (ja) 加算回路
US5856926A (en) Logic synthesis method and system with intermediate circuit files
KR100395160B1 (ko) 2단계 논리 합성 방법
US7170317B2 (en) Sum bit generation circuit
Smith Completion-completeness for NULL convention digital circuits utilizing the bit-wise completion strategy
Stojković et al. Reversible circuits synthesis from functional decision diagrams by using node dependency matrices
JPH06161712A (ja) 多値減算器
Ding et al. Generating multiple correlated probabilities for MUX-based stochastic computing architecture
Sasao A new expansion of symmetric functions and their application to non-disjoint functional decompositions for LUT type FPGAs
Büttner Unification in finite algebras is unitary (?)
EP0845745A1 (en) System and method for representing physical environment
He et al. Stochastic circuit design based on exact synthesis
US4810995A (en) Arithmetic and logic operating unit
Salomaa et al. Efficient implementation of regular languages using reversed alternating finite automata
Hayamizu et al. Extension and performance/accuracy formulation for optimal GeAr-based approximate adder designs
US6625798B1 (en) Method for translating conditional expressions from a non-verilog hardware description language to verilog hardware description language while preserving structure suitable for logic synthesis
Bund Hazard-free clock synchronization
US3423577A (en) Full adder stage utilizing dual-threshold logic
US6544806B1 (en) Fast computation of truth tables
Hozumi et al. On low cost realization of multiple-valued logic functions
KR100198801B1 (ko) 비동기 클리어신호 및 세트신호를 갖는 플립-플롭 회로
Stroud KSL: University of Kentucky Simulation Language
JP3567510B2 (ja) 割込優先判定回路

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080805

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee