KR100242476B1 - 다용도로 컨피그 가능한 기능 소자 - Google Patents

다용도로 컨피그 가능한 기능 소자 Download PDF

Info

Publication number
KR100242476B1
KR100242476B1 KR1019920004899A KR920004899A KR100242476B1 KR 100242476 B1 KR100242476 B1 KR 100242476B1 KR 1019920004899 A KR1019920004899 A KR 1019920004899A KR 920004899 A KR920004899 A KR 920004899A KR 100242476 B1 KR100242476 B1 KR 100242476B1
Authority
KR
South Korea
Prior art keywords
configurable
memory
functional element
bits
output
Prior art date
Application number
KR1019920004899A
Other languages
English (en)
Other versions
KR920020320A (ko
Inventor
더글라스 힐 드와잇
Original Assignee
죤 제이.키세인
아메리칸 텔리폰 앤드 텔레그라프 캄파니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 죤 제이.키세인, 아메리칸 텔리폰 앤드 텔레그라프 캄파니 filed Critical 죤 제이.키세인
Publication of KR920020320A publication Critical patent/KR920020320A/ko
Application granted granted Critical
Publication of KR100242476B1 publication Critical patent/KR100242476B1/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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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
    • 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
    • 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

Landscapes

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

Abstract

필드 컨피그가능한 기능 소자는 메모리 뱅크의 셀을 편성하고 메모리 뱅크를 내부에 컨피그가능토록 상호 연결함으로서 멀티-기능으로 메모리 셀을 사용할 수 있도록 제공한다. 메모리 셀에 소정의 논리 기능에 대한 진리표를 저장함으로서 다용도 논리 기능 컨피그레이션이 얻어진다. 메모리 셀을 내부적으로 상호 연결시킴으로서 산술 기능 컨피그레이션이 얻어진다. 기재 어드레스 디코딩, 기재 인에이블먼트 능력과 입력 데이타 리드를 부가함으로서 판독/기재 메모리 기능 컨피그레이션이 얻어진다.
컨피그레이션으로 메모리 셀의 병렬 기재 및 판독이 가능하고, 그것에 의하여 두개의 포트 메모리 동작이 가능하다. 컨피그가능한 기능 소자에 연결된 래치와 컨피그가능한 기능 소자의 입력에 연결된 컨피그가능한 루팅망의 세트를 컨피그가능한 기능 소자의 출력과 래치의 출력게 부가함으로서 세개의 주요한 모드(논리, 산술 및 메모리)의 어느 하나에 쉽게 컨피그될 수 있는 강력한 장치가 된다. 루팅망에 결합된 일반화된 루팅 조직은 다른 컨피그가능한 기능 장치에 컨피그가능한 연결을 제공한다.
여러가지의 컨피그가능한 상호 연결로 상기 장치가 루팅 조직에 걸 수 있는 부하를 최소화하기 위하여, 컨피그가능한 기능 장치의 루팅 조직서 루팅망까지의 입력 리드는 루팅의 중간 레벨을 거쳐 하나 혹은 몇개의 접촉점으로 모두 멀티플렉스 된다.

Description

다용도로 컨피그가능한 기능 소자
제1도는 선행 기술인 컨피그가능한(Configurable) 논리 소자의 블럭 다이어그램.
제2도는 본 발명의 컨피그가능한 기능 소자의 유사한 블럭 다이어그램.
제3도는 제2도의 ALM 소자와 루팅망(21)간의 몇몇 컨피그연결과, 논리 기능 동작을 위하여 기능 소자가 컨피그되었을 때 망(21)내부의 몇몇 컨피그 연결 도시도.
제4도는 제2도의 ALM 소자와 루팅망(21)간의 몇몇 컨피그연결과, 산술 기능 동작을 위하여 기능 소자가 컨피그되었을 때 망(21)내의 몇몇 컨피그 연결 도시도.
제5도는 제2도의 ALM 소자와 루팅망(21)간의 몇가지 컨피그 연결과, 판독/기재 메모리 기능 동작을 위하여 기능 소자가 컨피그되었을 때 망(21)내부의 몇가지 컨피그 연결 도시도.
제6도는 제3,4, 및 5도를 결합한 몇가지 컨피그레이션 제어 스위치 도시도.
제7도는 대규모 컨피그가능한 루팅 조직내의 제2도 컨피그가능한 기능 장치의 상호 연결 도시도.
제8도는 블럭(293)내 구조의 몇가지 세부도.
* 도면의 주요부분에 대한 부호의 설명
10, 16, 17 : 선별 회로 15 : 산술/논리 유니트
18 : 래치 회로 20 : 루팅 논리망
21 내지 25 : ALM 소자
본 발명은 컨피그가능한 논리 소자(Configurable logic elements) 및 컨피그가능한 논리 소자의 배열에 관한 것이다. 특히, 본 발명은 논리 동작, 산술 동작 및 데이타 저장을 수행할 수 있는 컨피그가능한 논리 소자에 관한 것이다.
전자계산의 도입으로, 전자적으로 프로그램 가능한 시스템을 선호하게 됨에 따라 하드웨어로 구성된 논리의 사용이 감소되고 있는 추세이다. 전형적인 본보기로 프로그램이 저장된 제어 컴퓨터, 프로그램된 메모리 관리 정렬, 프로그램 가능한 입/출력 제어기, 인텔리전트 터미널(intelligent terminals)과 모뎀이 있다. 최근에, 소프트웨어 제어로 변경될 수 있는 하드웨어 장치인 EEPROM(Electrically Erasable Programmable Read Only Memory)과 PAL(Programmable Array Logic)소자의 개발로 하드웨어/훠엄웨어(firmware)/소프트웨어에 대한 정의가 애매해지고 있다. 상기 각 단계는 더 많은 수의 서브 시스템의 기능 동작(the functionality)이 소프트웨어에 의하여 변경될 수 있게 하지만, 서브 시스템간의 연결은 대부분 고정된 채로 있다. 발전이 계속되어, 또한 상기 시스템의 상호 연결이 프로그램 가능하게 되어, 상세하게 프로그램될 수 있는 시스템의 규모가 넓어지고 있다.
1987년 11월 10일 등록된 미합중국 특허 제4,706,216호에서, 컨피그가능한 논리 소자가 서술된다. 상기 논리 소자는 심어진 컨피그가능한 논리 소자(the embedded configurable logic elements)의 다른 많은 상호 연결을 허용하는 컨피그가능한 루팅 조직(a configurable routing fabric)에 심어진다. 루팅 조직과 관련, 용어 "컨피그가능한(configurable)은 루팅 조직과 연결되어 저장된 제어 비트로부터 나오는 신호에 따라서 한개의 버스를 다른 버스에 연결하도록 정렬된 스위치와 함께 복수개의 버스가 제공된다는 것을 의미한다. 종종, 제어 비트에 있는 정보는 변할수(예로, 설계자가 다른 상호 연결 패턴을 시도하려고 선택할 때) 있으며 그것에 의하여 루팅 통로(the routing paths)의 상호 연결이 변하고 모든 정렬(the entire arrangement)의 기능 동작(the functionality)이 바뀐다. 논리 소자와 관련, 용어 "컨피그가능한"은 제어 비트가 소자에 포함된다는 것과 상기 것이 수행되는가를 지시한다는 것을 뜻한다. 논리 소자와 긴밀히 결합되어 있는 일부 컨피그가능한 루팅망(the configurable routing network)과 함께, '216특허는 각 컨피그가능한 논리 소자에 대한 일반적인 구조는 제1도(이하 '216특허의 제7 및 8도를 결합한 것)에 묘사한다.
제1도에서, 선별기(10)는 컨피그가능한 루팅망의 부분이다. 상기는 네개의 직접 입력(A, B, C 및 D) 그리고 피드백 입력을 포함한다. 컨피그레이션 제어 비트(configuration control bit)(도시않됨)하에서, 선별기(10)는 버스(11)상에 세트된 한개의 신호와 버스(12)상에 세트된 또 하나의 신호를 출력한다. 두개의 신호 세트는 리드(13 및 14)로 두개의 출력을 내는 산술/논리 유니트(15)에 인가된다. A리드 입력은 물론 상기 두개의 출력은 선별 회로(16)에 인가된다. 선별기(16)는 선별 회로(17)에 인가되어 있는 두개의 출력을 갖는다. 또한 선별 회로(16) 출력의 하나는 선별 회로(17)에 출력이 인가되는 래치회로(18)에 인가된다. 선별기(17)는 피드백 입력과 두개의 컨피그가능한 논리 소자의 출력(X와 Y)을 낸다. 이렇게, 전반적인 기능 동작의 관점에서 볼 때, '216 특허의 컨피그가능한 논리 소자는 네개의 입력 신호에 따라 두개의 출력 신호를 낸다.
산술/논리 소자(15)는 두개의 8-비트 RAM(특허에서 제8도)으로 구성된다. 각각은 사실상 3-비트에 따라 응답한다. 메모리의 내용(이것은 컨피그레이션 시간(comfiguration time)에서 로드된다)은 유니트가 수행하는 논리 기능을 지시한다. 동작동안 상기 메모리의 내용을 변경시키기 위하여 아무런 수단도 제공되지 않는다. 또한, 선별기(16)의 출력에서의 래치는 차치하고서라도, 유니트에서는 어떠한 판독/기재 메모리도 사용할 수 없다. 이것은 많은 응용 장치에서 상기 유니트로 만들어진 컨피그가능한 정렬, 또는 배열에 있는 한개 이상의 컨피그가능한 소자에 의하여 발생된 데이타를 일시적으로 저장할(for buffering date) 필요성이 존재하기 때문에 상기 유니트가 갖는 중대한 단점이다. 추가적으로, '216 특허에 서술된 장치는 덧셈이나 뺄셈같은 산술 기능에는 썩적합하지 않다. 첫째, 상기 동작은 2N+1입력을 필요로 하고, 여기서 N는 정수, 그리고 '216 장치는 2N+1 필요 조건을 만족시키지 않고 단지 네개의 입력만을 갖는다. 둘째, 그리고 특히, 장치내의 상호 연결 구조는 산술 동작과 연결되어 장치의 기능적 융통성을 실질적으로 제한하는 두개의 8-비트 RAM(기능을 정의하는 소자)사이를 직접 연결하지 않는다.
선행 기술의 컨피그가능한 기능 소자가 갖는 단점은 메모리 셀의 멀티 기능(multi-function)을 사용하고, 메모리 뱅크(memory bank)에 셀을 편성(organizing)하며, 그리고 내부에 컨피그가능한 메모리 뱅크의 상호 연결을 제공하는 본 발명으로 극복된다. 메모리 셀에 소정의 논리 기능에 대한 진리표를 저장함으로서 다용도 논리 기능 컨피그레이션(A versatile logic function configuration)이 얻어진다. 메모리 셀을 내부에서 상호 연결함으로서 산술 기능 컨피그레이션이 얻어지고, 기재 어드레스 디코딩, 기재 인에이블먼트 능력(write enablement capability)과 입력 데이타 리드를 부가함으로서 판독/기재 메모리 기능 컨피그레이션이 얻어진다. 상기 컨피그레이션으로 메모리의 독립적인(independent) 기재가 가능하고, 그리하여 두개의 포트(port)메모리 동작이 가능해진다. 컨피그가능한 기능 소자에 연결된 부가된 래치 세트와 컨피그가능한 기능 소자의 입력에, 컨피그가능한 기능 소자의 출력에 그리고 래치의 출력에 연결된 컨피그가능한 루팅망은 세개의 주요한 모드(the three primary modes)(논리, 산술 및 메모리)중의 어느 한개에 쉽게 컨피그되는 강력한 장치를 형성한다.
장치의 기능 동작을 증가시키기 위하여, 본 발명의 또다른 특성에 따라, 이것은 다른 컨피그가능한 기능 장치에 컨피그가능한 연결을 제공하는 일반화된 루팅 조직에 결합된다. 초래될 수 있는 여러가지 컨피그가능한 상호 연결로 인하여 상기 장치가 루팅 조직에 부과할 수 있는 부담을 최소화하기 위하여, 컨피그가능한 기능 장치에서 경로지시 조직으로부터 루팅망까지의 입력 리드는 부하를 고립시켜서 전반적인 동작 속도를 증가시키는 한개의 접촉점을 통하여 채널된다.
제2도는 본 발명의 원리에 따른 컨피그가능한 장치를 개략적으로 나타낸 것이다. 허용 가능한한, 비교하기 위하여, 제2도의 구조는 제1도의 구조와 비슷하다. 제1도와 같이, 제2도는 입력에 선별기를 포함한다. 상기 경우에서 또한 이것은 루팅 조직의 일부이다. 선별기(20)는 열두개(12)의 직접 입력과 아홉개(9)의 피드백 입력을 갖는다. 선별기(20)의 출력은 루팅 논리망(21)에 인가되고, 그리고 루팅 논리망(21)에 연결되는 것은 네개가 반드시 독립되어 있는 산술/논리 메모리(ALM) 유니트(22, 23, 24 및 25)이다. 루팅 논리망(21)으로 복수개의 래치(26)에 인가되는 출력 신호를 발생하도록 다양한 ALM 유니트를 상호 연결할 수 있고, 래치(26)의 출력은 선별기(20)에 인가되는 피드백 신호를 형성한다. 선별기(27)는 래치(26)에 인가된 신호와 래치(26)에 의해 발생된 신호에 따라 응답하고 컨피그레이션의 설계 명세서에 따라 소정의 출력을 선별한다.
소자 22 내지 25는 산술, 논리 그리고 메모리 세 모드의 어느것에나 적합하게 소용될 수 있는 타고난 소질이 있으므로 이하 "산술/논리/메모리" 소자 또는 ALM 소자라고 일컫는다. 소자의 컨피그레이션 제어가 가능하기 때문에 상기와 같은 선천적인 소질이 생기게 되었다. 소자 21-25로 구성되는 컨피그가능한 기능 소자를 설명하는 제3,4 및 5도는 상기 모드를 상세히 서술한다.
제3도는 논리 동작에 필요한 컨피그레이션을 묘사한다. ALM소자(22)는 메모리 셀(221과 222)의 8비트 뱅크를 갖는다. 또한 다른 ALM소자도 각각 메모리 셀의 두개의 뱅크를 갖는다. 메모리 뱅크에 의하여 수행된 논리는 단순히 메모리 내용의 기능이다. 상기 내용은 "진리표(truth table)" 메모리의 액세싱(the accessing)에 의하여 실행되는 논리 기능의 "진리표"를 기본적으로 반영한다. 상기 액세싱은 선별 회로(223과 224)를 통하여 달성된다. 회로(223)는 라인(225, 226 및 227)상의 세개의 신호에 의하여 제어되는 8-대-1 선별기이다. 라인(228)상에 선별기(223)의 출력이 나타난다. 또한 똑같은 세개의 신호는 라인(229)에 신호를 보내기 위하여 제어 선별기(224)(간단히 하기 위하여, 도시되지 않음)을 제어한다.
메모리 뱅크(221)는 선별기(227)의 세개의 "어드레스(address)" 입력이 메모리(221)의 23또는 8비트에 저장되어 세개의 입력에 따른 진리표 응답을 라인(228)로 보낼 수 있기 때문에 어떠한 세개의 입력-한개의 출력 논리 기능에 대한 "진리표"를 수용(hold)할 수 있다. 연장해보면, 메모리 뱅크(222)는 어떠한 세개의-입력 한개의 출력(라인 229) 논리 기능에 대한 "진리표"를 또한 수용할 수 있다는 것은 분명하다. 리드(228과 229)는 제어 리드(230)에 따라 응답하는 선별회로(223)에 연결되고 선별기(233)의 출력은 비스 라인(261)에 연결되어 있는 제1데이타 출력을 형성한다. 선별기(233)의 도움으로, ALM소자(22)의 두개의 메모리 뱅크는 4비트 입력(in)(라인 225, 226, 227 그리고 230)-1 비트 출력(out)(라인 231)의 어떠 논리 기능을 수행할 수 있다.
ALM 소자(23, 24와 25)는 ALM 소자(22)와 동일하다. 소자(24)는 소자(22)와 같이 똑같은 네개의(4) 입력에 따라 응답하고 라인(232)상에 출력 신호를 생성한다. 상기 신호는 I/O버스 라인(262)에 인가된다. 소자(23과 25)는 라인(330, 331, 332 그리고 334)상의 입력 신호에 따라 응답하고 상기는 I/O버스 라인(263 및 264)에 연결되어 있는 각 라인(234과 235)상에 출력을 생성한다. 이렇게 하여, 소자(22와 24)는 결합되어 네개의 입력에 따라 두개의 출력을 공급하는 논리 소자를 제공하고, 소자(23과 25)는 결합하여 역시 네개의 다른 입력에 두개의 출력을 공급하는 논리 소자를 제공한다.
컨피그가능한 기능 소자의 제3도 실시예에서 선별기(240, 245 및 250)를 통하여 확대된다. 선별기(250)는 라인(231과 232)의 신호를 받아들이고, 라인(236)의 제어로, 라인(237)을 경유하여 I/O버스 라인(261)으로 출력 신호를 보낸다. 비슷하게, 선별기(240)는 라인(234와 235)의 신호를 받아들이고, 라인(238)의 제어에 의하여, 라인(239)을 경유하여 I/O버스 라인(262)으로 출력 신호를 보낸다. 선별기(240)는 소자(22와 24)를 다섯개의 입력과 한개의 출력을 갖는 하나의 논리 소자로 변환한다. 비슷하게, 선별기(250)는 소자(23과 25)를 다섯개의 입력과 한개의 출력을 갖는 하나의 논리 소자로 변환한다. 선별기(245)는 라인(237 및 238)의 신호를 받아들이고, 라인(265)의 제어에 의하여, 버스 라인(261)으로 출력 신호를 보낸다. 선별기(245)는 소자(22-25)를 결합하여 최대 여섯개(6)의 입력과 한개(1)의 출력을 갖는 어떠한 임의의 기능을 수행할 수 있는 하나의 논리 소자를 형성한다. 또한 최대 열한개(11)의 변수를 갖는 몇가지 기능을 수행할 수 있다는 것을 유의해야 한다.
제4도는 컨피그가능한 기능 소자의 산술 모드를 서술한다. 상세한 설명을 하기 전에, 일반적으로 산술적인 양(arithmetic guantities)을 나타내는 데이타를 작은 그룹과 2진 숫자(a binary digit)를 나타내는 각 그룹으로 분할할지라도, 산술 동작도 또한 논리 동작이라는 것을 명심하는 것이 도움이 될 수 있다. 결과적으로, 산술 동작에 필요한 "진리표"는 보다 작다. 그러나, 한개의 숫자(digit)로부터 다음까지는 연결되어야 한다. 즉, 산술 동작은 어떠한 하나의 시간에서 단지 한쌍의 입력을 이전의 한쌍의 비트로부터 나오는 "캐리(carry)"에 더하는 비트로 간주하는 논리 기능을 수행한다. 예로, 여덟개(8)의 입력을 갖는 논리 소자는 어떠한 응답 패턴(any response pattern)을 가정하고, 그래서 28상태를 갖는 "진리표"가 상기 논리 소자를 위하여 필요하다. 다른 한편으로 여덟개(8)의 입력을 갖는 산술 소자는 일반적으로 두개의 비트로 된 네개의 세트(four two bit sets)을 갖는 것으로 간주되고, 두개의 비트로 된 네개의 세트의 동작은 일반적으로 동시에(각 세트로부터 한개) 단지 두개의 입력 비트와 다음에 오는 정보 전파 비트(an incoming information propagation bit)(하위의 유의(significance) 비트로부터)상에서만 수행된다. 출력은 일반적으로 한개의 계산 결과 비트와 한개의 출력하는 정보 전파 비트(one outgoing information propagation bit)이다. 그리하여, 조사 테이블(a look-up table)(어떠한 비트와이즈(bitwise) 산술 동작을 위하여)로부터 산술 진리표가 만들어질 때, 각 비트 세트는 단지 메모리의 23또는 8비트만을 두번 필요로 한다. 그리고 입력에서(입력 정보 전파 비트를 더함) 모든 8비트의 세트는 단지 64비트의 메모리만을 필요로 한다. 상기의 구조는 제4도에 도시된다.
상기와 일치해서, 제4도는 비트와이즈 산술 유니트의 네개(4) 세트를 포함한다. 선별기(223과 224)(라인 226, 227과 230)를 제어하는 세개의 입력 신호는 두개의 입력비트(a0과 b0)와 다음에 오는 정보 전파 비트(CINO)를 형성한다. 선별기(224)의 출력은 계산 결과 비트(I/O버스 라인(261)에 연결)를 형성하고 선별기(223)의 출력은 출력하는 정보 전파 비트를 형성한다. 선별기(223)의 출력하는 정보 전파 비트는 라인(225와 236)으로부터 나오는 선별기(271과 272)에 역시 연결되는 입력비트(a1과 b1)에 대해서 다음에 오는 정보 전파 비트(C1)의 기능을 하는 ALM소자(23)내의 선별기(271과 272)에 직접 연결된다. 산술 동작 신호 흐름은 ALM소자의 선별기(273과 274)에 인가되는 선별기(271)의 출력하는 정보 전파 비트와 선별기(275와 276)에 인가되는 선별기(273)의 출력하는 정보 전파 비트로 계속한다. 선별기(274)의 계산 결과 비트는 I/O버스(263)에 연결된다. 마지막으로, 선별기(276)의 계산 결과 비트는 I/O버스 라인(263)에 연결되고 선별기(275)의 출력하는 정보 전파 비트는 필요하다면 배열에서 컨피그가능한 다음 소자에 의하여 사용상 출력 리드(269)에 보내진다.
상기로 보건데 ALM 소자는 총 64비트로 유의(weigh in)된다는 것이 명확하다. 논리 모드(제3도)와 산술 모드(제4도)에서 각 비트의 내용은 컨피그레이션이 세트될 때 정해진다.(fixed). 이것은 초기에 어셈블리(initial assembly)할 때 또는 그후 어느때나 일 것이다. 데이타를 일시적으로 저장하려는 것이 상기 메모리 셀의 의도가 아니라 그 보다는 컨피그가능한 기능 소자의 움직임(the behavior) 혹은 응답 특성(response characteristic)을 정의하는 것이다.
그러나, 본 발명의 한 목적은 상기와 같은 사용을 할 수 있도록 하기 위하여 안에 데이타가 저장되고 데이타가 검색되는 것과 같은 융통성을 허용하는 것이 유익한 것으로 간주된다. 상기 융통성으로 "메모리"의 이중 포트(dual pont) 동작으로 확대되고, 이는 다른 어드레스에 있는 메모리의 내용이 판독되는 것과 동시에 메모리의 한 어드레스를 기재하는 것을 의미한다.
64비트가 사용 가능함에 따라, 여러가지 방법으로 메모리가 편성될 수 있으며 기재 편성(the writing organization)과 판독 편성(the reading organization)은 도저히 동일할 필요가 없다. 자세히 설명하기 위하여, 제5도는 액세스할 수 있는 다른 어드레스의 수가 16인 4비트 편성을 서술한다. 입력 어드레스를 위해서 4비트, 입력 데이타를 위하여 4비트, 출력 어드레스를 위하여 4비트 그리고 출력 데이타를 위하여 4비트, 총 16 I/O가 필요하다.
제5도에서, 네개의 기재 어드레스 비트는 1-대-16 디멀티플렉서(1-to-16 demultiplexer)(268)에 인가되고, 디멀티플렉서의 열여섯개(16) 출력의 각각은 각 ALM소자(22 25)의 메모리 뱅크에서 다른 셀의 기재 인에이블 리드(the write enable lead)에 연결된다. 입력 데이타 라인(DIN0)은 ALM소자(22)의 각 메모리 셀에 연결되고, DIN1의 입력 데이타 라인은 ALM소자(23)의 각 메모리 셀에 연결되고, DIN2의 입력 데이타 라인은 ALM소자(24)의 각 메모리 셀에 연결되고, 입력 데이타 라인 DIN3은 ALM소자(25)의 각 메모리 셀에 연결된다.
만일 "논리 컨피그레이션"(제3도에 도시됨)으로부터 이미 사용할 수 있는 회로가 있었다면, 제5도의 메모리를 읽기가 매우 간단하다. 판독 어드레스 라인은 리드(225, 226, 227 그리고 230)에 인가되고 선별기(235, 281, 282 그리고 283)의 출력은 메모리의 4비트 출력을 형성한다.
제3도에서, 입력의 수는 열한개(11)이고 출력의 수는 네개(4)이다; 제4도에서, 입력의 수는 아홉(9)이고 출력의 수는 다섯(5)이다; 그리고 제5도에서, 입력의 수는 열두개(12)이고 출력의 수는 네개(4)이다. 확실히, 한개의 집적회로에 실현할 수 있는 제3-5도에 대하여, 몇몇 I/O라인은 다른 모드에서 동작할 때 다른 목적을 위하여 사용되어야 하며, 그리고 상기 라인은 내부에서 다른 위치로 루트되어야 한다. 이것은 각 라인을 사익 모든 잠재적인 목적지로 연장함으로서 그리고 상기 라인에 있는 스위치를 올바른 장소에 삽입함으로서(interposing)달성될 수 있으며, 그리하여 라인은 상기 신호를 적절한 장소에 인가시키게 된다. 상기는 제3-5회로가 결합되어 있는(간단히 하기 위하여 참조 숫자가 삭제됨) 제6도에 설명되었다. 몇몇 컨피그레이션 스위치는 X표시로 도시된다.
상기 언급한 바와같이, 다양한 모드로 제3, 4 및 5도에 서술된 컨피그가능한 기능 소자는 대부분 컨피그가능한 루팅 조직에 심어진(embedded)소자로서 종종 사용될 것으로 간주된다.
제7도는 컨피그가능한 기능 소자(소자 21-25), 소자(20 및 27)의 스위칭(루팅망(200)에 심어짐) 그리고 래치(26)를 포함하는 루팅 조직의 "타일에이블(tileable)"을 나타낸다. 특히, "타일에이블" 모듈(100)은 수직의 A리드, 수직의 B리드, 수평의 C리드 및 수평의 D리드로 구성된다. 수직 리드와 수평리드(주변 리드(perimeter leads))는 스위칭 소자(20 및 27)(즉, 소자200), 래치(26) 그리고 컨피그가능한 기능 소자(21-25)가 놓이는 중심 영역을 형성하기 위하여 정렬된다. A, B, C 및 D 주변 리드의 일부 혹은 모두를 거쳐 모듈의 각 네면상에 다른 똑같은 타일에이블 모듈이 연결될 수 있기 때문에 모듈은 "타일에이블"이고, "타일에이블" 모듈의 연결은 직선 정렬을 형성하기 위하여 소정의 많은 모듈로 확대될 수 있다. 상기 타일링(tiling)이 일어날 때, 하나의 타일된 모듈의 리드 B는 상기 옆의 다음 타일된 모듈의 리드 A에 인접하고, 한 모듈의 꼭대기에 있는 A리드는 그것의 상부에서 인접 모듈의 밑바닥에 있는 A리드에 연결된다는 것을 알 수 있다. 또한 A, B, C 및 D리드의 몇몇은 컨티그레이션 정보에 의하여 제어되는 삽입된 스위치(interposed switches)를 포함한다는 것을 알 수 있다. 스위치의 패턴은 같을 필요가 없다.
제2도에서 스위칭 소자(20과 27)는 별개의 소자로 서술되지만, 현실적으로 하나의 스위칭망으로부터 만들어질 수 있으며, 그리하여 제7도에서는 루팅망(200)으로 표현된다. 망(200)은 횡선망(a crossbar network)으로 서술된다. 입력라인(277, 278, 279 및 280)은 주변 라인으로부터 나오고, 라인(281)은 루팅망(21)으로부터 나오고 라인(282)은 래치(26)의 출력으로부터 나온다. 사실상, 서술된 각 라인은 이하에 상세히 서술된 바와같이 라인의 세트를 나타낸다. 제3,4 및 5도를 자세히 관찰해보면 블럭(12)으로의 필요한 입력의 수는 열들(12)이고, 여기서 망(200)의 출력의 수도 역시 열들(12)이다는 것을 알 수 있다. 타일에이블이 상호 연결되어 있는 제6도와 같은 배열을 실행하는 것을 고려하는데 있어 한가지 중요한 면은 정렬이 동작할 수 있는 속도이다. 특히, 각 주변 라인상에서 발견되는 저항 및 축전 부하는 주의하여 고려되어야 한다. 예로, 주변으로부터 망(200)에로의 각 리드는 상기 라인이 디스에이블(disabled)될 때도 주변 라인에 부하가 걸린다는 것을 유념하여야 한다. 본 발명의 한가지 특성에 다라, 실제로 많은 교차점을 통하는 주변 리드의 신호를 팬아웃하는(fan out)격리 메카니즘(an isolation mechanism)으로 상기 부하로 최소화한다. 상기는 제8도에 도시된다.
제8도는 본 발명의 원리에 따른 하나의 정렬을 나타낸다. 상기는 단지 한개의 C리드(제7도의 망(288)으로 부터)와 한개의 A리드(제7도의 망(287)으로부터)를 도시하나, 리드 B와 D를 망(200)으로 상호 연결하고 A, B, C 및 D리드를 서로 연결하기 위하여 C와 A리드의 어떤 번호인 타일 모듈에 포함된다.
주요한 격리(The primary isolation)(그리고 부하 제한)는 FET 스위치(301)에 의하여 리드 C에 제공된다. "오프(off)"될 때, FET(301)을 따르는 모든 회로는 C리드에 부하를 걸지(present)않는다. FET(301)의 출력은 부수적인 FET의 어느 번호에 연결되고, 제8도에서는 두개가 도시된다: 302와 303. 상기는 소정의 루팅의 융통성에 따라서 FET 304와 305등과 같은 3차의 팬아웃 FET에 번갈아 연결될 수 있다. 결국, FET(301)로부터 유래하는 FET의 체인으로 발전된 리드의 세트는 망(200)에 인가된다. 비슷하게, FET(401)는 리드 A에 연결되고, 상기는 역시 망(200)에 부속되는 FET(402, 403, 404 및 405)를 거쳐서 팬 아웃한다. FET(410)를 통하여 A리드와 C리드 사이가 연결된다.

Claims (14)

  1. 정수인 K메모리 셀과, 상기 하나 이상의 메모리 셀에 저장되어 있는 정보를 액세스하고 상기 기능 소자의 하나 이상의 출력 포트로 액세스된 정보를 보내기 위하여 상기 메모리 셀에 결합되고 인가되는 데이타 입력 신호에 응답하는 컨피그 가능한 선별 수단을 포함하는 컨피그 가능한 기능 소자에 있어서, 상기 각 메모리 서브세트(subsets)가 상기 메모리 서브세트에 인가되는 세개의 선별 비트에 따라 두개의 출력을 내는 열여섯(16)의 각 메모리 셀로 된 정수인 M 메모리 서브세트를 형성하기 위한 수단을 포함하는 상기 컨피그 가능한 선별 수단과, 정수 인덱스(i)의 범위가 1 내지 M-1인 메모리 서브세트 i 에서 상기 두개의 출력 비트중의 하나를 메모리 서브세트 i+1에서 상기 세개의 선별 비트중의 하나에 연결하여 상기 메모리 서브세트의 체인을 형성하기 위한 수단을 포함하는 상기 컨피그 가능한 선별 수단으로, 이루어진 컨피그가능한 기능 소자.
  2. 제1항에 있어서, 상기 컨피그 가능한 선별 수단은, 상기 데이타 입력 신호로부터, 메모리 서브세트 1의 세개의 선별 비트와 체인을 형성하기 위한 상기 수단으로부터 나온 것이 아닌 M을 통하여 메모리 서브 세트 2의 두개의 선별 비트를 내기 위한 수단과, 상기 서브 모듈 M의 두개의 출력 비트를 상기 기능 소자의 상기 출력 포트로 전달하기 위한 수단과, 상기 기능 소자의 상기 출력 포트로, 체인을 형성하기 위한 상기 수단에 의하여 연결되지 않는 M-1을 통해 상기 서브 모듈 1의 하나의 출력 비트를 전달하기 위한 수단을 더 포함하는 컨피그 가능한 기능 소자.
  3. 제1항에 있어서, 그룹핑(the groupings)이 각각 정수 L인 K/L메모리 셀을 갖고 다른 데이타 비트를 상기 N메모리 셀의 각 L메모리 그룹핑에 인가하기 위한 수단과, 메모리 워드를 형성하는 각 L메모리 그룹핑에 선별된 셀로서, 상기 L메모리 그룹핑의 각각에서 셀을 선별하기 위하여 기체 어드레스 비트에 응답하는 디코딩 수단과, 상기 각 메모리 그룹핑에 인가된 데이타 비트를 선별된 셀속으로 저장하고, 그것에 의하여 상기 다른 데이타 비트로 구성된 데이타 워드를 상기 디코딩 수단으로 확인된(identified)메모리 워드속으로 저장하기 위한 수단을 더 구비하는 컨피그가능한 기능 소자.
  4. 제3항에 있어서, 상기 컨피그 가능한 선별 수단은, 상기 디코딩 수단으로 액세스할 수 있는 상기 어떤 메모리 워드에 저장되어 있는 데이타를 액세스하고 액세스된 데이타를 상기 기능 소자의 상기 출력 포트에 인가하기 위한 수단을 포함하는 컨피그가능한 기능 소자.
  5. 제4항에 있어서, 액세스하기 위한 상기 수단과 저장하기 위한 상기 수단은 동시에 동작하는 컨피그가능한 기능 소자.
  6. 제4항에 있어서, 액세스하기 위한 상기 수단과 저장하기 위한 상기 수단은 상기 K메모리 셀로부터 이중 포트 메모리를 만들기 위하여 (create) 동작하는 컨피그 가능한 기능 소자.
  7. 제1항에 있어서, 장치 입력 포트, 장치 출력 포트와, 상기 장치 입력 포트를 상기 I/O포트의 제1세트에 연결시키고, 상기 기능 소자 출력 포트를 상기 I/O포트의 제1세트에 연결시키고, 상기 I/O포트의 제2세트의 서브 세트를 상기 기능 소자 입력 포트에 연결시키고, 상기 I/O포트의 제2세트의 또다른 서브 세트를 상기 장치 출력 포트에 연결시켜 컨피그 가능한 경로 지시 통로에 따라 상기 I/O포트의 제1세트에서 나오는 신호를 상기 I/O 포트의 제2세트로 루팅하기 위하여 I/O포트의 제1세트와 I/O포트의 제2세트를 갖는 루팅망을 포함하는 컨피그 가능한 기능소자.
  8. 제7항에 있어서, 상기 기능 소자의 출력 포트에 연결된 입력과 상기 I/O포트의 제1세트에 연결된 출력을 갖는 복수개의 저장 셀을 포함하는 컨피그 가능한 기능 소자.
  9. 제7항에 있어서, 상기 각 장치 입력 포트와 상기 I/O포트의 제1세트의 하나 이상의 I/O포트 사이에 삽입된 팬 아웃 회로를 포함하는 컨피그 가능한 기능 소자.
  10. 제8항에 있어서, 컨피그 가능한 접촉망을 통하여 상기 장치 입력 포트에 연결된 상부의 수평주변 버스.
    컨피그 가능한 접촉망을 통하여 상기 장치 입력 포트에 연결된 하부의 수평주변 버스.
    컨피그 가능한 접촉망을 통하여 상기 장치 입력 포트에 연결된 좌측의 수직주변 버스와, 컨피그 가능한 접촉망을 통하여 상기 장치 입력 포트에 연결된 우측의 수직주변 버스를 포함하는 컨피그 가능한 기능소자.
  11. 제10항에 있어서, 적어도 몇몇의 상기 주변 버스는 각각 복수개의 라인을 갖는 컨피그 가능한 기능소자.
  12. 제11항에 있어서, 상기 주변 버스에 연결된 상기 컨피그 가능한 접촉망은 상기 각 주변 버스의 하나의 라인을 위한 것과 상기 주변 버스의 하나의 라인 각각 그리하여 하나의 횡단 접촉(cross-connect)부하를 거는 복수개의 팬아웃 회로를 갖는 컨피그 가능한 기능 소자.
  13. 제11항에 있어서, 수평 주변 라인의 라인들에 연결되는 선별된 팬아웃 회로를 수직 주변 라인의 라인들에 연결되는 선별된 팬아웃 회로에 결합하는 컨피그 가능한 스위치를 포함하는 컨피그 가능한 기능소자.
  14. 정수 K인 K메모리 셀과, 상기 하나 이상의 메모리 셀에 저장된 정보를 액세스하고 상기 기능 소자의 하나 이상의 출력 포트로 액세스된 정보를 전달하기 위하여, 상기 메모리 셀에 결합되어 인가된 데이타 입력 신호에 따라 응답하는 컨피그 가능한 선별 수단을 포함하는 컨피그 가능한 기능 소자에 있어서, 각 메모리 서브세트에 인가된 입력 비트의 수 b, 각 메모리 서브세트에 인가된 전파 입력 비트의 수 g 그리고 전파 비트와 출력 비트를 포함하는 각 메모리 서브세트에 의하여 발생된 비트의 총수 r에서, 정수인 M과 r×2b+q와 같은 정수 C인 C메모리 셀 각각의 M메모리 서브세트를 형성하기 위한 수단을 포함하는 상기 컨피그 가능한 선별 수단과, 정수 인덱스 i의 범위가 1 내지 M-1인 메모리 서브세트 i에 의해 발생된 전파 비트를 내부에 상기 q전파 입력 비트를 형성하도록 메모리 서브세트 i+1에 연결하여 상기 메모리 서브세트의 체인을 형성하기 위한 수단을 포함하는 상기 컨피그 가능한 선별 수단으로 이루어진 컨피그 가능한 기능 소자.
KR1019920004899A 1991-04-02 1992-03-26 다용도로 컨피그 가능한 기능 소자 KR100242476B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US679,370 1991-04-02
US07/679,370 US5255221A (en) 1991-04-02 1991-04-02 Fully configurable versatile field programmable function element

Publications (2)

Publication Number Publication Date
KR920020320A KR920020320A (ko) 1992-11-21
KR100242476B1 true KR100242476B1 (ko) 2000-03-02

Family

ID=24726649

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920004899A KR100242476B1 (ko) 1991-04-02 1992-03-26 다용도로 컨피그 가능한 기능 소자

Country Status (5)

Country Link
US (1) US5255221A (ko)
EP (1) EP0507507B1 (ko)
JP (1) JP2515078B2 (ko)
KR (1) KR100242476B1 (ko)
DE (1) DE69220597T2 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550782A (en) * 1991-09-03 1996-08-27 Altera Corporation Programmable logic array integrated circuits
US20020130681A1 (en) 1991-09-03 2002-09-19 Cliff Richard G. Programmable logic array integrated circuits
US6759870B2 (en) 1991-09-03 2004-07-06 Altera Corporation Programmable logic array integrated circuits
GB2280293B (en) * 1993-07-19 1997-12-10 Hewlett Packard Co Architecture for programmable logic
US6049223A (en) 1995-03-22 2000-04-11 Altera Corporation Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory
US5757207A (en) * 1995-03-22 1998-05-26 Altera Corporation Programmable logic array integrated circuit incorporating a first-in first-out memory
US5671432A (en) * 1995-06-02 1997-09-23 International Business Machines Corporation Programmable array I/O-routing resource
US5559450A (en) * 1995-07-27 1996-09-24 Lucent Technologies Inc. Field programmable gate array with multi-port RAM
US5867422A (en) * 1995-08-08 1999-02-02 University Of South Florida Computer memory chip with field programmable memory cell arrays (fpmcas), and method of configuring
US5744980A (en) * 1996-02-16 1998-04-28 Actel Corporation Flexible, high-performance static RAM architecture for field-programmable gate arrays
US6570404B1 (en) 1996-03-29 2003-05-27 Altera Corporation High-performance programmable logic architecture
US5977791A (en) 1996-04-15 1999-11-02 Altera Corporation Embedded memory block with FIFO mode for programmable logic device
US6011744A (en) * 1997-07-16 2000-01-04 Altera Corporation Programmable logic device with multi-port memory
US6020760A (en) * 1997-07-16 2000-02-01 Altera Corporation I/O buffer circuit with pin multiplexing
US6034857A (en) * 1997-07-16 2000-03-07 Altera Corporation Input/output buffer with overcurrent protection circuit
US6289494B1 (en) 1997-11-12 2001-09-11 Quickturn Design Systems, Inc. Optimized emulation and prototyping architecture
US6467017B1 (en) 1998-06-23 2002-10-15 Altera Corporation Programmable logic device having embedded dual-port random access memory configurable as single-port memory
JP3576837B2 (ja) 1998-10-30 2004-10-13 日本電気株式会社 プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
US6262933B1 (en) 1999-01-29 2001-07-17 Altera Corporation High speed programmable address decoder
GB2351824B (en) 1999-07-02 2004-03-31 Altera Corp Embedded memory blocks for programmable logic
US6633181B1 (en) 1999-12-30 2003-10-14 Stretch, Inc. Multi-scale programmable array
US6720796B1 (en) 2001-05-06 2004-04-13 Altera Corporation Multiple size memories in a programmable logic device
US7613900B2 (en) 2003-03-31 2009-11-03 Stretch, Inc. Systems and methods for selecting input/output configuration in an integrated circuit
US7581081B2 (en) 2003-03-31 2009-08-25 Stretch, Inc. Systems and methods for software extensible multi-processing
US8001266B1 (en) 2003-03-31 2011-08-16 Stretch, Inc. Configuring a multi-processor system
US7590829B2 (en) 2003-03-31 2009-09-15 Stretch, Inc. Extension adapter
US7373642B2 (en) 2003-07-29 2008-05-13 Stretch, Inc. Defining instruction extensions in a standard programming language
US7418575B2 (en) 2003-07-29 2008-08-26 Stretch, Inc. Long instruction word processing with instruction extensions
JP4700611B2 (ja) * 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
US20050228943A1 (en) * 2004-04-02 2005-10-13 Decenzo David P Multipath redundant storage system architecture and method
US10482209B1 (en) 2018-08-06 2019-11-19 HLS Logix LLC Field programmable operation block array

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706216A (en) * 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
US4896296A (en) * 1985-03-04 1990-01-23 Lattice Semiconductor Corporation Programmable logic device configurable input/output cell
US5343406A (en) * 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US4975601A (en) * 1989-09-29 1990-12-04 Sgs-Thomson Microelectronics, Inc. User-writable random access memory logic block for programmable logic devices

Also Published As

Publication number Publication date
EP0507507A3 (en) 1993-02-24
JP2515078B2 (ja) 1996-07-10
KR920020320A (ko) 1992-11-21
JPH05119964A (ja) 1993-05-18
EP0507507B1 (en) 1997-07-02
EP0507507A2 (en) 1992-10-07
US5255221A (en) 1993-10-19
DE69220597T2 (de) 1998-01-22
DE69220597D1 (de) 1997-08-07

Similar Documents

Publication Publication Date Title
KR100242476B1 (ko) 다용도로 컨피그 가능한 기능 소자
US7071733B2 (en) Cross-bar matrix for connecting digital resources to I/O pins of an integrated circuit
US5371422A (en) Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements
US5530814A (en) Bi-directional crossbar switch with control memory for selectively routing signals between pairs of signal ports
US5483178A (en) Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers
JP2642671B2 (ja) ディジタルクロスバースイッチ
US6567969B1 (en) Configurable logic array including lookup table means for generating functions of different numbers of input terms
EP0461798B1 (en) Configurable interconnect structure
US6052327A (en) Dual-port programmable logic device variable depth and width memory array
US6798239B2 (en) Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
US6294928B1 (en) Programmable logic device with highly routable interconnect
US6075380A (en) Programmable logic device with expandable-width memory regions
US5559971A (en) Folded hierarchical crosspoint array
US6424171B1 (en) Base cell and two-dimensional array of base cells for programmable logic LSI
EP0086634A1 (en) Memory circuitry for use in a digital time division switching system
US4057711A (en) Analog switching system with fan-out
US6370140B1 (en) Programmable interconnect matrix architecture for complex programmable logic device
US6356110B1 (en) Multifunction memory array in a programmable logic device
US6839795B1 (en) Priority cross-bar decoder
US7256611B2 (en) Cross-bar matrix with LCD functionality
US5822316A (en) ATM switch address generating circuit
EP0862348A1 (en) Interfacing device to extract M sets of bits out of N sets of bits, control unit and logical cell
JP3037254B2 (ja) 多段クロスバおよびコンピュータ装置
Rana et al. An easily reconfigurable, circuit switched connection network
US6762618B1 (en) Verify scheme for a multi-level routing structure

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee