KR100386511B1 - 입력변수간의 계층화된 상관을사용해서 탐색된 2분결정그래프를 사용한 논리회로의 합성방법 - Google Patents
입력변수간의 계층화된 상관을사용해서 탐색된 2분결정그래프를 사용한 논리회로의 합성방법 Download PDFInfo
- Publication number
- KR100386511B1 KR100386511B1 KR1019960011529A KR19960011529A KR100386511B1 KR 100386511 B1 KR100386511 B1 KR 100386511B1 KR 1019960011529 A KR1019960011529 A KR 1019960011529A KR 19960011529 A KR19960011529 A KR 19960011529A KR 100386511 B1 KR100386511 B1 KR 100386511B1
- Authority
- KR
- South Korea
- Prior art keywords
- group
- logic circuit
- input variables
- order
- correlation
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
합성할 논리회로를 규정하는 논리함수로 2분결정그래프를 생성하고 이 그래프를 사용해서 논리회로를 합성하는 방법에 관한 것으로서, 원하는 조건을 충족하는 2분결정그래프를 주어진 논리함수에 따라서 효율적으로 탐색하고 이 2분결정그래프를 사용해서 논리회로를 합성하는데 적합한 논리회로의 합성방법을 제공하기 위해서, 합성할 논리회로의 1군의 입력신호를 나타내는 1군의 입력변수와 이 논리회로의 적어도 1개의 출력신호를 나타내는 출력변수 사이의 관계를 규정하는 논리함수에 따라서 그 논리회로를 계산기시스템에 의해 합성하는 방법으로서, 계산기 시스템에 의해 실행되는 스텝으로서 각각 1군의 입력변수 사이의 논리적인 상관의 강도를 계층적으로 나타내는 계층구조로서 여러개의 계층화된 그룹을 논리함수에 따라서 결정하고, 여기에서 상대적으로 상위인 그룹은 상호 상대적으로 작은 상관을 갖는 멤버를 포함하고, 각 그룹의 멤버는 그 그룹보다 하나 하위인 적어도 1개의 그룹 또는 그 그룹보다 하위인 다른 1개 또는 여러개의 그룹중의 어느것에도 속해 있지 않은 적어도 1개의 입력변수이고, 여러개의 계층화된 그룹을 상위의 그룹부터 순차 선택하고, 스텝(b)에서 1개의 그룹이 선택될 때마다 그 선택된 그룹의 멤버간의 그룹내 순서를 소정의 조건을 충족시키도록 결정하고, 스텝(c)를 여러개의 그룹의 각각에 대해서 실행한 결과 결정된 여러개의 계층화된 그룹의 각각에 대한 그룹내 순서에 의해 정해지는 1군의 변수의 순서에 대응하는 2분결정그래프를 논리함수에 대한 2분결정그래프로서 결정하고, 결정된 2분결정그래프를 논리회로에매핑하고 얻어진 논리회로를 논리함수에 대한 논리회로로서 출력하도록 하였다.
이렇게 하는 것에 의해서, 주어진 논리회로의 사양에 따라 실용시간 내에 소정의 조건을 충족하는 2분결정그래프를 효율적으로 탐색할 수 있어 트랜지스터수가 적은 간단한 논리회로를 합성하는 것이 가능하게 되고, 또 주어진 논리회로사양에 따라 지연시간이 짧은 논리회로를 합성하는데 사용할 수 있는 2분결정그래프를 효율적으로 탐색할 수 있고 이와 같은 특징을 갖는 논리회로를 합성하는 것이 가능하게 된다는 등의 효과가 얻어진다.
Description
본 발명은 합성할 논리회로를 규정하는 논리함수에서 2분결정그래프를 생성하고 이 그래프를 사용해서 논리회로를 합성하는 방법에 관한 것이다.
2분결정그래프(Binary Decision Diagram)는 여러가지 파생형이 존재하지만, 기본적으로는 1가지와 0가지라고 불리는 2개의 가지를 갖는 노드의 2분 트리 (tree)에 의해 논리함수를 표현한 것으로서, 복잡한 논리함수를 간결하게 표현할수 있다는 성질을 갖는다. 예를들면, 정보처리 VOL. 34, No. 5, 1993년 5월, pp. 593-599(이하, 참고문헌1이라 한다) 참조. 이 때문에, 요즈음 2분결정그래프를 논리검증, 논리회로합성 등에 응용하는 예가 증가하고 있다. 특히, 논리합성으로의 응용에 관해서는 예를들면 전자정보처리학회 1994년 추계 전극대회 예고집 A-64(이하, 참고문헌2라 한다) 또는 Proceedings of IEEE 1994 custom integrated circuits conferene, 1994, pp. 603-606(이하, 참고문헌3이라 한다)에는 2분결정그래프의 각 노드를 2입력 1출력의 셀렉터회로로 치환하는 방법이 개시되어 있다. 미국특허 5,243,538호 명세서(이하, 참고문헌4라 한다)에는 논리검증으로의 2분결정그래프의 응용이 개시되어 있다.
특히, 상기 참고문헌2 또는 3은 2분결정그래프의 각 노드를 N형 전계효과형 트랜지스터에 의한 패스트랜지스터형 셀렉터회로로 치환하고, 필요에 따라서 전류증폭을 위한 버퍼회로를 또 삽입해서 트랜지스터수가 작은 간단한 논리회로를 자동합성하는 방법을 제안하고 있다. 이와 같이, 2분결정그래프를 사용해서 논리회로를 합성하는 방법에서는 2분결정그래프의 각 노드를 셀렉터회로로 치환하기 때문에, 노드수가 충분히 작은 2분결정그래프를 결정할 수 있으면 그것에서 합성되는 논리회로의 트랜지스터수는 일반적으로 적어 콤팩트하다. 또, 콤팩트한 논리회로는 일반적으로 지연시간도 비교적 짧다. 따라서, 2분결정그래프의 노드수를 작게 하도록 입력변환의 순서를 결정하는 방법이 중요하다.
2분결정그래프의 노드수는 2분결정그래프를 구성할 때의 입력변수의 순서에 크게 의존한다는 것이 알려져 있다. 예를들면, IEEE TRANS ACTIONS ON COMPUTERS,VOL. C-35, No. 8, 1986년 8월, pp. 677-691(이하, 참고문헌5라 한다) 참조.
입력변수의 수가 매우 작은 경우에는 모든 입력변수의 순서의 패턴에 대해서 2분결정그래프를 작성하고 노드수가 가장 작은 것을 선택하는 방법(모든 종류 탐색 )이 가능하다. 그러나, 입력변수의 수가 100을 초과하는 일반적인 논리함수에 이 방법을 적용하면, 탐색할 패턴이 천문학적인 수로 되어 버려 이 방법은 현실적이지 않다. 또, 임의의 논리함수에 대해서 2분결정그래프의 노드수가 엄밀한 의미에서의 최소로 되는 입력변수의 순서를 해석적 방법으로 발견해내는 것은 불가능하다는 것이 알려져 있다. 예를들면, 참고문헌5 참조. 그러나, 2분결정그래프는 일반적으로 다음과 같은 성질을 갖는다는 것이 알려져 있다.
[1-1] 회로상에서 동일게이트에 접속되어 있는 입력변수는 가까운 순서로 배치된 쪽이 노드수가 작은 2분결정그래프가 얻어진다.
[1-2] 셀렉터회로의 제어신호입력 등에 대표되는 출력을 제어하는 힘이 강한 입력변수는 2분결정그래프를 작성했을 때 그래프의 뿌리에 가깝게 되는 순서로 배치된 쪽이 노드수가 작은 2분결정그래프가 얻어진다.
이 때문에, 논리함수에서 한번 임시로 회로를 합성하고, 합성한 회로의 결선정보에 따라 상기 [1-1], [1-2]의 조건을 만족하도록 입력변수의 순서를 결정하는 방법이 몇가지 제안되고 있다.
예를들면, 정보처리학회 제44회 전국대회 예고집, 제6-143페이지∼ 6-144페이지(이하, 참고문현6이라 한다)에는 다음과 같은 입력변수 순서결정방법이 소개되어 있다.
[2-1] 각 게이트에 대해서 레벨을 정의한다. 이 레벨이라는 것은 입력에서 그 게이트에 도달하는 경로중 가장 게이트단수가 큰 경로의 게이트단수이다.
[2-2] 레벨이 높은 게이트의 집합에 대해서 그 게이트의 집합에 직접 또는 간접적으로 입력되고 있는 입력변수가 동일한 부분집합에 속하도록 입력변수를 부분집합으로 분할한다.
[2-3] 입력변수의 부분집합중 관계하고 있는 게이트의 수가 많은 것일수록 2분결정그래프를 구성했을 때 2분결정그래프의 지엽(枝葉)에 가까워지도록 부분집합 사이의 순서를 할당한다.
[2-4] 대상으로 하는 게이트집합의 레벨을 저하시켜 모든 입력변수의 순서가 확정될 때까지 [2-1]∼ [2-3]의 조작을 실행한다.
상기 처리[2-3]에 의해 생성되는 2분결정그래프에 있어서 부분그래프가 공유될 가능성이 높아진다. 부분그래프가 공유되는 결과, 일반적인 다출력의 논리함수에서는 노드수가 작은 2분결정그래프가 얻어진다.
한편, 일본국 특허 공개 공보 평성4-112270호(참고문헌7이라 한다)에는 다음과 같은 입력변수의 순서결정방법이 개시되어 있다.
[3-1] 임시 입력변수의 순서를 결정해서 2분결정그래프를 구성한다.
[3-2] 인접하는 입력변수의 순서를 국소적으로 변경해서 노드수가 작아지면 그 변경을 채용한다. 노드수가 작아지지 않으면, 입력변수의 순서를 원상태로 되돌린다.
[3-3] 상기 [3-2]의 조작을 2분결정그래프의 노드수가 작아질 때까지 반복한다.
이 방법에서는 2분결정그래프를 구성하고 나서 노드수가 작아지도록 입력변수의 순서를 변경하기 때문에, 원래의 2분결정그래프보다 반드시 노드수가 작은 2분결정그래프가 얻어진다. 다른 방법과 병용하는 것에 의해, 보다 노드수가 작은 2분결정그래프를 작성 할 수가 있다.
본 발명자들은 입력변수의 순서와 얻어지는 논리회로의 크기와의 관계를 독자적으로 검토하였다. 그 검토에서는 몇가지의 논리함수에 대해서 2분결정그래프를 결정하고 이 2분결정그래프에 참고문헌2 또는 3에 기재된 방법에 의해 논리회로를 할당하는 방법을 사용하였다. 그 결과, 임의의 논리함수에 대해서는 매우 트랜지스터수가 작은 간단한 논리회로가 얻어졌지만, 다른 논리함수에 대해서는 트랜지스터수가 매우 커져 버린다는 것을 알수 있었다. 또, 동일한 논리함수에 대해서 입력변수의 순서가 다른 것만으로 합성되는 회로의 트랜지스터 수가 수배 다른 경우가 많이 존재하였다.
또, 본 발명자들이 참고문헌6에 기재된 입력변수의 순서를 결정하는 방법을 검토한 결과, 이 방법에서 얻어진 입력변수의 순서에서는 노드수가 작은 2분결정그래프를 구성할 수 없어 콤팩트한 논리회로를 합성할 수 없는 경우가 적지않게 존재한다는 것을 발견하였다. 이것은 이 방법의 단순한 입력변수의 순서결정룰(종래기술의 처리[2-3]참조)에서는 빈드시 노드수가 작아지는 것은 아닌 2분결정그래프가 선택되는 것을 나타내고 있다.
또, 참고문헌7에 기재된 입력변수의 순서를 결정하는 방법을 검토한 결과에서는 최초에 설정하는 임시 입력변수의 순서에 의해 최종결과가 크게 달라 콤팩트한 논리회로를 합성할 수 없는 경우가 존재한다는 것을 발견하였다.
상술한 바와 같이, 종래의 입력변수의 순서결정방법에서는 여러가지 논리함수에 대해서 노드수가 충분히 작은 2분결정그래프를 생성하기 위한 입력변수의 순서를 결정할 수가 없다. 따라서, 종래의 방법에서는 크기 또는 지연시간이 작은 논리회로를 반드시 합성할 수 있다고는 할 수 없는 문제를 갖는다.
따라서, 2분결정그래프를 사용해서 논리회로를 합성하는 방법을 사용하기 위해서는 노드수가 충분히 작은 2분결정그래프를 생성할 수 있도록 입력변수의 순서를 결정하는 방법을 확립하는 것이 우선 일의적으로 중요하다.
그러나, 본 발명자들에 의한 검토결과 2분결정그래프를 사용해서 더욱 크기가 작은 논리회로 또는 지연시간 또는 소비전력 등의 회로특성에 있어서 더욱 우수한 논리회로를 합성하기 위해서는 단지 노드수가 충분히 작은 2분결정그래프를 결정하는 것만으로는 충분하지 않다는 문제도 있다는 것이 판명되었다.
즉, 노드수가 충분히 작은 2분결정그래프에 의해 합성되는 논리회로는 일반적으로 트랜지스터수가 거의 최소이고 또한 면적도 거의 최소로 되며 지연시간도 거의 최소로 된다. 그러나, 이와 같이 얻어진 논리회로보다 더욱 크기가 작은 논리회로 또는 더욱 짧은 지연시간을 갖는 논리회로를 합성하는 것은 이 방법에서는 일반적으로는 곤란하다.
예를들면, 참고문헌2 또는 3에 기재된 바와 같이, 2분결정그래프의 각 노드를 셀렉터로 치환해서 얻어지는 논리회로만으로는 불충분하며, 그 논리회로에 전류증폭을 위한 버퍼회로를 삽입할 필요가 있는 경우에는 상기 2분결정그래프로서 노드수가 충분히 작은 그래프를 사용했다고 하더라도 상술한 방법에 의해 얻어지는 논리회로의 면적이 충분히 작아지지는 않는다. 반대로, 상기 노드수가 충분히 작은 2분결정그래프보다는 노드수가 조금 큰 다른 2분결정그래프의 노드를 셀렉터로 치환한 후, 상기 버퍼를 삽입해서 얻어지는 논리회로쪽이 크기가 작은 경우가 있다는 것이 판명되었다.
이것은 지연시간에 대해서도 동일하다. 마찬가지로, 논리회로의 면적, 지연시간의 조합 또는 그들과 소비전력의 조합이 최적인 논리회로를 설계하고자 하는 경우, 이와 같은 회로는 노드수가 거의 최소인 2분결정그래프보다는 큰 노드수의 2분결정그래프를 사용해서 얻어지는 일이 있다는 것이 판명되었다.
2분결정그래프를 사용하지 않는 종래의 논리합성방법에서는 소정의 수순에 따라 합성한 논리회로의 크기 또는 지연시간이 목표값내에 들어가 있지 않을 때에는 그 지연시간 또는 크기가 그들 목표값내에 들어가도록, 얻어진 논리회로를 수정하는 방법이 자주 채택된다. 그러나, 이와 같은 방법은 적당한 노드수와는 다른 노드수를 갖는 2분결정그래프를 사용해서 합성한 논리회로에 적용하는 것은 그다지 유효하지 않은 경우가 많다. 즉, 2분결정그래프를 사용해서 합성한 논리회로의 크기 또는 지연시간 등의 회로특성은 그 그래프의 형태 및 노드수에 크게 의존한다. 적당하지 않은 노드수의 2분결정그래프를 사용해서 합성한 논리회로를 그후 수정하더라도 원하는 결과가 얻어진다고는 할 수 없다.
따라서, 본 발명의 목적은 원하는 조건을 충족시키는 2분결정그래프를 부여된 논리함수에 따라서 효율적으로 탐색하고, 이 2분결정그래프를 사용해서 논리회로를 합성하는데 적합한 논리회로의 합성방법을 제공하는 것이다.
본 발명의 보다 구체적인 목적은 노드수가 충분히 작은 2분결정그래프를 부여된 논리함수에 따라서 효율적으로 탐색하고, 이 2분결정그래프를 사용해서 논리회로를 합성하는데 적합한 논리회로의 합성방법을 제공하는 것이다.
본 발명의 다른 목적은 면적 또는 지연시간, 소비전력 등의 회로특성 또는 그들의 조합에 있어서 더욱 바람직한 논리회로를 2분결정그래프를 사용해서 합성하는데 적합한 논리회로의 합성방법을 제공하는 것이다.
본 발명의 또 다른 목적은 논리회로의 합성 또는 상기 참고문헌3과 같은 논리검증 등의 여러가지 용도로 사용하는데 적합한 노드수가 충분히 작은 2분결정그래프를 부여된 논리함수에 따라서 효율적으로 탐색하는데 적합한 2분결정그래프 최적화방법을 제공하는 것이다.
상기 목적을 달성하기 위해서, 본 발명에서는 1군의 입력변수의 바람직한 순서를 탐색함에 있어서 입력변수 사이의 상관도의 계층구조를 검출하고, 그 구조에 따라서 상관도가 상대적으로 낮은 계층부터 순서대로 각 계층마다 그 계층에 관한 부분적인 입력변수순서의 바람직한 값을 탐색한다. 이와 같이, 순차 다른 계층에 대해서 바람직한 부분적인 순서를 결정하는 것을 상관도가 상대적으로 약한 계충부터 순서대로 실행한다.
이와 같이 해서, 결정된 순서에 의해 정해지는 순서를 상기 1군의 입력변수에 대한 바람직한 순서로서 사용하고, 이 바람직한 순서에 대응하는 2분결정그래프에 의해 논리회로를 생성한다.
입력변수간의 상관을 계산하는 방법의 바람직한 예에서는 논리함수를 실현하는 논리회로로서 단순게이트로 이루어지는 임시 논리회로를 생성하고, 1쌍의 입력변수에 대한 상관도로서 이들의 변수에 대응하는 1쌍의 신호가 동시에 통과하는 게이트의 수를 센다. 이와 같이 해서 다른 입력변수간의 상관을 요소로 하는 상관표를 생성하고, 그중에서 가장 상관도가 높은 1군의 입력변수를 최하위의 그룹의 멤버로서 선택한다. 다음에, 이 그룹에 대해서 다른 입력변수가 갖는 상관도를 논리함수를 원래상태로 해서 계산하고, 다른 입력변수중에서 이 그룹에 대해 가장 상관도가 높은 1개 또는 여러개의 변수와 상기 그룹을 상기 최하위 계층의 하나 상위의 그룹의 멤버로서 선택한다. 이하 마찬가지의 것을 반복한다. 이렇게 해서, 상기 1군의 입력변수와 이상에 의해 생성된 여러개의 그룹을 노드에 갖는 상관트리를 형성한다. 이 상관트리를 상기 1군의 입력변수에 대한 계층구조를 나타내는 데이타로서 사용한다.
1군의 입력변수에 대한 바람직한 순서의 탐색의 구체적인 형태에서는 이와 같이 해서 얻어진 계층구조에 대해서 최상위의 계층에 속하는 그룹 또는 입력변수 사이의 바람직한 순서를 먼저 최초로 탐색해서 검출한다. 이 탐색에 있어서는 다른 그룹의 그룹내 순서로서는 미리 정해진 순서를 사용한다. 이 최상위의 그룹에 대한 바람직한 그룹내 순서의 탐색에 있어서는 몇가지의 가능한 그룹내 순서중의 한가지를 선택하고, 그 선택된 순서를 사용했을 때의 상기 논리함수에 대한 2분결정그래프를 생성하고, 그 그래프를 소정의 기준으로 평가한다. 예를들면, 그 노드수를 계수한다. 이러한 것을 상기 가능한 여러개의 그룹내 순서에 대해서 반복한다. 이 반복을 사용해서 이 그룹에 대한 가능한 여러개의 그룹내 순서중 원하는 조건, 예를들면 노드수가 작은 2분결정그래프를 생성하는 그룹내 순서를 검출한다. 이후의 탐색에서는 그 그룹에 대해서는 이 선택된 그룹내 순서를 사용한다.
그 후, 최상위부터 하나 하위의 그룹에 대한 바람직한 그룹내 순서를 마찬가지로 해서 탐색한다. 이하, 이 동작을 최하위의 그룹에 대한 그룹내의 순서가 결정될 때까지 반복한다.
논리회로의 생성의 구체적인 생성에 있어서는 이와 같이 해서 각 그룹에 대해 순차 결정된 그룹내 순서에 의해 정해지는 순서를 상기 1군의 입력변수에 대한 바람직한 순서로서 사용한다. 이 바람직한 순서에 대응하는 2분결정그래프의 각 노드를 단위회로, 더욱 바람직하게는 셀렉터회로에 매핑하는 것에 의해서 논리회로를 생성한다.
이와 같은 방법은 논리회로의 합성 이외의 용도, 예를들면 논리검증에 2분결정그래프를 사용하는 경우에도 이용할 수가 있다. 이 때는 이상의 처리중 최적인 2분결정그래프를 결정하는 부분까지의 처리를 2분결정그래프의 최적화에 사용한다.
본 발명의 다른 바람직한 다른 형태는 상기와 같이 노드수가 작은 2분결정그래프를 생성하는 것보다 최종적으로 생성되는 논리회로로서 소정의 회로특성으로 보다 바람직한 값을 갖는 논리회로를 생성하는데 적합하다. 즉, 입력변수의 순서를 선택할 때 탐색중인 순서에 대한 2분결정그래프에 따라서 논리회로를 합성하고, 그 회로특성을 계산한다. 이 계산결과를 사용해서 보다 바람직한 값의 회로특성을 갖는 논리회로를 생성하는 순서를 탐색한다.
이 탐색은 보다 구체적으로는 2분결정그래프를 작성하고 그것을 사용해서 바람직한 그룹내 순서를 탐색하는 처음에 기술한 방법을 다음과 같이 수정한다. 즉, 그 탐색에 있어서 후보로서 사용하는 그룹내 순서에 대해서 생성한 2분결정그래프를 사용해서 논리회로를 합성하고, 그 회로의 회로특성값을 산출하고, 이 값이 보다 최적으로 되는 그룹내 순서를 각 그룹에 대해서 탐색한다. 이것에 의해, 생성되는 2분결정그래프의 노드수는 최소가 아닐지도 모르지만, 회로특성의 값이 가장 바람직한 그룹내 순서를 각 그룹에 대해서 선택한다. 이와 같은 탐색을 처음에 기술한 방법과 마찬가지로 실행하는 것에 의해서, 최종적으로 상기 회로특성이 바람직한 값을 갖는 논리회로를 생성하기 위한 상기 1군의 입력변수의 순서를 결정하고 이 순서를 사용해서 상기 바람직한 논리회로를 생성한다.
이와 같은 탐색에 사용하는 회로특성으로서 예를들면 회로면적, 지연시간 또는 소비전력 또는 이들의 적당한 조합을 사용한다.
이하, 본 발명에 관한 논리회로합성방법을 도면에 도시한 몇가지 실시예를 참조해서 더욱 상세하게 설명한다. 또한, 이하에 있어서 동일한 참조번호는 동일한 것 또는 유사한 것을 나타내는 것으로 한다.
<실시예 1>
본 실시예에서는 설계할 논리회로의 기능사양에 따라 그 논리회로를 포함하는 반도체 집적회로를 제조한다. 이 제조과정에 있어서의 논리함수의 합성시에 노드수가 작은 2분결정그래프를 효율적으로 탐색하고, 그것을 사용해서 논리회로를합성한다.
[1] 시스템의 전체구성
제2도에 있어서 설계자는 목적으로 하는 반도체 집적회로의 기능사양(13)을 입력한다. 기능설계프로그램(150)은 기능사양(13)에 따라 보다 구체적인 논리회로사양(10)을 생성한다. 본 실시예에 특유의 논리회로 합성프로그램(100)은 논리회로사양(10)에 따라 논리회로사양(10)의 논리기능을 실현하는 논리회로를 합성하고, 그 회로의 접속정보(이것은 일반적으로 네트리스트라고 불린다)(12)를 합성한다. 자동레이아웃 프로그램(160)은 라이브러리(11)을 참조해서 네트리스트(12)에 따라 이 논리회로의 최적 레이아웃을 결정하고 레이아웃 데이타(13)을 작성한다. 마스크데이타 작성프로그램(170)은 레이아웃데이타(13)에 따라서 상기 합성된 논리회로를 집적회로기술을 사용해서 생성하기 위한 여러개의 마스크패턴을 결정하고, 그들 마스크패턴을 나타내는 마스크데이타(14)를 생성한다. 반도체 제조장치(180)은 마스크데이타(14)를 사용해서 목적으로 하는 기능을 가진 반도체 집적회로를 제조한다. 각 프로그램 (150), (100), (160), (170)은 각각 할당된 다른 계산기상에서 실행된다. 물론, 이들 프로그램을 동일한 계산기상에서 실행시킬 수도 있다.
제1도는 논리회로 합성프로그램(100)을 실행하기 위한 계산기시스템과 이 프로그램의 개략적인 구조를 도시한 것이다. 이 계산기시스템은 입력장치, 예를들면 키보드(1), 중앙처리장치(CPU)(2), 표시장치(CRT)(3), 자기테이프장치(4) 및 논리회로 합성프로그램(100)을 저장하는 자기디스크장치(5)로 이루어진다. 이 프로그램(100)은 그룹간 상관트리 작성루틴(110), 최적2분결정그래프작성루틴(120), 셀렉터베이스의 회로매핑루틴(130)으로 구성된다. 이 프로그램은 설계자가 키보드(1)에서 지시를 부여하는 것에 의해, 자기디스크장치(5)에서 CPU(2)로 로드되고 그곳에서 실행된다. 이 프로그램은 사용자가 부여하는 논리회로사양(10)을 충족시키는 논리게이트레벨의 논리회로를 합성하고, 그 논리회로를 라이브러리(11)을 사용해서 트랜지스터레벨의 회로를 생성한다. 합성된 논리회로는 CRT(3)상에 표시되고, 이 회로의 정보를 포함한 네트리스트(12)는 자기테이프장치(4)에 의해 제2도의 자동레이아웃 프로그램(160)으로 보내진다. 이 프로그램(100)을 실행하는데 사용하는 여러가지 데이타 또는 그 실행에 의해 생성되는 중간데이타 또는 최종데이타는 자기디스크장치(5) 또는 CPU내의 랜덤액세스메모리(도시하지 않음)에 저장된다.
본 실시예에 있어서 이 프로그램(100)은 2분결정그래프를 사용해서 논리회로를 합성하는 방법을 채용한다. 즉, 합성할 논리회로의 여러개의 입력신호와 적어도 1개의 출력신호를 각각 나타내는 여러개의 입력변수 및 적어도 1개의 출력변수에 관해서 논리회로사양(10)이 기술하는 논리함수에 의해 이 논리함수를 충족하는 논리회로를 합성하는데 사용하는 적절한 2분결정그래프를 탐색하고, 이 그래프를 나타내는 데이타(40)을 생성한다. 또, 이 데이타(40)에 따라서 이 그래프를 셀렉터레벨의 논리회로에 매핑하고, 또 그 논리회로를 라이브러리(11)을 사용해서 트랜지스터레벨의 논리회로로 변환한다.
본 실시예에서는 이 탐색을 효율적으로 실행하는 점에 특징이 있고, 구체적으로는 이들 입력변수간의 상관을 계수하고 그것에 따라서 입력변수를 여러개의 계층화된 그룹으로 나누고, 이들 그룹의 계층을 나타내는 상관트리(20)을 생성하고 이것을 사용해서 상관이 약한 최상위 그룹부터 순서대로 최적 그룹내 순서를 탐색하는 것에 의해서 이 논리함수를 충족시키는 논리회로를 합성하는데 사용하는 적절한 2분결정그래프의 탐색을 효율적으로 실행한다.
이하, 각각의 루틴에 대해서 설명한다.
[2] 그룹간 상관트리 작성 루틴(110)
이 루틴(110)은 논리회로사양(10)에 따라 그룹간 상관트리(20)을 생성한다. 이 논리회로사양(10)에는 합성할 논리회로의 여러개의 입력신호와 적어도 1개의 출력신호를 각각 나타내는 여러개의 입력변수와 적어도 1개의 출력변수에 관한 논리함수 이외의 정보가 포함된다. 이하에서는 다음의 논리함수를 예로 해서 본 실시예를 설명한다.
제3도를 참조하면 먼저, 논리회로사양(10)의 논리함수에서 논리함수상의 용장성을 제거한 후 앤드게이트 및 오아게이트를 사용한 논리회로를 임시로 합성해서(111), 이 임시합성된 논리회로용의 네트리스트(22)를 작성한다. 앞에서 설명한 논리함수의 예의 경우에는 제4도의 회로가 임시합성된다. 임시합성된 논리회로는 후술하는 방법에 의해 입력변수간의 상관도를 구하는데 사용되기 때문에, 임시합성된 회로가 용장인 경우에는 입력변수간의 상관도를 정확하게 평가하지 못할 우려가 있다. 그 때문에, 가능한한 용장성을 제거하는 것이 중요하다. 또, 용장성을 제거하는 것에 의해 보다 바람직한 2분결정그래프를 탐색하는 것이 가능하게된다. 또한, 상기 논리함수상의 용장성을 제거하는 처리 및 회로의 임시합성은 기존의 공지의 논리회로합성수단을 사용해서 실행할 수 있다.
다음에, 임시합성한 회로에서 그룹간 상관행렬(23)을 작성한다(112). 임시합성된 회로에 의해 두가지 입력변수가 동시에 관계하는 게이트수를 세도 2개의 입력변수간의 상관도를 계산해서 그룹간 상관행렬(23)에 등록한다. 제4도의 예에 있어서 입력변수A, B 사이의 상관도에 대해서 고려하면, 입력변수 A, B가 관계하는 게이트는 G10∼G13의 4가지이다. 이 때문에, 입력변수A, B 사이의 상관도는 4로 되고, 그룹간 상관행렬(23)에는 4가 등록된다. 또, 입력변수A, C가 동시에 관계하는 게이트는 G11∼G13의 3가지 이므로 상관도는 3으로 되어 그룹간 상관행렬(23)에는 3이 등록된다. 마찬가지로, 나머지 모든 입력변수간의 상관도를 구해서 그룹간 상관행렬(23)이 완성된다.
이와 같이 정의한 입력변수간의 상관도에서는 상관도가 강한 것일수록 그 2개의 입력변수가 동시에 접속되어 있는 게이트수가 많아지게 된다. 즉, 종래기술의 [1-1]에서 기술한 2분결정그래프의 성질상 노드수가 작은 2분결정그래프를 작성하기 위해서는 상관도가 강한 입력변수의 조일수록 입력변수의 순서상에서 더욱 가까운 순서로 배치할 필요가 있게 된다. 또, 상관도가 약하거나 또는 상관도가 없는 것에 대해서는 반드시 이 순서상에서 근처에 배치할 필요가 없어진다.
다음에, 그룹간 상관행렬(23)에 따라 그룹간 상관트리(20)을 작성한다(113). 즉, 그룹간 상관행렬(23)상에서 상관도가 가장 강한 입력변수의 조를 그룹으로 정리해서 그 입력변수의 그룹에 대응하는 노드를 그룹간 상관트리상에작성한다(114). 이 예에서는 입력변수A, B의 상관도가 4로 상관도가 가장 강하기 때문에, A, B를 멤버로 갖는 그룹G1을 작성하여 그룹G1에 대응하는 노드를 그룹간 상관트리(20a)에 등록한다(제도). 다음에, 그룹 G1에 모인 입력변수를 새로운 1개의 입력변수로서 취급하여 그룹간 상관행렬(23)을 변형한다(115). 이상의 처리(114) 및 처리(115)를 반복하고, 정리할 입력변수의 조가 없어진 시점에서 정리되지 않은 입력변수를 그룹간 상관트리의 최상위의 노드에 등록해서 처리를 종료한다. 제 5도의 예에서는 A, B를 멤버로 갖는 그룹G1이 새로운 1개의 입력변수로 되고, 상관행렬은 제5도 (a)의 (23)에서 (23a)로 변형된다. 그룹간 상관행렬(23a)에서는 G1과 C의 상관도가 3이므로, G1과 C를 새로운 그룹G2에 정리해서 그룹G2를 그룹간 상관트리(20b)에 등록한다. 그룹간 상관행렬(23)을 변형해서 새로운 그룹간 상관행렬(23b)를 얻는다. 그룹간 상관행렬(23b)에서는 그룹G2와 입력변수D 사이의 상관도 및 그룹G2와 입력변수 E 사이의 상관도는 모두 1이지만, D와 E는 상관도가 0으로서 상관이 전혀 없으므로 이들은 그룹으로 정리할 수 없다. 이 때문에, G2, D, E를 그룹간 상관트리의 최상위 노드에 등록해서 처리를 종료한다. 이렇게 해서, 최종적인 상관트리(20)이 얻어진다.
또한, 이 예에서는 상관도가 강한 입력변수의 조는 1개밖에 없었지만 논리함수로서는 동일정도의 강도의 상관도의 입력변수의 조가 여러개 존재하고 또 그들의 입력변수의 조 사이의 상관도는 약하거나 또는 상관이 전혀 없는 예도 고려된다. 이와 같은 경우에는 그들의 입력변수의 조를 각각 독립적으로 별개의 그룹으로 정리한다.
또, 입력변수 사이에 상관이 전혀 없는 경우에는 그들을 멤버로 갖는 노드를 그룹간 상관트리의 최상위에 작성해서 처리를 종료한다.
[3] 최적2분결정그래프 작성루틴(120)
이 루틴(120)은 먼저 작성된 그룹간 상관트리(20)과 논리회로사양(10)에 따라 2분결정그래프, 입력변수의 순서, 노드수가 3개인 데이타로 구성되는 최적2분결정그래프 데이타(40)을 생성한다.
제6도를 참조하면, 먼저 그룹간 상관트리(20)의 각 그룹의 멤버 사이의 그룹내 순서를 임시 순서로 고정한다(121). 다음에, 그룹간 상관트리(20)에 등록된 그룹중에서 가장 상관도가 약한 그룹을 그룹내에서 최적인 2분결정그래프를 탐색하기 위한 탐색대상으로서 선택한다. 이때, 탐색대상 이외의 그룹의 그룹내 순서는 먼저 설정된 임시 순서로 고정한 채로 한다(122). 그룹간 상관트리(20)이 제5도 (b)의 구조를 갖는 경우, 상관도가 0인 G3이 가장 상관도가 약한 그룹이기 때문에 G3을 탐색대상으로서 선택하고, G2 및 G1의 그룹내 순서는 고정한다.
다음에, 입력변수의 순서를 생성한다(123). 이 때, 그룹간 상관트리(20)과 입력변수의 순서의 대응관계를 그룹간 상관트리(20)상에서 가장 좌측에 위치하는 입력변수를 가장 상위의 순서로서 갖도록 결정하기로 한다(반대로, 가장 우측에 위치하는 입력변수를 가장 상위의 순서로서 갖도록 결정해도 좋다). 예를들면, 그룹간 상관트리(20)이 제5도 (b)의 구조를 갖는 경우, A, B, C, D, E라는 입력변수의 순서가 생성된다. 이 입력변수의 순서에 따라 2분결정그래프를 측정해서(124), 노드수를 계수한다(125). 구해진 노드수는 최적2분결정그래프 데이타(40)으로서 유지하고 있는 노드수의 최소값과 비교되고, 그것보다 작으면 최적2분결정그래프 데이타(40)내의 2분결정그래프, 입력변수의 순서 및 그 노드수를 금회 작성된 2분결정그래프에 관한 데이타(즉, 그 그래프, 입력변수의 순서 및 노드수)에 의해서 갱신한다(126). 또한, 최적2분결정그래프 데이타(40)의 초기값은 상술한 바와 같이 해서 최초에 작성된 2분결정그래프에 관한 데이타가 반드시 등록되는 값으로 결정해 둔다.
이하, 탐색대상의 그룹내 순서를 순차 변경하고(127), 그 탐색대상의 그룹내 순서를 변경하는 것에 의해서 생성되는 모든 입력변수의 순서의 패턴에 대해 처리(123)∼(127)을 반복한다. 이렇게 해서, 탐색대상의 그룹내의 모든 입력변수의 순서의 패턴에 대해서 최적인 2분결정그래프의 탐색이 종료한 시점에서 최적2분결정 그래프데이타(40)에 유지되어 있는 데이타가 탐색대상의 그룹에 대한 최적인 2분결정그래프를 나타내는 데이타로 된다. 이하의 처리에서는 이 데이타에 포함된 입력변수의 순서에 의해 지정되는 그룹내 순서를 이 그룹의 그룹내 순서로서 고정해서 사용한다. 모든 그룹의 그룹내 순서의 탐색이 종료할 때까지 다른 그룹에 대해서 상술한 2분결정그래프의 탐색(처리(I22)∼(I27))을 반복한다. 이 반복시에는 그룹간 상관트리(20)에 등록된 탐색이 아직 종료하지 않은 그룹중에서 가장 상관도가 약한 그룹을 다음의 탐색 대상으로 선택하도록 순차 그룹을 선택한다.
이번 예에서는 먼저 그룹G3(G2, D, E)가 탐색대상으로 선택된다. 그룹G3(G2, D, E)의 그룹내 순서에는 6가지의 패턴이 있다. 그룹G2가 앞에 오는 입력변수의 순서 A, B, C, D, E가 최초로 평가할 순서로 선택된다. 이 순서에 대해서 2분결정그래프가 최초로 작성되므로, 이 그래프에 대한 그래프데이타 즉 제7도 (a)에 도시한 2분결정그래프B10, 변수의 순서 및 노드수(8)은 최적 2분결정그래프 데이타(40)에 등록된다. 이하, 그룹내의 순서가 변경된다. 그룹G3의 그룹내 순서가 D, G2, E로 변경되었을 때에는 대응하는 입력변수의 순서는 D, A, B, C, E로 되고 2분결정그래프는 제7도 (b)의 그래프B11로 되고 노드수는 8이지만, 이 노드수는 최적 2분결정그래프 데이타(40)에 등록된 노드수보다 작지 않으므로, 최적 2분결정그래프 데이타(40)은 갱신되지 않는다. 다음에, 그룹G3의 그룹내 순서가 D, E, G2로 변경된 경우에는 대응하는 입력변수의 순서는 D, E, A, B, C로 되고 2분결정그래프는 제7도 (c)의 그래프B12로 되어 노드수는 5이므로, 최적 2분결정그래프 데이타(40)은 이 새로운 그래프에 관한 데이타에 의해 갱신된다. 이하, 마찬가지의 처리를 반복한다. 이 예에서는 그룹G3의 그룹내 순서가 E, D, G2인 경우도 마찬가지로 노드수5로 되고 그룹G3의 그룹내 순서를 변경하는 것에 의해서 얻어지는 최적 2분결정그래프에는 2가지의 것이 있지만, 본 실시예에서는 그들중에서 먼저 평가대상으로 된 D, E, G2라는 순서가 최적인 2분결정그래프를 생성하는 순서로서 최적2분결정그래프 데이타(40)에 유지된다. 따라서, 그래프G3에서의 탐색이 종료한 시점에서 G3의 그룹내 순서는 D, E, G2로 고정된다. 또, 이 시점에서 최적인 입력변수의 순서 는 D, E, C, A, B이다.
그룹G3의 그룹내 순서가 확정된 시점에서는 탐색이 이루어져 있지 않은 그룹중에서 상관도가 가장 약하고 상관도가 3인 그룹G2가 다음의 탐색대상으로 선택된다. 그룹G2는 그룹G1과 입력변수C로 구성되기 때문에, 탐색할 그룹내 순서는 2가지이다. 그중, 그룹G1이 입력변수C보다 앞에 위치하는 순서에 대한 2분결정그래프는 이미 조사한 제7도 (c)의 그래프B12로서, 최적 2분결정그래프 데이타(40)은 갱신되지 않는다. 블럭G1이 입력변수C보다 뒤쪽에 위치하는 순서에 대한 2분결정그래프는 제7도 (d)의 그래프B13으로 되고 노드수는 5로서, 이 경우도 최적 2분결정그래프 데이타(40)은 갱신되지 않는다. 이렇게 해서, 그룹G2에 대한 탐색이 종료한 시점에서는 이 그룹에 대한 그룹내 순서는 그룹G2에 대해서 처리(121)에서 임시로 결정된 순서G1, C인 채로 된다.
마지막으로, 그룹G1의 그룹내 순서이지만 이 경우도 순서를 변경하더라도 노드수는 변경되지 않기 때문에, 최적 2분결정그래프 데이타(40)은 제7도 (c)의 그래프B12에 대한 데이타 그대로이다. 이렇게 해서, 제7도 (c)의 그래프B12가 현재 가정하고 있는 논리함수에 대해서 결정된다.
[4] 셀렉터베이스의 회로매핑루틴(130)
이 루틴은 제8도에 도시한 룰에 따라서 처리(120)에서 작성된 최적 2분결정그래프 데이타(40)에 의해 지정되는 2분결정그래프의 각 노드를 셀렉터회로 또는 인버터 등의 단위회로로 치환하고, 필요에 따라서 전류증폭을 위한 버퍼회로를 삽입해서 목적으로 하는 논리회로를 생성하고 그 논리회로를 나타내는 네트리스트(14)를 생성한다.
먼저, 2분결정그래프의 각 노드를 단위 회로로 치환해서 논리회로를 합성하기 위해, 노드의 종류에 따라서 다른 매핑을 실행한다. 제8도의 a행에 도시한 노드N1과 같이 1가지 및 0가지가 연결되기 전이 1, 0이 아닌 경우에는 2분결정그래프의 노드에 2입력 1출력의 셀렉터회로S0을 대응시킨다. 셀렉터회로S0의 제어신호입력에 2분할결정그래프와 노드에 대응하는 입력변수X를 할당하고, 그 제어신호입력이 1일 때에 선택되는 입력in1에는 1가지에 연결되어 있는 노드의 출력을 할당한다. 제어신호입력이 0일 때에 선택되는 입력in0에는 0가지에 연결되어 있는 노드의 출력을 할당한다. 이와 같이 치환하는 것에 의해서 2분결정그래프의 노드와 동일 한 논리기능을 갖는 회로가 실현된다.
2분결정그래프의 노드가 제8도의 b행에 도시된 노드N2와 같이 1가지가 1에 연결되고 0가지가 0에 연결되어 있는 경우에는 이 노드의 출력은 그 노드의 입력변수X가 1일 때에는 1이 출력되고, 또 입력변수X가 0일 때에는 0이 출력된다. 이 때문에, 입력변수X와 이 노드의 출력은 논리적으로 동일한 값이므로, 입력X를 그대로 다음단의 회로에 입력하면 좋다.
또, 2분결정그래프의 노드가 제8도의 c행에 도시한 노드N3과 같이, 1가지가 0에 연결되고 0가지가 1에 연결되어 있는 경우에는 이 노드의 출력은 노드에 입력하는 입력변수X가 1일 때에는 0이 출력되고, 입력변수 X가 0일 때에는 1이 출력된다. 이 때문에, 입력변수X의 반전신호로 된다. 즉, 입력X를 인버터에 의해서 반전시켜 다음단의 회로에 입력하면 좋다.
이렇게 해서, 예를들면 제7도 (c)의 2분결정그래프에 따라 논리회로를 합성하면, 제10도 (a)에 도시한 셀렉터S30∼ S33에 의해서 구성되는 셀렉터레벨의 논리회로가 합성된다. 제7도 (c)의 2분결정그래프B12에서는 입력변수C에 대응하는 노드가 제8도의 b행에 해당하고, 그 밖의 노드는 제 8도의 a에 해당한다. 또한, 이예에서는 제8도의 c행에 해당하는 변환은 발생하지 않는다.
다음에, 이와 같이 해서 형성된 셀렉터레벨의 논리회로의 각 셀렉터회로를 트랜지스터레벨의 회로로 변환한다. 셀렉터회로S0으로서는 여러가지의 것이 고려되지만, 대표적인 것으로서는 이하의 세가지의 예가 고려된다. 첫번째는 제9도 (a)에 도시한 N형 전계효과형 트랜지스터 T1∼T2 및 인버터I1로 구성되는 N형 전계효과형 트랜지스터로 구성한 패스트랜지스터형태의 것이다. 두번째는 제9도 (b)에 도시한 N형 전계효과형 트랜지스터 T10∼ T11, P형 전계효과형 트랜지스터 T12∼ T13 및 인버터I10으로 구성되는 P형 N형의 양형태의 트랜지스터로 구성한 패스트랜지스터형태의 것이다. 세번째는 제9도 (c)에 도시한 CMOS회로에 의한 앤드게이트 G200∼G201, 오아게이트G202 및 인버터I200으로 구성되는 것이다.
이와 같이, 셀렉터회로 S0에는 여러개의 실현예가 고려되지만, 어떤 형태의 셀렉터회로를 사용할 것인지는 라이브러리(11)에 수납되어 있는 셀렉터회로 구조에 나타난다. 단, 이 셀렉터회로 구조를 변경하는 것에 의해, 다른 셀렉터회로를 선택할 수 있다.
마지막으로, 필요에 따라서 전류증폭을 위한 버퍼회로를 삽입해서 논리회로를 완성한다. 이 논리회로의 회로접속정보를 표현한 네트리스트를 출력해서 셀렉터베이스의 회로매핑루틴(130)은 종료한다.
예를들면, 제10도 (a)의 셀렉터레벨의 논리회로에 있어서 셀렉터회로를 제9도 (a)의 N형 전계효과형 트랜지스터로 구성한 패스트랜지스터형태의 것으로 실현하면, 최종적으로 트랜지스터 T30∼T37 및 인버터 I30∼I33으로 구성되는 제10도(b)의 트랜지스터회로가 얻어진다. 또한, 제10도 (b)의 회로의 경우에는 특히 앞에서 기술한 전류증폭을 위한 버퍼를 사용하고 있지 않다.
이상 기술한 바와 같이, 본 실시예에서의 그룹간 상관트리(20)의 작성방법에 의하면, 입력변수의 순서상 상호 더욱 가깝게 배치한 쪽이 노드수가 작아지는 입력변수의 그룹군일수록 동일 계층 또는 보다 가까운 계층에 속하도록 그룹이 구성되어 있다. 또, 서로 부근에 배치할 필요가 없는 그룹군은 서로 멀리 떨어진 계층에 속하도록 그룹이 구성되어 있다. 이와 같은 조건을 충족시키도록 그룹의 계층을 결정하는 것이 유효하다. 즉, 이 결과 그룹간 상관트리의 구조를 충족시키지 않는 입력변수의 순서의 패턴, 다시말해 그룹간 상관트리에 의거한 탐색에서는 탐색되지 않는 입력변수의 순서로부터는 2분결정그래프의 설질상(종래기술의 [1-1])참조), 그룹간 상관트리에 의거한 탐색에 의해 탐색된 2분결정그래프의 노드수에 비해 노드수가 작은 2분결정그래프가 얻어질 가능성은 매우 작다고 고려된다. 바꾸어말하면, 노드수가 작은 2분결정그래프를 생성하는데 필요한 입력변수의 순서는 그룹간 상관트리의 그룹내 순서를 변경해서 생성되는 여러가지 입력변수 순서중에 존재하는 것이라 고려된다.
실제로, 본 실시예에서도 그룹간 상관트리의 그룹내 순서를 변경하는 것에서는 결코 생성되지 않는 입력변수의 순서 A, D, C, E, B로 2분결정그래프를 작성하면, 제7도 (e)의 그래프B14로 되고 노드수11이라는 노드수가 매우 큰 2분결정그래프가 얻어질 뿐이다. 이 노드수11은 본 실시예의 최적2분결정그래프 작성루틴(120)의 탐색과정에 있어서 발견된 노드수의 최대값8보다 크다. 이것에 의해서도, 탐색공간을 그룹간 상관트리의 구조를 충족시키는 것에 한정하더라도, 노드수가 더 작은 2분결정그래프를 탐색하여 손상될 가능성은 적다고 고려된다. 따라서, 효율좋게 탐색하는데 유효하다는 것을 알 수 있다. 그룹간 상관트리의 구조를 충족시키는 것에 한정된 탐색은 노드수가 작은 2분결정그래프를 효율좋게 탐색하는데 유효하다는 것을 알 수 있다.
또, 본 실시예에서는 노드수가 작은 2분결정그래프를 위해서는 입력변수 순서상에서 보다 가까운 순서에 있는 것이 바람직한 입력변수의 그룹일수록 상관도가 강한 그룹으로 되도록 상관도를 정의하고 있다. 따라서, 이와 같이 상관도를 정의하면, 그룹내의 순서를 바꾸더라도 노드수는 크게 바뀌지 않는다고 기대할 수 있다. 실제로 본 실시예에서는 그룹내 순서를 바꾸는 것에 의해 노드수가 변경된 그룹은 상관도가 0인 G3뿐으로, 상관도가 4인 그룹G1 및 상관도가 3인 그룹G2에 대해서는 그룹내 순서를 변경해도 노드수는 최소값인 5인 채로였다. 이것에 의해서도, 그룹간 상관트리에 있어서 가장 상관도가 약한 그룹에서 그룹내 순서를 변경해서 노드수가 작은 2분결정그래프의 탐색을 실행하는 것처럼 탐색범위를 한정해도 문제가 거의 없다고 기대된다.
이상의 두가지 이유에 의해, 상관도가 강한 다른 그룹의 그룹내 순서를 고정하고 상관도가 가장 약한 그룹에서 그룹내 순서를 변경하여 노드수가 작은 2분결정그래프를 탐색해 가는 것처럼 탐색공간을 한정하더라도, 그 공간중에서 노드수가 충분히 작은 2분결정그래프가 발견되는 것을 기대할 수 있다.
또, 전종류의 탐색에 의해서 본 실시예의 노드수가 최소인 2분결정그래프를탐색하더라도, 얻어지는 최소의 노드수는 본 실시예에서의 한정된 탐색에 의해 얻어진 5와 동일하다. 즉, 본 실시예에서는 전종류의 탐색(5!=120가지)보다 훨씬 적은 탐색 횟수(6+2+2=10가지 )로 노드수가 최소인 2분결정그래프가 얻어지게 된다.
본 실시예에서는 종래기술의 참고문헌6과 같은 단순한 룰에 의해 입력변수의 순서를 결정하는 것이 아니라, 2분결정그래프를 작성해서 실제로 노드수가 작아지도록 입력변수의 순서를 결정해 가기 때문에 확실하게 노드수가 작은 2분결정그래프가 얻어진다. 또, 본 실시예에서는 종래기술의 참고문헌7과 같이 최초에 설정하는 임시 입력변수의 순서에 결과가 크게 좌우된다는 문제도 없다. 또, 본 실시예 이외의 다른 몇가지의 논리함수에 대해서도 본 실시예의 방법을 적용한 결과, 종래기술의 참고문헌6, 7의 방법보다 노드수가 작은 2분결정그래프를 작성하는 것이 가능하였다.
이와 같이, 본 실시예에서는 전종류의 탐색보다 훨씬 적은 탐색횟수로 현실적인 시간내에 충분히 노드수가 작은 2분결정그래프가 얻어진다. 즉, 적은 수의 트랜지스터로 목적으로 하는 논리기능을 갖는 우수한 논리회로를 효율좋은 탐색에 의해 합성할 수 있게 된다.
<실시예1의 변형예>
[1] 실시예1에서는 발명을 간단하게 하기 위해서 최적2분결정그래프를 1개 선택하도록 했다. 그러나, 본 실시예에서는 이미 기술한 바와 같이 제7도 (d)의 그래프B13도 최적2분결정그래프일 수 있다. 이와 같이, 노드수가 최소로 되는 2분결정그래프가 여러개 존재하는 경우에는 최적2분결정그래프로서 이들의 여러개의 그래프를 선택해도 상관없다. 그와 같은 여러개의 최적2분결정그래프의 1개를 노드수 이외의 다른 평가에 따라서 선택하면 좋다. 예를들면, 그들의 2분결정그래프의 각각에서 다음에 실시예2에 의해 설명하는 방법과 마찬가지로 해서 논리회로를 합성한다. 또, 다음에 실시예2 및 3에 의해 설명하는 방법과 마찬가지로 해서 각각의 논리회로의 면적, 지연시간 등의 소정의 회로특성중의 1개 또는 여러개의 조합을 평가한다. 이 평가의 결과에 따라 보다 우수한 회로를 생성하는 1개의 2분결정그래프를 이들의 여러개의 2분결정그래프에서 선택한다. 이와 같은 선택을 실시예1에 부가하는 것에 의해, 노드수도 작고 비교적 우수한 회로특성을 가진 논리회로를 합성하는 것이 가능하게 된다. 또한, 다음에 기술하는 실시예2 및 3은 노드수를 적게 하는 것보다 상기와 같은 1개 또는 여러개의 회로특성에 있어서 우수한 논리회로를 생성하는데 유효하다.
[2] 실시예1에서 설명한 그룹간 상관트리 작성루틴 이외에도, 다른 방법에 의해 마찬가지의 그룹간 상관트리를 작성하는 것도 가능하다. 예를들면, 임시합성회로 네트리스트(22)에 의해 각 게이트를 노드에 갖고 그 게이트의 입력선을 가지로 하고 출력을 그 뿌리로 하는 다분트리를 작성한다. 출력이 1개밖에 존재하지 않는 경우에는 뿌리에 가까운 노드일수록 상관도가 약해지도록 각 노드에 상관도를 할당해서 목적으로 하는 그룹간 상관트리를 얻는다. 이 방법에서는 출력이 여러개 존재하는 경우에는 뿌리가 여러개 있는 다분트리가 생성된다. 이 경우, 여러개의 뿌리를 향하는 가지를 가진 새로운 노드를 작성한다. 얻어진 다분트리에서 고리모양으로 되어 있는 가지가 있는 경우에는 그들을 1개의 가지로 치환한다. 다음에는출력이 1개밖에 존재하지 않는 경우와 마찬가지로, 뿌리에 가까운 노드일수록 상관도가 약하게 되도록 각 노드에 상관도를 할당해서 목적으로 하는 루프간 상관트리를 얻는다.
[3] 실시예1에서 설명한 최적2분결정그래프 데이타작성루틴은 부정연산을 나타내는 속성을 부가한 부정에지를 갖는 2분결정그래프 등의 2분결정그래프의 여러가지 파생형에 대해서도 마찬가지로 적용할 수 있다. 이들의 2분결정그래프의 파생형도 오리지날 2분결정그래프와 동일하게 종래 기술의 [1-1], [1-2]에서 설명한 성질을 갖기 때문이다.
[실시예 2]
본 실시예는 실시예1과 같이 노드수가 작은 2분결정그래프를 탐색하는 것이 아니라, 지연시간이 짧은 논리회로를 구성하는 2분결정그래프를 탐색하는 점에 있어서 실시예1과 다르다. 이 때문에, 본 실시예에서는 최적화하는 최적2분결정그래프 작성루틴(120)의 구체적인 처리가 실시예1과 다르고, 또 입력되는 논리회로사양(10)에 입력신호의 지연 등을 기술한 지연시간 제약정보 및 출력에 연결되어 있는 부하를 기술한 부하정보가 포함되어 있는 점도 실시예1과 다르다. 또한, 이들의 지연시간 제약정보 및 부하정보는 제2도에서 자동레이아웃 프로그램(160)에 의해서 작성되는 레이아웃데이타(13)에 의해 각 신호선의 배선길이를 구한 결과 추출되는 정보이다.
제11도를 참조하면, 본 실시예의 최적2분결정그래프 작성루틴(120)에서는 실시예1과 마찬가지로 처리(121)∼처리(124)를 실행해서 2분결정그래프를작성한다(124). 본 실시예에서는 그 후 실시예1과는 달리, 셀렉터베이스의 회로매핑루틴(130)을 불러내어 논리회로의 네트리스트(14)를 합성하고, 라이브러리(11)에 저장되어 있는 트랜지스터 파라미터, 논리회로사양(10)에 포함되는 입력신호의 지연정보 및 출력에 매달려 있는 부하의 정보를 가미해서 회로의 지연시간을 산출한다(131). 실시예1의 경우와 달리, 최적2분결정그래프 데이타(40)은 노드수가 이 데이타(40)내의 데이타수보다 작은 2분결정그래프가 탐색되었을 때에 갱신되는 것이 아니라, 산출된 지연시간이 이 데이타(40)내의 지연시간보다 작아지는 논리회로를 생성하는 2분결정그래프가 탐색되었을 때에 갱신된다(132). 탐색이 종료한 그룹의 그룹내 순서는 지연시간이 최소인 것에 대응하는 최적2분결정그래프 데이타(40)내의 입력변수의 순서에 대응한 순서로 고정된다. 이하, 실시예1과 마찬가지로, 탐색대상 그룹에 대한 탐색이 종료할 때까지 처리(123)∼(127) 및 처리(130)∼(132)를 반복한다. 탐색대상그룹에 대한 탐색이 종료했으면, 실시예1과 마찬가지로 다른 그룹에 대해서 이상의 처리를 반복한다. 이상의 처리결과, 지연시간이 짧은 논리회로와 그것에 대응하는 최적2분결정그래프가 얻어진다.
처리(131)에서의 지연시간의 산출을 실시예1과 동일한 논리함수의 예에 대해서 설명한다. 여기에서는 입력변수D, E, B가 다른 입력변수A, C보다 현저하게 지연되고, 또 그 지연이 입력D, E, B와도 동일정도인 경우를 고려한다. 실시예1에 의해 최종적으로 합성되는 트랜지스터레벨의 회로는 제10도 (b)에 도시한 것이기 때문에, 이 회로전체의 지연시간D1은 B로부터의 지연이 가장 커지므로
D1=입력B의 지연+트랜지스터 3단의 지연 + out1의 부하지연(또는 out2의 부하지연)
실시예1에서는 최종적으로 최적2분결정그래프에 채용된 제7도 (c)와 동일한 노드수가 5인 것이 여러개 존재하고, 그 중에는 제12도 (a)와 같은 것도 존재한다. 제12도 (a)의 2분결정그래프 B15에 따라 논리회로를 합성하면, 트랜지스터 T40∼T47 및 인버터 I40∼I43으로 구성되는 제12도 (b)의 회로가 얻어진다. 이 회로전체의 지연시간D2는
D2= 입력B의 지연+트랜지스터 2단의 지연 + out1의 부하지연(또는 out2의 부하지연)
으로 되고, 제 10도 (b)의 회로보다 트랜지스터 1단분만큼 지연시간이 짧다. 따라서, 본 실시예와 같이 회로를 합성해서 지연시간을 산출하고 지연시간이 짧게 되도록 최적2분결정그래프를 갱신해 가는 것에 의해, 제 12도 (b)와 같은 지연시간이 더욱 짧은 회로를 합성하는 것이 가능하게 된다.
이상의 처리에 의해, 지연시간이 더욱 짧아지는 논리회로를 생성하는 2분결정그래프를 효율적으로 탐색 할 수 있고, 이와 같은 특징이 있는 논리회로를 합성하는 것이 가능하게 된다.
[실시예3]
본 실시예에서는 실시예2와는 달리, 합성되는 논리회로의 면적이 작아지는 2분결정그래프를 탐색한다.
제13도를 참조하면, 본 실시예의 최적2분결정그래프 작성루틴(120)에서는 실시예2와 마찬가지로 처리(121)∼(124)를 실행해서 2분결정그래프를 작성하고, 또셀렉터베이스의 회로매핑루틴(130)을 불러내어 작성한 2분결정그래프에 대응하는 논리회로의 네트리스트(14)를 합성한다. 그 후, 본 실시예에서는 실시예2와는 달리 라이브러리(11)의 레이아웃정보에서 트랜지스터 및 셀렉터회로가 레이아웃상에서 실제로 어느 정도의 면적을 차지하는지의 정보를 리드하고, 이들의 정보를 사용해서 합성된 논리회로의 면적을 산출한다(133). 최적2분결정그래프 데이타(40)은 계산된 면적이 그 그래프데이타(40)에 유지되어 있는 면적보다 작아지면 갱신되고, 그렇지 않으면 갱신되지 않는다(134). 탐색이 종료한 그룹의 그룹내 면적은 면적이 최소인 것에 대응하는 최적2분결정그래프의 입력변수의 순서에 대응한 순서로 고정된다. 이하, 실시예 1, 2와 마찬가지로 이상의 처리를 반복한다.
이상의 처리에 의해, 셀렉터베이스의 회로매핑루틴에 있어서 전류증폭의 목적으로 버퍼회로가 삽입되지 않는 경우에 있어서도 또 필요에 따라서 이와 같은 버퍼회로가 삽입되는 경우에 있어서도, 면적이 더욱 작은 논리회로를 생성하는 2분결정그래프를 효율적으로 탐색할 수 있고 이와 같은 특징이 있는 논리회로를 합성하는 것이 가능하게 된다.
[실시예 4]
본 실시예에서는 실시예1, 2, 3과는 달리, 합성되는 논리회로의 면적, 지연시간, 소비전력의 조합을 최적으로 하는 2분결정그래프를 탐색한다.
제14도를 참조하면, 본 실시예의 최적2분결정그래프 작성루틴(120)에서는 실시예 2, 3과 마찬가지로 처리(121)∼(124)후에 셀렉터베이스의 회로매핑루틴(130)을 불러내어 작성한 2분결정그래프에 대응하는 논리회로의 네트리스트(14)를 합성한다. 그 후, 본 실시예에서는 실시예2, 3과 달리, 라이브러리(11)에 저장되어 있는 트랜지스터 파라미터 및 레이아웃정보, 논리회로사양(10)에 포함되어 있는 입력신호의 지연정보 및 출력에 매달려 있는 부하의 정보를 가미해서 그 회로의 면적, 지연시간, 소비전력을 산출한다(135). 최적2분결정그래프 데이타(40)은 산출된 면적, 지연시간, 소비전력의 조합이 이 데이타(40)내의 이들의 정보의 조합보다 최적으로 되면 갱신된다(136). 면적, 지연시간, 소비전력의 조합이 보다 최적인지의 여부는 면적, 지연시간, 소비전력을 파라미터로 해서 구해지는 평가함수의 값이 더욱 작아졌는지 작아지지 않았는지에 의해서 판정한다. 예를들면, 평가함수를
평가함수=면적 × 지연시간 × 소비전력
과 같이 설정하면, 면적, 지연시간, 소비전력 모두 동일한 비중으로 고려되어 3자의 균형이 잡힌 회로가 얻어지는 것이 기대된다. 이 평가함수의 식을 변경하는 것에 의해, 합성되는 회로를 면적성능 우선으로 하거나 또는 지연시간성능 우선으로 하거나 또는 면적, 소비전력 2개의 성능을 모두 우선으로 하는 등의 변경이 가능하다.
탐색이 종료한 그룹의 그룹내 순서는 면적, 지연시간, 소비전력의 조합이 최적인 회로에 대응하는 최적2분결정그래프의 입력변수의 순서에 대응한 순서로 고정된다. 이하, 실시예1∼ 3의 경우와 마찬가지로 해서, 이상의 처리를 반복한다.
이상의 처리에 의해, 면적, 지연시간, 소비전력의 조합이 더욱 최적인 논리회로를 생성하는 2분결정그래프를 효율적으로 탐색할 수 있고, 이와 같은 특징이 있는 논리회로를 합성하는 것이 가능하게 된다.
[실시예4의 변형예]
면적, 지연시간, 소비전력의 일부의 조합, 예를들면 지연시간과 면적과의 조합을 보다 최적으로 하는 논리회로를 생성하는 2분결정그래프를 탐색하도록 실시예 4를 변형하면, 이와 같은 2분결정그래프를 효율적으로 탐색할 수 있고 이들의 특징을 갖는 논리회로를 생성하는 것이 가능하게 된다.
이상에서 설명한 실시예에서 알 수 있는 바와 같이, 본 실시예에 의하면 주어진 논리회로의 사양에 따라 실용시간내에 소정의 조건을 충족시키는 2분결정그래프를 효율적으로 탐색할 수 있다. 특히, 노드수가 충분히 작은 2분결정그래프를 효율적으로 탐색할 수 있다. 따라서, 트랜지스터수가 작은 콤팩트한 논리회로를 합성하는 것이 가능하게 된다. 또, 주어진 논리회로사양에 따라 지연시간이 작은 논리회로를 합성하는데 사용할 수 있는 2분결정그래프를 효율적으로 탐색할 수 있고, 이와 같은 특징을 갖는 논리회로를 합성하는 것이 가능하게 된다.
또 마찬가지로, 면적이 작은 논리회로 또는 면적, 지연시간, 소비전력의 일부 또는 전부의 조합을 보다 최적으로 하는 논리회로를 합성하는데 사용할 수 있는 2분결정그래프를 효율적으로 탐색할 수 있고, 이와 같은 특징을 갖는 논리회로를 합성하는 것이 가능하게 된다.
제1도는 본 발명의 제1 실시예에 의한 논리회로를 합성하기 위한 계산기 시스템과 그곳에 사용하는 논리회로 합성프로그램의 개략적인 구성도.
제2도는 본 발명의 제1 실시예에 의한 기능설계부터 반도체 집적회로의 제조까지의 흐름도.
제3도는 제1도의 논리회로 합성프로그램에 사용하는 그룹간 상관트리 작성루틴의 흐름도.
제4도는 제3도의 그룹간 상관트리 작성루틴에 의해 생성되는 임시 합성회로의 예의 회로도.
제5도 (a)는 제3도의 그룹간 상관트리 작성루틴에 의해 생성되는 그룹간 상관행렬과 그 변형과정을 도시한 도면.
제5도 (b)는 그룹간 상관행렬에서 그룹간 상관트리를 생성하는 과정을 설명하는 도면.
제6도는 제1도의 논리회로 합성프로그램에 사용하는 최적2분결정그래프 작성 루틴의 흐름도.
제7도 (a)는 제6도의 최적2분결정그래프 작성루틴에 의해 생성되는 2분결정프래프의 예를 도시한 도면.
제7도 (b)는 제 6도의 최적2분결정그래프 작성루틴에 의해 생성되는 2분결정그래프의 다른 예를 도시한 도면.
제7도 (c)는 제 6도의 최적2분결정그래프 작성루틴에 의해 생성되는 2분결정그래프의 또 다른 예를 도시한 도면.
제7도 (d)는 제6도의 최적2분결정그래프 작성루틴에 의해 생성되는 2분결정그래프의 또 다른 예를 도시한 도면.
제7도 (e)는 제6도의 최적2분결정그래프 작성루틴에 의한 탐색의 대상에는 포함되지 않는 2분결정그래프의 예를 도시한 도면.
제8도는 제1도의 셀렉터베이스의 회로매핑루틴에 의한 회로매핑의 규칙을 도시한 도면.
제9도 (a)는 회로매핑에 사용가능한 N형 전계효과형 트랜지스터로 구성한 패스트랜지스터형태의 셀렉터회로의 회로도.
제9도 (b)는 회로매핑에 사용가능한 P형N형의 양형태의 트랜지스터로 구성한 패스트랜지스터형태의 셀렉터회로의 회로도.
채9도 (c)는 회로매핑에 사용가능한 CMOS회로에 의해 구성한 셀렉터회로의 회로도.
제10도 (a)는 제7도 (c)의 최적2분결정그래프에서 합성된 논리회로의 셀렉터레벨의 회로도.
제10도 (b)는 제10도 (a)의 논리회로의 각 셀렉터를 제9도 (a)의 N형 전계효과 트랜지스터로 구성된 패스트랜지스터형태의 것으로 실현했을 때의 트랜지스터레벨의 회로도.
제11도는 본 발명의 제2실시예에 의한 지연시간이 작은 논리회로를 합성하기 위한 최적2분결정그래프 작성루틴의 흐름도.
제12도 (a)는 제11도의 최적2분결정그래프 작성루틴에 의해 생성되는 2분결정그래프의 예를 도시한 도면.
제12도 (b)는 제12도 (a)의 2분결정그래프에 대한 트랜지스터레벨의 논리회로의 회로도.
제13도는 본 발명의 제3 실시예에 의한 면적이 작은 논리회로를 합성하기 위한 최적2분결정그래프 작성루틴의 흐름도.
제14도는 본 발명의 제4 실시예에 의한 면적, 지연시간 및 소비전력의 조합을 최적으로 하기 위한 최적2분결정그래프 작성루틴의 흐름도.
Claims (34)
- 합성할 논리회로의 1군의 입력신호를 나타내는 1군의 입력변수와 이 논리회로의 적어도 1개의 출력신호를 나타내는 출력변수 사이의 관계를 규정하는 논리함수에 따라서 그 논리회로를 계산기시스템에 의해 합성하는 방법으로서,상기 계산기 시스템에 의해 실행되는 스텝으로서[a] 각각 상기 1군의 입력변수 사이의 논리적인 상관의 강도를 계층적으로 나타내는 계층구조로서 여러개의 계층화된 그룹을 상기 논리함수에 따라서 결정하는 스텝;[b] 상기 여러개의 계층화된 그룹을 상위의 그룹부터 순차 선택하는 스텝;[c] 스텝[b]에서 1개의 그룹이 선택될 때마다 그 선택된 그룹의 멤버간의 그룹내 순서를 소정의 조건을 충족시키도록 결정하는 스텝;[d] 스텝[c]를 여러개의 그룹의 각각에 대해서 실행한 결과 결정된 상기 여러개의 계층화된 그룹의 각각에 대한 그룹내 순서에 의해 정해지는 상기 1군의 변수의 순서에 대응하는 2분결정그래프를 상기 논리함수에 대한 2분결정그래프로서 결정하는 스텝 및;[e] 결정된 2분결정그래프를 논리회로에 매핑하고 얻어진 논리회로를 상기 논리함수에 대한 논리회로로서 출력하는 스텝을 포함하고,상기 스텝[a]에 있어서 상대적으로 상위인 그룹은 상호 상대적으로 작은 상관을 갖는 멤버를 포함하고, 각 그룹의 멤버는 그 그룹보다 하나 하위인 적어도 1개의 그룹 또는 그 그룹보다 하위인 다른 1개 또는 여러개의 그룹중의 어느것에도 속해 있지 않은 적어도 1개의 입력변수인 것을 특징으로 하는 논리회로의 합성방법.
- 제1항에 있어서,상기 여러개의 계층화된 그룹중의 최하위의 그룹은 상기 1군의 입력변수중 상호 상대적으로 강한 상관을 갖는 일부의 여러개의 입력변수를 멤버로서 포함하고,상기 최하위의 그룹보다 상위인 여러개의 그룹의 각각은그 각 그룹보다 하나 하위인 그룹과상기 1군의 입력변수중의 그 각 그룹보다 하위인 1개 또는 여러개의 그룹중의 어느 것에도 속해 있지 않은 입력변수로서 그 각 그룹보다 하나 하위인 그룹에 대해서 상대적으로 강한 상관을 갖는 적어도 1개의 입력변수를 멤버로서 포함하는 것을 특징으로 하는 논리회로의 합성방법.
- 제2항에 있어서,스텝[c]에서 결정되는 상기 그룹내 순서는 선택된 그룹에 속하는 1개 또는 여러개의 입력변수 및 1개 또는 여러개의 그 선택된 그룹의 하나 하위인 그룹간의 상기 하나 하위인 그룹을 1개의 입력변수로 간주했을 때의 순서이고, 상기 선택된 그룹이 최하위의 그룹일 때에는 상기 그룹내 순서는 상기 선택된 그룹에 속하는 여러개의 입력변수 사이의 순서이며,스텝[c]는 상기 선택된 그룹보다 상위인 그룹이 있을 때에는 그 상위의 그룹에 대해서 스텝[c]를 실행했을 때에 결정된 그룹내 순서에 따라서 실행되고, 상기 선택된 그룹보다 하위인 그룹이 있을 때에는 그 하위의 그룹에 대해서 미리 정해진 그룹내 순서에 따라서 실행되는 것을 특징으로 하는 논리회로의 합성방법.
- 제1항에 있어서,상기 여러개의 계층화된 그룹을 결정하는 스텝[a]는[a1] 상기 1군의 입력변수중 상대적으로 강한 상관을 상호 갖는 여러개의 입력변수를 멤버로 하는 최하위의 그룹을 결정하는 스텝,[a2] 상기 1군의 입력변수중 상기 최하위의 그룹에 속하는 상기 여러개의 상기 최하위의 그룹에 대해서 상대적으로 강한 상관을 갖는 다른 1개 또는 여러개의 입력변수와 상기 최하위의 그룹을 상기 최하위의 그룹의 하나 상위인 그룹으로서 결정하는 스텝 및[a3] 상기 1군의 입력변수중 스텝[a1]과 [a2]에서 결정된 그룹 중 어느것에도 속하지 않는 입력변수로서 스텝[a2]에서 결정된 그룹에 대해서 상대적으로 강한 상관을 갖는 또 다른 1개 또는 여러개의 입력변수와 스텝[a2]에서 결정된 그룹을 멤버로 하는 더 상위의 그룹을 결정하도록 스텝[a2]를 반복하는 스텝을 갖는 것을 특징으로 하는 논리회로의 합성방법.
- 제4항에 있어서,스텝[a1]은상기 1군의 입력변수의 다른 조합의 1개에 속하는 1쌍의 입력변수사이의 상관의 강도를 각각 나타내는 여러개의 상관도를 상기 논리함수에 따라서 결정하는 스텝 및상기 여러개의 상관도 중 상대적으로 강한 상관을 갖는 여러개의 입력변수를 최하위의 그룹의 멤버로서 선택하는 스텝을 갖는 것을 특징으로 하는 논리회로의 합성방법.
- 제5항에 있어서,상기 여러개의 상관도를 결정하는 스텝은상기 논리관계가 규정하는 상기 1군의 입력신호와 상기 적어도 1개의 출력신호 사이의 관계를 충족시키는 임시 논리회로를 상기 논리함수에 따라서 결정하는 스텝 및상기 결정된 임시 논리회로를 구성하는 여러개의 논리게이트 중 2개의 입력신호가 모두 통과하는 논리게이트의 수를 그들 2개의 입력신호에 대응하는 2개의 입력변수 사이의 상관도로 되도록, 상기 결정된 임시 논리회로에 따라서 상기 여러개의 상관도를 결정하는 스텝을 갖는 것을 특징으로 하는 논리회로의 합성방법.
- 제5항에 있어서,스텝[a2]는 그 스텝이 최초로 실행될 때에는상기 1군의 입력변수중의 상기 최하위그룹에 속하지 않는 여러개의 입력변수중의 1개와 상기 최하위그룹 사이의 상관 강도를 각각 나타내는 여러개의 상관도를 상기 논리함수에 따라서 결정하는 스텝 및상기 최하위그룹에 속하지 않는 여러개의 입력변수 중 상기 최하위그룹에 대해서 상대적으로 강한 상관을 갖는 1개 또는 여러개의 입력변수를 상기 최하위그룹에 속하지 않는 여러개의 입력변수에 대해서 결정된 상기 여러개의 상관도에 따라서 상기 최하위그룹의 하나 상위인 그룹의 멤버로서 선택하는 스텝을 갖고,스텝[a2]는 그 스텝이 스텝[a3]에 의해 반복될 때에는상기 1군의 입력변수중의 스텝[a1]에 의해 또한 스텝[a2] 이전의 실행에 의해 결정된 여러개의 그룹중의 어느것에도 속하지 않는 여러개의 입력변수중의 1개와 스텝[a2] 직전의 실행시에 결정된 그룹사이의 상관강도를 각각 나타내는 여러개의 상관도를 상기 논리함수에 따라서 결정하는 스텝 및스텝[a1]에 의해 또한 스텝[a2] 이전의 실행에 의해 결정된 여러개의 그룹중의 어느 것에도 속하지 않는 여러개의 입력변수 중 스텝[a2] 직전의 실행시에 결정된 그룹에 대해서 상대적으로 강한 상관도를 갖는 1개 또는 여러개의 입력변수를 스텝[a1]에 의해 또한 스텝[a2] 이전의 실행에 의해 결정된 여러개의 그룹중의 어느 것에도 속하지 않는 여러개의 입력변수에 대해서 결정된 상기 여러개의 상관도에 따라서 스텝[a2] 직전의 실행시에 결정된 그룹의 하나 상위인 그룹의 멤버로서 선택하는 스텝을 갖는 것을 특징으로 하는 논리회로의 합성방법.
- 제1항에 있어서,스텝[c]에서 사용되는 상기 소정의 조건은 스텝[b]에서 선택된 그룹의 멤버인 1개 또는 여러개의 입력변수와 그 선택된 그룹의 하나 하위의 1개 또는 여러개의 그룹이 가질 수 있는 여러개의 그룹내 순서 중 그 그룹내 순서를 그 그룹에 대해서 채용했을 때 얻어지는 상기 1군의 입력변수의 순서에 대응하는 2분결정그래프로서 노드수가 최소인 2분결정그래프를 부여하는 그룹내 순서인 것을 특징으로 하는 논리회로의 합성방법.
- 제8항에 있어서,스텝[c]는스텝[b]에서 선택된 그룹의 멤버인 상기 1개 또는 여러개의 입력변수와 상기 선택된 그룹의 하위측의 1개 또는 여러개의 그룹 사이의 그룹내 순서를 상기 선택된 그룹이 가질 수 있는 여러개의 그룹내 순서후보가 다른 것으로 순차 변경하는 스뎁,상기 선택된 그룹의 그룹내 순서가 상기 여러개의 그룹내 순서후보중의 하나로 변경될 때마다 변경후의 그룹내 순서후보를 그 선택된 그룹에 대해서 채용했을 때 결정되는 상기 1군의 입력변수의 순서에 따라서 상기 논리함수를 나타내는 2분결정그래프를 생성하는 스텝,생성된 2분결정그래프의 노드의 총수를 계수하는 스텝,상기 여러개의 그룹내 순서후보의 각각에 대해서 상기 계수스텝에서 계수된 여러개의 노드수 중 최소의 노드수를 검출하는 스텝 및검출된 최소의 노드수를 갖는 2분결정그래프를 생성한 그룹내 순서후보를 상기 선택된 그룹에 대한 그룹내 순서로서 결정하는 스텝을 갖는 것을 특징으로 하는 논리회로의 합성방법.
- 제1항에 있어서,스텝[e]는 상기 결정된 2분결정그래프의 각 노드를 셀렉터회로에 매핑해서 논리회로를 생성하는 스텝을 갖는 것을 특징으로 하는 논리회로의 합성방법.
- 특허청구의 범위 제1항∼제10항 중 어느 한항에 기재된 방법에 의해 논리회로에 따라서 그 논리회로를 생성하기 위한 여러개의 마스크패턴을 생성하는 스텝 및상기 여러개의 마스크패턴을 사용해서 상기 논리회로를 포함하는 반도체 집적회로를 제조하는 스텝을 구비하는 것을 특징으로 하는 반도체 장치의 제조방법.
- 합성할 논리회로의 1군의 입력신호를 나타내는 1군의 입력변수와 상기 논리회로의 적어도 1개의 출력신호를 나타내는 출력변수 사이의 관계를 규정하는 논리함수에 따라서 그 논리회로를 계산기시스템에 의해 합성하는 방법으로서,상기 계산기 시스템에 의해 실행되는 스텝으로서[a] 상기 1군의 입력변수의 순서를 소정의 순서에 따라서 순차 다른 순서후보로 변경하는 스텝;[b] 상기 1군의 입력변수의 순서가 어느 하나의 순서후보로 변경될 때마다 그 순서후보에 따라서 상기 논리함수에 대한 2분결정그래프를 생성하는 스텝;[c] 생성된 2분결정그래프를 논리회로에 매핑하는 것에 의해 상기 논리함수로 규정되는 논리회로를 생성하는 스텝;[d] 상기 생성된 논리회로의 노정의 회로특성의 값을 계산하는 스텝;[e] 상기 여러개의 순서후보의 각각에 대해서 스텝[d]에서 계산된 여러개의 값 중 최적인 값을 검출하는 스텝;[f] 검출된 최적값을 갖는 논리회로를 생성한 순서후보를 상기 1군의 입력변수에 대한 최적인 순서로서 결정하는 스텝 및;[g] 상기 결정된 최적인 순서에 대해서 상기 스텝[c]에서 생성된 논리회로를 상기 합성할 논리회로로서 출력하는 스텝을 포함하는 것을 특징으로 하는 논리회로의 합성방법.
- 제12항에 있어서,상기 소정의 회로특성의 값이 최적인 논리회로는 총면적, 지연시간, 소비전력중의 적어도 1개가 최소인 논리회로인 것을 특징으로 하는 논리회로의 합성방법.
- 제12항에 있어서,상기 소정의 회로특성의 값이 최적인 논리회로는 총면적, 지연시간, 소비전력중의 적어도 2개의 조합이 최적인 논리회로인 것을 특징으로 하는 논리회로의 합성방법.
- 합성할 논리회로의 1군의 입력신호를 나타내는 1군의 입력변수와 상기 논리회로의 적어도 1개의 출력신호를 나타내는 출력변수 사이의 관계를 규정하는 논리함수에 따라서 그 논리회로를 계산기시스템에 의해 합성하는 방법으로서,상기 계산기 시스템에 의해 실행되는 스텝으로서[a] 각각 상기 1군의 입력변수 사이의 논리적인 상관의 강도를 계층적으로 나타내는 계층구조로서 여러개의 계층화된 그룹을 상기 논리함수에 따라서 결정하는 스텝;[b] 상기 여러개의 계층화된 그룹을 상위의 그룹부터 순차 선택하는 스텝;[c] 스텝[b]에서 1개의 그룹이 선택될 때마다 그 선택된 그룹의 멤버사이의 그룹내 순서를 소정의 조건을 충족시키도록 결정하는 스텝;[d] 스텝[c]를 여러개의 그룹의 각각에 대해서 실행한 결과 결정된 상기 여러개의 계층화된 그룹의 각각에 대한 그룹내 순서에 의해 결정되는 상기 1군의 변수의 순서에 대응하는 2분결정그래프를 상기 논리함수에 대한 2분결정그래프로서 결정하는 스텝 및;[e] 결정된 2분결정그래프를 논리회로에 매핑하고 얻어진 논리회로를 상기 논리함수에 대한 논리회로로서 출력하는 스텝을 포함하고,상기 스텝[a]에 있어서 상대적으로 상위인 그룹은 상호 상대적으로 작은 상관은 갖는 멤버를 포함하고, 각 그룹의 멤버는 그 그룹보다 하나 하위인 적어도 1개의 그룹 또는 그 그룹보다 하위인 다른 1개 또는 여러개의 그룹중의 어느것에도 속해 있지 않은 적어도 1개의 입력변수이고,상기 스텝[c]에 있어서 상기 소정의 조건은 스텝[b]에서 선택된 그룹의 멤버인 1개 또는 여러개의 입력변수와 그 선택된 그룹의 하나 하위인 1개 또는 여러개의 그룹이 가질 수 있는 여러개의 그룹내 변수순서 중 그 그룹내 변수순서를 그 그룹에 대해서 채용했을 때에 얻어지는 상기 1군의 입력변수의 변수순서에 대응하는 2분결정그래프를 또 논리회로에 매핑했을 때에 소정의 회로특성이 최적으로 되는 논리회로를 부여하는 그룹내 변수순서인 것을 특징으로 하는 논리회로의 합성방법.
- 제15항에 있어서,스텝[c]는스텝[b]에서 선택된 그룹의 멤버인 상기 1개 또는 여러개의 입력변수와 상기 선택된 그룹의 하위측의 1개 또는 여러개의 그룹 사이의 그룹내 변수순서를 상기 선택된 그룹이 가질 수 있는 여러개의 그룹내 변수순서후보가 다른 1개로 순차 변경하는 스텝,상기 그룹내 변수순서가 상기 여러개의 그룹내 변수순서후보중의 1개로 변경될 때마다 변경후의 그룹내 변수순서후보를 그 그룹에 대해서 채용했을 때에 결정되는 상기 1군의 입력변수의 변수순서에 따라서 상기 논리함수를 나타내는 2분결정그래프를 생성하는 스텝,생성된 2분결정그래프를 논리회로에 매핑하는 것에 의해 상기 논리함수로 규정되는 논리회로를 생성하는 스텝,상기 생성된 논리회로의 소정의 회로특성을 판별하는 스텝,상기 여러개의 그룹내 변수순서후보의 각각에 대해서 판별된 회로특성중 최적인 값을 갖는 회로특성을 검출하는 스텝 및검출된 최적의 회로특성을 갖는 논리회로를 생성한 그룹내 변수순서후보를 상기 선택된 그룹에 속하는 그룹내 변수순서로서 결정하는 스텝을 갖고,스텝(e)는 상기 최하위의 그룹에 대해서 결정된 그룹내 변수순서에 대해서 스텝[c]에서 생성된 논리회로를 합성할 논리회로로서 출력하는 스텝으로 이루어지는 것을 특징으로 하는 논리회로의 합성방법.
- 제15항에 있어서,상기 여러개의 계층화된 그룹중의 최하위의 그룹은 상기 1군의 입력변수중 상호 상대적으로 강한 상관을 갖는 일부의 여러개의 입력변수를 멤버로서 포함하고,상기 최하위의 그룹보다 상위인 여러개의 그룹의 각각은그 각 그룹보다 하나 하위인 그룹과상기 1군의 입력변수중의 그 각 그룹보다 하위인 1개 또는 여러개의 그룹중의 어느 것에도 속해 있지 않은 입력변수로서 그 각 그룹보다 하나 하위인 그룹에대해서 상대적으로 강한 상관을 갖는 적어도 1개의 입력변수를 멤버로서 포함하는 것을 특징으로 하는 논리회로의 합성방법.
- 제17항에 있어서,스텝[c]에서 결정되는 상기 그룹내 순서는 선택된 그룹에 속하는 1개 또는 여러개의 입력변수 및 1개 또는 여러개의 그 선택된 그룹의 하나 하위인 그룹 사이의 상기 하나 하위인 그룹을 1개의 입력변수로 간주했을 때의 순서이며, 상기 선택된 그룹이 최하위의 그룹일 때에는 상기 그룹내 순서는 상기 선택된 그룹에 속하는 여러개의 입력변수 사이의 순서이며,스텝[c]는 상기 선택된 그룹보다 상위의 그룹이 있을 때에는 그 상위의 그룹에 대해서 스텝[c]를 실행했을 때에 결정된 그룹내 순서에 따라서 실행되고, 상기 선택된 그룹보다 하위의 그룹이 있을 때에는 그 하위의 그룹에 대해서 미리 정해진 그룹내 순서에 따라서 실행되는 것을 특징으로 하는 논리회로의 합성방법.
- 제15항에 있어서,상기 여러개의 계층화된 그룹을 결정하는 스텝[a]는[a1] 상기 1군의 입력변수 중 상대적으로 강한 상관을 상호 갖는 여러개의 입력변수를 멤버로 하는 최하위의 그룹을 결정하는 스텝,[a2] 상기 1군의 입력변수 중 상기 최하위의 그룹에 속하는 상기 여러개의 상기 최하위의 그룹에 대해서 상대적으로 강한 상관을 갖는 다른 1개 또는 여러개의 입력변수와 상기 최하위의 그룹을 상기 최하위의 그룹의 하나 상위인 그룹으로서 결정하는 스텝 및[a3] 상기 1군의 입력변수 중 스텝[a1]과 [a2]에서 결정된 그룹중의 어느 것에도 속하지 않는 입력변수로서 스텝[a2]에서 결정된 그룹에 대해서 상대적으로 강한 상관을 갖는 또 다른 1개 또는 여러개의 입력변수와 스텝[a2]에서 결정된 그룹을 멤버로 하는 더 상위인 그룹을 결정하도록 스텝[a2]를 반복하는 스텝을 갖는 것을 특징으로 하는 논리회로의 합성방법.
- 제19항에 있어서,스텝[a1]은상기 1군의 입력변수가 다른 조합의 1개에 속하는 1쌍의 입력변수 사이의 상관의 강도를 각각 나타내는 여러개의 상관도를 상기 논리함수에 따라서 결정하는 스텝 및상기 여러개의 상관도 중 상대적으로 강한 상관을 갖는 여러개의 입력변수를 최하위의 그룹의 멤버로서 선택하는 스텝을 갖는 것을 특징으로 하는 논리회로의 합성방법.
- 제20항에 있어서,상기 여러개의 상관도를 결정하는 스텝은상기 논리관계가 규정하는 상기 1군의 입력신호와 상기 적어도 1개의 출력신호 사이의 관계를 충족시키는 임시 논리회로를 상기 논리함수에 따라서 결정하는 스텝 및상기 결정된 임시 논리회로를 구성하는 여러개의 논리게이트 중 2개의 입력신호가 모두 통과하는 논리게이트의 수를 그들 2개의 입력신호에 대응하는 2개의 입력변수 사이의 상관도로 되도록 상기 결정된 임시 논리회로에 따라서 상기 여러개의 상관도를 결정하는 스텝을 갖는 것을 특징으로 하는 논리회로의 합성방법.
- 제20항에 있어서,스텝[a2]는 그 스텝이 최초로 실행될 때에는상기 1군의 입력변수중의 상기 최하위그룹에 속하지 않는 여러개의 입력변수중의 1개와 상기 최하위 그룹 사이의 상관의 강도를 각각 나타내는 여러개의 상관도를 상기 논리함수에 따라서 결정하는 스텝 및상기 최하위 그룹에 속하지 않는 여러개의 입력변수 중 상기 최하위 그룹에 대해서 상대적으로 강한 상관을 갖는 1개 또는 여러개의 입력변수를 상기 최하위 그룹에 속하지 않는 여러개의 입력변수에 대해서 결정된 상기 여러개의 상관도에 따라서 상기 최하위의 그룹의 하나 상위인 그룹의 멤버로서 선택하는 스텝을 갖고,스텝[a2]는 그 스텝이 스텝[a3]에 의해 반복될 때에는상기 1군의 입력변수중의 스텝[a1]에 의해 또한 스텝[a2] 이전의 실행에 의해 결정된 여러개의 그룹중의 어느 것에도 속하지 않는 여러개의 입력변수중의 1개와 스텝[a2] 직전의 실행시에 결정된 그룹 사이의 상관의 강도를 각각 나타내는 여러개의 상관도를 상기 논리함수에 따라서 결정하는 스텝 및스텝[a1]에 의해 또한 스텝[a2] 이전의 실행에 의해 결정된 여러개의 그룹 중의 어느 것에도 속하지 않는 여러개의 입력변수 중 스텝[a2] 직전의 실행시에 결정된 그룹에 대해서 상대적으로 강한 상관도를 갖는 1개 또는 여러개의 입력변수를 스텝[a1]에 의해 또한 스텝[a2] 이전의 실행에 의해 결정된 여러개의 그룹중의 어느 것에도 속하지 않는 여러개의 입력변수에 대해서 결정된 상기 여러개의 상관도에 따라서 스텝[a2] 직전의 실행시에 결정된 그룹의 하나 상위인 그룹의 멤버로서 선택하는 스텝을 갖는 것을 특징으로 하는 논리회로의 합성방법.
- 제15항에 있어서,상기 소정의 회로특성의 값이 최적인 논리회로는 총면적이 최소인 논리회로인 것을 특징으로 하는 논리회로의 합성방법.
- 제15항에 있어서,상기 소정의 회로특성의 값이 최적인 논리회로는 지연시간이 최소인 논리회로인 것을 특징으로 하는 논리회로의 합성방법.
- 제15항에 있어서,상기 소정의 회로특성의 값이 최적인 논리회로는 총면적과 지연시간의 조합이 최적인 논리회로인 것을 특징으로 하는 논리회로의 합성방법.
- 제15항에 있어서,상기 소정의 회로특성의 값이 최적인 논리회로는 총면적과 지연시간과 소비전력의 조합이 최적인 논리회로인 것을 특징으로 하는 논리회로의 합성방법.
- 제15항에 있어서,스텝[e]는 상기 결정된 2분결정그래프의 각 노드를 셀렉터회로에 매핑해서 논리회로를 생성하는 스텝을 갖는 것을 특징으로 하는 논리회로의 합성방법.
- 특허청구의 범위 제15항∼제28항중 어느 한항에 기재된 방법에 의해 논리회로에 따라서 그 논리회로를 생성하기 위한 여러개의 마스크패턴을 생성하는 스텝 및상기 여러개의 마스크패턴을 사용해서 상기 논리회로를 포함하는 반도체 집적회로를 제조하는 스텝을 구비하는 것을 특징으로 하는 반도체장치의 제조방법.
- 논리회로의 1군의 입력신호를 나타내는 1군의 입력변수와 상기 논리회로의 적어도 1개의 출력신호를 나타내는 출력변수 사이의 관계를 규정하는 논리함수를 나타내는 2분결정그래프를 계산기 시스템에 의해 최적화하는 방법으로서,상기 계산기 시스템에 의해 실행되는 스텝으로서[a] 각각 상기 1군의 입력변수 사이의 논리적인 상관의 강도를 계층적으로나타내는 계층구조로서 여러개의 계층화된 그룹을 상기 논리함수에 따라서 결정하는 스텝;[b] 상기 여러개의 계층화된 그룹을 상위의 그룹부터 순차 선택하는 스텝;[c] 스텝[b]에서 1개의 그룹이 선택될 때마다 그 선택된 그룹의 멤버사이의 그룹내 순서를 소정의 조건을 충족시키도록 결정하는 스텝 및;[d] 스텝[c]를 여러개의 그룹의 각각에 대해서 실행한 결과 결정된 상기 여러개의 계층화된 그룹의 각각에 대한 그룹내 순서에 의해 결정되는 상기 1군의 변수의 순서에 대응하는 2분결정그래프를 최적화된 2분결정그래프로서 출력하는 스텝을 포함하고,상기 스텝[a]에 있어서 상대적으로 상위인 그룹은 상호 상대적으로 작은 상관을 갖는 멤버를 포함하고, 각 그룹의 멤버는 그 그룹보다 하나 하위인 적어도 1개의 그룹 또는 그 그룹보다 하위인 다른 1개 또는 여러개의 그룹중의 어느 것에도 속해 있지 않은 적어도 1개의 입력변수인 것을 특징으로 하는 2분결정그래프의 최적화방법.
- 제29항에 있어서,상기 여러개의 계층화된 그룹중의 최하위의 그룹은 상기 1군의 입력변수중 상호 상대적으로 강한 상관을 갖는 일부의 여러개의 입력변수를 멤버로서 포함하고,상기 최하위의 그룹보다 상위인 여러개의 그룹의 각각은그 각 그룹보다 하나 하위인 그룹과상기 1군의 입력변수중의 그 각 그룹보다 하나 하위인 1개 또는 여러개의 그룹중의 어느 것에도 속해 있지 않은 입력변수로서 그 각 그룹보다 하나 하위인 그룹에 대해서 상대적으로 강한 상관을 갖는 적어도 1개의 입력변수를 멤버로서 포함하는 것을 특징으로 하는 2분결정그래프의 최적화방법.
- 제30항에 있어서,스텝[c]에서 결정되는 상기 그룹내 순서는 선택된 그룹에 속하는 1개 또는 여러개의 입력변수 및 1개 또는 여러개의 그 선택된 그룹의 하나 하위인 그룹간의 상기 하나 하위인 그룹을 1개의 입력변수로 간주했을 때의 순서이고, 상기 선택된 그룹이 최하위의 그룹일 때에는 상기 그룹내 순서는 상기 선택된 그룹에 속하는 여러개의 입력변수 사이의 순서이며,스텝[c]는 상기 선택된 그룹보다 상위의 그룹이 있을 때에는 그 상위의 그룹에 대해서 스텝[c]를 실행했을 때에 결정된 그룹내 순서에 따라서 실행되고, 상기 선택된 그룹보다 하위의 그룹이 있을 때에는 그 하위의 그룹에 대해서 미리 정해진 그룹내 순서에 따라서 실행되는 것을 특징으로 하는 2분결정그래프의 최적화방법.
- 제29항에 있어서,스텝[c]에서 사용되는 상기 소정의 조건은 스텝[b]에서 선택된 그룹의 멤버인 1개 또는 여러개의 입력변수와 그 선택된 그룹의 하나 하위인 1개 또는 여러개의 그룹이 가질 수 있는 여러개의 그룹내 순서 중 그 그룹내 순서를 그 그룹에 대해서 채용했을 때에 얻어지는 상기 1군의 입력변수의 순서에 대응하는 2분결정그래프로서 노드수가 최소인 2분결정그래프를 부여하는 그룹내 순서인 것을 특징으로 하는 2분결정그래프의 최적화방법.
- 제32항에 있어서,스텝[c]는스텝[b]에서 선택된 그룹의 멤버인 상기 1개 또는 여러개의 입력변수와 상기 선택된 그룹의 하위측의 1개 또는 여리개의 그룹 사이의 그룹내 순서를 상기 선택된 그룹이 가질 수 있는 여러개의 그룹내 순서후보가 다른 것으로 순차 변경하는 스텝,상기 선택된 그룹의 그룹내 순서가 상기 여러개의 그룹내 순서후보중의 하나로 변경될 때마다 변경후의 그룹내 순서후보를 그 선택된 그룹에 대해서 채용했을 때에 정해지는 상기 1군의 입력변수의 순서에 따라서 상기 논리함수를 나타내는 2분결정그래프를 생성하는 스텝,생성된 2분결정그래프의 노드의 총수를 계수하는 스텝,상기 여러개의 그룹내 순서후보의 각각에 대해서 상기 계수스텝에서 계수된 여러개의 노드수 중 최소의 노드수를 검출하는 스텝 및검출된 최소의 노드수를 갖는 2분결정그래프를 생성한 그룹내 순서후보를 상기 선택된 그룹에 대한 그룹내 순서로서 결정하는 스텝을 갖는 것을 특징으로 하는2분결정그래프의 최적화방법.
- 특허청구의 범위 제12항∼제14항중 어느 한항에 기재된 방법에 의해 논리회로에 따라서 그 논리회로를 생성하기 위한 여러개의 마스크패턴을 생성하는 스텝 및상기 여리개의 마스크패턴을 사용해서 상기 논리회로를 포함하는 반도체 집적회로를 제조하는 스텝을 구비하는 것을 특징으로 하는 반도체 장치의 제조방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9648795 | 1995-04-21 | ||
JP95-096487 | 1995-04-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960039642A KR960039642A (ko) | 1996-11-25 |
KR100386511B1 true KR100386511B1 (ko) | 2003-08-27 |
Family
ID=14166434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960011529A KR100386511B1 (ko) | 1995-04-21 | 1996-04-17 | 입력변수간의 계층화된 상관을사용해서 탐색된 2분결정그래프를 사용한 논리회로의 합성방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5712792A (ko) |
KR (1) | KR100386511B1 (ko) |
TW (1) | TW298687B (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6313666B1 (en) * | 1996-04-16 | 2001-11-06 | Hitachi, Ltd. | Logic circuit including combined pass transistor and CMOS circuit and a method of synthesizing the logic circuit |
US6185719B1 (en) * | 1997-06-06 | 2001-02-06 | Kawasaki Steel Corporation | Pass-transistor logic circuit and a method of designing thereof |
US6190433B1 (en) * | 1998-11-10 | 2001-02-20 | The United States Of America As Represented By The National Security Agency | Method of recovering a gate-level netlist from a transistor-level |
US6651096B1 (en) | 1999-04-20 | 2003-11-18 | Cisco Technology, Inc. | Method and apparatus for organizing, storing and evaluating access control lists |
US6389576B1 (en) * | 1999-09-02 | 2002-05-14 | Sun Microsystems, Inc. | Method and apparatus for optimizing real functions in Boolean domain |
GB2395823B (en) | 2000-01-27 | 2004-08-25 | Automatic Parallel Designs Ltd | Method and apparatus for binary encoding logic circuits |
JP2001358578A (ja) | 2000-06-15 | 2001-12-26 | Fujitsu Ltd | パストランジスタ回路、パストランジスタ回路の設計方法、論理回路最適化装置、論理回路最適化方法および論理回路最適化プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6892373B2 (en) * | 2001-06-15 | 2005-05-10 | Science & Technology Corporation At Unm | Integrated circuit cell library |
US7260595B2 (en) * | 2002-12-23 | 2007-08-21 | Arithmatica Limited | Logic circuit and method for carry and sum generation and method of designing such a logic circuit |
WO2004064254A2 (en) * | 2003-01-14 | 2004-07-29 | Arithmatica Limited | A logic circuit |
US7308471B2 (en) | 2003-03-28 | 2007-12-11 | Arithmatica Limited | Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding |
GB2401962B (en) * | 2003-05-23 | 2005-05-18 | Arithmatica Ltd | A sum bit generation circuit |
US20060259885A1 (en) * | 2004-08-09 | 2006-11-16 | Mortensen Michael P | System and method for analyzing a circuit |
US8799837B2 (en) * | 2008-08-25 | 2014-08-05 | International Business Machines Corporation | Optimizing a netlist circuit representation by leveraging binary decision diagrams to perform rewriting |
US9293450B2 (en) * | 2014-07-22 | 2016-03-22 | Freescale Semiconductor, Inc. | Synthesis of complex cells |
CN116502572B (zh) * | 2023-06-21 | 2023-11-17 | 南京大学 | 基于改进二元决策树的多路选择器优化方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4792909A (en) * | 1986-04-07 | 1988-12-20 | Xerox Corporation | Boolean logic layout generator |
US5461574A (en) * | 1989-03-09 | 1995-10-24 | Fujitsu Limited | Method of expressing a logic circuit |
US5243538B1 (en) * | 1989-08-09 | 1995-11-07 | Hitachi Ltd | Comparison and verification system for logic circuits and method thereof |
JPH04112270A (ja) * | 1990-08-31 | 1992-04-14 | Fujitsu Ltd | 2分決定グラフの簡単化方法 |
US5331568A (en) * | 1991-06-18 | 1994-07-19 | Microelectronics & Computer Technology Corporation | Apparatus and method for determining sequential hardware equivalence |
US5493504A (en) * | 1992-10-28 | 1996-02-20 | Nippon Telegraph And Telephone Corporation | System and method for processing logic function and fault diagnosis using binary tree representation |
US5513122A (en) * | 1994-06-06 | 1996-04-30 | At&T Corp. | Method and apparatus for determining the reachable states in a hybrid model state machine |
US5469367A (en) * | 1994-06-06 | 1995-11-21 | University Technologies International Inc. | Methodology and apparatus for modular partitioning for the machine design of asynchronous circuits |
-
1996
- 1996-04-12 TW TW085104381A patent/TW298687B/zh active
- 1996-04-17 KR KR1019960011529A patent/KR100386511B1/ko not_active IP Right Cessation
- 1996-04-17 US US08/633,486 patent/US5712792A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR960039642A (ko) | 1996-11-25 |
US5712792A (en) | 1998-01-27 |
TW298687B (ko) | 1997-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100386511B1 (ko) | 입력변수간의 계층화된 상관을사용해서 탐색된 2분결정그래프를 사용한 논리회로의 합성방법 | |
US5526276A (en) | Select set-based technology mapping method and apparatus | |
US6023566A (en) | Cluster matching for circuit implementation | |
US5787010A (en) | Enhanced dynamic programming method for technology mapping of combinational logic circuits | |
US7076760B2 (en) | Method and apparatus for specifying encoded sub-networks | |
US8151227B2 (en) | Method and apparatus for pre-tabulating sub-networks | |
US5349659A (en) | Hierarchical ordering of logical elements in the canonical mapping of net lists | |
Sangiovanni-Vincentelli et al. | Synthesis method for field programmable gate arrays | |
US7506278B1 (en) | Method and apparatus for improving multiplexer implementation on integrated circuits | |
US7886252B2 (en) | Same subgraph detector for data flow graph, high-order combiner, same subgraph detecting method for data flow graph, same subgraph detection control program for data flow graph, and readable recording medium | |
US20030145288A1 (en) | Method and apparatus for improving digital circuit design | |
US5991524A (en) | Cluster determination for circuit implementation | |
US20060085779A1 (en) | Representing device layout using tree structure | |
US8667435B1 (en) | Function symmetry-based optimization for physical synthesis of programmable integrated circuits | |
US5587919A (en) | Apparatus and method for logic optimization by redundancy addition and removal | |
US6292915B1 (en) | Method of design for testability and method of test sequence generation | |
US5502648A (en) | Data processing method of generating integrated circuits using prime implicants | |
JPH096821A (ja) | 論理回路の合成方法、半導体装置の製造方法および二分決定グラフの最適化方法 | |
US5917728A (en) | Method for designing path transistor logic circuit | |
Martin et al. | An adaptive sequential decision making flow for FPGAs using machine learning | |
US6848086B2 (en) | Method and apparatus for performing technology mapping | |
US7590960B1 (en) | Placing partitioned circuit designs within iterative implementation flows | |
US7594201B2 (en) | Enhanced method of optimizing multiplex structures and multiplex control structures in RTL code | |
CN113255257B (zh) | 基于工艺库的s盒电路的优化方法及系统 | |
Maruniak et al. | Binary decision diagram optimization method based on multiplexer reduction methods |
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: 20070510 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |