KR100246903B1 - 프로그램가능 논리셀과 그 배열 - Google Patents

프로그램가능 논리셀과 그 배열 Download PDF

Info

Publication number
KR100246903B1
KR100246903B1 KR1019940700757A KR19940700757A KR100246903B1 KR 100246903 B1 KR100246903 B1 KR 100246903B1 KR 1019940700757 A KR1019940700757 A KR 1019940700757A KR 19940700757 A KR19940700757 A KR 19940700757A KR 100246903 B1 KR100246903 B1 KR 100246903B1
Authority
KR
South Korea
Prior art keywords
output
logic
input
gate
cell
Prior art date
Application number
KR1019940700757A
Other languages
English (en)
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 페레고스 조지
Application granted granted Critical
Publication of KR100246903B1 publication Critical patent/KR100246903B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Logic Circuits (AREA)

Abstract

프로그램가능 논리배열에서 사용하기 위한 개선된 프로그램가능 논리셀(1)이 행렬의 이차원 매트릭스로 배열되며 한 셀(1)과 네개의 가장 이웃한 셀들, 하나는 좌측(또는 서쪽)(3a,3b,7a,7b)로 하나는 우측(또는 동쪽)(5a,5b,9a,9b)로 하나는 상측(또는 북쪽)(2a,2b,6a,6b)로 그리고 하나는 하측(또는 남쪽)으로 4개의 가장 이웃한 셀들 사이의 직접적인 연결의 이차원 배열에 의해 상호연결되는 셀들을 사용한다. 각 셀은 가장-이웃한 셀들 각각으로부터의 입력과 버스, 핀 또는 이웃한 셀로부터의 추가입력을 수신하며 4개의 가장 이웃한 셀들로 연결되는 출력에서 다양한 논리적 기능을 발생시키도록 프로그램될 수 있다. 개선된 논리셀(제2도)의 코어는 두개의 상류게이트(21,22)을 포함하는데 그 출력이 두개의 상류게이트(28,41)을 공급하며 그중 하나는 하류의 레지스터(33)을 공급하는 배타적-OR게이트(28)이다. 추가의 프로그램가능 연결과 다른 논리가 셀코어를 증진시키어 여러 논리적 기능을 효과적으로 실시할 수 있도록 구성되는 셀 실시예를 만들도록 한다. 개선된 셀에 의해 실시될 수 있는 기능들 가운데 다수의 2단계 조합기능(멀티플렉싱과 같은)과 순차적 기능(계수 및 이동과 같은)등이 있다. 개선된 셀코어를 기초로한 다수의 셀 실시예가 설명된다.

Description

프로그램가능 논리셀과 그 배열
제1도는 미국특허원 제 07/608,415 호에 따른 셀배열의 한 예시적 부분을 버스는 생략하고 개략적으로 도시한 도면.
제2도는 본 발명에 따른 개선된 논리셀의 기본적 특징을 담고있는 바람직한 셀코어를 설명하는 논리도표.
제3도는 본 발명에 따른 바람직한 셀코어의 선택적 논리실현을 설명하는 논리도표.
제4(a)-4(e)도는 한 예시적 실현을 도시한 것이며 제2도 및 제3도의 구성가능한 상호연결 요소(25)의 다수의 가능한 구성상태를 도시한 도면.
제5도는 제2도의 셀코어가 멀티플렉서 기능을 실시하기 위해 어떻게 구성되는가를 설명하는 논리도표.
제6도는 제2도의 셀코어가 병렬로 적재가능한 이동 레지스터의 1-비트 슬라이스를 실시하기 위해 어떻게 구성되는가를 설명하는 논리도표.
제7도는 제2도의 셀코어가 이진계수기의 1-비트 슬라이스에 대한 논리를 실현하기 위해 어떻게 구성되는가를 설명하는 논리도표.
제8도는 제2도의 셀코어가 클럭가능을 갖는 레지스터에 대한 논리를 실시하기 위해 어떻게 구성되는가를 설명하는 논리도표.
제9(a)-9(d)도는 본 발명 논리셀 실시예 여럭개에서 사용된 디폴트(default) ″1″ 과 디폴트 ″0″ 프로그램가능 패스 게이트 요소에 대한 회로실현과 논리기호를 도시한 도표.
제10(a)-l0(b)도는 본 발명 논리셀 실시예 여러개에서 사용된 디폴트 ″1″ 과 디폴트 ″0″ 프로그램가능 멀티플렉서 요소에 대한 회로실현과 논리기호를 도시한 도표.
제11도는 제1도에서 도시된 바와 같은 배열에서 사용하기 위한 본 발명에 따른 개선된 논리셀의 한 실시예를 도시한 논리도표.
제12도는 제1도에서 도시된 바와 같은 배열에서 사용하기 위한 본 발명에 따른 개선된 논리셀의 또다른 실시예를 도시한 논리도표.
제13도는 제1도에서 도시된 바와 같은 배열에서 사용하기 위한 본 발명에 따른 개선된 논리셀의 다른 한 실시예를 도시한 논리도표.
제14도는 제1도에서 도시된 바와 같은 배열에서 사용하기 위한 본 발명에 따른 개선된 논리셀의 적합한 한 실시예를 도시한 논리도표.
제15(a)-15(yy)도는 제14도에서 도시된 적합한 논리셀 실시예의 설명적 구성상태에 대한 일련의 논리도표.
제16도는 각 셀이 4개의 가장 가까이 이웃한 셀 각각에 하나의 입력과 하나의 출력인 4개의 입력과 4개의 출력을 갖는 한 배열의 예시적 부분을 도시적으로 도시한 도면.
제17도는 제16도에서 도시한 바와 같은 한 배열내에서 사용하기 위한 본 발명에 따른 개선된 논리셀의 한 실시예를 도시한 논리도표.
제18도는 제16도에서 도시한 바와 같이 한 배열내에서 사용하기 위한 본 발명에 따른 개선된 논리셀의 또다른 실시예를 도시한 논리도표.
* 도면의 주요부분에 대한 부호의 설명
1 : 셀(cell) 21,23 : AND게이트
25 : 구성가능-상호연결요소 28 : OR(XOR)게이트
33 : 레지스터(register) 36 : 멀티플렉서
50,51 : MAND게이트 65 : 이동레지스터
70 : 계수기 92a,92b : 멀티플렉서
100 : 셀 202,203 : NAND게이트
206,207 : 패스(pass)게이트
본 발명은 본원 명세서에서 참고로 인용되는 1990년 11월 2일자로 출원된 미국특허원 제 07/608,415 호의 일부계속출원이다. ″프로그램가능 논리셀과 배열″에 대한 미국특허 제 5,019,736 호는 참고로 인용된다. 본 발명은 또한 본원과 동일자로 제출된 ″구성가능한 논리배열″에 대한 발명자 Atluri, Camarota, Chen Furtek, Garverick, Hawley, Moni, Pickett, Popli , Smith, Sutherland 그리고 Ting에 의한 출원에도 관련된 것이다.
본 발명은 디지탈 논리회로에 관한 것이며, 특히 프로그램가능 및 재프로그램가능 논리장치에 관한 것이다.
미국특허원 제 07/608,415 호는 프로그램가능 논리셀의 배열에 관한 것이며, 이때 각 논리셀은 구조적으로 동일하다. 이 배열의 논리셀들은 이차원 매트릭스로 배치되어 각 셀이 가장 이웃한 4개의 셀을 하나는 좌측에(또는 서쪽으로), 하나는 우측에(또는 동쪽으로), 하나는 상측에(또는 북쪽으로), 그리고 하나는 하측에(또는 남쪽으로) 갖는다. 네방향(북,남,동 및 서) 각각에 대해 셀은 두개의 입력과 두개의 출력을 가지며 이들이 동방향으로 가장 가까이 이웃한 두개의 출력과 두개의 입력에 연결된다. 따라서 신호흐름이 양방향 모두로 가능하다.
미국특허원 제 07/608,415 호의 제1도는 셀(2)와 버스네트워크(12)로 구성된 프로그램가능 논리배열(10)에 대한 것이다. 셀(22)는 이차원의 행렬 매트릭스로 배치되며 제1도에는 도시되지 않은 연결에 의해 버스 네트워크(12)에 의해 상호연결된다. 이 셀들은 또한 한 셀과 네개의 가장 가까이 이웃한 셀들(즉, 동,서,남,북쪽으로 바로 인접해 있는 셀들) 사이의 직접적인 연결에 의한 이차원 배열에 의해 상호연결되기도 한다. 반복기(24) 그리고 수직 및 수평버스(25,26,27)로 구성된 버스네트워크(12)는 개별적인 셀(22)들이 논리적인 와이어로서 작용하도록 하지 않으며 동배열내에서 자료를 전달하도록 한다. 이해할 수 있는 바와 같이 버스 구조에 대한 설명은 본 발명과는 무관하기 때문에 하기 설명에서는 삭제된다.
본 발명의 한 목적은 적응성이 크게 개선되고도 그 크기는 그다지 커지지 않은 개선된 논리셀을 제공하는 것이다.
또다른 목적은 미국특허원 제 ′415 호와 유사하지만 개선된 논리셀을 포함하는 한 개선된 배열을 제공하는 것이다.
미국특허원 제 ′415 호의 배열에서는 주어진 셀에 의해 실현된 논리기능에 따라, 사용되지 않은 입력/출력 사이의 ″논리와이어″를 실현하기 위한 그같은 셀의 능력이 제한을 받게된다. 이같은 사실은 일정 셀들이 단지 논리적 와이어 기능을 실시하는 것으로만 필요로하여지기 때문에 미국특허원 제 ′415 호 배열에서 셀의 사용이 비효율적이도록 할수가 있다.
본 발명의 또다른 목적은 한 셀의 사용되지 않는 입력과 출력사이의 논리적 연결들이 차단되지 않는 개선된 셀을 포함하는 개선된 한 배열을 제공하는 것이다.
본 발명은 미국특허원 제 ′415 호의 배열과 같은 한 논리셀 배열에서 사용하기 위한 개선된 논리셀을 제공하는 것이다. 본 발명의 개선된 노리셀의 적합한 실시예는 두 단계의 조합논리와 이들 두단계의 조합논리 하류로 배치된 하나의 레지스터로 이루어진다. 본 발명의 개선된 셀이 VLSI면적의 관점에서 볼 때 미국특허원 제 ′415 호의 배열에서 사용된것 보다 크게 크지는 않지만 그 개선된 디자인은 동배열내의 크게 밀집된 논리의 실현을 가능케 한다. 가령 미국특허 원 제 ′415 호의 논리셀을 사용하여 6개의 셀을 필요로하는 멀티플렉서의 실시는 본 발명에서는 단 하나의 셀만을 필요로한다. 유사한 절약이 적재가능한 이동 레지스터, 계수기등을 포함하는 다른 기능적 블럭에 대해서도 달성된다. 또한 상기 논리배열상에서 실시된 논리의 속도는 주로 동배열내 셀들 사이의 연결과 관련된 지연에 의해 결정되기 때문에 한 단일셀내에서 필요한 논리적 연결들의 훨씬 큰 단편을 실시하는 본 발명의 배열은 미국특허 원 제 ′415 호에서 설명되었던 것들보다 훨씬 높은 수행을 달성할 수 있다.
본 발명은 개선된 논리셀을 포함하는 개선된 배열을 제공하는 것이며, 이때 한 셀의 사용되지 않은 입력과 출력은 동셀내에 배치된 멀티플렉싱 수단을 통해 논리적으로 연결될 수 있다. 가령 각 셀이 4개의 입력과 4개의 출력을 갖는 배열의 경우, 단 하나의 셀이 반 가산기(두개의 입력과 두개의 출력을 사용해서)로서 그리고 두 사용되지 않은 입력과 출력 사이의 연결을 제공하기 위한 한 경로배정 요소로서 사용될 수 있다.
본 발명의 한 특징에 따라 각각이 적어도 첫 번째 및 두 번째 입력을 가지며 하나의 출력을 갖는 첫 번째, 두 번째 및 세 번째 논리게이트로서, 세 번째 논리게이트로의 상기 첫 번째와 두 번째 입력이 첫 번째와 두 번째 논리게이트 각각의 첫 번째 출력으로 연결되는 상기 첫 번째, 두 번째 및 세 번째 논리게이트, 하나의 첫 번째 입력과 첫 번째 및 두 번째 출력을 갖는 구성가능-상호연결 요소(25)로서, 상기 첫 번째 출력이 첫 번째 논리게이트의 첫 번째 입력에 연결되며, 상기 두 번째 출력이 두 번째 논리게이트의 첫 번째 입력에 연결되는 상기 구성가능-상호연결 요소를 포함하며, 상기 구성가능-상호연결 요소가 또한 첫 번째, 두 번째, 세 번째 그리고 네 번째 상태를 발생시키기 위한 수단을 포함하여, 구성가능-상호연결 요소가 첫 번째 상태로 있는때 구성가능-상호연결 요소의 첫 번째 출력값은, 첫 번째 논리게이트의 첫 번째 출력값이 상기 첫 번째 논리게이트 첫 번째 입력 이외의 입력값에 의해 결정되도록 하며, 구성가능-상호연결 요소의 두 번째 출력값은, 두 번째 논리게이트의 첫 번째 출력값이 상기 두 번째 논리게이트 첫 번째 입력 이외의 입력값에 의해 결정되도록 하고, 구성가능-상호연결 요소가 두 번째 상태로 있는때 구성가능-상호연결 요소의 한 출력이 구성가능-상호연결 요소의 첫 번째 출력값과 같고 다른 한 출력은 구성가능-상호연결 요소로의 첫 번째 입력값의 논리 역(inverse)과 같으며, 그리고 구성가능-상호연결 요소가 세 번째 상태로 있는때 구성가능-상호연결 요소의 첫 번째 출력값이 구성가능-상호연결 요소 첫 번째 입력값과 같고, 구성가능-상호연결 요소 두 번째 출력값은 두 번째 논리게이트 첫 번째 출력이 첫 번째 입력 이외의 입력값에 의해 결정되도록 하며, 그리고 구성가능-상호연결 요소가 네 번째 상태로 있는때 구성가능-상호연결 요소의 첫 번째 출력값은, 상기 첫 번째 논리게이트의 첫 번째 출력값이 첫 번째 논리게이트 첫 번째 입력 이외의 입력값에 의해 결정되도록 하고, 구성가능-상호연결 요소 두 번째 출력값은, 상기 두 번째 논리게이트 첫 번째 출력이 일정한 출력을 제공하여 상기 세 번째 논리게이트가 첫 번째 입력으로부터 첫 번째 출력으로의 논리 변환 기능을 수행할 수 있도록 하는 프로그램가능 논리회로가 제공된다.
하기에서는 첨부도면을 참조하여 본 발명을 상세히 설명한다.
제1도는 미국특허원 제 ′415 호에서 설명된 바와 같은 셀(1)배열의 한 예시적 부분내 직접적인 상호연결을 도시한다. 제1도에서는 분명하듯이, 이 셀들은 좌측에(또는 서쪽에)하나, 우측에(또는 동쪽에) 하나, 상측에(또는 북쪽에) 하나 그리고 하측에(또는 남쪽에) 하나인 4개의 가장 이웃한 셀들을 갖는 이차원 매트릭스로 배치된다. 각 셀(1)은 4개의 가장 이웃한 셀들로 직접 연결됨에 있어 동일하다.
그와 같은 이웃한 셀들 각각으로 셀은 두개의 출력을 제공하며, 이들 각각으로부터 셀은 두개의 입력을 받아들인다. 따라서, 각 셀(1)은 8개의 입력(2a,2b,3a,3b,4a,4b,5a,5b)과 8개의 출력(6a,6b,7a,7b,8a,8b,9a,9b)를 갖는다. 셀입력과 출력 두개의 카테고리 ″A″ 와 ″B″ 로 나뉘어지며 이에 의해 각 셀은 4개의 가장 가까이 인접하는 각 셀에 연결된 A 입력, A 출력, B 입력 그리고 B 출력 찾는다. 인접한 셀들 사이에서는 A 입력이 항상 A 출력에 연결되며 B 입력은 항상 B 출력에 연결된다.
제1도에서 도시된 것과 같은 배열에서 사용하기에 적합한 본 발명의 8개 입력, 8개 출력셀에 대한 여러개의 실시예가 제11-14도에서 도시된다. 본 발명은 각기 다른 수의 입력과 출력을 갖는 셀을 사용하여 실시될 수 있기도 하다. 제16도에 도시된 것과 같은 배열에서 사용하기에 적합한 4개의 입력, 4개의 출력셀에 대한 두개의 가능한 실시예가 제17-18도에서 도시된다. 제11-14도와 제17-18도에서 도시된 이들 6개의 실시예 각각은 같은 기본구조 혹은 셀코어를 가지며, 그 바람직한 실시예가 제2도의 논리도표에서 설명된다. 도시된 바와 같이, 이같은 셀코어는 두단계의 논리를 갖는데, 그 첫 번째는 AND게이트(21)(23)으로 도시된 두개의 조합 게이트이고, 그 두 번째는 배타적 OR(XOR)게이트(28)과 AND게이트(41)로 도시된 두개의 조합 게이트이며 첫 번째 단계의 논리로 입력을 제공하는 구성가능한 상호 연결요소(25), XOR게이트(28) 하류의 레지스터(33) 그리고 구성제어(48)을 포함한다.
셀코어는 첫 번째, 두 번째 및 세 번째 논리입력(20,22,24)를 갖는다. 입력(20,22 및 24)는 가장 가까이 이웃해 있는 셀들로부터 한 버스 네트워크(미국특허원 제 ′415 호에서 혹은 앞서 인용된 관련된 출원 ″구성가능한 논리배열″에서와 같은)로부터 몇가지 다른 소스로부터 혹은 이들의 몇가지 조합으로부터 발생될 수 있다.
셀코어내에는 첫 번째 논리입력(20)이 상류의 AND게이트(21)로 들어가며, 두 번째 논리입력(22)가 상류의 AND게이트(23)으로 들어간다. 입력(24)는 첫 번째 출력(26)과 두 번째 출력(27)을 발생시키는 구성가능한-상호연결 요소(25)로 적용된다. 구성가능한-상호연결 요소(25)는 구성제어(48)에 의해 공급된 값에 의해 제어되는 적어도 두개의 구성상태를 갖는다.
구성제어(48)은 셀 또는 배열 어느하나와 관련된 제어-저장 메모리로 제한되지는 않으며 다른 셀들의 구성 제어 조합기능 혹은 전자적으로 가용성이며 전기적, 광학적 또는 자기적으로 프로그램가능한 회로요소를 포함하는 다양한 수단을 통하여 공급될 수 있다. 논리셀의 도면에서는 구성-제어(48) 라인들만이 도시된다.
제4(a)도는 구성가능한-상호연결 요소(25)의 예시적 실현(25a)를 도시한 것이다. 구성가능한-상호연결 요소(25a)는 패스게이트(206)(207) 그리고 NAND게이트(203)(203)을 포함한다. 구성가능-상호연결 요소(25a)는 세개의 입력, 구성-제어입력(208)(209) 그리고 환경입력(210)에 의해 구성된다. 구성-제어입력(208)(209)는 앞서 논의된 구성제어(48)로부터 유도된다. 환경입력(210)은 셀로부터 그리고 이웃하는 셀들로부터 다양한 구성-제어신호의 조합적인 함수로서 유도된다.
환경신호(210)과 구성-제어신호(209)는 NAND게이트(202)에 의해 혼합되어 신호(204)를 발생시키도록 한다. 신호(204)는 패스게이트(206)(207)을 제어한다. 패스게이트(206)(207)의 가능극성이 반대이기 때문에, 이들 패스게이트중 단 하나만이 언제든지 활동성이 있다. 패스게이트(207)이 활동성이 있는때, 구성가능-상호연결 요소 입력(24)가 구성가능-상호연결 요소 출력(26)과 NAND게이트(204)의 출력을 유도한다. 구성-제어입력(208)(209)는 앞서 논의된 구성제어(48)로부터 유도된다. 환경입력(210)은 셀과 이웃하는 셀들로부터 다양한 구성-제어신호의 조합 함수로서 유도된다.
환경신호(210)과 구성-제어신호(209)는 NAND게이트(202)에 의해 결합되어 신호(204)를 발생하도록 한다 신호(204)는 패스게이트(206)(207)을 제어한다. 패스게이트(206)(207)의 가능극성이 반대이기 때문에 이들 패스게이트중 하나만이 언제든지 활동적이다. 패스게이트(207)이 활동적인때 구성가능-상호연결 요소 입력(24)가 구성가능-상호연결 요소 출력(26)과 NAND게이트(203)의 입력을 구동시킨다. 구성가능-상호연결 요소 출력(27)이 NAND게이트(203)에 의해 발생되며, 이는 구성-제어신호(208)에 의해 게이트된다. 패스게이트(206)이 활동적인때, 논리 ″1″이 출력(26)으로 보내지며 NAND게이트(203)을 통해 출력(27)로 게이트된다. 예시적인 구성가능-상호연결 요소(25a)의 4가지 상태가(50a-d)로서 도시된다. 제4(b)도에서 도시된 상태(50a)에서 구성가능-상호연결 요소 입력(24)가 첫 번째 구성가능-상호연결 요소 출력(26)으로 논리적으로 연결되며 논리적으로 인버트되어 두 번째 구성가능-상호연결 요소 출력(27)로 연결된다. 이들 출력은 패스게이트(207)이 활동적인때 제공되며 하이(고)신호가 제어입력을 통해 NAND게이트(203)으로 제공된다. 제4(c)도에서 도시된 상태(50b)에서 구성가능-상호연결 요소(25)는 일정한 논리값(″1″)을 구성가능-상호연결 요소 입력(24)값에 관계없이 두 구성가능-상호연결 요소 출력(26)(27) 모두에게로 제공한다. 이들 출력은 패스게이트(206)이 활동적인때 제공되며 저신호가 제어입력(208)을 통해 NAND게이트(203)으로 제공된다. 제4(d)도에서 도시된 바와 같이 상태(50c)에서 입력(24)는 패스게이트(207)을 활동적으로 만듦으로써 출력(26)으로 연결되며 저신호를 NAND게이트(203)의 제어입력(208)로 공급하므로써 출력(27)에서 ″1″ 신호가 출력(26)에서 제공되며 고신호가 NAND게이트(203)의 제어입력을 통해 제공되는때 ″0″ 신호가 출력에서 제공된다. 구성가능-상호연결 요소(25)를 구성시키기 위한 여러가지 방법이 있으며 이들중 몇가지는 다른 유용한 상태를 갖기도 한다.
다시 제2도를 참조하면, 구성가능-상호연결 요소(25)가 상태(50b)로 구성되는때 그 효과는 상류의 AND게이트(21)(23)이 첫 번째 논리입력(20)과 출력(29) 그리고 두 번째 논리입력(22)와 출력(30) 각각 사이의 통로로서 작용하도록 한다. 제2도에서도, 하류의 배타적-OR(XOR)게이트(28)의 입력(31)(32)는 상류의 AND게이트(21)(23) 각각으로 연결된다. 레지스터(33)은 하류의 XOR게이트(28) 출력(35)에 그 입력(34)가 연결되어 하류에 배치된다. 셀코어는 두 가능한 입력(37)(38) 사이에서 선택할 멀티플렉서(36)을 포함하며, 상기 두 입력중 첫 번째 입력은 레지스터(33)의 Q출력(39)에 연결되고 두 번째 입력은 하류의 XOR게이트(28) 출력으로 연결된다. 셀코어의 첫 번째 논리출력(40)은 멀티플렉서(36)에 의해 이웃하는 셀들 하나의 버스네트워크, 배열 I/0s 혹은 다른 목적지나 이들의 조합을 향하도록 제공된다.
셀코어는 또한 하류의 AND게이트를 포함한다. 하류의 XOR게이트(28)과 같이 하류의 AND게이트(41)은 상류의 AND게이트(21)(23), 출력(20)(30)으로부터 두개의 출력(42)(43)을 유도한다. 하류의 AND게이트(41) 출력(44)는 셀코어의 두 번째 논리출력(45)로 제공되며, 이는 첫 번째 논리 출력(40)과 같이 이웃하는 셀들 버스네트워크, 배열 I/0s 다른 목적지 혹은 이들의 몇가지 조합으로 연결된다.
이같은 셀코어의 디자인은 가능한한 콤팩트하고 단순하도록 간소화되며 그러나 논리적 유연성은 계속 유지하여 다양한 중요기능을 효율적으로 실현할 수 있도록 한다. 기능적으로 유사한 셀들이 이 분야에서 존재하는데, 이같은 셀들은 일반적으로 큰 프로그램가능 AND-OR 배열 요소 혹은 유사한 PLD 장치를 사용하여 셀코어내의 4개 조합게이트(21,23,28,41)에 의해 수행되는 기능을 실현하도록 한다. 이와 같은 프로그램가능 AND-OR 배열요소를 한 셀내에 포함시키므로써 두개의 필요한 단점이 있게된다. 첫째는 셀을 실시하기 위해 필요한 칩면적이 크게 증가한다는 것이다. 따라서 한 칩내에 더욱 적은수의 셀이 수용되도록 한다는 것이다. 두 번째는 프로그램가능 AND-OR 배열요소는 내부노드의 큰 용량 때문에 셀의 성능을 크게 떨어뜨린다. 본 발명의 셀코어는 콤팩트와 속도를 희생시키지 않고 하기에서 설명되는 것처럼 필요한 유연성을 실현시킨다.
제3도는 제2도의 것과 논리적으로 동등한 선택적 셀코어 디자인을 도시한 것이다. 이같은 셀코어와 제2도 셀코어 사이의 차이는 상류의 AND게이트(21)(23)을 NAND게이트(50)(51)로 대체시키고 하류의 AND게이트(41)을 NOR게이트(52)로 대체한 것이다. 이같은 변경은 셀코어의 논리적 기능에는 아무런 영향을 미치지 않는다.
하류의 XOR게이트(28)로의 입력(31)(32)를 통한 신호가 제3도에서 인버트된(제2도의 입력(31)(32)를 통한 신호에 대하여) 사실은 XOR게이트(28)의 출력(35)에는 아무런 영향을 미치지 않는다. 또한 인버팅 ″버블(bubbles)″를 상류 NAND게이트(50)(51), 출력(53)(54)로부터 하류 NOR게이트(52) 입력(55)(56)으로 전파시키므로써, NOR게이트(52)와 AND게이트(41)의 논리값이 분명해진다. 실제에서는 제3도에서 도시된 구조가 실제의 집적회로 실현을 더욱더 닮는다. 그러나 제2도내 셀코어의 논리적 기능이 더욱 직관적이기 때문에 제11-14도와 제11-18도에서 도시된 논리셀 실시예는 제2도 셀코어로부터 유도된다.
제5도는 멀티플렉서(60)으로서 셀코어의 구성을 도시한 것이다.
이같은 기능은 멀티플렉서가 6개의 셀을 필요로하는 미국특허원 제 ′415 호에서 제공된 셀과 비교하여 본 발명 셀코어의 중요한 장점을 제공한다. 제5도에서 도시된 멀티플렉서구성(60)에서 구성가능-상호연결 요소는 상태(50a)에서 구성되며 멀티플렉서(36)은 XOR게이트(28)의 출력(35)를 선택하도록 구성된다. 구성가능-상호연결 요소로의 입력(24)가 논리 ″1″인때 첫 번째 상류 AND게이트(21)로 공급되는 첫 번째 논리입력(20)은 XOR게이트의 출력으로 제공된다. 구성가능-상호연결 요소 입력(24)가 논리 ″0″인때 두 번째 상류 AND게이트(23)의 두 번째 논리입력(22)는 XOR게이트의 출력(35)로 제공된다.
상류의 AND게이트 출력을 결합시키기 위해 멀티플렉서 하류에서 사용된 종래의 조합적 요소는 OR게이트이었다. 본 발명의 셀코어는 그대신에 XOR게이트(28)을 사용한다. OR와 XOR게이트는 두 입력 모두가 논리 ″1″일때를 제외하고는 동일하게 기능하기 때문에 제5도 회로내에 XOR게이트를 사용하는 것이 가능하며 구성가능-상호연결 요소(25)는 요소(25)가 상태(50a)로 있는때 두 입력 모두가 논리 ″1″이 되는 것을 불가능하도록 한다. 이같은 상태로 XOR게이트(28)을 사용하는 장점은 가산기 및 계수기와 같은 많은 중요한 산술회로를 실시하는데 유용하다는 것이다.
제6도는 병렬의-적재가능 이동 레지스터(65)로서 기능하도록 구성된 제2도의 셀코어를 도시한 것이다. 앞선 멀티플렉서 구성(60)에서와 같이, 제6도에서의 구성가능-상호연결 요소(25)는 상태(50a)로 구성되며 그러나 멀티플렉서(36)은 이제입력(37), 레지스터(33)의 Q출력(39)를 선택하도록 구성된다. 따라서 제6도는 레지스터(33)을 포함하는 것을 제외하고는 제5도와 같으며, 제5도의 멀티플렉서는 제6도에서 점선으로 표시된다.
병렬의-적재가능 이동 레지스터 구성동작은 입력(24)에서의 신호를 한 적재신호로 사용하는 앞서 설명된 멀티플렉서 구성(60)의 동작을 기초로 한다. 구성가능-상호연결 요소(25)로 들어가는 입력(24)에서의 신호가 논리 ″1″인때, 멀티플렉서 구성(60)은 병렬자료(20)을 레지스터(33)의 D입력(34)로 공급된다. 입력(24)에서의 신호가 논리 ″0″인때 멀티플렉서 구성(60)은 앞선 슬라이스로부터 레지스터(33)의 D입력(34)초 일렬자료를 공급한다.
제7도는 이진계수기(70)의 1-비트 슬라이스에 대한 논리를 실현하도록 구성된 제2도의 셀코어를 도시한다. 계수기 슬라이스를 실현하기 위해, 구성가능-상호연결 요소(25)는 상태(50b)로 구성되며 상류의 AND게이트(21)(23)이 논리적 와이어로 작용하도록 하고, 멀티플렉서(36)은 레지스터(33)의 Q출력(39)를 선택하도록 구성된다. 이진계수기 기능을 완전히 실현하기 위해, 레지스터(33)의 Q출력(39)는 첫 번째 논리입력(20)으로 되보내져야 한다. 이같은 피이드백 연결은 한 인접한 셀 혹은 제17도 및 제18도에서 도시된 셀 실시예에서 도시된 피이드백 수단(110)과 같은 다른 피이드백 수단을 사용하여 실현된다.
제8도는 클럭가능을 갖는 레지스터(80)을 실현하도록 구성된 제2도의 셀코어를 도시한다. 이같은 레지스터 구성은 레지스터(33)에 대한 적절한 입력(34)를 선택하도록 멀티플렉서 구성(60)을 사용한다. 구성가능한-상호연결 요소(25)는 상태(50a)로 구성되며 멀티플렉서(36)은 레지스터(33)의 Q출력(39)를 선택하도록 구성된다. 이 실시예에서, 입력(24)를 통한 신호가 클럭가능으로 기능한다. 구성가능-상호연결 요소(25)로 입력되는 입력(24)를 통한 클럭-가능 신호가 논리 ″1″ 인때 레지스터(33)은 멀티플렉서 구성(60)을 통해 그 입력(34)에서 새로운 자료(20)을 수신한다. 입력(24)를 통한 클럭 가능신호가 논리 ″0″ 인때 레지스터(33)은 그 현재의 상태(39)로 재적재되며, 한 인접한 셀이나 제17도 및 제18도에서 제공된 바와 같은 내부의 피이드백 수단(110)을 경유하여 상류로 복귀되고, 멀티플렉서 구성(60)에 의해서 레지스터(33)의 입력(34)로 되보내진다.
제9(a)-9(d)도는 본 발명에서 유용한 디폴트 출력을 갖는 프로그램 가능 패스 게이트를 설명한다. 디폴트(default) ″1″ 출력을 갖는 프로그램가능 패스게이트는 제9(a)도에서 회로(70a)와 제9(b)도에서 동등한 논리기호(70b)로 도시된다. 패스게이트(70a)는 단자(71)에서 입력을 수신하며 단자(72)에서 출력을 발생시킨다. 이는 또한 구성 제어로부터 두개의 논리적으로 인버트된 신호(28a)(28b)를 수신한다. 신호(28a)가 고(high)(결과적으로 28b는 저(low)) 인때인 ″패스″ 상태에서, 단자(71)에서의 입력값이 패스게이트(70a)에 의해 단자(72)에서 출력으로 보내진다. 신호(28a)가 저인 ″디폴트″ 상태에서 패스게이트(70a)는 노드(71a)에 연결된 디폴트 ″1″을 출력단자(72)로 공급된다 제9(b)도에서 도시된 논리적 기호(70b)에서 인버트된 구성 제어신호(28a)(28b)는 신호 구성 제어신호(28a)에 의해 대표된다.
유사한 프로그램가능 패스게이트가 제9(c)도의 회로(73a)로 도시된다. 그러나 패스게이트(73a)는 디폴트 ″0″ 출력을 갖는다. 구성신호(28d)가 고(28c를 저)인 때인 ″패스″ 상태에서, 패스게이트(73a)는 단자(74)에서의 입력값을 단자(75)에서의 출력으로 보낸다. 신호(28d)가 저인때인 디폴트 상태에서, 패스게이트(73a)는 노드(74a)에 연결된 디폴트 ″0″을 출력단자(75)로 공급한다. 디폴트 ″0″ 출력(73b)를 갖는 프로그램가능 패스게이트에 대한 논리기호가 제9(b)도에 도시된다. 프로그램가능 패스게이트 논리기호(70b)(70b)가 제11-14도 및 제17-18도에서 논리셀의 도면에서 사용된다.
디폴트 ″1″과 디폴트 ″0″ 출력을 갖는 프로그램가능 패스게이트(70a)(73a)를 갖는 프로그램가능 패스게이트(70a)(73a)를 실시하기 위해 사용된 기본면적은 제10(a)도와 제10(c)도에서 도시된 바와 같이 디폴트 ″1″ 및 디폴트 ″0″ 출력을 갖는 범용(N+l)-입력 멀티플렉서회로(61a)(62a)를 실현하도록 확장될 수 있다. 회로(61a)는 디폴트 ″1″ 출력을 갖는 (N+l)-입력 프로그램가능 멀티플렉서이다. 동등한 논리기호가 제10(b)도에서 (61b)로 도시된다. 멀티플렉서(61a)는 (N+l)(MOS 송신게이트(68a0-N)와 한 체인의 (N+l)PMOS 트랜지스터를 포함한다. 멀티플렉서(61a)는 (N+l) 입력(64a0-N)중 하나를 선택하여 구성제어라인(65a0-N)과 이들의 논리적 인버스(66a0-N)값에 응답하여 적절한 송신게이트(68a0-N)를 개방하므로써 출력(63a)로 연결된다. 만약 모든 구성 제어라인(65a0-N)가 어떤 입력도 선택되지 않도록 ″0″으로 프로그램되면, 멀티플렉서(61a)가 ″디폴트″ 값, 입력(67a)에서 공급된 논리 ″1″을 PMOS 트랜지스터(69a0-N) 체인을 경유해서 출력(63a)로 보내진다.
디폴트 ″0″ 출력(62a)와 동등한 논리기호(62b)를 갖는 프로그램가능 멀티플렉서가 제10(c)도 및 제10(d)도에 도시된다. 멀티플렉서(62a)는 (N+l) CMOS 송신게이트(68a0-N)와 한 체인의 (N+l) NMOS 트랜지스터(68a0-N)로 구성된다. 멀티플렉서(62a)는 (N+l) 입력(64a0-N)중 한 입력을 선택하여 구성 제어라인 (65a0-N)와 이들의 논리적 인버스(66a0-N)값에 응답해서 적절한 송신 게이트(68a0-N)를 개방하므로써 출력(63b)로 연결되도록 한다. 만약 모든 구성 제어라인(65a0-N)가 어떠한 입력도 선택되지 않도록 ″0″으로 프로그램된다면, 멀티플렉서(62a)는 ″디폴트″ 값, 입력(67b)에서 공급된 논리 ″0″을 NMOS트랜지스터(68a0-N)의 체인을 경유하여 출력(63b)로 보낸다. 디폴트 출력 멀티플랙서에 대한 제10(b)도 및 제10(d)도의 동등한 논리기호(61b)(62b)가 제11-14도 및 제17-18도에 도시된 셀 실시예의 논리도표에서 사용된다.
이같은 ″디폴트″ 상태는 구성 가능한 논리셀과 관련하여 특히 가치가 있는데, 이는 한 배열내의 대부분 셀이 디폴트 상태의 그와 같은 멀티플렉서들로 구성되기 때문이다. 도면중(61a) 및 (62a)로 도시된 디폴트 출력 멀티플렉서회로는 이들의 디폴트 출력 멀티플렉서 회로가 같은 제어라인을 사용하여 송신게이트와 트랜지스터 체인 모두를 제어하도록 하기 때문에 유사한 회로보다 칩면적이 작다. 필요한 디폴트 값에 따라 트랜지스터 체인이 한 타입의 트랜지스터(P 또는 N)만을 포함하여 바람직하지 않은 임계 전압강하를 발생시키지 않고 가치있는 칩면적을 절약하는 것이 또다른 장점이다.
제11도 내지 제14도는 제1도에 도시된 바와 같은 배열에서 사용하기 위한 본 발명에 따른 논리셀의 다양한 실시예를 도시한 것이다. 집합적으로 이들 실시예는 제2도에서 설명된 셀 코어내에 존재하는 면적을 사용하는 몇개의 가능한 셀만을 나타낸 것이다.
제11도 내지 제14도에서 도시된 모든 셀 디자인은 배열내 동, 서, 남, 북방향으로 완전히 대칭을 이룬다. 특별히 표시하지 않는한 제10도 내지 제14도에 포함된 모든 구성가능장치 (패스게이트와 멀티플렉서)는 독립적으로 프로그램가능하다. 마지막으로, 버스출력들은 이들이 본 발명과는 무관하기 때문에 제10도 내지 제14도에서는 삭제된다.
제11도에서 도시된 논리셀은 여러가지 방법으로 제2도의 셀코어를 증대시키어 한 배열내에서 사용하기 위한 셀을 실시하도록 한다. 두개의 상류 AND게이트(21)(23)으로의 추가입력(80a-d) 및 (81a-d)는 이웃하는 셀들로부터 4개의 ″A″와 4개의 ″B″ 입력을 수용한다. 4개의 ″A″ 출력과 4개의 ″B″ 출력은 멀티플렉서(36)과 AND게이트(41)로부터 각각 제공된다.
구성가능-상호연결 요소(25)를 형성시키는 두개의 프로그램가능 패스게이트(85a)(85b) 및 인버팅 버블(85c)는 구성가능한-상호연결 요소로부터의 좌-우 출력(26)(27)이 독립적으로 제어될 수 있도록 한다. 하류의 XOR게이트(28) 입력(31)(32)로 공급하는 두 개의 프로그램가능 패스게이트(86a)(87b)와 하류의 AND게이트(41)의 입력(42)(43)으로 공급하는 두개의 프로그램가능 패스게이트(84a)(84b)는 이들 게이트(28)(41) 각각이 입력 패스게이트중 한 게이트가 ″패스″ 상태를 구성되고 다른 한 게이트는 ″디폴트″ 상태로 구성되는 때 논리적 와이어로서 작용하도록 허용한다. 입력(80a-d)(81a-d) 각각과 구성가능-상호연결 요소(25)를 통한 프로그램가능 패스게이트(82a-d)(83a-d)(85a-b)는 두개의 상류 AND게이트(21)(22) 각각이 둘--, 셋-, 넷- 또는 다섯개- 입력 AND 기능 어느하나를 실시할 수 있도록 허용한다. 또한 하류의 AND게이트(41)을 사용하기 위해 ″패스″ 구성내에 패스게이트(84a)(84b)를 구성시키므로써 9개입력(80a-d, 24, 81a-d)까지의 AND 기능이 가능하다. 제11도셀의 장점은 매우 넓은 AND와 멀티플렉서의 최소사용(따라서 면적을 줄인다)을 포함한다.
제12도에 도시된 셀은 제11도의 앞서 설명된 셀의 요소를 상기 인용된 미국특허 제 ′736 호 그리고 미국특허원 제 ′415 호에서 설명된 셀들의 요소들과 결합시킨다. 제12도에서 도시된 셀은 두개의 5-입력 AND게이트(21)(23), 하류의 XOR게이트(28), 레지스터(33) 그리고 제11도의 셀로부터 오는 하류의 AND게이트(41)을 갖는다. 또한 제12도의 셀은 구성가능한 패스 게이트(90a)(90b) 그리고 구성가능-상호연결 요소(25)를 형성시키는 인버팅버블(90c)의 한 배치와 하류의 AND 게이트(41), 출력(44)를 뒤이어 프로그램할 수 있도록 삽입될 수 있는 인버터(91)을 포함한다. 구성가능-상호연결 요소(25)와 관련된 두개의 프로그램가능한 패스게이트(90a)(90b)는 앞서 설명된 것이상의 추가 능력을 제공한다. 구성-상호연결 요소(25)가 상태(50d)에서 구성되는때, 패스게이트(90a)는 ″디폴트″ 상태로 구성되며 패스게이트(90b)는 ″패스″ 상태로 구성되고, 상류의 AND게이트(23) 출력(30)이 논리 ″0″ 으로 강요된다. 논리 ″0″ 이 셀의 ″A″ 및 ″B″ 출력 모두에서 이용될 수 있도록 하며 또한 하류 XOR게이트(28) 입력(31)에서의 이같은 ″0″ 콘스탄트는 XOR게이트(28)을 입력(32)로부터 출력(35)로 논리적 와이어로 변환시키는데 이는 1-비트-슬라이스-퍼(per)-셀 이동 레지스터를 실현하는데 필수적이다.
또한 상류의 AND게이트(23)의 출력(30)은 패스게이트(83a-d)(90b)를 ″디폴트″ 상태로 프로그램하므로써 논리 ″1″로 강제될 수 있다. 이같은 경우 하류의 XOR게이트(28) 입력(32)에서 논리 ″1″은 XOR게이트(28)을 입력(31)로부터 출력(35)로 인버터로 변환시키는데 이는 인버터가 단일셀내에서 레지스터(33)으로의 입력(34)에 선행할 수 있으며 혹은 셀의 ″A″ 출력에 연결될 수 있음을 의미하는 것이다.
제12도의 셀에서 구성가능 출력-선택 멀티플렉서(92a)(92b)가 추가된다. 바람직하게는 멀티플렉서(92a)(92b)가 협력하여 면적과 구성-제어 필요사항을 줄이도록 제어되는 것이 좋다. 하류의 AND게이트(41)이 인버터(91)에 의해 뒤이어지도록 하거나 인버터에 의해 뒤 이어지지 않도록 구성하기 위한 능력이 멀티플렉서(92b)에 의해 제공된다. 이는 융통성을 추가시킨다. 멀티플렉서(92a)(92b)가 ″2″ 상태로 세트되어 이들의 출력으로 ″2″ 입력을 선택하도록 하고 인버터(91)은 신호경로내에 있게되며, XOR 기능은 셀의 ″A″ 측면에 제공되고 NAND 기능은 셀의 ″B″ 측면(45)에서 제공된다. NAND는 그 자체가 유니버설 논리기능을 가지며 XOR와 결합되는때 전 가산기가 4개의 셀만을 사용하여 실시될 수 있도록 한다. 멀티플렉서(92a)(92b)가 상태 ″3″ 으로 구성되어 이들의 출력으로서 ″3″ 입력을 선택하도록 하는때, 셀이 단지 두 개의 셀만을 사용하여 이진계수기의 한 상태를 실현하도록 사용될 수 있다. 제12도에서 설명된 셀의 장점은 AND의 적용이 넓고 NAND 기능의 이용가능성이 있다는 것이다.
제13도에 도시된 셀에서, 앞서 AND게이트(21)(23)과 관련된 8개의 구성가능 패스게이트가 멀티플렉서(94a-b)와 (95a-b)에 의해 대체되며, 각각이 그 출력에서 디폴트 논리 ″1″을 발생시키도록 구성될 수 있다. 이같은 변경이 상류 AND게이트(21)(23)으로의 팬-인(fan-in)수를 줄이며 이에 의해 게이트의 속도를 증가시키도록 한다. 이는 제13.도에서 도시된 셀과 제12도에서 도시된 셀 사이의 차이일 뿐이다. 제13도에서 도시된 셀의 장점은 AND의 적용능력이 적당히 넓으며 상류 AND게이트로의 줄어든 팬-인 수 때문에 제12도에서 셀보다 성능이 훨씬 좋다는 것이다.
본 발명에 따른 논리셀의 바람직한 실시예는 제14도에서 도시된다. 제14도의 셀에서, 멀티플렉서(96a-b)는 상류 AND게이트(21)(23)의 입력으로 제공될 가장 가까이 인접한 한 입력을 선택하도록 각각 프로그램 가능하다. 상기 셀내 멀티플렉서(94a-b)(95a-b)에서와 같이 멀티플렉서(96a-b) 또한 논리 ″1″ 출력을 제공하도록 프로그램될 수 있다. 상류의 AND게이트(21)(23)으로 들어가는 멀티플렉스된 입력의 수가 이와 같이 줄어드는 것이 적합한 실시예 셀과 제13도 셀사이의 유일한 차이이다. 제14도에서 도시된 적합한 실시예 장점은 이같은 디자인으로부터 팬-인 AND게이트(21)(23)을 줄이므로써 높은 성능이 획득가능하다는 것이다.
바람직한 실시예 셀의 51개 구성상태가 제15(a)-l5(yy)도에 도시된다. 제15(a)-l5(yy)도에 도시된 상태세트는 입력 멀티 플렉서(96a)(96b)의 각 가능한 구성에 대한 분리된 상태를 포함하지 않으며, 버스상태를 포함하지도 않는다. 제15(a)-l5(yy)도에서 입증된 바와 같이, 제2도의 셀코어를 기초로한 제14도의 디자인은 다양한 유용한 논리적 기능을 실현하며 , 이들중 단지 몇개만이 상세히 도시되었다.
제11-14도에서 이제까지 설명된 모든 셀 실시예는 셀이 이웃하는 셀로부터의 8개의 입력과 이웃하는 셀의 8개출력을 갖는다는 사실에도 불구하고 셀을 통해 기껏해야 2개의 네트가 경로 배정될 수 있는 특성을 갖는다. 따라서, 두개의 네트가 한 셀을 통해 경로배정되는 때, 사용되지 않은 셀 입력과 출력 사이의 모든 가능한 연결이 차단된다. 또한 이들 입력과
출력들은 ″A″ 와 ″B″ 클래스로 나뉘어지며, 어떤 경우에는 단지 ″A″로부터 ″B″로 혹은 ″B″로부터 ″A″로의 신호를 변경시키기 위해 한 셀을 사용하는 것이 필요하다. 이는 각기 다른 칼라가 보통 ″A″ 와 ″B″ 신호에 관련하기 때문에 ″칼라 클래쉬″라 불린다.
선택적 논리배열이 제16도에 도시된다. 제16도는 본 발명에 따라 형성된 셀(100) 배열의 예시적 부분내 직접적인 상호연결을 도시한다. 제1도의 배열과 같이 셀은 각 셀(100)이 좌측(또는 서쪽)에 하나, 우측(또는 동쪽)에 하나, 상측(또는 북쪽)에 하나, 그리고 하측(또는 남쪽)에 하나, 즉 4개의 가장 이웃한 셀들을 갖는 이차원 매트릭스로 배치된다. 제1도와는 달리 각 셀(100)은 4개의 입력(101a,101b,101c 및 101d)과 4개의 출력(102a,102b,102c 및 102d)를 갖는다. 제1도의 배열과 같이, 각 셀(100)은 4개의 가장 가까이 이웃한 셀들로의 직접적인 연결들이 동일하다. 그러나 이같은 각 이웃들로 셀(100)은 하나의 출력만을 제공하며, 각 이웃으로부터 셀(100)은 하나의 입력만을 수신한다. 단지 한 타입의 입력과 출력(″A″ 들과 ″B″들로는 존재하지 않는다)만이 있기 때문에, 칼라 클래쉬는 완전히 제거된다.
미국특허원 제 ′415 호 배열의 경우에는 이같은 배열이 하나의 추가 버스구조를 포함할 수 있는데 이는 본 발명과는 관련이 없기 때문에 도시되지 않는다.
제17도는 제16도에서 도시된 바와 같은 한 배열에서 사용하기 위한 본 발명에 따른 논리셀의 한 실시예를 도시한 블록도표이다. 이같은 셀의 기본적인 디자인은 제14도의 디자인으로부터 유도된다. 이에는 4개의 중요한 차이가 있다. 첫 번째는 두 입력 멀티플렉스(103a)(103b)가 같은 입력을 수신한다. 이 경우에는 가장 가까이 이웃하는 셀들의 출력으로부터 수신된 입력(101a-d) 들이 있을뿐이다. 제11-14도에서의 셀들에 있어서는 구성가능-상호연결 요소로의 입력(24)가 한 버스 네트워크, 가장 가까이 인접한 셀, 몇개의 다른 소스 또는 이들의 조합으로부터 발생될 수 있다. 두 번째는 제14도의 셀내에서 일렬이 되도록 조정된 4개-입력 출력-선택 멀티플렉서(92a)(92b)가 역시 두 개의 출력기능 F0와 Fl을 발생시키도록 일렬이 되도록 조정된 두개-입력 출력-선택 멀티플렉서(104a)(104b)에 의해 대체된다. 제14도 셀로부터의 멀티플렉서 상태 ″0″과 ″1″은 현재의 셀로부터 제거된다. 세 번째는 레지스터(33)의 Q출력(39)가 내부 피이드백 수단(110)을 경유하여 입력선택 멀티플렉서(103a)의 입력으로 되보내진다. 이같은 특징은 제7도에서 도시된 이진 계수기의 1-비트 슬라이스 또는 제8도에서 도시된 클럭-가능 기능을 갖는 레지스터가 한 단일셀내에서 완전하게 실시될 수 있도록 한다. 네 번째, 그리고 마지막으로는 4개의 셀출력(102a-d)가 분리된 5-입력 출력-선택 멀티플렉서(106a,106b,106c 및 106d)에 의해 각각 결정된다. 출력-선택 멀티플렉서 각각은 논리적 출력기능 F0혹은 Fl어느 하나를 선택할 수 있으며 혹은 선택적으로 출력이 송신되지 않는 측면을 제외한 세측면으로부터의 입력중 한 입력을 선택할 수 있다. U-턴 경로배정은 피이드백 수단(110)에 의해 본원 실시예의 경우 셀내부에 제공되는 인접한 셀에 대한 피이드백 경로를 실현하기 위해 유용할뿐이다. 제17도에서의 셀의 장점은 U-턴을 제외하고는 어떠한 칼라 클래쉬(color clash)나 어떠한 차단도 포함하지 않는다는 것이다.
제18도는 제16도에서 도시된 배열에서 사용하기 위한 본 발명에 따른 선택적 셀와 논리도표이다. 제18도 셀과 제17도의 이전셀 사이의 유일한 차이는 출력선택 멀티플렉서(107a,107b,107c 및 107d)에서의 추가적 인 융통성이다. 제18도의 셀에서는 이들 출력-선택 멀티플렉서(107a-d)가 각각 4개의 가능한 출력 기능 F0, Fl, F2및 F3중 어느것이라도 선택할 수 있도록 독립적으로 구성되며, 이들중 두개만이 제17도 셀내에 선택될 수 있다. 또한 제18도 셀의 출력선택 멀티플렉서(107a-d)는 독립적으로 조정되어 추가의 유용성을 제공한다. 제18도에서 도시된 셀의 장점은 어떠한 칼라 플래쉬도 어떠한 차단(U-턴은 제외)도 포함하지 않으며, 그리고 최대의 융통성을 갖는다는 것이다.
본 발명의 앞선 설명으로부터, 여러변경, 수정등이 용이하게 생각될 수 있다. 제11-14도 및 제17-18도는 본 발명에 따른 개선된 논리셀의 여러 실시예를 도시한 것이다. 많은 기능적으로 유사한 실시예가 가능하다. 이들로는 셀코어의 네가티브-논리 등가물을 기초로한 논리셀의 실현, 본원 명세서에서 공개되는 것과 같은 셀이 육각과 같은 다른 기하학적 패턴으로 배치되는 혹은 삼차원 배열과 같은 다른 와이어링 패턴에 의해 상호연결되는 배열의 실현들을 포함한다.
완전한 셀 디자인을 만들기 위해 셀코어의 논리를 증가시킴에 있어, 다양한 디자인 선택이 가능하며, 이들중 몇가지가 제11-14도와 제17-18도에서 도시된 셀디자인에 의해 설명된다. 그러나 본원 명세서에서 공개된 셀코어를 기초로한 모든 그와 같은 셀 디자인은 다양한 디자인 선택의 특징에 관계없이 본 발명의 사상내에 속하는 것이다. 특히 디자인 선택의 가치가 있는 고려로서는 셀코어 요소들 사이의 연결을 실시하기 위해 하나의 프로그램가능 입력신호를 갖는 XOR게이트를 사용함을 포함하며 이에 의해서 XOR게이트는 그 프로그램가능 입력을 선택함에 따라 논리적 와이어 또는 인버터 어느 하나를 실시하도록 프로그램될 수 있다. 또한 다양한 멀티플렉서의 독립된 조정과 종속적인 조정을 사용하여 융통성과 크기/전력소모 사이의 디자인 교환을 도모한다. 셀내에 몇가지의 능력을 포함시켜서 이웃한 셀의 구성 및/또는 버스 네트워크의 구성을 기초로한 몇가지 구성을 셀이 자동적으로 결정하는 것이 가능하기도 할것이다. 다른 가능한 디자인 선택으로서는 제12-14도에서 두 출력-선택 멀티플렉서 각각으로의 입력 가운데 어느 멀티플렉서로든 들어가는 모든 출력을 포함시키어 두 출력-선택 멀티플렉서 모두가 ″칼라 클래쉬″ 문제를 효과적으로 제거하는 같은 세트의 입력을 포함하도록 함이 유용하다. 이들 여러 다른 디자인 선택은 본 발명 셀코어를 기초로한 방대한 각기 다른 셀 디자인의 집합을 발생시킨다.

Claims (36)

  1. 각각이 적어도 첫 번째 및 두 번째 입력을 가지며 하나의 출력을 갖는 첫 번째, 두 번째 및 세 번째 논리게이트로서, 세 번째 논리게이트로의 상기 첫 번째와 두 번째 입력이 첫 번째와 두 번째 논리게이트 각각의 첫 번째 출력으로 연결되는 상기 첫 번째, 두 번째 및 세 번째 논리게이트, 하나의 첫 번째 입력과 첫 번째 및 두 번째 출력을 갖는 구성가능-상호연결 요소(25)로서, 상기 첫 번째 출력이 첫 번째 논리게이트의 첫 번째 입력에 연결되며 상기 두 번째 출력이 두 번째 논리게이트의 첫 번째 입력에 연결되는 상기 구성가능-상호연결 요소를 포함하며, 상기 구성가능-상호연결 요소가 또한 첫 번째, 두 번째, 세 번째 그리고 네 번째 상태를 발생시키기 위한 수단을 포함하여, 구성가능-상호연결 요소가 첫 번째 상태로 있는때 구성가능-상호연결 요소의 첫 번째 출력값은, 첫 번째 논리게이트의 첫 번째 출력값이 상기 첫 번째 논리게이트 첫 번째 입력 이외의 입력값에 의해 결정되도록 하며, 구성가능-상호연결 요소의 두 번째 출력값은, 두 번째 논리게이트의 첫 번째 출력값이 상기 두 번째 논리게이트 첫 번째 입력 이외의 입력값에 의해 결정되도록 하고, 구성가능-상호연결 요소가 두 번째 상태로 있는때 구성가능-상호연결 요소의 한 출력이 구성가능-상호연결 요소의 첫 번째 출력값과 같고 다른 한 출력은 구성가능-상호연결 요소로의 첫 번째 입력값의 논리 역(inverse)과 같으며, 그리고 구성가능-상호연결 요소가 세 번째 상태로 있는때 구성가능-상호연결 요소의 첫 번째 출력값이 구성가능-상호연결 요소 첫 번째 입력값과 같고, 구성가능-상호연결 요소 두 번째 출력값은 두 번째 논리게이트 첫 번째 출력이 첫 번째 입력 이외의 입력값에 의해 결정되도록 하며, 그리고 구성가능-상호연결 요소가 네 번째 상태로 있는때 구성가능-상호연결 요소의 첫 번째 출력값은, 상기 첫 번째 논리게이트의 첫 번째 출력값이 첫 번째 논리게이트 첫 번째 입력 이외의 입력값에 의해 결정되도록 하고, 구성가능-상호연결 요소 두 번째 출력값은, 상기 두 번째 논리게이트 첫 번째 출력이 일정한 출력을 제공하여 상기 세 번째 논리게이트가 첫 번째 입력으로부터 첫 번째 출력으로의 논리 변환 기능을 수행할 수 있도록 함을 특징으로 하는 프로그램가능 논리회로.
  2. 제1항에 있어서, 자료(데이타) 입력 및 자료 출력을 갖는 레지스터를 더욱더 포함하며, 상기 자료 입력이 상기 세 번째 논리게이트 첫 번째 출력으로 연결됨을 특징으로 하는 프로그램가능 논리회로.
  3. 제1항에 있어서, 구성가능-상호연결 요소가 두 번째 상태로 있는때, 상기 논리회로가 구성가능-상호연결 요소로의 첫 번째 입력값에 따라 첫 번째 또는 두 번째 게이트 어느 하나의 두 번째 입력을 세 번째 게이트의 첫 번째 출력으로 연결시키기 위한 멀티플렉서를 실시할 수 있음을 특징으로 하는 프로그램가능 논리회로.
  4. 제1항에 있어서, 구성가능-상호연결 요소의 상태를 제어하기 위한 구성 제어수단을 더욱더 포함함을 특징으로 하는 프로그램가능 논리회로.
  5. 각각이 적어도 첫 번째와 두 번째 입력 그리고 적어도 하나의 첫 번째 출력을 갖는 첫 번째, 두 번째 그리고 세 번째 논리게이트로서, 세 번째 논리게이트로의 첫 번째와 두 번째 입력이 첫 번째와 두 번째 논리게이트 각각의 첫 번째 출력에 연결되는 상기 첫 번째, 두 번째 그리고 세 번째 논리게이트, 첫 번째 입력과 첫 번째 및 두 번째 출력을 가지며, 상기 첫 번째 출력이 첫 번째 논리게이트의 첫 번째 입력에 연결되고 상기 두 번째 출력이 두 번째 논리게이트의 첫 번째 입력에 연결되는 구성 가능-상호연결 요소, 그리고 자료입력이 세 번째 논리게이트의 첫 번째 출력으로 연결되는 자료입력과 자료출력을 갖는 레지스터를 포함하는 프로그램가능 논리회로.
  6. 제5항에 있어서, 상기 세 번째 논리게이트가 배타적-OR게이트임을 특징으로 하는 논리회로.
  7. 제6항에 있어서, 배타적-OR 게이트로의 입력에서 논리 ″1″ 값을 고집하기 위한 수단을 더욱더 포함함을 특징으로 하는 논리회로.
  8. 제7항에 있어서, 배타적-OR 게이트로의 입력에서 논리 ″0″값을 고집하기 위한 수단을 더욱더 포함함을 특징으로 하는 논리회로.
  9. 제8항에 있어서, 논리회로가 병렬-적재가능 이동 레지스터의 1-비트 슬라이스를 실시할 수 있음을 특징으로 하는 논리회로.
  10. 제5항에 있어서, 적어도 첫 번째와 두 번째 입력 그리고 하나의 첫 번째 출력을 갖는 네 번째 논리게이트를 포함하고, 상기 첫 번째와 두 번째 입력이 첫 번째와 두 번째 논리게이트 각각의 첫 번째 출력에 연결됨을 특징으로 하는 논리회로.
  11. 제10항에 있어서, 논리회로가 이진 계수기를 위한 1-비트 슬라이스의 논리를 실시할 수 있음을 특징으로 하는 논리회로.
  12. 제10항에 있어서, 레지스터의 자료출력을 첫 번째 혹은 두 번째 논리게이트 어느 하나의 입력으로 연결시키기 위한 피이드백 수단을 더욱더 포함함을 특징으로 하는 논리회로.
  13. 제12항에 있어서, 논리회로가 클럭기능의 레지스터를 실시할 수 있음을 특징으로 하는 논리회로.
  14. 제10항에 있어서, 입력과 출력을 갖는 인버트를 더욱더 포함하며, 상기 입력이 네 번째 논리게이트의 첫 번째 출력에 연결됨을 특징으로 하는 논리회로.
  15. 제10항에 있어서, 첫 번째, 두 번째 그리고 네 번째 논리게이트가 AND게이트임을 특징으로 하는 논리회로.
  16. 제10항에 있어서, 첫 번째와 두 번째 논리게이트가 NAND게이트이고 네 번째 논리게이트가 NOR게이트임을 특징으로 하는 논리회로.
  17. 첫 번째, 두 번째 그리고 세 번째 셀 입력, 적어도 하나의 첫 번째 셀 출력, 각각이 적어도 첫 번째와 두 번째 입력 그리고 적어도 하나의 첫 번째 출력을 가지며, 세 번째 논리게이트로의 상기 첫 번째와 두 번째 입력이 첫 번째와 두 번째 논리게이트 각각의 첫 번째 출력으로 연결되는 첫 번째, 두 번째 그리고 세 번째 논리게이트, 첫 번째 입력 그리고 첫 번째와 두 번째 출력을 갖는 구성가능-상호연결 요소로서, 상기 첫 번째 출력이 첫 번째 논리게이트의 첫 번째 입력으로 연결되고 상기 두 번째 출력이 두 번째 논리게이트의 첫 번째 입력으로 연결되는 상기 구성 가능-상호연결 요소, 첫 번째 셀 입력을 첫 번째 논리게이트 첫 번째 입력으로 연결시키기 위한 수단, 두 번째 셀 입력을 두 번째 논리게이트 첫 번째 입력으로 연결시키기 위한 수단, 세 번째 셀 입력을 구성가능-상호연결 요소의 첫 번째 입력으로 연결시키기 위한 수단, 그리고 세 번째 논리게이트의 출력을 첫 번째 셀출력으로 연결시키기 위한 수단을 포함하는 프로그램가능 논리셀 배열에서 사용하기 위한 프로그램가능 논리 셀.
  18. 프로그램가능 논리배열내에서, 상기 배열이 K 구성 제어신호와 이들의 논리 역을 공급하기 위한 수단을 포함하고, 프로그램가능 디폴트-출력 멀티플렉서가 구성 제어신호에 응답하여 K 입력단자중 하나 또는 한 디폴트 값을 출력단자에 연결시키도록 하며, 상기 멀티플렉서가: K 패스(pass) 게이트로서, K 구성 제어신호의 한값과 그 논리역에 의해 활성화되는때 출력단자로 K 입력단자중 하나를 연결시킬 수 있으며, 각 패스 게이트가 드레인, 소스 및 게이트 단자를 포함하는 N-타입 MOS 트랜지스터를 포함하고, 이때 드레인 단자가 K 입력단자중 한단자에 연결되며, 소스단자는 출력단자에 연결되고, 그리고 게이트 단자는 K 구성 제어신호의 하나로 연결되고, 그리고 드레인, 소스 그리고 게이트 단자를 포함하는 P-타입 MOS 트랜지스터를 포함하며 이때 소스단자는 K 입력 단자중 하나에 연결되고, 드레인 단자는 상기 출력단자에 연결되고 그리고 게이트 단자는 구성 제어신호의 논리역(logical inverse)으로 연결되는 상기 K 패스 게이트, 그리고 K 패스 게이트중 어느 것도 활성화되지 않은때 출력단자로 디폴트 값을 공급하기 위한 한 체인(chain)의 K MOS 트랜지스터로서, 상기 체인내 K MOS트랜지스터 각각이 드레인, 소스 및 게이트 단자를 포함하고, 이 체인이 동체인내 각 MOS 트랜지스터의 소스단자를 동체인내 다즘 MOS 트랜지스터의 드레인 단자로 연결시키므로써 형성되며, 상기 체인의 한 끝에 있는 소스/드레인 단자중 하나가 한 디폴트 값을 공급하기 위한 수단으로 연결되며 그리고 체인의 다른 한 끝에 있는 소스/드레인 단자가 멀티플렉서의 출력단자에 연결되고, 그리고 동 체인내 각 MOS 트랜지스터 게이트 전압이 K 구성 제어신호중 다른 하나에 의해 결정되며 이때의 신호가 K 패스 게이트를 제어하고 이에 의해 상기 체인내 모든 MOS 트랜지스터가 모든 K 패스 게이트가 활성화되지 않는때에만 전도되는 K MOS 트랜지스터 체인을 포함하는 멀티플렉서.
  19. 제18항에 있어서, 상기 체인내의 MOS 트랜지스터가 N-타입 MOS 트랜지스터이고, 동체인내 각 N-타입 MOS 트랜지스터 게이트 단자가 K 구성 제어신호중 각기 다른 한 신호의 논리역에 연결되며, 한 디폴트 값을 공급하기 위한 수단이 저(low)값을 공급함을 특징으로 하는 멀티플렉서.
  20. 제18항에 있어서, 상기 체인내 MOS 트랜지스터가 P-타입 MOS 트랜지스터이고 동체인내 각 P-타입 MOS 트랜지스터의 게이트 단자가 K 구성 제어신호중 각기 다른 한 신호에 연결되며, 한 디폴트 값을 공급하기 위한 수단이 고(high)값을 공급함을 특징으로 하는 멀티 플렉서.
  21. 한 구성 제어를 공급하기 위한 수단, 첫 번째, 두 번째 그리고 세 번째 셀 입력, 셀 출력, 각각이 첫 번째와 두 번째 입력을 갖는 첫 번째와 두 번째 논리게이트, 적어도 두개의 입력을 갖는 세 번째 논리게이트, 상기 첫 번째 셀 입력을 첫 번째 논리게이트 첫 번째 입력에 연결시키기 위한 수단, 상기 두 번째 셀 입력을 상기 두 번째 논리게이트의 첫 번째 입력으로 연결시키기 위한 수단, 구성 제어에 응답하여 상기 세 번째 셀입력의 반전 입력 혹은 일정한 논리값을 상기 첫 번째 논리게이트의 두 번째 입력으로 연결시키기 위한 수단, 구성 제어에 응답하여 상기 세 번째 셀 입력 혹은 일정한 논리값을 상기 두 번째 논리게이트의 두 번째 입력으로 연결시키기 위한 수단, 상기 첫 번째 논리게이트의 출력을 상기 세 번째 논리게이트의 입력으로 연결시키기 위한 수단, 상기 두 번째 논리게이트 출력을 상기 세 번째 논리게이트의 입력으로 연결시키기 위한 수단, 그리고 상기 세 번째 논리게이트의 출력을 상기 셀 출력으로 연결시키기 위한 수단을 포함하는 프로그램가능 논리배열내에서 사용하기 위한 프로그램가능 논리셀.
  22. 제21항에 있어서, 상기 상기 첫 번째와 두 번째 논리게이트가 AND 또는 NAND게이트이며 상기 세 번째 논리게이트가 XOR 또는 XNOR게이트임을 특징으로 하는 프로그램가능 논리셀.
  23. 제21항에 있어서, 상기 논리셀이 멀티플렉서를 실현하도록 구성됨을 특징으로 하는 논리셀.
  24. 제21항에 있어서, 자료입력과 자료출력을 갖는 레지스터, 상기 세 번째 논리게이트 출력을 상기 레지스터의 자료입력으로 연결시키기 위한 수단, 그리고 상기 레지스터의 자료출력을 셀출력으로 연결시키기 위한 수단을 더욱더 포함함을 특징으로 하는 논리셀.
  25. 제24항에 있어서, 논리셀이 병렬-적재가능 이동 레지스터를 실시하도록 구성될 수 있음을 특징으로 하는 논리셀.
  26. 제24항에 있어서, 상기 논리셀이 클럭 가능한 한 레지스터를 위한 논리를 실현하도록 구성될 수 있음을 특징으로 하는 논리셀.
  27. 제24항에 있어서, 적어도 두개의 입력을 갖는 네 번째 논리게이트, 상기 네 번째 논리게이트 입력으로 상기 첫 번째 논리게이트 출력을 연결시키기 위한 수단, 상기 네 번째 논리게이트 입력으로 상기 두 번째 논리게이트 출력을 연결시키기 위한 수단, 그리고 상기 네 번째 논리게이트 출력을 두 번째 셀출력으로 연결시키기 위한 수단을 더욱더 포함함을 특징으로 하는 논리셀.
  28. 제27항에 있어서, 상기 네 번째 논리게이트가 AND게이트이거나 NAND게이트임을 특징으로 하는 논리셀.
  29. 제27항에 있어서, 상기 논리셀이 이진계수기의 1-비트 슬라이스를 위한 논리를 실현하도록 구성될 수 있음을 특징으로 하는 논리셀.
  30. 배열 가장자리에 있는 것들을 제외한 각 셀이 하나는 좌측(또는 서쪽)에, 하나는 우측(또는 동쪽)에, 하나는 상측(또는 북쪽)에 그리고 하나는 하측(또는 남쪽)에, 4개의 가장 이웃해 있는 셀들을 가져서 상기 논리셀이 행렬로 정렬된 한 배열을 형성하도록 하는 다수의 논리셀을 포함하며, 각 셀이, 한 구성제어를 공급하기 위한 수단, 가장 가까이 이웃해 있는 셀들 각각으로부터 하나씩 수신되는 4개의 ″A″ 입력, 가장 가까이 이웃해 있는 셀들 각각으로부터 하나씩 수신되는 4개의 ″B″ 입력, 각각이 적어도 첫 번째와 두 번째 입력 그리고 적어도 첫 번째 출력을 갖는 첫 번째, 두 번째 그리고 세 번째 논리게이트로서 세 번째 논리게이트로의 상기 첫 번째와 두 번째 입력이 첫 번째와 두 번째 논리게이트 출력 각각으로 연결되는 첫 번째, 두 번째 그리고 세 번째 논리게이트, 첫 번째 입력과 첫 번째 및 두 번째 출력을 갖는 구성가능-상호연결 요소로서 상기 첫 번째 출력이 첫 번째 논리게이트의 첫 번째 입력에 연결되고 상기 두 번째 출력이 두 번째 논리게이트의 첫 번째 입력에 연결되는 상기 구성가능-상호연결 요소, 구성 제어 수단에 응답하여 ″A″ 입력의 하나를 첫 번째 논리게이트의 두 번째 입력에 연결시키기 위한 수단, 구성 제어수단에 응답하여 ″B″ 입력의 하나를 두 번째 논리게이트의 두 번째 입력에 연결시키기 위한 수단, 그리고 구성 제어수단에 응답하여 세 번째 논리게이트의 출력을 4개의 가장 이웃해 있는 셀들의 ″A″ 입력과 ″B″ 입력으로 연결시키기 위한 수단을 포함함을 특징으로 하는 프로그램가능 논리배열.
  31. 제30항에 있어서, 각 셀의 구성가능-상호연결 요소가 첫 번째와 두 번째 상태를 발생시키기 위한 수단을 더욱더 포함하여, 상기 구성상기 가능-상호연결 요소가 첫 번째 상태로 있는때, 구성가능-상호연결 요소의 첫 번째 출력값은 첫 번째 논리게이트의 첫 번째 출력값이 첫 번째 논리게이트로의 첫 번째 입력이 아닌 입력값에 의해 결정되도록 하며, 상기 구성가능-상호연결 요소의 두 번째 출력값은 두 번째 논리게이트의 첫 번째 출력값이 두 번째 논리게이트로의 첫 번째 입력이 아닌 입력값에 의해 결정되도록 하고, 구성가능-상호연결 요소가 두 번째 상태로 있는때 구성가능-상호연결 요소의 한 출력이 구성가능-상호연결 요소의 첫 번째 출력값과 같고 다른 한 출력은 구성가능-상호연결 요소로의 첫 번째 입력값의 논리 역(inverse)과 같음을 특징으로 하는 프로그램가능 논리배열.
  32. 제31항에 있어서, 각 셀의 구성가능-상호연결요소가 세 번째와 네 번째 상태를 발생시키기 위한 수단을 더욱더 포함하여, 상기 구성가능-상호연결 요소가 세 번째 상태로 있는때 구성가능-상호연결 요소의 첫 번째 출력값이 구성가능-상호연결 요소의 첫 번째 입력값과 같으며 구성가능-상호연결 요소의 두 번째 출력값은 두 번째 논리게이트의 첫 번째 출력이 두 번째 논리게이트로의 첫 번째 입력이 아닌 입력값에 의해 결정되도록 하고, 구성가능-상호연결 요소가 네 번째 상태로 있는때 구성가능-상호연결 요소의 첫 번째 출력값은 첫 번째 논리게이트의 첫 번째 출력값이 첫 번째 논리게이트로의 첫 번째 입력이 아닌 입력값에 의해 결정되도록 하며 구성가능-상호연결 요소의 두 번째 출력값은 두 번째 논리게이트의 첫 번째 출력이 일정한 출력값을 제공하도록 하여, 세 번째 논리게이트가 첫 번째 입력으로부터 첫 번째 출력으로 한 논리반전기능을 수행하도록 함을 특징으로 하는 프로그램가능 논리배열.
  33. 제31항에 있어서, 각 셀이 적어도 첫 번째와 두 번째 입력 그리고 적어도 하나의 첫 번째 출력을 갖는 네 번째 논리게이트를 더욱더 포함하며, 상기 첫 번째와 두 번째 입력이 첫 번째와 두 번째 논리게이트 각각의 첫 번째 출력에 연결되며, 세 번째 논리게이트 출력은 4개의 가장 이웃한 셀들의 ″A″ 입력으로 제공될 수 있으며 네 번째 논리게이트의 출력은 가장 이웃한 셀들의 ″B″ 입력으로 제공될 수 있음을 특징으로 하는 프로그램가능 논리배열.
  34. 배열 가장자리에 있는 것들을 제외한 각 셀이 하나는 좌측(또는 서쪽)에 하나는 우측(또는 동쪽)에, 하나는 상측(또는 북쪽)에 그리고 하나는 하측(또는 남쪽)에, 4개의 가장 이웃해 있는 셀들을 가져서 상기 논리셀이 행렬로 정렬된 한.배열을 형성하도록 하는 다수의 논리셀을 포함하며, 각 셀이, 구성제어를 공급하기 위한 수단, 가장 가까이 이웃해 있는 셀들 각각으로부터 하나씩 수신되는 4개의 입력, 각각이 적어도 첫 번째와 두 번째 입력 그리고 적어도 첫 번째 출력을 갖는 첫 번째, 두 번째 그리고 세 번째 논리게이트로서, 세 번째 논리게이트로의 상기 첫 번째와 두 번째 입력이 첫 번째와 두 번째 논리게이트 첫 번째 출력 각각으로 연결되는 첫 번째, 두 번째 그리고 세 번째 논리게이트, 첫 번째 입력과 첫 번째 및 두 번째 출력을 갖는 구성가능-상호연결 요소로서, 상기 첫 번째 출력이 첫 번째 논리게이트의 첫 번째 입력에 연결되고 상기 두 번째 출력이 두 번째 논리게이트의 첫 번째 입력에 연결되는 구성 가능-상호연결 요소, 구성 제어 수단에 응답하여 4개의 가장 이웃한 입력의 하나를 첫 번째 논리게이트의 두 번째 입력에 연결시키기 위한 수단; 구성 제어수단에 응답하여 4개의 가장 이웃한 입력의 하나를 두 번째 논리게이트의 두 번째 입력에 연결시키기 위한 수단, 동,서 및 남쪽 가장-이웃한 셀로부터의 입력과 세 번째 논리게이트의 출력을 포함하여 다수의 북쪽 출력 후보중 하나를 북쪽으로 가장-이웃한 셀의 입력으로 연결시키기 위한 북쪽 출력-선택 수단, 동,서 및 북쪽 가장-이웃한 셀로부터의 입력과 세 번째 논리게이트의 출력을 포함하여 다수의 남쪽 출력 후보중 하나를 남쪽으로 가장-이웃한 셀의 입력으로 연결시키기 위한 남쪽출력-선택수단; 서,남 및 북쪽 가장-이웃한 셀로부터의 입력과 세 번째 논리게이트의 출력을 포함하여 다수의 동쪽출력 후보중 하나를 동쪽으로 가장-이웃한 셀의 입력으로 연결시키기 위한 동쪽출력-선택 수단; 그리고 동,남 및 북쪽 가장-이웃한 셀로부터의 입력과 세 번째 논리게이트의 출력을 포함하여 다수의 서쪽 출력 후보중 하나를 서쪽으로 가장-이웃한 셀의 입력으로 연결시키기 위한 서쪽 출력-선택수단을 포함함을 특징으로 하는 프로그램가능 논리배열.
  35. 제34항에 있어서, 각 셀의 구성가능-상호연결 요소가 첫 번째와 두 번째 상태를 발생시키기 위한 수단을 포함하여, 구성가능-상호연결 요소가 첫 번째 상태로 있는때 구성가능-상호연결 요소의 첫 번째 출력값은 첫 번째 논리게이트의 첫 번째 출력값이 첫 번째 논리게이트로의 첫 번째 입력이 아닌 입력값에 의해 결정되도록 하며, 구성가능-상호연결 요소의 두 번째 출력값은 두 번째 논리게이트의 첫 번째 출력값이 두 번째 논리게이트로의 첫 번째 입력이 아닌 입력값에 의해 결정되도록 하고, 구성가능-상호연결 요소가 두 번째 상태로 있는때 구성가능-상호연결 요소의 한 출력이 구성가능-상호연결 요소의 첫 번째 출력값과 같고 다른 한 출력은 구성가능-상호연결 요소로의 첫 번째 입력값의 논리 역(inverse)과 같음을 특징으로 하는 프로그램가능 논리회로.
  36. 제35항에 있어서, 각 셀이 적어도 첫 번째와 두 번째 입력과 한 출력을 갖는 네 번째 논리게이트를 더욱더 포함하며, 상기 첫 번째와 두 번째 입력이 첫 번째와 두 번째 논리게이트의 첫 번째 출력에 연결되며 네 번째 논리게이트의 출력이 동,서,남,북 출력 선택 수단으로부터의 다수 후보 출력중 하나로서 그같은 출력선택 수단 각각으로 제공됨을 특징으로 하는 프로그램가능 논리배열.
KR1019940700757A 1991-08-30 1992-08-28 프로그램가능 논리셀과 그 배열 KR100246903B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US752,419 1991-08-30
US07/752,419 US5245227A (en) 1990-11-02 1991-08-30 Versatile programmable logic cell for use in configurable logic arrays
PCT/US1992/007376 WO1993005577A1 (en) 1991-08-30 1992-08-28 Programme logic cell and array

Publications (1)

Publication Number Publication Date
KR100246903B1 true KR100246903B1 (ko) 2000-03-15

Family

ID=25026251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940700757A KR100246903B1 (ko) 1991-08-30 1992-08-28 프로그램가능 논리셀과 그 배열

Country Status (9)

Country Link
US (1) US5245227A (ko)
EP (1) EP0601094B1 (ko)
JP (2) JP3432220B2 (ko)
KR (1) KR100246903B1 (ko)
AT (1) ATE203131T1 (ko)
CA (1) CA2116332C (ko)
DE (1) DE69231933T2 (ko)
SG (1) SG49817A1 (ko)
WO (1) WO1993005577A1 (ko)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5451887A (en) * 1986-09-19 1995-09-19 Actel Corporation Programmable logic module and architecture for field programmable gate array device
US5477165A (en) * 1986-09-19 1995-12-19 Actel Corporation Programmable logic module and architecture for field programmable gate array device
US5354695A (en) 1992-04-08 1994-10-11 Leedy Glenn J Membrane dielectric isolation IC fabrication
US5198705A (en) 1990-05-11 1993-03-30 Actel Corporation Logic module with configurable combinational and sequential blocks
JP2965802B2 (ja) * 1991-12-19 1999-10-18 株式会社東芝 半導体集積回路
US6714625B1 (en) 1992-04-08 2004-03-30 Elm Technology Corporation Lithography device for semiconductor circuit pattern generation
GB2267614B (en) * 1992-06-02 1996-01-24 Plessey Semiconductors Ltd Logic cell
US5414377A (en) * 1992-12-21 1995-05-09 Xilinx, Inc. Logic block with look-up table for configuration and memory
US5315178A (en) * 1993-08-27 1994-05-24 Hewlett-Packard Company IC which can be used as a programmable logic cell array or as a register file
US5448185A (en) * 1993-10-27 1995-09-05 Actel Corporation Programmable dedicated FPGA functional blocks for multiple wide-input functions
RU2072590C1 (ru) * 1994-01-14 1997-01-27 Акционерное общество закрытого типа "VL" Магнитоуправляемая логическая ячейка
DE19501226A1 (de) * 1994-03-25 1995-10-05 Hewlett Packard Co Feldprogrammierbares Gatterarray-Element zur Implementierung von Registerdateien und Assoziativspeichern
US5682107A (en) * 1994-04-01 1997-10-28 Xilinx, Inc. FPGA architecture with repeatable tiles including routing matrices and logic matrices
US5504439A (en) * 1994-04-01 1996-04-02 Xilinx, Inc. I/O interface cell for use with optional pad
US5430687A (en) * 1994-04-01 1995-07-04 Xilinx, Inc. Programmable logic device including a parallel input device for loading memory cells
US5781756A (en) * 1994-04-01 1998-07-14 Xilinx, Inc. Programmable logic device with partially configurable memory cells and a method for configuration
US5453706A (en) * 1994-04-01 1995-09-26 Xilinx, Inc. Field programmable gate array providing contention free configuration and reconfiguration
US5550843A (en) * 1994-04-01 1996-08-27 Xilinx, Inc. Programmable scan chain testing structure and method
US5450022A (en) * 1994-10-07 1995-09-12 Xilinx Inc. Structure and method for configuration of a field programmable gate array
US6043676A (en) * 1994-11-04 2000-03-28 Altera Corporation Wide exclusive or and wide-input and for PLDS
US5594363A (en) * 1995-04-07 1997-01-14 Zycad Corporation Logic cell and routing architecture in a field programmable gate array
US6741494B2 (en) * 1995-04-21 2004-05-25 Mark B. Johnson Magnetoelectronic memory element with inductively coupled write wires
US7050329B2 (en) * 1995-04-21 2006-05-23 Johnson Mark B Magnetic spin based memory with inductive write lines
US6064083A (en) 1995-04-21 2000-05-16 Johnson; Mark B. Hybrid hall effect memory device and method of operation
US6140838A (en) * 1995-04-21 2000-10-31 Johnson; Mark B. High density and high speed magneto-electronic logic family
US5652529A (en) * 1995-06-02 1997-07-29 International Business Machines Corporation Programmable array clock/reset resource
US5646546A (en) * 1995-06-02 1997-07-08 International Business Machines Corporation Programmable logic cell having configurable gates and multiplexers
US5631578A (en) * 1995-06-02 1997-05-20 International Business Machines Corporation Programmable array interconnect network
US5671432A (en) * 1995-06-02 1997-09-23 International Business Machines Corporation Programmable array I/O-routing resource
US5646545A (en) * 1995-08-18 1997-07-08 Xilinx, Inc. Time multiplexed programmable logic device
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US5627480A (en) * 1996-02-08 1997-05-06 Xilinx, Inc. Tristatable bidirectional buffer for tristate bus lines
US5744980A (en) * 1996-02-16 1998-04-28 Actel Corporation Flexible, high-performance static RAM architecture for field-programmable gate arrays
US5894565A (en) * 1996-05-20 1999-04-13 Atmel Corporation Field programmable gate array with distributed RAM and increased cell utilization
US5933023A (en) * 1996-09-03 1999-08-03 Xilinx, Inc. FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines
US5781032A (en) * 1996-09-09 1998-07-14 International Business Machines Corporation Programmable inverter circuit used in a programmable logic cell
US6427156B1 (en) 1997-01-21 2002-07-30 Xilinx, Inc. Configurable logic block with AND gate for efficient multiplication in FPGAS
US5936426A (en) 1997-02-03 1999-08-10 Actel Corporation Logic function module for field programmable array
US6201410B1 (en) 1997-02-26 2001-03-13 Xilinx, Inc. Wide logic gate implemented in an FPGA configurable logic element
US6204689B1 (en) 1997-02-26 2001-03-20 Xilinx, Inc. Input/output interconnect circuit for FPGAs
US5963050A (en) 1997-02-26 1999-10-05 Xilinx, Inc. Configurable logic element with fast feedback paths
US5920202A (en) * 1997-02-26 1999-07-06 Xilinx, Inc. Configurable logic element with ability to evaluate five and six input functions
US5942913A (en) * 1997-03-20 1999-08-24 Xilinx, Inc. FPGA repeatable interconnect structure with bidirectional and unidirectional interconnect lines
US5889411A (en) * 1997-02-26 1999-03-30 Xilinx, Inc. FPGA having logic element carry chains capable of generating wide XOR functions
US5914616A (en) * 1997-02-26 1999-06-22 Xilinx, Inc. FPGA repeatable interconnect structure with hierarchical interconnect lines
US5915167A (en) 1997-04-04 1999-06-22 Elm Technology Corporation Three dimensional structure memory
US6551857B2 (en) 1997-04-04 2003-04-22 Elm Technology Corporation Three dimensional structure integrated circuits
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
US6069488A (en) * 1997-11-14 2000-05-30 Xilinx, Inc. Programmable logic device with versatile exclusive or architecture
US6407576B1 (en) 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices
WO2000077652A2 (de) 1999-06-10 2000-12-21 Pact Informationstechnologie Gmbh Sequenz-partitionierung auf zellstrukturen
US6307774B1 (en) 2000-03-22 2001-10-23 Mark B. Johnson Magnetoelectronic memory array
US6724810B1 (en) 2000-11-17 2004-04-20 Xilinx, Inc. Method and apparatus for de-spreading spread spectrum signals
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US6836839B2 (en) 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7624204B2 (en) * 2001-03-22 2009-11-24 Nvidia Corporation Input/output controller node in an adaptable computing environment
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
US7400668B2 (en) 2001-03-22 2008-07-15 Qst Holdings, Llc Method and system for implementing a system acquisition function for use with a communication device
US7225279B2 (en) * 2002-06-25 2007-05-29 Nvidia Corporation Data distributor in a computation unit forwarding network data to select components in respective communication method type
US7433909B2 (en) 2002-06-25 2008-10-07 Nvidia Corporation Processing architecture for a reconfigurable arithmetic node
US6577678B2 (en) 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
US8412915B2 (en) 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US7602740B2 (en) 2001-12-10 2009-10-13 Qst Holdings, Inc. System for adapting device standards after manufacture
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US20030108012A1 (en) * 2001-12-12 2003-06-12 Quicksilver Technology, Inc. Method and system for detecting and identifying scrambling codes
US7403981B2 (en) * 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US7493375B2 (en) 2002-04-29 2009-02-17 Qst Holding, Llc Storage and delivery of device features
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7620678B1 (en) 2002-06-12 2009-11-17 Nvidia Corporation Method and system for reducing the time-to-market concerns for embedded system design
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
AU2003289844A1 (en) 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US8949576B2 (en) * 2002-11-01 2015-02-03 Nvidia Corporation Arithmetic node including general digital signal processing functions for an adaptive computing machine
US8276135B2 (en) * 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US7225301B2 (en) * 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US7609297B2 (en) 2003-06-25 2009-10-27 Qst Holdings, Inc. Configurable hardware based digital imaging apparatus
US8296764B2 (en) 2003-08-14 2012-10-23 Nvidia Corporation Internal synchronization control for adaptive integrated circuitry
US7174432B2 (en) 2003-08-19 2007-02-06 Nvidia Corporation Asynchronous, independent and multiple process shared memory system in an adaptive computing architecture
US20080182021A1 (en) * 2007-01-31 2008-07-31 Simka Harsono S Continuous ultra-thin copper film formed using a low thermal budget
US7830179B2 (en) 2007-11-22 2010-11-09 Samsung Electronics Co., Ltd. Multi-functional logic gate device and programmable integrated circuit device using the same
WO2012019111A2 (en) 2010-08-06 2012-02-09 Frederick Furtek A method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3371073A (en) * 1966-01-28 1968-02-27 Dow Chemical Co Polysulfonamides
US3713073A (en) * 1971-01-11 1973-01-23 Thomas & Betts Corp Electrical connector
US4642487A (en) * 1984-09-26 1987-02-10 Xilinx, Inc. Special interconnect for configurable logic array
US4786904A (en) * 1986-12-15 1988-11-22 Zoran Corporation Electronically programmable gate array having programmable interconnect lines
GB8906145D0 (en) * 1989-03-17 1989-05-04 Algotronix Ltd Configurable cellular array
JPH0831529B2 (ja) * 1989-11-20 1996-03-27 株式会社東芝 半導体集積回路装置の論理プログラム方法
US5055685A (en) * 1989-12-01 1991-10-08 Optex Co., Ltd. Infrared detecting apparatus
US5122685A (en) * 1991-03-06 1992-06-16 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor

Also Published As

Publication number Publication date
CA2116332C (en) 2001-12-11
WO1993005577A1 (en) 1993-03-18
DE69231933T2 (de) 2002-04-04
ATE203131T1 (de) 2001-07-15
JP2003152529A (ja) 2003-05-23
EP0601094B1 (en) 2001-07-11
JPH06510175A (ja) 1994-11-10
JP3474878B2 (ja) 2003-12-08
CA2116332A1 (en) 1993-03-18
DE69231933D1 (de) 2001-08-16
US5245227A (en) 1993-09-14
EP0601094A1 (en) 1994-06-15
EP0601094A4 (en) 1995-03-15
JP3432220B2 (ja) 2003-08-04
SG49817A1 (en) 1998-06-15

Similar Documents

Publication Publication Date Title
KR100246903B1 (ko) 프로그램가능 논리셀과 그 배열
US6392438B1 (en) Programmable logic array integrated circuit devices
US5808479A (en) High speed programmable logic architecture
US5614840A (en) Programmable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors
US6181160B1 (en) Programmable logic device with hierarchical interconnection resources
US5764080A (en) Input/output interface circuitry for programmable logic array integrated circuit devices
US7671626B1 (en) Versatile logic element and logic array block
EP0746102B1 (en) Programmable logic array integrated circuit
US7075333B1 (en) Programmable circuit optionally configurable as a lookup table or a wide multiplexer
US6396304B2 (en) Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks
US5541530A (en) Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks
US6300794B1 (en) Programmable logic device with hierarchical interconnection resources
US6466049B1 (en) Clock enable control circuit for flip flops
US6278291B1 (en) Programmable logic array devices with interconnect lines of various lengths
JPH07507194A (ja) 速度および融通性の両方について最適化したハイブリッド構成を備える電気的にプログラム可能なロジックデバイスチップ
JP5144462B2 (ja) プログラマブルロジック集積回路デバイスの相互接続ならびに入力/出力リソース
US5614844A (en) High speed programmable logic architecture
US5751162A (en) Field programmable gate array logic module configurable as combinational or sequential circuits
WO1999059088A2 (en) A programmable logic device with macrocell controlled by a pla
GB2333873A (en) Programmable logic array

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20041129

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee