KR100235812B1 - 시프트 레지스터 및 프로그래머블 논리회로 및 프로그래머블 논리회로시스템 - Google Patents

시프트 레지스터 및 프로그래머블 논리회로 및 프로그래머블 논리회로시스템 Download PDF

Info

Publication number
KR100235812B1
KR100235812B1 KR1019960066690A KR19960066690A KR100235812B1 KR 100235812 B1 KR100235812 B1 KR 100235812B1 KR 1019960066690 A KR1019960066690 A KR 1019960066690A KR 19960066690 A KR19960066690 A KR 19960066690A KR 100235812 B1 KR100235812 B1 KR 100235812B1
Authority
KR
South Korea
Prior art keywords
circuit
programmable logic
function
logic circuit
cell
Prior art date
Application number
KR1019960066690A
Other languages
English (en)
Other versions
KR970051397A (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 KR970051397A publication Critical patent/KR970051397A/ko
Application granted granted Critical
Publication of KR100235812B1 publication Critical patent/KR100235812B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers

Abstract

본 발명은 소형시프트 레지스터를 제공하고, 형성된 게이트수로 정해진 논리회로규모 보다도 많은 논리회로규모를 실현할 수 있는 프로그래머블논리회로를 제공한다. 본 발명의 해결수단은 체인(chain)형식으로 순차 접속된 복수의 회로셀을 갖는 시프트 레지스터로서, 상기 복수의 회로셀의 각각은 제1반전게이트와, 상기 제1반전게이트의 출력에 접속되어 클록으로 스위치 동작하는 제1트랜스미션게이트와, 상기 제1트랜스미션 게이트의 출력에 접속된 제2반 전게이트와, 상기 제2반전게이트의 출력과 상기 제1반전게이트의 입력 사이에 접속되어 상기 클록으로 스위치 동작하는 제1Pch 트랜지스터와, 상기 제2반전게이트의 출력에 접속되어 반전클록으로 스위치 동작하는 제2트랜스미션 게이트와, 상기 제1트랜스미션 게이트의 출력에 접속되어 상기 반전클록으로 스위치동작 하는 제2Pch 트랜지스터를 갖는다.

Description

시프트 레지스터 및 프로그래머블 논리회로 및 프로그래머블 논리회로시스템
본 발명은 시프트 레지스터(shift register) 및 프로그래머블논리회로 (programmable logic circuit) 및 프로그래머블논리회로시스템(programmable logic circuit system)에 관한 것으로, 특히 소형화가 가능한 시프트 레지스터 및 프로그래머블논리회로 및 프로그래머블 논리회로시스템에 관한 것이다. 또, 본 발명은 실현할 수 있는 논리회로의 게이트수를 증가시킨 프로그래머블논리회로 및 프로그래머블논리회로시스템에 관한 것이다. 프로그래머블논리회로로서 예를 들어, 필드프로그래머블 게이트어레이(FPGA)가 일반적으로 알려져 있다. 제61도는 필드프로그래머블 게이트어레이(FPGA)의 개략구성도이다. FPGA는 소망하는 논리회로를 프로그램할 수 있는 복수의 논리셀(Logic Cell)과, 그 논리셀 사이를 자유롭게 접속가능한 복수의 배선을 갖는다. 논리회로의 구성을 기술한 기능결정용 데이터(컨피규레이션 데이터)를 각 논리셀에 공급함으로서, 대규모 논리회로를 자유롭게 실현할 수 있다. 기능결정용데이터를 유지하는 방법에 준해서, 하기에 나타낸 바와 같이 주로 3가지 타입의 FPGA가 존재한다.
Ⅰ. SRAM 프로그램형 FPGA : 기능결정용데이터는 SRAM 메모리 셀에 저장된다. 논리회로의 기능을 반복변경할 수 있다. 제조시에 특수한 프로세스기술을 필요로 하지 않는다.
Ⅱ. 불휘발성메모리 프로그램형 FPGA : 기능결정용 데이터는 EEPROM이나 플래쉬 메모리등의 불휘발성메모리에 저장된다. SRAM 프로그램형 FPGA와 같이, 논리회로의 기능을 반복변경할 수 있다. 제조시에 특수한 프로세스를 필요로 한다.
Ⅲ. 앤티퓨즈프로그램형(antifuse-program-type) FPGA : 기능결정용데이터에 따라서, LSI 칩상에 설비된 스위치(앤티퓨즈)의 상태가 항구적으로 결정된다. 프로그램후, 논리회로의 기능은 변경할 수 없다. 제조에 특수프로세스를 필요로 한다. 또, 복수의 프로그래머블논리회로를 자유롭게 접속하여 조합함으로서, 더 대규모 논리회로를 실현할 수 있는 프로그래머블논리회로시스템을 구성할 수 있다. 또, 최근, 대규모논리회로의 논리검증을 실제로 사용하는 회로상에서 행하기위한 하드웨어 애뮬레이터(hardware emulator)가 개발되어 있다. 이 하드웨어 애뮬레이터에서는 복수의 FPGA가 프로그래머블에 서로 접속되어, 대규모 논리회로가 구성된다. 워크스테이션상등에서 동작하는 소프트웨어 애뮬레이터에 비해서, 동작속도가 100배이상 고속이다. 따라서, 하드웨어 애뮬레이터는 마이크로프로센서등의 개발에 널리 사용되고 있다. SRAM 프로그램형 FPGA에서, 기능결정용데이터는 일반적으로 기능결정용메모리(컨피규레이션메모리)에 시리얼로 로드된다. 따라서, 기능결정용메모리는 일반적으로 시프트 레지스터로 구성된다. 또, 시프트 레지스터는 일반적으로, D 플립플롭을 종속접속함으로서 실현된다. 제62도에 전형적인 CMOS형 D플립플롭의 회로구성도를 나타냈다. 이 D 플립플롭에서는 인버터(INV)와 트랜스미션 게이트(TG)를 환상으로 접속함으로서 폐로가 구성되어 있다. 입력단자(IN)에 공급된 입력신호는 2개의 폐로로 구성되는 마스터슬래이브래치(master slave latch)를 경유하여 출력단자(OUT)로 전송된다. 제62도에 나타낸 D 플립플롭은 16개의 MQS 트랜지스터를 갖고 있다. 따라서, 이러한 D 플립플롭으로 구성되는 종래의 시프트 레지스터는 LSI 칩상에서 비교적 큰 면적을 갖게된다.
특히 SRAM 프로그램형 FPGA는 기능결정용데이터를 기억하기 위해서 수십만단의 시프트 레지스터를 필요로 하기 때문에 FPGA칩의 대부분의 면적이 시프트 레지스터로 구성되는 기능결정용메모리로 사용된다. FPGA의 성능은 단위면적당의 등가게이트 수(어느 일정한 칩면적에서, 어떤 게이트수 상당의 논리회로를 실현할 수 있는가를 나타낸 평가지표)에 의해서 일반적으로 평가된다. 따라서, FPGA의 성능을 향상시키기 위해서는 시프트 레지스터로 구성되는 기능결정용메모리를 소형화하여, 전체의 칩면적에 대한 메모리용면적의 비율을 감소시킬 필요가 있다. 시프트 레지스터를 소형화하기 위해서는 체인래치구성의 시프트 레지스터를 사용하는 것이 좋은 것으로 알려져 있다. 제63도는 종래의 체인래치(chain latch)구성의 시프트 레지스터의 회로구성도이다. 제64도는 제63도에 나타낸 종래의 체인래치구성의 시프트 레지스터의 동작을 설명하는 도면이다. 제64도에 있어서, 단자(K)로부터 공급된 신호는 스위치(C)가 온(ON)되고, 스위치(E 및 F)가 오프(OFF)될 때, 인버터(D)를 통과해서, 그 출력단자까지 전송된다. 그 후, 스위치(C)가 오프되고, 스위치(E,F)가 온될 경우, 공급된 신호 값이 폐로(A)에 유지된다. 폐로(A)상의 값이 안정상태로 천이하여 고정된 후, 재차 스위치(C)가 온되고, 스위치(E,F)는 오프되고, 또 스위치(H,I)가 온 된다. 이 때, 인버터(G)의 출력값이 변화하지 않는 중에 스위치(H)를 먼저 변화시켜 인버터(J)의 출력을 확정할 필요가 있다. 또, 먼저 스위치(I)가 변화한 경우, 폐로(A')에 유지되어 있던 값에 의해서 폐로(B)에 유지되야 하는 값이 상실되는 경우가 있다.
그러나, 상술한 종래의 체인래치형시프트 레지스터에는 다음과 같은 문제점이 있다. 상술한 체인래치구성의 시프트 레지스터를 실제로 구성할 경우, 회로를 구성하는 스위치의 성능, 배선부하용량, 공급클록의 타이밍등에 의해서 회로의 동작이 분산되고, 따라서, 이 회로의 안정적인 동작을 얻기가 어려웠다. 또한, 종래의 프로그래머블논리회로의 논리셀에서도, 이하에 나타낸 문제점이 있었다. 논리셀에서 플립플롭을 실현하는 방법은 일반적으로 이하의 2종류의 방법이 알려져 있다.
Ⅰ. 독립플립플롭형 : 논리셀내에서 플립플롭이 조합된 논리회로와 독립하여 설비되고, 그 플립플롭의 입력 및 출력을 기능결정용데이터로 제어한다.
Ⅱ. 프로그램피드백형 : 논리셀내에 설비된조합된 논리에, 피드백 패스가 설비되고, 기능결정용데이터로부터의 접속지시에 의해서, 플립플롭이 형성된다.
어느 구성에 있어서도 실현할 수 있는 플립플롭의 수는 논리셀의 수에 따라서 결정된다. 따라서, 실현할 수 있는 플립플롭 수를 늘리기 위해서는 논리셀의 수를 증가시킬 필요가 있고, 이것은 프로그래머블 논리회로의 칩면적을 증가시키게 된다. 또, 종래의 프로그래머블논리회로나 프로그래머블논리회로시스템에서는 그 회로를 동작개시시키기 전에 기능 결정용메모리에 기능결정용데이터가 로드되고, 그 후는 프로그래머블논리회로내의 모든 기능결정용데이터가 재기입때까지, 기능결정용데이터에 의해서 결정되는 논리회로에 따라서 동작한다. 즉, 프로그래머블논리회로상에서 실현되는 논리회로는 기능결정용데이터에 의해서 결정되는 논리회로에 동작종료시까지 고정된다. 따라서, 프로그래머블논리회로 및 프로그래머블논리회로시스템에 있어서 실현되는 논리회로의 게이트수를 늘리기 위해서는 논리셀의 규모를 크게하거나, 논리셀의 수를 증가시킬 필요가 있어, 이 경우에도, 프로그래머블논리회로의 칩면적을 증가시키게 된다. 본 발명의 목적은 작은 사이즈의 시프트 레지스터를 제공하는 것에 있다. 이 시프트 레지스터에 의해서, 다단의 시프트 레지스터를 사용하는 회로, 예를 들어, 프로그래머블 논리회로의 기능결정용메모리를 소형화할 수 있다.
또, 본 발명의 다른 목적은 실현되는 플립플롭의 수를 증가한 프로그래머블논리회로를 제공하는 것에 있다. 또, 본 발명의 다른 목적은 기능결정용메모리의 값을 동작중에 변경할 수 있고, 또 프로그래머블논리회로의 일부를 자유롭게 초기화할 수 있어, 이것에 의해서, 실현할 수 있는 논리회로의 실질적인 게이트수를 증가한 프로그래머블논리회로 및 프로그래머블논리회로시스템을 제공하는 것에 있다. 그 결과, 프로그래머블논리회로 및 프로그래머블회로시스템의 비용을 대폭 절감할 수 있다. 이 들에 의해서, 상술한 문제점을 해결할 수 있다.
제1도는 본 발명에 관한 시프트 레지스터 실시예의 회로구성도.
제2도는 제1도에 나타낸 시프트 레지스터의 클록공급회로의 회로구성도.
제3도는 제1도에 나타낸 본 발명에 관한 시프트 레지스터 실시예의 변경예.
제4도는 제1도에 나타낸 본 발명에 관한 시프트 레지스터 실시예의 변경예.
제5도는 임의의 상태가 설정가능한 상태설정회로가 설비된 시프트 레지스터의 구성예를 나타내는 도면.
제6도는 제5도에 나타낸 상태 설정회로의 구성예.
제7도는 제5도에 나타낸 상태설정회로의 다른 구성예.
제8도는 본 발명에 관한 시프트 레지스터의 록업테이블에의 응용예.
제9도는 제8도에 나타낸 디코더회로의 구성예.
제10도는 제8도에 나타낸 디코더회로의 다른 구성예.
제11도는 체인래치의 일부를 플립플롭으로서 사용가능 한 본 발명에 관한 시프트 레지스터의 실시예의 모델도.
제12도는 제11도에 나타낸 본 발명에 관한 시프트 레지스터의 실시예의 구체적 구성도.
제13도는 제12도에 나타낸 클록제어회로의 회로구성도.
제14도는 제12도에 나타낸 본 발명에 관한 시프트 레지스터 실시예의 변경예.
제15도는 제12도에 나타낸 본 발명에 관한 시프트 레지스터 실시예의 다른 변경예.
제16도는 본 발명에 관한 프로그래머블논리회로의 논리셀의 실시예의 블록구성도.
제17도는 제16도에 나타낸 프로그래머블논리회로의 논리셀의 변경예.
제18도는 본 발명에 관한 프로그래머블논리회로를 구성하는 논리셀의 기본구성의 블록도.
제19도는 제18도에 나타낸 논리셀(50)의 일구성예.
제20도는 제18도에 나타낸 논리셀(50)의 다른 구성예.
제21도는 제20도에 나타낸 논리셀(50-2)의 구체적 구성예.
제22도는 본 발명에 관한 프로그래머블논리회로를 구성하는 록업테이블형 논리셀의 구성예.
제23도는 제22도에 나타낸 논리셀의 변경예.
제24도는 본 발명에 관한 프로그래머블논리회로를 구성하는 논리셀의 다른 구성예.
제25도는 제24도에 나타낸 논리셀의 프로그래머블기능 유니트(71)의 실시예.
제26도는 제25도에 나타낸 프로그래머블기능유니트(71)의 변경예.
제27도는 제25도에 나타낸 프로그래머블기능유니트(71)의 다른 변경예.
제28도는 본 발명에 관한 프로그래머블논리회로를 구성하는 I/O 모듈의 구성예.
제28a도는 기본구성이고,
제28b도는 메모리유니트를 갖는 구성예.
제29도는 본 발명에 관한 프로그래머블논리회로를 구성하는 스위치 박스의 구성예.
제30도는 스위치 박스본체(91)의 구성예.
제30a도는 대략 구성예이고,
제30b도는 메모리 유니트를 포함하는 스위치부의 구성예.
제31도는 본 발명에 관한 프로그래머블논리회로의 제1구성예.
제32도는 본 발명에 관한 프로그래머블논리회로의 제2구성예.
제33도는 본 발명에 관한 프로그래머블논리회로의 제3구성예.
제34도는 본 발명에 관한 프로그래머블논리회로의 제4구성예.
제35도는 본 발명에 관한 프로그래머블논리회로의 제5구성예.
제36도는 본 발명에 관한 프로그래머블논리회로의 제6도구성예.
제37도는 본 발명에 관한 프로그래머블논리회로의 제7구성예.
제38도는 본 발명에 관한 프로그래머블논리회로의 제8구성예.
제39도는 본 발명에 관한 프로그래머블논리회로의 제9구성예.
제40도는 본 발명에 관한 프로그래머블논리회로의 제10구성예.
제41도는 본 발명에 관한 프로그래머블논리회로의 제11구성예
제42도는 본 발명에 관한 프로그래머블논리회로의 제12구성예.
제43도는 본 발명에 관한 프로그래머블논리회로의 제13구성예.
제44도는 본 발명에 관한 프로그래머블논리회로시스템의 제1구성예.
제45도는 본 발명에 관한 프로그래머블논리회로시스템의 제2구성예.
제46도는 본 발명에 관한 프로그래머블논리회로시스템의 제3구성예.
제47도는 본 발명에 관한 프로그래머블논리회로시스템의 제4구성예.
제48도는 본 발명에 관한 프로그래머블논리회로시스템의 제5구성예.
제49도는 본 발명에 관한 프로그래머블논리회로시스템의 제6도구성예.
제50도는 본 발명에 관한 프로그래머블논리회로시스템의 제7구성예.
제51도는 본 발명에 관한 프로그래머블논리회로시스템의 제8구성예.
제52도는 본 발명에 관한 프로그래머블논리회로시스템의 제9구성예.
제53도는 본 발명에 관한 프로그래머블논리회로시스템의 제10구성예.
제54도는 본 발명에 관한 프로그래머블논리회로시스템의 제11구성예.
제55도는 본 발명에 관한 프로그래머블논리회로시스템의 제12구성예.
제56도는 본 발명에 관한 프로그래머블논리회로시스템의 제13구성예.
제57도는 제31도∼제56도에 나타낸 프로그래머블논리회로 및 프로그래머블논리회로시스템에서 사용하는 기능결정용데이터서버의 제1구성예.
제58도는 제31도∼제56도에 나타낸 프로그래머블논리회로 및 프로그래머블논리회로시스템에서 사용하는 기능결정용데이터서버의 제2구성예.
제59도는 제31도∼제56도에 나타낸 프로그래머블논리회로 및 프로그래머블논리회로시스템에서 사용하는 기능결정용데이터서버의 제3구성예.
제60도는 제59도에서 나타낸 기능결정용데이터서버의 상세한 구성예.
제61도는 필드프로그래머블 게이트어레이(FPGA)의 개략적구성도.
제62도는 전형적인 CMOS형 D플립플롭의 회로구성도.
제63도는 종래의 체인래치구성의 시프트 레지스터의 회로구성도.
제64도는 종래의 체인래치구성의 시프트 레지스터의 동작을 설명하는 도면.
상기 과제를 해결하기 위해서 본 발명에서는 하기한 수단을 강구한 것을 특징으로 하는 것이다.
청구항 1 기재의 발명장치에서는 체인형식으로 순차적으로 접속된 복수의 회로셀을 갖는 시프트 레지스터로서, 상기 복수의 회로셀의 각각은 제1반전게이트와, 상기 제1반전게이트의 출력에 접속되어 클록에 의해서 스위치 동작하는 제1트랜스미션 게이트와, 상기 제1트랜스미션 게이트의 출력에 접속된 제2반전게이트와, 상기 제2반전게이트의 출력과 상기 제1반전게이트의 입력의 사이에 접속되어 상기 클록에 의해서 스위치 동작하는 제1P채널트랜지스터와, 상기 제2반전게이트의 출력에 접속되어 반전클록에 의해서 스위치 동작하는 제2트랜스미션 게이트와, 상기 제1트랜스미션 게이트의 출력에 접속되어 상기 반전클록에 의해서 스위치 동작하는 제2P채널트랜지스터를 갖고, 상기 회로셀의 상기 제1반전게이트의 입력은 상기 회로셀의 전단의 회로셀의 제2트랜스미션 게이트의 출력에 접속되고, 상기 회로셀의 상기 제1반전게이트의 출력은 상기 전단의 회로셀의 상기 제2P채널트랜지스터의 출력에 접속되어, 상기 복수의 회로셀이 순차적으로 접속되는 것을 특징으로 한다.
청구항2 기재의 발명장치에서는 청구항1 기재의 시프트 레지스터에 있어서, 상기 제1반전게이트는 제1인버터를 갖고, 상기 제2반전게이트는 제2인버터를 갖는 것을 특징으로 한다.
청구항3 기재의 발명장치에서는 청구항1 기재의 시프트 레지스터에 있어서, 상기 제1반전게이트는 제1NAND게이트를 갖고, 상기 제2반전게이트는 제2NAND게이트를 갖는 것을 특징으로 한다.
청구항4 기재의 발명장치에서는 청구항1 기재의 시프트 레지스터에 있어서, 상기 제1반전게이트는 제1NOR게이트를 갖고, 상기 제2반전게이트는 제2NOR게이트를 갖는 것을 특징으로 한다.
청구항5 기재의 발명장치에서는 청구항1 내지 4중 어느 한항 기재의 시프트 레지스터에 있어서, 상기 클록 및 상기 반전클록을 공급하는 클록공급회로를 더 포함하고, 클록공급회로는 입력클록을 버퍼링하여 상기 클록을 출력하는 제1버퍼회로와, 상기 입력클록을 반전하여 상기 반전클록을 출력하는 제2버퍼회로를 갖고, 상기 제1버퍼회로 및 상기 제2버퍼의 적어도 한쪽은 P채널트랜지스터측의 드라이브능력이 N채녈측의 드라이브능력보다 실질적으로 동등 이상이 되도록 트랜지스터파라미터를 조절한 인버터를 포함하는 것을 특징으로 한다.
청구항6 기재의 발명장치에서는 청구항1 내지 4중 어느 한항 기재의 시프트 레지스터에 있어서, 상기 클록 및 상기 반전클록을 공급하는 클록 공급회로를 더 포함하고, 클록공급회로는 입력클록을 버퍼링하여 상기 클록을 출력하는 제1버퍼회로와, 상기 입력클록을 반전하여 상기 반전클록을 출력하는 제2버퍼회로를 갖고, 상기 제1버퍼회로 및 상기 제2버퍼회로중 적어도 한쪽은 P채널트랜지스터의 수가 N채널 트랜지스터의 수 보다도 많은 인버터를 포함하는 것을 특징으로 한다.
청구항7 기재의 발명장치에서는 청구항6 기재의 시프트 레지스터에 있어서, 상기 P채널트랜지스터의 드라이브능력을 Dp, 상기 N채널트랜지스터의 드라이브능력을 Dn으로 할 때, 상기 P채널트랜지스터 수와 상기 N채널트랜지스터수의 비는 실질적으로 Dp/Dn 이상인 것을 특징으로 한다.
청구항8 기재의 발명장치에서는 청구항3 기재의 시프트 레지스터에 있어서, 상기 제1NAND게이트중 하나의 입력단자와 상기 제2NAND에이트중 하나의 입력단자에 접속되고, 상기 회로셀내의 상태를 설정하기 위한 상태설정회로를 더 갖는 것을 특징으로 한다.
청구항9 기재의 발명장치에서는 청구항4 기재의 시프트 레지스터에 있어서, 상기 제1NOR게이트중 하나의 입력단자와 상기 제2NOR게이트중 하나의 입력단자에 접속되어, 상기 회로셀내의 상태를 성정하기 위한 상태설정회로를 더 갖는 것을 특징으로 한다.
청구항10 기재의 발명장치에서는 청구항1 내지 7중 어느 한항 기재의 시프트 레지스터에 있어서, 상기 복수의 회로셀의 각각은 데이터출력단자를 갖고, 상기 복수의 회로셀의 데이터출력단자에 접속되어 제어입력신호에 따라서 상기 데이터출력단자로부터의 데이터의 하나를 출력하는 디코더회로를 더 갖는 것을 특징으로 한다.
청구항11 기재의 발명장치에서는 청구항1 내지 9중 어느 한항 기재의 시프트 레지스터에 있어서, 상기 복수의 회로셀의 일부 회로셀의 상기 제1, 제2트랜스미션 게이트, 상기 제1, 제2P채널트랜지스터의 클록입력단자에 접속되고, 제1모드에서는 상기 클록 및 상기 반전클록을 상기 클록입력단자에 공급하고, 제2모드에서는 상기 일부의 회로셀을 나머지의 회로셀에서 아이솔레이트하기 위해서 상기 클록입력단자의 일부에 소정의 신호를 공급하고, 또 나머지 클록입력단자에는 임의의 신호를 공급하는 클록제어회로를 더 갖고, 상기 제2모드에서는 상기 일부의 회로셀이 플립플롭으로서 동작할 수 있는 것을 특징으로 한다.
청구항12 기재의 발명장치에서는 기능결정용데이터가 공급되는 기능결정용메모리와, 상기 기능결정용데이터에 따라서 소망의 논리회로를 실현하는 적어도 하나의 논리셀을 갖는 프로그래머블논리회로로서, 상기 기능결정용메모리는 체인형식으로 순차적으로 접속된 복수의 회로셀을 갖는 시프트 레지스터를 갖고, 상기 복수의 회로셀의 각각은 제1의 반전게이트와, 상기 제1반전게이트의 출력에 접속되어 클록에 의해서 스위치 동작하는 제1트랜스미션게이트와, 상기 제1트랜스미션 게이트의 출력에 접속된 제2반전게이트와, 상기 제2반전게이트의 출력과 상기 제1반전게이트의 입력 사이에 접속되어 상기 클록에 의해서 스위치 동작하는 제1P채널트랜지스터와, 상기 제2반전게이트의 출력에 접속되어 반전클록에 의해서 스위치 동작하는 제2트랜스미션 게이트와, 상기 제1트랜스미션 게이트의 출력에 접속되어 상기 반전클록에 의해서 스위치 동작하는 제2P채널트랜지스터를 갖고, 상기 회로셀의 상기 제1반전게이트의 입력은 상기 회로셀 전단의 회로셀의 제2트랜스미션 게이트의 출력에 접속되고, 상기 회로셀의 상기 제1반전게이트의 출력은 상기 전단의 회로셀의 상기 제2P채널트랜지스터의 출력에 접속되어, 상기 복수의 회로셀이 순차적으로 접속되는 것을 특징으로 한다.
청구항13 기재의 발명장치에서는 청구항12 기재의 프로그래머블논리회로에 있어서, 상기 제1 및 제2반전게이트는 NAND게이트 및 NOR 게이트 중 어느 한쪽을 갖고, 그 게이트의 한쪽으로부터 소정의 신호를 공급함으로서 상기 회로셀의 상태를 설정할 수 있는 것을 특징으로 한다.
청구항14 기재의 발명장치에서는 청구항12 또는 13 기재의 프로그래머블논리회로에 있어서, 상기 복수의 회로셀의 일부 회로셀의 상기 제1, 제2트랜스미션 게이트, 상기 제1, 제2P채널트랜지스터의 클록입력단자에 접속되어, 제1모드에서는 상기 클록 및 상기 반전클록을 상기 클록 입력단자에 공급하고, 제2모드에서는 상기 일부의 회로셀을 나머지의 회로셀에서 아이솔레이트하기 위해서 상기 클록입력단자의 일부에 소정의 신호를 공급하고, 또 나머지의 클록입력단에는 임의의 신호를 공급하는 클록제어회로를 더 갖고, 상기 제2모드에서는 상기 일부의 회로셀이 플립플롭으로서 동작할 수 있고, 상기 플립플롭은 상기 소망하는 논리회로의 일부로서 사용할 수 있는 것을 특징으로 한다.
청구항15 기재의 발명장치에서는 기능결정용데이터에 따라서 소망의 논리회로를 실현하는 프로그래머블논리회로로서, 복수의 부분회로를 갖고, 상기 프로그래머블논리회로가 동작중, 적어도 하나의 부분회로에 제어신호가 공급될 때, 다른 동작중의 부분회로의 동작에 영향을 주는일 없이, 상기 적어도 하나의 부분회로에서 실현된 회로기능이 변경되는 것을 특징으로 한다.
청구항16 기재의 발명장치에서는 청구항15 기재의 프로그래머블논리회로에 있어서, 상기 부분회로는 논리기능을 실현하는 논리셀과, 복수의 부분회로의 접속기능을 실현하는 스위치 박스와, 데이터의 입력 및 출력 기능을 실현하는 I/O 모듈중 적어도 하나를 포함하는 것을 특징으로 한다.
청구항17 기재의 발명장치에서는 청구항15 또는 16 기재의 프로그래머블논리회로에 있어서 기능결정용 데이터를 상기 복수의 부분회로중 적어도 하나에 전용선 및 프로그래머블배선중 어느것을 거쳐서 공급하는 적어도 하나의 기능결정용데이터서버를 더 포함하는 것을 특징으로 한다.
청구항18 기재의 발명장치에서는 청구항17 기재의 프로그래머블논리회로에 있어서 상기 기능결정용데이터서버는 저장된 기능결정용데이터를 다른 상기 논리셀 및 외부장치중 어느 것으로 부터의 신호에 의해서 변경할 수 있는 수단을 포함하는 것을 특징으로 한다.
청구항19 기재의 발명장치에서는 청구항17 기재의 프로그래머블논리회로에 있어서, 상기 기능결정용데이터서버는 상기 부분회로마다 설비되어 있는 것을 특징으로 한다.
청구항20 기재의 발명장치에서는 청구항15 또는 16 기재의 프로그래머블논리회로에 있어서, 상기 부분회로는 복수의 기능결정용데이터를 기억하여 이들을 외부에서의 제어신호로 절환함으로서 상기 부분회로에서 실현되는 회로기능을 단시간에 변경하는 기억회로를 갖는 것을 특징으로 한다.
청구항21 기재의 발명장치에서는 청구항20 기재의 프로그래머블논리회로에 있어서, 상기 기억회로에 기억된 상기 복수의 기능결정용데이터중 적어도 하나를 다른 상기 부분회로 및 외부장치의 어느 것으로 부터의 신호에 의해서 변경하는 수단을 더 갖는 것을 특징으로 한다.
청구항22 기재의 발명장치에서는 청구항15 또는 16 기재의 프로그래머블논리회로에 있어서 기능결정용 데이터를 상기 복수의 부분회로의 적어도 하나에 공급하는 적어도 하나의 외부기능결정용데이터서버를 접속하기 위한 인터페이스를 갖는 것을 특징으로 한다.
청구항23 기재의 발명장치에서는 청구항15 내지 22중 어느 한항 기재의 프로그래머블 논리회로에 있어서, 상기 복수의 부분회로중 특정한 부분 회로를 전용선 및 프로그래머블배선중 어느 것을 거쳐서 지정하여 상기 특정한 부분회로의 회로기능을 선택적으로 변경하는 제어장치를 더 갖는 것을 특징으로 한다.
청구항24 기재의 발명장치에서는 청구항15 내지 22중 어느 한항 기재의 프로그래머블 논리회로에 있어서, 상기 복수의 부분회로중 특정한 부분회로를 지정하여 상기 특정한 부분회로의 회로기능을 선택적으로 변경하는 외부제어장치를 접속하기 위한 인터페이스를 갖는 것을 특징으로 한다.
청구항25 기재의 발명장치에서는 청구항16 기재의 프로그래머블논리회로에 있어서, 상기 논리셀은 출력데이터를 유지하는 출력데이터유지회로를 갖고, 상기 프로그래머블논리회로가 동작중, 상기 논리셀에서 실현된 회로기능이 변경될 때, 다른 동작중의 부분회로의 동작에 영향을 주지 않도록 상기 논리셀의 출력이 상기 출력데이터유지회로에 의해서 유지되는 것을 특징으로 한다.
청구항26 기재의 발명장치에서는 청구항25 기재의 프로그래머블논리회로에 있어서, 상기 출력데이터유지회로는 상기 논리셀의 회로기능을 변경하는 기간에 상기 논리셀내에 프로그래머블에 실현되는 것을 특징으로 한다.
청구항27 기재의 발명장치에서는 청구항25 또는 26 기재의 프로그래머블논리회로에 있어서, 상기 출력데이터유지회로는 플립플롭회로 및 래치회로중 어느것을 포함하는 것을 특징으로 한다.
청구항28 기재의 발명장치에서는 청구항15 기재의 프로그래머블논리회로에 있어서, 상기 논리셀은 외부에서 클록과 같이 공급되는 제1기능결정용데이터를 유지하는 동시에 제2기능결정용데이터로 직접 재설정할 수 있는 시프트 레지스터를 갖는 기능결정용메모리와, 상기 기능결정용메모리에 설정된 기능결정용데이터에 따라서 논리기능을 결정하는 프로그래머블기능유니트와, 상기 논리셀의 외부에서의 지시에 의해서 상기 기능결정용메모리에 상기 제2기능결정용데이터를 공급하는 메모리 콘트롤러를 갖고, 상기 프로그래머블논리회로가 동작중, 상기 제2기능결정용데이터가 상기 메모리 콘트롤러로부터 상기 기능결정용메모리에 설정될 때, 상기 프로그래머블기능유니트의 상기 제1기능결정용데이터에 따라서 결정된 논리기능이 상기 제2기능결정용데이터에 따라서 결정되는 논리기능으로 변경되는 것을 특징으로 한다.
청구항29 기재의 발명장치에서는 청구항28 기재의 프로그래머블논리회로에 있어서, 상기 시프트 레지스터는 체인래치구성의 시프트 레지스터를 포함하는 것을 특징으로 한다.
청구항30 기재의 발명장치에서는 청구항29 기재의 프로그래머블논리회로에 있어서, 상기 메모리 콘트롤러에 공급되는 상기 제2기능결정용데이터는 다른 논리셀에서의 출력신호에 준해서 생성되는 것을 특징으로 한다.
청구항31 기재의 발명장치에서는 기능결정용데이터에 따라서 소망의 논리회로를 실현하는 프로그래머블논리회로시스템으로서, 복수의 프로그래머블논리회로를 포함하는 제2부분회로를 갖고, 상기 프로그래머블논리회로시스템이 동작중, 적어도 하나의 제2부분회로에 제어신호가 공급될 때, 다른 동작중의 제2부분회로의 동작에 영향을 주는일 없이, 상기 적어도 하나의 제2부분회로에서 실현된 회로기능이 변경되는 것을 특징으로 하는 프로그래머블논리회로시스템.
청구항32 기재의 발명장치에서는 청구항31 기재의 프로그래머블논리회로시스템에 있어서, 상기 제2부분회로는 상기 복수의 프로그래머블논리회로의 접속기능을 실현하는 복수의 스위치 디바이스(switch device)와, 데이터의 입력 및 출력의 기능을 실현하는 복수의 I/O 모듈을 포함하는 것을 특징으로 한다.
청구항33 기재의 발명장치에서는 청구항31 또는 32 기재의 프로그래머블논리회로시스템에 있어서, 기능결정용데이터를 상기 제2부분회로에 전용선 및 프로그래머블배선중 어느 것을 거쳐서 공급하는 적어도 하나의 기능결정용데이터서버를 더 포함하는 것을 특징으로 한다.
청구항34 기재의 발명장치에서는 청구항33 기재의 프로그래머블논리회로 시스템에 있어서, 상기 기능결정용데이터서버는 저장된 기능결정용데이터를 다른 프로그래머블논리회로 및 외부장치의 어느것으로 부터의 신호에 의해서 변경할 수 있는 수단을 포함하는 것을 특징으로 한다.
청구항35 기재의 발명장치에서는 청구항33 기재의 프로그래머블논리회로 시스템에 있어서, 상기 기능결정용데이터서버는 상기 제2부분회로마다 설비되어 있는 것을 특징으로 한다.
청구항36 기재의 발명장치에서는 청구항31 또는 32 기재의 프로그래머블논리회로시스템에 있어서, 상기 제2부분회로는 복수의 기능결정용데이터를 기억하여 그것들을 외부에서의 제어신호로 절환함으로서 상기 제2부분회로에서 실현되는 회로기능을 단시간에 변경하는 기억회로를 갖는 것을 특징으로 한다.
청구항37 기재의 발명장치에서는 청구항36 기재의 프로그래머블논리회로시스템에 있어서, 상기 기억회로에 기억된 상기 복수의 기능결정용데이터중 적어도 하나를 다른 상기 제2부분회로 및 외부장치중 어느하나로 부터의 신호에 의해서 변경하는 수단을 더 갖는 것을 특징으로 한다.
청구항38 기재의 발명장치에서는 청구항31 또는 32 기재의 프로그래머블논리회로시스템에 있어서 기능결정용데이터를 상기 복수의 제2부분회로의 적어도 하나에 공급하는 적어도 하나의 외부기능결정용데이터서버를 접속하기위한 인터페이스를 갖는 것을 특징으로 한다.
청구항39 기재의 발명장치에서는 청구항31 내지 38중 어느 한항 기재의 프로그래머블논리회로시스템에 있어서, 상기 복수의 제2부분회로중 특정한 제2부분회로를 전용선 및 프로그래머블배선중 어느 하나를 거쳐서 지정하여 상기 특정의 제2부분회로의 회로기능을 선택적으로 변경하는 제어장치를 더 갖는 것을 특징으로 한다.
청구항40 기재의 발명장치에서는 청구항31 내지 38중 어느한항 기재의 프로그래머블논리회로시스템에 있어서, 상기 복수의 제2부분회로중 특정한 제2부분회로를 지정하여 상기 특정한 제2부분회로의 회로기능을 선택적으로 변경하는 외부제어장치를 접속하기위한 인터페이스를 갖는 것을 특징으로 한다.
상기한 발명은 아래와 같이 작용한다. 청구항1 내지 4중 어느 한항 기재의 시프트 레지스터에 있어서는 메인신호패스에 있어서의 전송시간은 피드백 회로에서의 전송시간보다도 짧게 된다. 따라서, 체인래치구성의 시프트 레지스터의 동작타이밍을 안정하게 실현할 수 있다. 체인래치구성의 시프트 레지스터를 사용함으로서, 시프트 레지스터를 구성하는 게이트수나 칩면적도 종래의 반이하로 절감할 수 있다. 또 대단히 많은 단수의 시프트 레지스터를 메모리로서 사용하는 프로그래머블논리회로에서도, 메모리를 위한 칩면적을 절감할 수 있고, 칩면적에 대한 프로그램 가능한 논리회로게이트수를 증가할 수 있다.
청구항5 내지 7중 어느 한항 기재의 시프트 레지스터에 있어서는 P채널트랜지스터측의 구동능력을 N 채널트랜지스터측의 구동능력보다 실질적으로 크게할 수 있다. 따라서, 회로셀의 스위치 출력의 상승시간 및 하강시간을 실질적으로 동일하게 할수 있다. 이상의 조건에 의해서 체인래치구성의 시프트 레지스터의 동작을 보다 안정화 및 확실히할 수 있다.
청구항8 또는 9 기재의 시프트 레지스터에 있어서는 상태설정회로에 의해서 체인래치구성의 시프트 레지스터의 내부상태를 자유롭게 설정할 수 있다.
청구항10 기재의 시프트 레지스터에 있어서는 디코더 회로에 임의의 제어신호를 공급함으로서, 메모리데이터로 결정된 논리에 따른 출력을 얻는다. 즉 디코더회로와 시프트 레지스터에 의해서, 임의의 논리회로를 구성할 수 있다.
청구항11 기재의 시프트 레지스터 및 청구항12 또는 14기재의 프로그래머블논리회로에서는 체인래치구성의 시프트 레지스터의 일부의 회로셀에 소정 신호를 공급함으로서, 그 회로셀을 플립플롭으로서 동작시킬 수 있다. 따라서, 이 시프트 레지스터를 프로그래머블논리회로의 기능결정용메모리에 사용한 경우, 그 기능결정용메모리의 일부를 플립플롭으로서 사용할 수 있고, 논리셀에서 실현되는 플립플롭의 수를 증가시킬 수 있다.
청구항13 기재의 프로그래머블논리회로에서는 논리셀 내의 회로셀의 상태를 임의로 설정할 수 있다.
청구항15, 16 및 28중 어느 한항 기재의 프로그래머블 논리회로 및 청구항31 또는 32 기재의 프로그래머블논리회로시스템에 있어서는 프로그래머블논리회로 또는 프로그래머블논리회로 시스템이 동작중, 다른 동작중의 부분회로의 동작에 영향을 주는 일 없이, 적어도 하나의 부분회로에서 실현된 회로기능을 변경할 수 있다. 이 회로기능의 변경에 의해서, 논리기능, 접속기능 및 데이터로 입출력기능을 변경할 수 있다.
이것에 의해 게이트수로 결정되는 구성가능 회로수 보다도 많은 회로를 실현할 수 있다.
청구항17 내지 19항중 어느 한항 기재의 프로그래머블논리회로 및 청구항33 내지 35중 어느 한항 기재의 프로그래머블논리회로시스템에 있어서는 기능결정용데이터를 공급하기 위한 기능결정용데이터서버를 포함하고 상기 기능결정용데이터는 전용선 및 프로그래머블배선중 어느 것을 거쳐서 부분회로에 공급할 수 있다. 따라서 기능결정용데이터를 효율 좋게 부분회로에 공급할 수 있고, 프로그래머블논리회로 및 프로그래머블논리회로시스템의 회로구성을 간이화 할 수 있다.
청구항20 또는 21 기재의 프로그래머블논리회로 및 청구항36 또는 37 기재의 프로그래머블논리회로시스템에서는 부분회로는 복수의 기능결정용데이터를 저장하는 기억회로를 갖고 있다. 따라서, 기능결정용데이터를 절환함으로서, 부분회로에서 실현되는 회로기능을 단시간에 변경할 수 있다.
청구항22 기재의 프로그래머블논리회로 및 청구항38 기재의 프로그래머블 논리회로시스템에 있어서는 기능결정용데이터서버를 접속하기 위한 인터페이스가 설비되어 있다. 따라서, 기능결정용데이터서버는 외부에 설비할 수 있기 때문에, 프로그래머블논리회로 및 프로그래머블논리회로시스템을 간이화 할수 있다. 또, 기능결정용데이터서버로서, 퍼스널컴퓨터등의 대형의 고기능 장치를 사용할 수 있다.
청구항23 기재의 프로그래머블논리회로 및 청구항39 기재의 프로그래머블논리회로시스템에 있어서는 특정한 부분회로의 회로기능을 선택적으로 변경하는 제어장치가 설비되어 있다. 제어장치는 전용선 및 프로그래머블배선중 어느것을 거쳐서 부분회로에 접속되어 있다. 따라서, 프로그래머블논리회로가 동작중에, 특정한 부분회로만의 회로 기능을 효율 좋게 변경할 수 있다.
청구항24 기재의 프로그래머블논리회로 및 청구항40 기재의 프로그래머블논리회로시스템에 있어서는 제어장치를 접속하기위한 인터페이스가 설비되어 있다. 따라서, 제어장치는 외부에 설비할수 있기 때문에, 프로그래머블논리회로 및 프로그래머블논리회로시스템을 간이화할 수 있다. 또, 제어장치로서, 퍼스널컴퓨터등의 대형의 고기능 장치를 사용할 수 있다.
청구항25 내지 27중 어느 한항 기재의 프로그래머블논리회로에서는 논리셀에서 실현된 회로기능이 변경될 때, 논리셀의 출력이 출력데이터유지회로에 의해서 유지된다. 따라서, 특정한 논리셀의 회로기능이 변경되더라도, 다른 동작중의 논리셀의 동작에 영향을 주는 것을 방지할 수 있다.
청구항29 기재의 프로그래머블논리회로에서는 기능결정용메모리의 시프트 레지스터는 체인래치구성의 시프트레지스터로 구성되어 있다. 따라서, 프로그래머블논리회로를 소형화할 수 있다.
청구항30 기재의 프로그래머블논리회로에서는 메모리콘트롤러에 공급되는 기능결정용데이터는 다른 논리셀에서의 출력신호를 기초로 생성된다. 따라서, 외부에서 기능결정용데이터를 공급할 필요가 없기 때문에, 프로그래머블논리회로에서 구성할 수 있는 회로기능규모를 게이트수로 정해지는 회로기능규모보다도 자율적으로 증가시킬 수 있다.
본 발명에 관한 시프트 레지스터의 실시예에 대해서 설명한다. 제1도는 본 발명에 관한 시프트 레지스터의 실시예의 회로구성도이다. 제2도는 제1도에 나타낸 시프트 레지스터의 클록공급회로의 회로구성도이다.
제1도에 나타낸 시프트 레지스터는 체인래치구성을 갖고 있고, 시프트 레지스터의 일부를 제1도에 나타내고 있다. 제1도에 나타낸 시프트 레지스터에서는 회로셀(a∼f)이 세로로 접속되어 있다. 하나의 회로셀과 그 인접의 회로셀의 일부의 회로로서, 플립플롭을 구성할 수 있다. 본 발명에 관한 시프트 레지스터의 회로셀에서는 메인신호패스에 있어서의 스위치로서, 트랜스미션 게이트(1a∼1f, 2a∼2f)가 설비되어 있고, 또, 피드백루프의 스위치로서 P채널 MOS 트랜지스터 (3a∼3f, 4a∼4f)가 설비되어 있다.
또, 각 회로셀에서 트랜스미션 게이트(1a∼1f), P채널 트랜지스터(3a∼3f)에는 클록(CK)이 공급되고, 트랜스미션 게이트(2a~2f) 및 P채널트랜지스터(4a∼4f)에는 클록(XCK)(클록(CK)을 반전한 클록)이 공급된다. 따라서, 트랜스미션 게이트(1a∼1f) 및 P 채널트랜지스터(3a∼3f)가 도통되어 있을 때에는 트랜스미션 게이트(2a∼2f) 및 P채널트랜지스터(4a∼4f)는 비도통으로 되어, 이들 군은 배타적으로 동작한다.
상기한 구성에서는 트랜스미션 게이트(1a∼1f, 2a∼2f)의 전송지연은 P채널트랜지스터 (3a∼3f, 4a∼4f)의 전송지연보다도 작다. 따라서, 메인신호패스의 전송시간은 피드백회로의 전송시간보다도 짧게 된다. 이상의 구성에 의해서, 전술한 체인래치구성의 시프트 레지스터의 동작타이밍을 안정적으로 실현할 수 있다.
클록(CK, XCK)은 제2도에 나타낸 클록공급회로에 의해서 공급된다. 제2도에 있어서, 입력된 클록은 인버터(7)에 의해서 반전되어, 2개의 신호로 분할된다. 한쪽은 인버터(8)에 의해서 다시 반전되어 클록(CK)을 출력한다. 다른쪽은 인버터(9)에 의해서 반전된 후, 재차인버터(10)에 의해서 반전되어 클록(XCK)을 출력한다.
인버터는 일반적으로 P채널트랜지스터와 N채널트랜지스터로 구성된다. 그러나 N채널트랜지스터의 구동력은 P채널트랜지스터의 구동능력 보다도 수배크기 때문에, 출력파형의 상승에지가 급격하게 천이할 수 없다. 이 문제는 P채널트랜지스터측의 구동능력을 N채널트랜지스터측의 구동능력보다 실질적으로 크게함으로서 해결할 수 있음을 실험적으로 알았다.
상기한 해결방법을 달성하기 위해서, 커스텀(LSI)에서는 P채널측의 트랜지스터의 구동능력을 증가시키기 위해서 큰 사이즈의 P채널트랜지스터를 사용할 수 있다. 또한, 게이트어레이에서는 트랜지스터의 사이즈가 똑같기 때문에 제2도에 나타낸 바와 같이, 인버터(8, 10)의 P채널트랜지스터 수를 N채널트랜지스터의 수보다도 많게 한다.
P채널트랜지스터의 구동능력을 Dp, N채널트랜지스터의 구동능력을 Dn으로 하면, P채널트랜지스터의 수와 N채널트랜지스터의 수의 비는 Dn/Dp보다도 실질적으로 큰 것이 바람직하다. 각 트랜지스터의 절대수는 클록공급회로의 클록이 접속되는 부하의 량(스위치 수)에 의존한다. 상기의 조건을 만족할 때에, 출력파형의 상승에지가 급격하게 천이할 수 있어, 클록(CK)과 클록(XCK)의 파형이 실질적으로 대칭이 된다.
상술한 바와 같이 본 발명에 관한 시프트 레지스터에서는 스위치회로로서, 트랜스미션 게이트 및 P채널트랜지스터가 사용되고, 또 클록공급회로에서는 실질적으로 대칭성을 갖는 클록(CK, XCK)이 각 스위치에 공급된다. 따라서, 회로셀에서의 스위치의 출력의 상승시간 및 하강시간을 실질적으로 동일하게 할수 있다. 또한, 피드백 루프에 있어서도, 종류가 다른 트랜스미션 게이트와 P채널트랜지스터를 사용하고, 신호의 전송시간이 적절하게 조정되어 있다. 이상의 조건에 의해서, 커스팀(LSI) 뿐만 아니라 게이트에 있어서도, 전술한 체인래치구성의 시프트 레지스터의 동작을 보다 안정화 및 확실화 할 수 있다.
본 발명에 관한 시프트 레지스터에서는 하나의 플립플롭을 제62도에 나타낸 종래의 플립플롭의 게이트수의 약반이하로 구성할 수 있다. 따라서, 시프트 레지스터를 구성하는 게이트수나 칩면적도 종래의 반이하로 절감할 수 있다. 또, 대단히 많은 단수의 시프트 레지스터를 메모리로서 사용하는 프로그래머블논리회로에서도, 메모리를 위한 칩면적을 절감할 수 있고, 칩면적에 대한 프로그램가능한 논리회로게이트수를 증가할 수 있다.
제3도는 제1도에 나타낸 본 발명에 관한 시프트 레지스터의 실시예의 변경예이다. 제3도에 나타낸 시프트 레지스터에서는 제1도에 나타낸 시프트 레지스터와 비교하여, 인버터 (5a∼5f, 6a∼6f)대신에, NAND게이트 (11a∼11f 및 12a∼12f)가 사용되고 있다. 본 회로에서는 NAND게이트 (11a∼11f 및 12a∼12f)의 나머지 입력(S 및 R)에 논리 "1"을 설정하면, 각 NAND게이트 (11a∼11f 및 12a∼12f)는 각각 인버터로서 동작한다. 이 경우의 이 시프트 레지스터의 동작은 제1도에 나타낸 시프트레지스트와 같다.
한편, NAND게이트(11a∼11f 및 12a∼12f)의 나머지 입력(S 및 R)에 논리 "0"을 설정하면, NAND게이트(11a∼11f, 및 12a∼12f)의 출력은 논리 "1" 로 고정할 수 있다. 따라서, NAND게이트의 나머지 입력(S 및 R)을 자유롭게 설정함으로서, 페로에 유지되는 값을 임의로 설정할 수 있다.
제4도는 제1도에 나타낸 본 발명에 관한 시프트 레지스터의 실시예의 변경예이다. 제4도에 나타낸 시프트 레지스터에서는 제1도에 나타낸 시프트 레지스터와 비교하여, 인버터 (5a∼5f 및 6a∼6f) 대신에, NOR게이트(13a∼13f 및 14a∼14f)가 사용되고 있다. 본 회로에서는 NOR게이트(13a∼13f 및 14a∼14f)의 나머지 입력(S 및 R)에 논리 "0"를 설정하면, 각 NOR게이트(13a∼13f 및 14a∼14f)는 각각 인버터로서 동작한다. 이 경우의 이 시프트 레지스터의 동작은 제1도에 나타낸 시프트 레지스터와 같다.
한편, NOR게이트(13a∼13f 및 14a∼14f)의 나머지 입력(S 및 R)에 논리 "1"을 설정하면, NOR게이트(13a∼13f 및 14a∼14f)의 출력은 논리 "0"으로 고정할 수 있다. 따라서, NOR게이트의 나머지 입력(S 및 R)을 자유롭게 설정함으로서, 폐로에 유지되는 값을 임의로 설정할 수 있다.
제5도는 임의 상태가 설정가능한 상태설정회로가 설비된 시프트 레지스터의 구성예를 나타내는 도면이다. 제5도에서는 제3도에 나타낸 시프트 레지스터의 회로셀(a∼c)에 각각 상태설정회로(15a∼15c)가 접속되어 있다. 이 상태설정회로(15a∼15c)에서는 입력신호(WRITE 및 DATA)의 조합에 의해서, 체인래치의 상태를 변화시킬 수 있다.
제6도는 제5도에 나타낸 상태설정회로의 구성예이다. 이 상태설정회로는 NAND게이트(16a∼16c 및 18a∼18c)와 인버터(20a∼20c)로 구성되어 있다. 예를 들어, 논리셀(a)에서, 입력신호(WRITE)가 논리 "0"일 때, 입력신호(DATA)의 값에 관계없이, NAND게이트(16a 및 18a)의 양쪽의 출력공통논리 "1"이 된다. 이 경우, 논리셀(a)의 NAND게이트(11a 및 12a)는 인버터로서 동작한다.
한편, 입력신호(WRITE)가 논리 "1"일 때, NAND게이트(16a 및 18a)의 출력은 입력신호(DATA)에 따라서 (논리 "0", 논리 "1") 또는 (논리 "1", 논리 "0")가 된다. 전자의 경우, 논리셀(a)의 NAND게이트(11a)의 출력이 논리 "1"로 설정되고, 후자의 경우 NAND게이트(12a)의 출력은 논리 "1"로 설정된다.
제7도는 제5도에 나타낸 상태설정회로의 다른 구성예이다. 이 상태설정회로는 OR게이트(22a∼22c 및 24a∼24c)와 인버터(26a∼26c)로 구성되어 있다. 예를 들어, 논리셀(a)에서, 입력신호(WRITE)가 논리 "1"일 때, 입력신호(DATA)의 값에 관계없이, OR게이트(22a, 24a)의 양쪽의 출력공통논리 "1"로 된다. 이 경우, 논리셀(a)의 NAND게이트(11a 및 12a)는 인버터로서 동작한다.
한편, 입력신호(WRITE)가 논리 "0"일 때, OR게이트(22a 및 24a)의 출력은 입력신호(DATA)에 따라서 (논리 "0", 논리 "1") 또는 (논리 "1", 논리 "0")가 된다. 전자의 경우, 논리셀(a)의 NAND게이트(11a)의 출력이 논리 "1"로 설정되고, 후자의 경우 NAND게이트(12a)의 출력이 논리 "1"로 설정된다.
또, 상태설정회로는 상술한 구성에 한정되지 않는다. 즉, 상태설정회로가 NAND게이트(11a,12a)를 쌍방 모두 인버터로서 동작시키거나, 적어도 어느 한쪽의 출력을 고정하는 기능을 가지면 그 상태설정회로는 여러가지의 회로구성을 가질 수 있다.
또, 제4도에 나타낸 시프트 레지스터에 대해서도 같은 상태설정회로를 부가할 수 있다. 이 경우, 전형적인 상태설정회로는 AND게이트와 인버터의 조합 또는 NOR게이트와 인버터의 조합에 의해서 구성할 수 있다.
제8도는 본 발명에 관한 시프트 레지스터의 룩업테이블(look-up table)의 응용예이다. 제8도에서는 시프트레지스터는 RAM(28)으로 사용되고, 시프트 레지스터의 각 회로셀은 메모리 셀로서 정의되고 있다. 각 메모리셀의 출력은 디코더회로(30)에 접속되어 있다. 디코더회로(30)와 RAM(28)의 조합에 의해서 3 입력프로그래머블기능유니트(룩업테이블)를 실현할 수 있다. 즉, 입력(A, B, C)에 대해서 메모리데이터로 결정된 논리에 따른 출력이 얻어진다.
제9도는 제8도에 나타낸 디코더회로의 구성예이다. 디코더회로의 입력(A, B, C)은 각각 상보신호로 공급된다. 제9도의 디코더회로는 입력(A, B, C)에 의해서 제어되는 3단의 스위치군으로 구성되어 있고, 입력(A)에 의해서 제어되는 초단의 스위치군은 각 메모리 셀에 접속되어 있다. 입력 (A, B, C)의 조합 의해서, 8개의 메모리 셀의 데이터중 1개가 선택된다. 이 구성에 의해서, 3입력조합 논리를 실현할 수 있다.
제10도는 제8도에 나타낸 디코더회로의 다른 구성예이다. 제10도에 나타낸 디코더회로에서는 제9도에 나타낸 디코더회로와 비교하여 각각의 스위치가 트랜스미션 게이트로 구성되어 있다. 제10도에 나타낸 룩업테이블은 제9도에 나타낸 회로와 같이 동작한다.
다음에, 본 발명에 관한 시프트 레지스터의 기타 실시예에 대해서 설명한다. 종래의 프로그래머블논리회로에서는 플립플롭은 논리셀내에 미리 준비된 플립플롭 또는 논리셀에 피드백 패스(feedback path)를 부가함으로서 실현할 수 있다. 따라서 실현되는 플립플롭의 수는 미리 정해져 있어 더 많은 플립플롭을 논리셀내에 실현하는 것은 어려웠다. 본 발명에서는 프로그래머블논리회로의 기능결정용메모리로서 상술한 시프트 레지스터를 사용하면, 이 시프트 레지스터의 일부를 플립플롭으로서 사용할 수 있다.
제11도는 체인래치의 일부를 플립플롭으로서 사용가능한 본 발명에 관한 시프트 레지스터의 실시예의 모델도이다. 제11도에 있어서, 해칭된 회로셀을 플립플롭으로서 사용할 수 있다. 또, 플립플롭으로서 사용되는 회로셀에는 스위치(Q) 및 인버터(R)가 더 부가된다. 회로셀의 일부를 플립플롭으로서 사용하는 경우, 스위치(A, B, M, N)가 오프되어, 플립플롭으로서 사용되는 회로셀이 나머지 회로셀과 아이솔레이트된다. 이 아이솔레이트에 의해서, 일부의 회로셀이 플립플롭으로서 동작하고 있을 때, 이들의 동작이 나머지의 회로셀에 유지되어 있는 기능결정용데이터에 영향을 미치는 것이 방지된다.
해칭된 회로셀을 플립플롭으로서 사용하는 경우, 스위치(H,G)의 제어타이밍은 스위치(H)가 오프될 때, 귀환로(O)가 스위치(G)만으로 귀환로(P)와 접속되도록(스위치 (G)가 온) 설정된다. 또한, 스위치(D, J)는 항상 온되어, 능동회로(F 및 L)의 출력이 항상 인버터(C 및 I)의 입력단으로 전송된다.
스위치(Q, K)군과, 스위치(E, G)군은 배타적으로 제어된다. 입력단자(S)에 인가된 신호는 스위치(Q, K)가 온이고 스위치(E, G)가 오프될 때 인버터(F)의 출력단으로 전송되고, 또 인버터(C)의 출력단으로 전송된다. 다음에 스위치(Q 및 K)가 오프이고 스위치(E 및 G)가 온일 때, 인버터(F, C)의 입출력상태는 폐로(O)로 유지된다. 다음에, 재차, 스위치(Q, K)가 온이고 스위치(E, G)가 오프 될 때, 폐로(O)로 유지되어 있던 신호는 폐로(P)로 천이하는 동시에, 출력단자(T)로부터 출력된다.
상술한 바와 같이, 체인래치 구성의 시프트 레지스터의 일부 회로셀에 소정 신호를 공급함으로서, 그 회로셀을 플립플롭으로서 동작시킬 수 있다. 따라서, 이 시프트 레지스터를 프로그래머블논리회로의 기능결정용메모리에 사용한 경우, 그 기능결정용메모리의 일부를 플립플롭으로서 사용할 수 있고, 논리셀에서 실현되는 플립플롭의 수를 증가시킬 수 있다. 따라서, 프로그래머블논리회로의 등가게이트 수를 대폭 향상시킬 수 있다.
제12도는 제11도에 나타낸 시프트 레지스터의 실시예의 구체적 구성도이다. 제12도에 나타낸 시프트 레지스터에서는 제1도에 나타낸 시프트 레지스터와 같이, 스위치로서 트랜스미션 게이트와 P채널 MOS가 사용되고 있다. 또, 회로셀(b)에는 트랜스미션 게이트(40)가 접속되고, 회로셀(c)에는 인버터(42)가 접속되어 있다. 또한, 플립플롭으로서 사용가능한 회로셀(b,c) 및 회로셀(a)의 일부에는 제2도에 나타낸 클록공급회로 대신에 클록제어회로(clock distributor)가 접속되어 있다.
이 클록제어회로는 회로셀이 플립플롭으로서 사용되지 않는 경우에는 제1도 및 제2도에 나타낸 클록 (CK,XCK)을 회로셀내의 각 스위치에 공급한다. 한편, 회로셀이 D플립플롭으로서 사용되는 경우, 클록제어회로는 회로셀(b,c)을 나머지 회로로부터 아이솔레이트하도록 소정 클록을 공급하고, 또 D플립플롭을 위한 클록(DCK,XDCK)을 공급한다.
제13도은 제12도에 나타낸 클록제어회로의 회로구성도이다. 클록제어회로는 복수의 셀렉터를 포함하고 있고, 회로셀이 시프트 레지스터로서 사용될 경우, 시프트 레지스터를 위한 클록(CK,XCK)이 선택 및 출력되어, 회로셀이 D플립플롭으로서 사용되는 경우, D플립플롭을 위한 클록(DCK,XDCK)이 선택 및 출력된다. 회로셀이 시프트 레지스터로서 사용될지 또는 플립플롭으로서 사용될지 여부는 제어신호(PGM 및 MODE)의 조합으로 결정된다.
제14도는 제12도에 나타낸 본 발명에 관한 시프트 레지스터의 실시예의 변경예이다. 제14도에 나타낸 시프트 레지스터에서는 스위치로서 트랜스미션 게이트와 P채널트랜지스터가 사용되고, 인버터 대신에 NAND회로가 사용되고 있다. 또, 회로셀(b, c)에는 클록공급회로 대신에 제13도에 나타낸 클록제어회로가 설비되어 있다.
클록제어회로는 시프트 레지스터를 위한 클록신호(CK,XCK), D 플립플롭을 위한 클록신호(DCK,XDCK) 및 2개의 동작을 선택하기위한 제어신호(PGM 및 MODE)가 입력으로서 공급된다. 제14도에 나타낸 시프트 레지스터에서는 NAND게이트의 입력단자(R, S)에 소정 신호를 설정함으로서, 제6도 및 제7도의 시프트 레지스터와 동일하게 시프트 레지스터의 일부 상태를 임의로 설정할 수 있다. 또 같은 원리에 의해서, 형성된 플립플롭의 상태도 임의로 설정할 수 있다.
제15도는 제12도에 나타낸 본 발명에 관한 시프트 레지스터의 실시예의 다른 변경예이다. 제15도에 나타낸 시프트 레지스터에서는 스위치로서 트랜스미션 게이트와 P채널트랜지스터가 사용되고, 인버터 대신에 NOR 회로가 사용되고 있다. 또 회로셀(b,c)에는 클록공급회로 대신에 제13도에 나타낸 클록제어회로가 설비되어 있다.
클록제어회로는 시프트 레지스터를 위한 클록신호(CK,XCK), D 플립플롭을 위한 클록신호(DCK,XDCK) 및 2개의 동작을 선택하기 위한 제어신호(PGM과 MODE)가 입력으로서 공급된다. 제15도에 나타낸 시프트 레지스터에서는 NOR게이트의 입력단자(R,S)에 소정 신호를 설정함으로서, 시프트 레지스터의 일부 상태를 임의로 설정할 수 있다. 또 형성된 플립플롭의 상태도 임의로 설정할 수 있다.
다음에, 본 발명의 시프트 레지스터를 FPGA의 기능 결정용메모리에 사용한 경우에 대해서 설명한다. 본 발명의 시프트 레지스터는 제61도에 나타낸 일반적인 FPGA로 사용할 수 있다.
제16도는 본 발명에 관한 프로그래머블논리회로의 논리셀의 실시예의 블록구성도이다. 본 프로그래머블논리회로의 논리셀은 프로그래머블기능유니트와, 프로그래머블기능유니트의 기능을 결정하기위한 기능결정용메모리(컨피규레션메모리)를 포함하고 있다. 프로그래머블기능 유니트는 몇개의 플립플롭을 포함할 수 있다. 기능결정용메모리는 제12도에 나타낸 시프트 레지스터로 구성되어 있다. 이 시프트 레지스터는 회로셀(M0,M1,MFF,M2,M3)를 포함하고 있다. 회로셀(M0,M1,M2,M3)은 상술한 회로셀(a)과 같은 회로구성을 갖는다. 또 회로셀(MFF)은 제12도에 나타낸 회로셀(b,c)과 실질적으로 같은 구성을 갖는다. 따라서, 회로셀(MFF)은 플립플롭으로서 동작할 수 있다.
제16도에 나타낸 클록제어회로(CKD)는 제12도에 나타낸 클록제어회로와 실질적으로 같은 구성을 갖고 있다. 이 클록제어회로(CKD)에는 시프트 레지스터용클록(CK,XCK), 플립플롭용클록(FFCK,FFXCK) 및 제어신호(FFMODE, PGM)가 공급된다. 또, 제16도에 나타낸 클록제어회로(CKD)에는 플립플롭용데이터(FFIN)를 공급할 수 있고, 또 플립플롭의 출력(FFOUT)을 인출할 수 있다.
제16도에 있어서, 기능결정용데이터가 논리셀에 로드될 때, 제어신호(PGM)로부터의 지시에 의해서, 회로셀(MFF)은 시프트 레지스터로서 동작된다. 따라서, 기능결정용데이터는 회로셀(M0,M1,MFF,M2,M3)에 그 순번에 따라 로드된다. 기능결정용데이터가 로드된 후, 그 데이터에 따라서 프로그래머블기능 유니트는 그 기능이 결정된다.
이 때, 회로셀(MFF)내에 로드된 기능결정용데이터중 출력(OUT0)은 클록제어회로(CKD)의 제어신호(FFMODE)로서 귀환된다. 이 신호가, 회로셀(MFF)이 플립플롭으로서 사용되는 것을 나타내고 있으면, 클록제어회로(CKD)에서 회로셀(MFF)는 플립플롭으로서 동작하도록 제어된다. 이때, 전술한 바와 같이, 회로셀(MFF)은 나머지 회로셀(M0, M1, M2, M3)과 아이솔레이트된다.
회로셀(MFF)이 플립플롭으로서 설정된 후, 클록제어회로를 통해서, 플립플롭용클록(FFCK, FFXCK) 및 플립플롭용데이터(FFIN)가 공급된다. 이 경우, 플립플롭용데이터(FFIN)는 프로그래머블기능유니트로부터 공급하는 것도 가능하다. 또, 플립플롭의 출력(FFOUT)을 프로그래머블기능유니트로 공급할 수도 있다.
상술한 바와 같이, 본 발명에 관한 프로그래머블논리회로에서는 통상 사용할 수 있는 플립플롭 외에, 기능결정용 메모리의 일부를 플립플롭으로서 사용할 수 있다. 따라서, 사용할 수 있는 플립플롭의 수를 대폭 증가시킬 수 있다.
제17도는 제16도에 나타낸 프로그래머블논리회로의 논리셀의 변경예이다. 본 프로그래머블논리회로의 논리셀은 제16도에 나타낸 논리셀과 같이, 프로그래머블기능유니트와, 상기 프로그래머블기능유니트의 기능을 결정하기 위한 기능결정용메모리를 포함하고 있다. 제17도에 나타낸 논리셀에서는 기능결정용메모리는 제14도 또는 제15도에 나타낸 시프트레지스터로 구성되어 있다. 이 시프트 레지스터는 회로셀(M0,M1,MFF,M2,M3)을 포함하고 있다. 각 회로셀은 회로셀의 상태를 설정하기 위한 입력단자(S 및 R)를 갖고 있다. 기타 회로는 제16도에 나타낸 논리셀과 같고, 회로셀(MFF)은 제16도의 회로의 동작과 같이 플립플롭으로서 동작할 수 있다.
또, 제17도에 나타낸 논리셀에서는 입력단자(R0∼R6 및 S0∼S6)에 임의로 값을 설정함으로서, 각 회로셀을 소망하는 상태로 설정할 수 있다.
다음에, 본 발명에 관한 프로그래머블논리회로의 실시예에 대해서 설명한다. 종래의 프로그래머블논리회로에서는 기능결정용데이터가 기능결정용메모리에 한번 로드되면, 프로그래머블논리회로가 별도 목적으로 사용될때까지, 로드된 기능결정용데이터는 고정된다.
그러나, 회로가 대규모이면, 일부의 회로는 단시간의 사이에만 사용되는 경우가 있다. 또는 전체 동작의 초기만 사용되는 회로도 있다. 이와 같은 회로를 항상 프로그래머블논리회로중에 유지하여 놓는 것은 회로의 구성에 대해 비효율적이다. 본 발명에 관한 프로그래머블논리회로에서는 프로그래머블논리회로의 동작중에, 일부의 회로(예를 들어, 일부의 논리셀)를 별도 기능을 갖는 회로로 변경할 수 있어 구성가능한 최대회로수를 향상시킬 수 있다.
우선, 본 발명에 관한 프로그래머블논리회로의 각부의 회로에 대해서 설명한다. 본 발명에 관한 프로그래머블논리회로를 구성하는 논리셀에 대해서 설명한다.
제18도는 본 발명에 관한 프로그래머블논리회로를 구성하는 논리셀의 기본구성의 블록도이다. 본 논리셀(50)은 프로그래머블기능유니트(51), 제어유니트(52) 및 기능결정용메모리(컨피규레이션메모리)(53)로 구성된다. 기능결정용메모리(53)에는 복수의 기능결정용데이터가 기억되어 있고, 이 기능결정용데이터는 제어유니트(52)의 기능결정용입력(56)으로부터 기입되고, 또 그 기능결정용출력단자(57)로부터 판독할 수 있다.
제어유니트(52)의 제어입력(58)에 의해서, 기능결정용메모리(53)내의 하나의 기능결정용데이터가 프로그래머블기능유니트(51)로 공급된다. 이 때, 프로그래머블기능유니트(51)에서는 공급된 기능결정용데이터에 따른 논리회로가 프로그램된다. 이 프로그램된 논리회로는 몇개의 플립플롭도 포함할 수 있다. 프로그래머블기능유니트(51)에 입력된 입력신호(54)는 그 프로그램된 논리회로에 의해서 처리되어, 출력신호(55)로서 출력된다.
또, 프로그래머블논리회로가 동작중에, 제어유니트(52)의 제어입력(58)에 의해서, 한번 프로그램한 프로그래머블기능유니트(51)에 다른 기능결정용데이터를 다이나믹하게(동적으로) 재설정할 수 있다. 그 후, 프로그래머블기능유니트(51)는 별도의 논리회로로서 동작을 개시한다.
복수의 논리셀을 포함하는 프로그래머블논리회로에서는 항상 동작하고 있는 논리셀은 많지 않다. 따라서, 일시적으로 동작을 정지하고 있는 논리셀을 다이나믹하게 다른 기능을 갖는 논리회로에 재프로그램함으로서, 프로그래머블인 논리회로의 규모를 대폭 증가할 수 있다.
제19도는 제18도에 나타낸 논리셀(50)의 일구성예이다. 제18도와 같은 기능의 요소에는 같은 참조번호를 부여하고 있다. 제19도에 나타낸 논리셀(50-1)에서는 제어유니트(52-1)는 선택기능부(59)를 포함하고 있다. 이 선택기능부(59)는 제어입력(58)에 의해서, 기능결정용메모리(53)의 복수의 기능결정용데이터로부터 하나를 선택하여 프로그래머블기능유니트(51)에 공급한다. 상술한 바와 같이, 프로그래머블 논리회로가 동작중에 있더라도, 선택기능부(59)는 동작할 수 있고, 소망하는 기능결정용데이터를 다이나믹하게 프로그래머블기능유니트(51)에 설정할 수 있다.
또, 제18도에 나타낸 프로그래머블논리회로에서는 프로그래머블기능유니트(51)에 설정하는 기능결정용데이터로서, 기능결정용메모리(53)에 기억되어 있는 기능결정용데이터뿐만 아니라, 다른 논리셀의 출력신호나, 외부에서 공급된 신호도 사용할 수 있다.
제20도는 제18도에 나타낸 논리셀(50)의 다른 구성예이다. 제18도와 같은 기능 요소에는 같은 참조부호를 부여하고 있다. 제20도에 나타낸 논리셀(50-2)에서는 제어유니트(52-2)에 의해서, 기능결정용메모리(53-2)는 종렬로 접속된 메모리로 구성된다. 즉, 제어유니트(52-2)에 입력되는 기능결정용클록에 의해서, 기능결정용데이터가 기능결정용메모리(53-2)에 시리얼로 전송된다.
시리얼기능결정용데이터가 기능결정용메모리(53-2)에 설정된 후, 트리거신호(도시하지 않음)에 의해서, 시리얼기능결정용데이터가 프로그래머블기능유니트(51)에 공급된다. 그 후, 새로운 시리얼기능결정용 데이터를 기능결정용 메모리(53-2)에 설정할 수 있다. 그리고, 프로그래머블논리회로가 동작중에, 전에 설정한 논리회로가 사용되지 않을 때, 트리거신호(도시하지 않음)에 의해서, 준비된 새로운 시리얼기능결정용 데이터가, 프로그래머블기능유니트(51)에 공급되어, 새로운 논리회로로서 동작을 개시한다.
제21도는 제20도에 나타낸 논리셀((50-2)의 구체적 구성예이다. 제21도에 나타낸 논리셀(50-2')에서는, 제20도에 나타낸 논리셀(50-2)과 비교하여, 표기상, 기능결정용메모리(53-2)가 프로그래머블기능유니트(51)와 제어유니트로서의 메모리 콘트롤러(52-2)의 사이에 기재되어 있다. 기능결정용메모리(53-2)는 회로셀(M0∼M8)로 되는 시프트레지스터로 구성되어 있다. 따라서 제20도의 논리셀(50-2)과 같이, 시리얼기능결정용 데이터(DIN)를 클록(CK)에 의해서, 기능결정용메모리(53-2)에 설정할 수 있다.
또, 회로셀(M0∼M8)이 제3도 또는 제4도에 나타낸 시프트 레지스터로 구성된 경우, 각 회로셀의 입력단자(R 및 S)에, 메모리 콘트롤러(52-2)로부터 임의의 값을 설정함으로서 각 회로셀의 상태를 소망하는 값으로 설정할 수 있다. 회로셀의 입력단자(R0-R7 및 S0∼S7)의 값은 메모리 콘트롤러(52-2)의 컨피규레이션입력에 공급된 신호에 의해서 결정된다. 즉, 기능결정용메모리(53-2)(M0∼M8)에 데이터를 로드하여 프로그래머블기능유니트(51)의 논리를 결정한 후에도, 프로그래머블논리회로가 동작중에 컨피규레이션입력에 공급하는 신호를 변경하면, 프로그래머블기능유니트(51)의 논리를 변경할 수 있다.
다음에 본 발명에 관한 프로그래머블논리회로를 구성하는 논리셀의 다른 구성예에 대해서 설명한다. 제22도는 본 발명에 관한 프로그래머블논리회로를 구성하는 룩업테이블형논리셀의 구성예이다.
제22도에 나타낸 논리셀(60)은 선택기능유니트(61), 메모리셀플레인(memory cell plain)(62) 및 디코더기능유니트(63)로 구성되어 있다. 선택기능유니트(61)는 제8도의 디코더회로(30)에 상당하고, 메모리 셀플레인(62)은 제8도의 메모리셀(28)에 상당하고, 이것은 룩업테이블을 구성한다. 디코더기능유니트(63)는 기능결정용데이터를 메모리에 기입할 때, 메모리의 어드레스를 결정한다.
제18도에 나타낸 논리셀과 비교하면, 선택기능유니트(61), 메모리 셀플레인(62) 및 디코더기능 유니트(63)는 각각, 제18도의 프로그래머블기능유니트(51), 기능결정용메모리(53) 및 제어유니트(52)에 상당한다. 따라서, 제22도에 나타낸 논리셀에서도, 제18도에 나타낸 논리셀과 같이, 프로그래머블논리회로가 동작중에, 메모리 셀플레인(62)의 기능결정용데이터를 변경함으로서, 선택기능유니트(61)의 기능을 변경할 수 있다.
제23도은 제22도에 나타낸 논리셀의 변경예이다. 제23도에 나타낸 논리셀(60')은 선택기능유니트(61') 및 메모리 셀플레인(62')으로 구성되어 있다. 논리셀(60')에서는 제22도에 나타낸 디코더기능유니트(63)의 기능이 선택기능유니트(61') 및 메모리 셀플레인(62')에 분산되어 있다.
즉, 논리셀(60')에서는, 선택기능유니트(61')를 거쳐서, 기능결정용데이터가 메모리 셀플레인(62')에 공급된다. 이 경우, 메모리 셀플레인(62')에 대한 어드레스입력도, 선택기능유니트(61')를 거쳐서 입력된다. 따라서, 논리셀(60')은 제22도에 나타낸 논리셀(60)과 비교하여 간이한 회로구성을 갖고, 또 실질적으로 동일한 다이나믹 재프로그래머블기능을 가질 수 있다.
제24도는 본 발명에 관한 프로그래머블논리회로를 구성하는 논리셀의 다른 구성예이다. 제24도에 나타낸 논리셀(70)은 프로그래머블기능유니트(71), 메모리 셀플레인(72) 및 디코더기능유니트(73)로 구성되어 있고, 제18도에 나타낸 논리셀과 실질적으로 같은 구성을 갖고 있다. 프로그래머블기능유니트(71)는 제18도의 프로그래머블기능유니트(51)에 상당하고, 논리선택형회로나 AND-OR 플레인형회로로 구성할 수 있다(후에 상세히 설명함). 메모리 셀플레인(72) 및 디코더기능유니트(73)는 제22도에 나타낸 메모리 셀플레인(62) 및 디코더기능유니트(63)와 실질적으로 같은 기능을 갖는다. 따라서, 논리셀(70)은 실질적으로 같은 다이나믹 재프로그래머블 기능을 가질 수 있다.
제25도는 제24도에 나타낸 논리셀의 프로그래머블기능유니트(71)의 실시예이다. 제25도에 나타낸 바와 같이, 프로그래머블기능유니트(71)는 NAND, OR등의 논리게이트, 피드백회로, 게이트회로 및 선택회로등으로 구성할 수 있다. 제25도에 나타낸 프로그래머블기능유니트(71)에서는 메모리 셀플레인(72)으로부터의 기능결정용데이터(71-2)가 선택회로 및 게이트회로에 공급되어, 논리기능이 결정된다. 입력신호(71-1)는 프로그램된 논리기능에 따라서 처리되어, 출력신호(71-3)로서 출력된다.
제26도는 제25도에 나타낸 프로그래머블기능유니트(71)의 변경예이다. 제25도와 같은 기능을 갖는 요소에는 같은 참조번호를 부여하고 있다. 제26도에 나타낸 프로그래머블기능유니트(71)에서는 제25도에 나타낸 프로그래머블기능유니트(71)와 비교하여, 출력측에 래치회로(71-4)가 설비되어 있다. 이 래치회로(71-4)에 의해서, 논리셀이 재프로그램되어 있는 때에, 논리셀의 출력치가 변화하는 것을 방지할 수 있다.
또, 상기한 구성에서는 기능유니트부(75-1)에 있어서 피드백 패스를 유효하게 설정하여, 래치회로(71-4)의 제어신호로서 이 피드백 패스를 제어하는 신호와 동일한 신호(적의 반전시킴)를 사용하면, 마스타슬레이브플립플롭을 구성할 수 있다.
제27도는 제25도에 나타낸 프로그래머블기능유니트(71)의 다른 변경예이다. 제25도와 같은 기능을 갖는 요소에는 같은 참조번호를 부여하고 있다. 제27도에 나타낸 프로그래머블기능유니트(71)에서는 제25도에 나타낸 프로그래머블기능유니트(71)와 비교하여, 기능결정용데이터(71-2)를 생성하기 위해서, 2종류의 기능결정용데이터를 기억할 수 있는 메모리유니트(71-6)가 설비되어 있다.
2종류의 기능결정용데이터는 미리 메모리유니트(71-6)에 기입되어 있다. 따라서, 이 2종류의 기능결정용데이터는 단시간에 변경할 수 있다. 따라서, 이 2종류의 기능결정용데이터를 적의 절환함으로서, 물리적인 논리회로규모보다도 큰 논리회로를 실현할 수 있다. 이 경우, 사용하고 있지 않은 메모리의 기능결정용데이터는 자유롭게 재기입할 수 있다. 따라서, 더 실질적인 회로규모를 증가시킬 수 있다.
다음에, 본 발명에 관한 프로그래머블논리회로를 구성하는 I/O 모듈에 대해서 설명한다. 제28도는 본 발명에 관한 프로그래머블논리회로를 구성하는 I/O 모듈의 구성예이다. 제28a도는 기본구성을 나타내고, 제28b도는 메모리유니트를 갖는 구성예를 나타내고 있다. 제28a도에 나타낸 I/O 모듈(80)은 외부회로와 통신하기위한 단자(81), 신호파 형정형 및 버퍼회로(82), 논리셀이나 논리셀간버스에 접속되는 신호선군(83), 신호선군을 자유롭게 접속하는 I/O 접속유니트(84) 및 제어/기능결정입력신호(85)로 구성된다.
제어/기능결정입력신호(85)에 의해서, 프로그래머블논리회로가 동작중에 있더라도, I/O 접속유니트(84)의 접속구조나, 입출력신호의 방향을 변경할 수 있다. 또, 출력신호만 제어하는 것도 가능하다. 이 경우, 본 I/O 모듈에서, 플립플롭등의 다른 회로를 더 설비할 수 있다.
제28b도에 나타낸 I/O 모듈은 I/O 접속유니트(84), 신호파형정형 및 버퍼회로(82)를 위한 메모리유니트(86-1, 86-2)를 갖고 있다. 메모리유니트(86-1, 86-2)의 각각은 제27도에 나타낸 논리셀의 메모리유니트(71-6)와 같이, 2종류의 기능결정용데이터를 갖고 있다. 따라서, 이 2종류의 기능결정용데이터는 단시간에 변경할 수 있다. 따라서, 이 2종류의 기능결정용데이터를 적의 절환함으로서, 물리적인 논리회로규모보다도 큰 논리회로를 실현할 수 있다.
다음에, 본 발명에 관한 프로그래머블논리회로를 구성하는 스위치 박스에 대해서 설명한다. 제29도는 본 발명에 관한 프로그래머블논리회로를 구성하는 스위치 박스의 구성예이다. 스위치 박스는 각 논리셀 사이에 배치되어, 각 논리셀을 자유롭게 접속하기 위한 회로이다. 제29도에 나타낸 스위치 박스(90)는 스위치 박스본체(91), 신호선군(92), 및 접속구조결정데이터서버(93)로 구성된다.
제30도는 스위치 박스본체(91)의 구성예를 나타낸다. 제30a도는 대략구성예를 나타내고, 제30b도는 메모리유니트를 포함하는 스위치부의 구성예를 나타낸다. 제30a도에 있어서, 스위치 박스본체(91)에서는 각 신호선군(92)은 복수의 스위치에 의해서 접속가능하도록 구성되어 있다. 이들 스위치는 트랜스미션 게이트나 패스트랜지스터를 사용하여 구성할 수 있다. 또, 이들 스위치는 접속구조결정 데이터서버(93)에 의해서 제어된다. 따라서, 접속구조결정데이터서버(93)에 의해서, 프로그래머블논리회로가 동작중에 있더라도, 스위치 박스본체(91)의 접속구조를 자유롭게 변경할 수 있다.
제30b도에 나타낸 스위치부는 메모리유니트(95)를 갖고 있다. 메모리유니트(95)는 제27도에 나타낸 논리셀의 메모리유니트(71-6)와 동일하게, 2종류의 기능결정용데이터(A,B)를 갖고 있다. 따라서, 이 2종류의 기능결정용데이터는 단시간에 변경할 수 있다. 따라서, 이 2종류의 기능결정용데이터를 적의 절환함으로서, 물리적인 논리회로규모보다도 큰 논리회로를 실현할 수 있다.
다음에, 본 발명에 관한 프로그래머블논리회로의 구성예에 대해서 설명한다. 제31도는 본 발명에 관한 프로그래머블논리회로의 제1구성예이다. 본 프로그래머블논리회로(110) (도면에서는 프로그래머블 디바이스 "Programable Device"로 기재되어 있음)는 복수의 제18도에 나타낸 논리셀(50)과, 각 논리셀을 접속하는 제29도에 나타낸 스위치 박스(90)와, 복수의 I/O 모듈(80)(도시하지 않음)을 갖고 있다. 이들 구성요소의 각각은 다이나믹하게 재프로그래머블 한 회로이다.
이 논리셀(50)은 프로그래머블기능유니트(51), 제어유니트(52) 및 기능결정용메모리(53)를 포함하고 있다. 기능결정용메모리(53)는 일반적인 메모리뿐만 아니라, 부분적으로 회로셀의 상태를 설정할 수 있는 전술한 본 발명에 관한 시프트 레지스터에서도 구성할 수 있다. 제어유니트(52)에 의해서, 프로그래머블논리회로의 동작중에 논리셀(50)의 상태를 재설정할 수 있다. 제31도에 있어서의 논리셀(50)의 컨피규레이션입력(C_IO)으로부터의 신호는 제어유니트(52)를 거쳐서 기능결정용메모리(53)에 입력된다 (제18도 참조).
또, 스위치 박스(90)는 트랜스미션 게이트나 패스트랜지스터를 사용하여 구성할 수 있다. 제31도에 있어서, 각 논리셀(50)의 컨피규레이션입력(C_IO)은 각 논리셀(50) 사이에 배열된 배선(111)에 접속되어 있다. 따라서, 프로그래머블논리회로가 동작중에 있더라도 임의의 논리셀의 출력신호, 또는 자기자신의 논리셀의 출력신호를 소망하는 논리셀에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 논리셀에서의 지령에 의해서, 소망하는 논리셀의 프로그래머블기능유니트의 논리기능을 수시로 변경할 수 있다.
또, 논리셀(50)로 부터의 출력신호로 스위치 박스(90)를 제어함으로서, 논리셀끼리의 접속상태도 변경가능하다. 이상 상술한 바와 같이 논리셀, 스위치 박스등이 다이나믹한 재프로그래밍에 의해서, 게이트수로 결정되는 구성가능 회로수보다도 많은 회로를 실현할 수 있다.
또, 이러한 구조를 갖는 프로그래머블논리회로를 복수개 사용한 하드웨어 에뮬레이터를 구성하면, 종래의 하드웨어 에뮬레이터에 비해서, 적은 프로그래머블논리회로로 큰 논리회로의 에뮬레이션을 행할 수 있다. 또, 필요로 하는 프로그래머블논리회로의 수를 삭감할 수 있기 때문에 에뮬레이션의 비용을 대폭 삭감할 수 있다.
제32도는 본 발명에 관한 프로그래머블논리회로의 제2구성예이다. 본프로그래머블논리회로(120)는 복수의 제18도에 나타낸 논리셀(50)과, 각 논리셀을 접속하는 제29도에 나타낸 스위치 박스(90)와, 복수의 I/O 모듈(80) (도시하지 않음)과, 기능결정용데이터서버(122)를 갖고 있다.
각 논리셀(50)의 컨피규레이션입력(C_IO)은 각 논리셀(50)의 사이에 배열되어 있는 배선(121)에 접속되어 있다. 또, 기능결정용데이터서버(122)의 컨피규레이션입력(C_IO)도 배선(121)에 접속되어 있다.
따라서, 프로그래머블논리회로의 동작중에도, 임의의 논리셀의 출력신호, 자기자신의 논리셀의 출력신호, 또는 기능결정용데이터서버(122)의 출력신호를 소망하는 논리셀에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 논리셀 및 기능결정용데이터서버(122)로 부터의 지령에 의해서, 소망하는 논리셀의 프로그래머블기능유니트의 기능을 수시 변경할 수 있다.
또, 기능결정용데이터를 기능결정용데이터서버(122)로부터, 복수의 논리셀에 한번에 공급함으로서, 프로그래머블논리회로의 대폭적인 논리기능의 갱신도 할 수도 있다.
제33도는 본 발명에 관한 프로그래머블논리회로의 제3구성예이다. 본 프로그래머블논리회로(130)는 복수의 제18도에 나타낸 논리셀(50)과, 각 논리셀을 접속하는 제29도에 나타낸 스위치 박스(90)와, I/O 모듈(80)(도시하지 않음)과, 기능결정용데이터서버(133)와, 로더(134)와, 복수의 선택회로(135)를 갖고 있다.
기능결정용데이터서버(133)와 로더(loader)(134)는 일부 논리셀의 기능결정용메모리에 외부데이터를 공급한다. 따라서, 제32도의 제2구성예와 같이, 각 논리셀은 각각에 컨피규레이션데이터 및 로더를 가질 필요는 없다.
이 프로그래머블논리회로의 제3구성예에서는 기능결정용데이터가 로드된 후, 선택회로(135)에 의해서 일부 논리셀의 기능결정용메모리에, 데이터서버(133)로부터 외부데이터를 선택적으로 로드할 수 있다. 따라서, 제33도에 나타낸 프로그래머블논리회로에서는 프로그래머블논리회로의 동작중에, 소망하는 논리셀의 프로그래머블기능유니트의 기능을 선택적으로 변경할 수 있다. 이것에 의해, 게이트수로 결정되는 구성가능회로수 보다도 많은 회로를 실현할 수 있다.
제34도는 본 발명에 관한 프로그래머블논리회로의 제4구성예이다. 본 프로그래머블논리회로(140)는 복수의 제18도에 나타낸 논리셀(50)과, 각 논리셀을 접속하는 제29도에 나타낸 스위치박스(90)와, 복수의 I/O 모듈(80)(도시하지 않음)과, 기능결정용데이터서버(142)와, 기능결정용데이터전송용전용선(143)을 갖고 있다. 기능결정용데이터서버(142)의 컨피규레이션입력(C_IO)은 각 논리셀(50)의 컨피규레이션입력(C_IO)에 전용선(143)을 거쳐서 직접접속되어 있다.
따라서, 프로그래머블논리회로가 동작중에 있더라도 기능결정용 데이터서버(142)로부터 기능결정용데이터를 소망하는 논리셀에 공급할 수 있다. 따라서, 자기자신의 논리셀 및 기능결정용데이터서버(142)로 부터의 지령에 의해서, 소망하는 논리셀의 프로그래머블기능유니트의 기능을 수시 변경할 수 있다.
또, 기능결정용데이터를 기능결정용데이터서버(142)로부터, 복수의 논리셀에 한번에 공급함으로서, 프로그래머블 논리회로의 대폭적인 논리기능의 갱신도 할 수 있다. 제35도는 본 발명에 관한 프로그래머블논리회로의 제5구성예이다.
본 프로그래머블논리회로(150)는 복수의 제18도에 나타낸 논리셀(50)과, 각 논리셀을 접속하는 제29도에 나타낸 스위치박스(90)와, 복수의 I/O 모듈(80)(도시하지 않음)과, 기능결정용데이터전송용전용선(153)을 갖고 있다. 제34도에 나타낸 제4구성예와 달리, 기능결정용데이터서버(152)는 프로그래머블논리회로의 외부에 설비되어 있고, 인터페이스를 거쳐서 전용선(153)에 접속할 수 있다. 외부에 설비된 기능결정용데이터서버(152)의 컨피규레이션입력(C_IO)은 각 논리셀(50)의 컨피규레이션입력(C_IO)에 전용선(153)을 거쳐서 직접접속되어 있다.
따라서, 프로그래머블논리회로가 동작중에 있더라도, 기능결정용데이터서버(152)로부터 기능결정용데이터를 소망하는 논리셀에 공급할 수 있다. 따라서, 자기자신의 논리셀 및 기능결정용데이터서버(152)로부터의 지령에 의해서, 소망하는 논리셀의 프로그래머블기능유니트의 기능을 수시 변경할 수 있다.
또, 기능결정용데이터를 기능결정용데이터서버(152)로부터, 복수의 논리셀에 한번에 공급함으로서, 프로그래머블논리회로의 대폭적인 논리기능의 갱신도 가능하다.
본 제5구성예에서는 기능결정용데이터서버(152)가 프로그래머블논리회로의 외부에 설비되어 있기 때문에, 프로그래머블논리회로를 소형화할 수 있고, 또 전체 구성설계의 자유도를 향상시킬 수 있다.
제36도는 본 발명에 관한 프로그래머블논리회로의 제6도구성예이다. 본 프로그래머블논리회로(160)는 복수의 제18도에 나타낸 논리셀(50)과, 각 논리셀을 접속하는 제29도에 나타낸 스위치 박스(90)와, 복수의 I/O 모듈(80)(도시하지 않음)과, 복수의 기능결정용데이터서버(162)를 갖고 있다. 각 기능결정용데이터서버(162)는 각 논리셀(50)마다 설비되어 있고, 각 논리셀(50)의 C_IO 및 각 논리셀(50) 사이에 배열된 배선(161)에 접속되어 있다.
따라서, 프로그래머블논리회로가 동작중에 있더라도, 임의의 논리셀의 출력신호, 자기자신의 논리셀의 출력신호, 자기의 논리셀에 접속되어 있는 기능결정용데이터서버(162)의 출력신호, 또는 다른 논리셀에 접속되어 있는 기능결정용데이터서버(162)의 출력신호를 소망하는 논리셀에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 논리셀 및 기능결정용데이터서버(162)로부터의 지령에 의해서, 소망하는 논리셀의 프로그래머블기능유니트의 기능을 수시 변경할 수 있다.
제36도에 나타낸 제6도구성예에서는 제35도에 나타낸 제5실시예와 달리, 비교적 굵은 전용선을 설비할 필요가 없다. 따라서, 신호선의 설계의 자유도를 향상할 수 있다.
제37도는 본 발명에 관한 프로그래머블논리회로의 제7구성예이다. 본 프로그래머블논리회로(170)는 복수의 제18도에 나타낸 논리셀(50)과, 각 논리셀을 접속하는 제29도에 나타낸 스위치 박스(90)와, 복수의 I/O 모듈(80)(도시하지 않음)과, 복수의 기능결정용데이터서버(172)와, 복수의 로더(173)를 갖고 있다. 각 기능결정용데이터서버(172) 및 로더(173)는 각 논리셀(50)마다 설비되어 있고, 각 논리셀(50)의 C_IO에 접속되어 있다. 또, 각 논리셀(50)의 C_IO은 각 논리셀(50)의 사이에 배열된 배선(171)에도 접속되어 있다.
따라서, 프로그래머블논리회로가 동작중에 있더라도, 임의의 논리셀의 출력신호, 자기자신의 논리셀의 출력신호, 자기의 논리셀에 접속되어 있는 기능결정용데이터서버(172)의 출력신호, 또는 다른 논리셀에 접속되어 있는 기능결정용데이터서버(172)의 출력신호를, 소망하는 논리셀에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 논리셀 및 기능결정용데이터서버(172)로 부터의 지령에 의해서, 소망의 논리셀의 프로그래머블기능유니트의 기능을 수시 변경할 수 있다.
제37도에 나타낸 제7구성예에서는 제35도에 나타낸 제5실시예와 달리, 비교적 굵은 전용선을 설비할 필요가 없다. 따라서, 신호선의 설계의 자유도를 향상시킬 수 있다. 제38도는 본 발명에 관한 프로그래머블논리회로의 제8구성예이다. 본 프로그래머블논리회로(180)는 복수의 제18도에 나타낸 논리셀(50)과, 각 논리셀을 접속하는 제29도에 나타낸 스위치 박스(90)와, 복수의 I/O 모듈(80)(도시하지 않음)과, 복수의 기능결정용데이터서버(182)와, 제어유니트(183)와, 전용제어선(184)을 갖고 있다.
각 기능결정용데이터서버(182)는 각 논리셀(50)마다 설비되어 있고, 각 논리셀(50)의 C_IO에 접속되어 있다. 또, 제어유니트(183)는 각각의 기능결정용데이터서버(182)에 전용제어선(184)을 거쳐서 접속되어 있고, 각각의 기능결정용데이터서버(182)를 집중적으로 제어할 수 있다. 또한, 제어유니트(183)는 제34도에 나타낸 기능결정용데이터서버(142)를 포함할 수도 있다.
따라서, 프로그래머블논리회로가 동작중에 있더라도, 자기의 논리셀에 접속된 기능결정용데이터서버(182)의 출력신호, 또는 제어유니트(183)로부터의 출력신호를 소망하는 논리셀에 기능결정용데이터로서 공급할 수 있다. 따라서, 자기자신의 논리셀, 기능결정용데이터서버(182) 및 제어유니트(183)로부터의 지령에 의해서, 소망의 논리셀의 프로그래머블기능유니트의 기능을 수시 변경할 수 있다.
제39도는 본 발명에 관한 프로그래머블논리회로의 제9구성예이다. 본 프로그래머블논리회로(190)는 복수의 제18도에 나타낸 논리셀(50)과, 각 논리셀을 접속하는 제29도에 나타낸 스위치 박스(90)와, 복수의 I/O 모듈(80)(도시하지 않음)과, 전용제어선(194)을 갖고 있다. 제38도에 나타낸 제8구성예와 달리, 제어유니트(193)는 프로그래머블논리회로의 외부에 설비되어 있고, 인터페이스를 거쳐서 전용제어선(194)에 접속할 수 있다.
각 기능결정용데이터서버(192)는 각 논리셀(50)마다 설비되어 있고, 각 논리셀(50)의 C_IO에 접속되어 있다. 또한, 외부에 설비되어 있는 제어유니트(193)는 각각의 기능결정용데이터서버(192)에 전용제어선(194)을 거쳐서 접속되어 있고, 각각의 기능결정용데이터서버(192)를 집중적으로 제어할 수 있다. 또, 제어유니트(193)는 제34도에 나타낸 기능결정용데이터서버(142)를 포함할 수도 있다.
따라서, 프로그래머블논리회로가 동작중에 있더라도, 자기의 논리셀에 접속된 기능결정용데이터서버(192)의 출력신호, 또는 제어유니트(193)로부터의 출력신호를 소망하는 논리셀에 기능결정용데이터로서 공급할 수 있다. 따라서, 자기자신의 논리셀, 기능결정용데이터서버(192) 및 제어유니트(193)로 부터의 지령에 의해서, 소망하는 논리셀의 프로그래머블기능유니트의 기능을 수시 변경할 수 있다.
제40도는 본 발명에 관한 프로그래머블논리회로의 제10구성예이다. 본 프로그래머블논리회로(200)는 제38도에 나타낸 제8구성예와 실질적으로 같은 구성을 갖고 있다. 그러나, 제40도에 나타낸 프로그래머블논리회로(200)로서는 제38도에 나타낸 제8구성예와 달리, 각 논리셀마다 설비되어 있는 기능결정용데이터서버(202)가 각 논리셀(50)의 C_IO뿐만 아니라, 각 논리셀(50)의 사이에 배치되어 있는 배선(201)에도 접속되어 있다.
따라서, 이 제10구성예에서는 프로그래머블논리회로가 동작중에 있더라도, 임의의 논리셀의 출력신호, 자기자신의 논리셀의 출력신호, 자기의 논리셀에 접속된 기능결정용데이터서버(202)의 출력신호, 다른 논리셀에 접속된 기능결정용데이터서버(202)의 출력신호, 또는 제어유니트(203)로 부터의 출력신호를 소망하는 논리셀에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 논리셀(자기의 논리셀을 포함함) 기능결정용데이터서버(202) 및 제어유니트(203)로부터의 지령에 의해서, 소망의 논리셀의 프로그래머블기능유니트의 기능을 수시 변경할 수 있다.
제41도는 본 발명에 관한 프로그래머블논리회로의 제11구성예이다. 본 프로그래머블논리회로(210)는 제39도에 나타낸 제9구성예와 실질적으로 같은 구성을 갖고 있다. 그러나, 제41도에 나타낸 프로그래머블논리회로(210)에서는 제39도에 나타낸 제9구성예와 달리, 각 논리셀마다 설비되어 있는 기능결정용데이터서버(212)가 각 논리셀(50)의 C_IO뿐만 아니라, 각 논리셀(50) 사이에 배치되어 있는 배선(211)에도 접속되어 있다.
따라서, 이 제11구성예에서는 프로그래머블논리회로가 동작중에 있더라도, 임의의 논리셀의 출력신호, 자기자신의 논리셀의 출력신호, 자기의 논리셀에 접속된 기능결정용데이터서버(212)의 출력신호, 다른 논리셀에 접속된 기능결정용데이터서버(212)의 출력신호, 또는 외부에 설비되어 있는 제어유니트(213)로 부터의 출력신호를 소망하는 논리셀에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 논리셀(자기의 논리셀을 포함함), 기능결정용데이터서버(212) 및 외부에 설비되어 있는 제어유니트(213)로부터의 지령에 의해서, 소망하는 논리셀의 프로그래머블기능유니트의 기능을 수시 변경할 수 있다.
제42도는 본 발명에 관한 프로그래머블논리회로의 제12구성예이다. 본 프로그래머블논리회로(220)는 제38도에 나타낸 제8구성예와 실질적으로 유사한 구성을 갖고 있다. 그러나, 제42도에 나타낸 프로그래머블논리회로(220)에서는 제38도에 나타낸 제8구성예와 달리, 각 스위치 박스(90)에 기능결정용데이터서버(225)가 각각 접속되어 있다. 또, 제어유니트(223)는 각 논리셀(50)에 설비된 기능결정용데이터서버(222) 및 각 스위치 박스(90)에 설비된 기능결정용 데이터서버(225)에 전용제어선(224)을 거쳐서 접속되어 있고, 각각의 기능결정용데이터서버(222 및 225)를 집중적으로 제어할 수 있다.
따라서, 이 제12구성예에서는 프로그래머블논리회로가 동작중에 있더라도, 기능결정용데이터서버(222)의 출력신호를 대응하는 논리셀(50)에 기능결정용데이터로서 공급할 수 있고, 기능결정용데이터서버(225)의 출력신호를 대응하는 스위치 박스(90)에 기능결정용데이터로서 공급할 수 있고, 또한 제어유니트(223)로부터의 출력신호를 소망하는 논리셀(50) 및 소망하는 스위치 박스(90)에 기능결정용데이터로서 공급할 수 있다. 따라서, 자기자신의 논리셀, 기능결정용데이터서버(222, 225) 및 제어유니트(223)로부터의 지령에 의해서, 소망하는 논리셀의 프로그래머블기능유니트의 기능 및 소망하는 스위치 박스의 접속구성을 수시 변경할 수 있다.
제43도는 본 발명에 관한 프로그래머블논리회로의 제13구성예이다. 본 프로그래머블논리회로(230)는 제39도에 나타낸 제9구성예와 실질적으로 유사한 구성을 갖고 있다. 그러나, 제43도에 나타낸 프로그래머블논리회로(230)에서는 제39도에 나타낸 제9구성예와 달리, 각스위치박스(90)에 기능결정용데이터서버(235)가 각각 접속되어 있다. 또, 제어유니트(233)는 각 논리셀(50)에 설비된 기능결정용데이터서버(232) 및 각 스위치 박스(90)에 설비된 기능결정용데이터서버(235)에 전용제어선(234)을 거쳐서 접속되어 있고, 각각의 기능결정용데이터서버(232 및 235)를 집중적으로 제어할 수 있다.
따라서, 이 제13구성예에서는 프로그래머블논리회로가 동작중에 있더라도, 기능결정용데이터서버(232)의 출력신호를 대응하는 논리셀(50)에 기능결정용데이터로서 공급할 수 있고, 기능결정용데이터서버(235)의 출력신호를 대응하는 스위치 박스(90)에 기능결정용데이터로서 공급할 수 있고, 또한 외부에 설비된 제어유니트(233)로부터의 출력신호를 소망하는 논리셀(50) 및 소망하는 스위치 박스(90)에 기능결정용데이터로서 공급할 수 있다. 따라서, 자기자신의 논리셀, 기능결정용데이터서버(232,235) 및 외부에 설비된 제어유니트(233)로 부터의 지령에 의해서, 소망하는 논리셀의 프로그래머블기능유니트의 기능 및 소망하는 스위치 박스의 접속구성을 수시 변경할 수 있다.
다음에 복수의 프로그래머블논리회로로 구성되는 본 발명에 관한 프로그래머블논리회로시스템의 구성예에 대해서 설명한다.
제44도는 본 발명에 관한 프로그래머블논리회로시스템의 제1구성예이다. 본 프로그래머블논리회로시스템(310)은 복수의 다이나믹 재프로그래머블논리회로(300)(도면에서는 프로그래머블논리 디바이스 "Program device"로 기재되어 있다)와, 각 프로그래머블논리회로를 접속하는 스위치장치(301)와, 복수의 I/O 모듈(302)(도시하지 않음)을 갖고 있다.
다이나믹 재프로그래머블논리회로(300)로서는 제31도 내지 제43도에 나타낸 프로그래머블논리회로중 어느것을 사용할 수 있다. 스위치장치(301)는 제29도에 나타낸 스위치 박스(90)와 실질적으로 같은 구성을 가질 수 있다. 또, I/O 모듈(302)도 제28도에 나타낸 I/O 모듈(80)과 실질적으로 같은 구성을 가질 수 있다. 이들 구성요소의 각각은 다이나믹하게 재프로그래머블한 디바이스이다.
따라서, 예를 들어, 프로그래머블논리회로시스템의 동작중에 프로그래머블논리회로(300)의 논리기능을 재설정할 수 있다. 제44도에 있어서의 프로그래머블논리회로(300)의 컨피규레이션입력(C_IO)으로부터의 신호는 제어유니트(52)를 거쳐서 기능결정용메모리(53)에 입력된다(제18도 참조).
제44도에 있어서, 각프로그래머블논리회로(300)의 컨피규레이션입력(C_IO)은 각프로그래머블논리회로(300)의 사이에 배열된 논리회로간배선(311)에 접속되어 있다. 따라서, 프로그래머블논리회로시스템이 동작중에 있더라도, 임의의 프로그래머블논리회로의 출력신호 또는 자기자신의 프로그래머블논리회로의 출력신호를 소망하는 프로그래머블논리회로에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 프로그래머블논리회로로 부터의 지령에 의해서, 소망하는 프로그래머블논리회로의 일부 또는 모든 논리기능을 수시 변경할 수 있다.
또, 프로그래머블논리회로(300)로부터의 출력신호로 스위치장치(301)를 제어함으로서, 프로그래머블논리회로끼리의 접속상태도 변경가능하다. 이상 나타낸 바와 같이, 프로그래머블논리회로, 스위치장치등의 다이나믹한 재프로그래밍에 의해서, 게이트수로 결정되는 구성가능회로수보다도 많은 회로를 실현할 수 있다.
또, 이러한 구조를 갖는 프로그래머블논리회로 시스템을 복수 사용한 하드웨어 애뮬레이터를 구성하면, 종래의 하드웨어 애뮬레이터에 비해서, 적은 프로그래머블논리회로 시스템으로, 큰 논리회로의 애뮬레이션을 행할 수 있다. 또, 필요로 하는 프로그래머블논리회로시스템의 수를 격감시킬 수 있기 때문에, 애뮬레이션 장치의 비용을 대폭 삭감할 수 있다.
제45도는 본 발명에 관한 프로그래머블논리회로시스템의 제2구성예이다. 본 프로그래머블논리회로시스템(320)은 복수의 프로그래머블논리회로(300)와, 각 프로그래머블논리회로를 접속하는 복수의 스위치장치(301)와, 복수의 I/O모듈(302)(도시하지 않음)과, 기능결정용데이터서버(322)를 갖고 있다.
각 프로그래머블논리회로(300)의 컨피규레이션 입력 (C_IO)은 각 프로그래머블논리회로(300)사이에 배열된 배선(321)에 접속되어 있다. 또, 기능결정용데이터서버(322)의 컨피규레이션입력(C_IO)도, 배선(321)에 접속되어 있다.
따라서, 프로그래머블논리회로시스템이 동작중에 있더라도, 임의의 프로그래머블논리회로의 출력신호, 자기자신의 프로그래머블논리회로의 출력신호, 또는 기능결정용데이터서버(322)의 출력신호를 소망하는 프로그래머블논리회로에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 프로그래머블논리회로 및 기능결정용데이터서버(322)로 부터의 지령에 의해서, 소망의 프로그래머블논리회로의 일부 또는 모든 논리기능을 수시 변경할 수 있다.
또, 기능결정용데이터를 기능결정용데이터서버(322)로부터, 복수의 프로그래머블논리회로에 한번에 공급함으로서, 프로그래머블논리회로시스템의 대폭적인 논리기능의 갱신도 가능하다. 제46도는 본 발명에 관한 프로그래머블논리회로시스템의 제3구성예이다. 본 프로그래머블논리회로시스템(330)은 복수의 프로그래머블논리회로(300)와, 각 프로그래머블논리회로를 접속하는 복수의 스위치장치(301)와, 복수의 I/O 모듈(302)(도시하지 않음)과, 기능결정용데이터서버(333)와, 로더(334)와, 복수의 선택회로(335)를 갖고 있다.
기능결정용데이터서버(333)와 로더(334)는 일부 프로그래머블논리회로의 기능결정용메모리에 외부데이터를 공급한다. 따라서, 제45도의 제2구성예와 같이, 각 프로그래머블논리회로는 각각에 컨피규레이션데이터 및 로더를 가질 필요가 없다.
이 프로그래머블논리회로시스템의 제3구성예에서는 기능결정용데이터가 로드된 후, 선택회로(335)에 의해서 일부의 프로그래머블논리회로의 기능결정용메모리에 데이터서버(333)로부터 외부데이터를 선택적으로 로드할 수 있다. 따라서, 제46도에 나타낸 프로그래머블논리회로시스템에서는 프로그래머블논리회로시스템의 동작중에, 소망하는 프로그래머블논리회로의 일부 또는 모든 논리기능을 선택적으로 변경할 수 있다. 이것에 의해, 게이트수로 결정되는 구성가능회로수 보다도 많은 회로를 실현할 수 있다.
제47도는 본 발명에 관한 프로그래머블논리회로시스템의 제4구성예이다. 본 프로그래머블논리회로시스템(340)은 복수의 프로그래머블논리회로(300)와, 각 프로그래머블논리회로를 접속하는 복수의 스위치장치(301)와, 복수의 I/O 모듈(302)(도시하지 않음)과, 기능결정용데이터서버(342)와, 기능결정용데이터 전송용전용선(343)을 갖고 있다. 기능결정용데이터서버(342)는 각 프로그래머블논리회로(300)의 컨피규레이션입력(C_IO)에 전용선(343)을 거쳐서 직접접속 되어 있다.
따라서, 프로그래머블논리회로시스템이 동작중에 있더라도, 기능결정용데이터서버(342)로부터 기능결정용데이터를 소망하는 프로그래머블논리회로에 공급할 수 있다. 따라서, 자기자신의 프로그래머블논리회로 및 기능결정용데이터서버(342)로 부터의 지령에 의해서, 소망의 프로그래머블논리회로의 일부 또는 모든 논리기능을 수시 변경할 수 있다.
또, 기능결정용데이터를 기능결정용데이터서버(342)로부터, 복수의 프로그래머블논리회로에 한번에 공급함으로서, 프로그래머블논리회로시스템의 대폭적인 논리기능의 갱신도 가능하다.
제48도는 본 발명에 관한 프로그래머블논리회로시스템의 제5구성예이다. 본 프로그래머블논리회로시스템(350)은 복수의 프로그래머블논리회로(300)와, 각 프로그래머블논리회로를 접속하는 복수의 스위치장치(301)와, 복수의 I/O 모듈(302)(도시하지 않음)과, 기능결정용데이터전송용전용선(353)을 갖고 있다. 제47도에 나타낸 제4구성예와 달리, 기능결정용데이터서버(352)는 프로그래머블논리회로시스템의 외부에 설비되어 있고, 인터페이스를 거쳐서 전용선(353)에 접속할 수 있다. 또, 외부에 설비된 기능결정용데이터서버(352)는 각 프로그래머블논리회로(300)의 컨피규레이션입력(C_IO)에 전용선(353)을 거쳐서 직접 접속되어 있다.
따라서, 프로그래머블논리회로시스템이 동작중에 있더라도, 기능결정용데이터서버(352)로부터 기능결정용데이터를 소망하는 프로그래머블논리회로에 공급할 수 있다. 이때, 자기자신의 프로그래머블논리회로 및 기능결정용데이터서버(352)로 부터의 지령에 의해서, 소망하는 프로그래머블논리회로의 일부 또는 모든 논리기능을 수시 변경할 수 있다.
또, 기능결정용데이터를 기능결정용데이터서버(352)로부터, 복수의 프로그래머블논리회로에 한번에 공급함으로서, 프로그래머블논리회로시스템의 대폭적인 논리기능의 갱신도 가능하다. 본 제5구성예에서는 기능결정용데이터서버(352)가 프로그래머블논리회로시스템의 외부에 설비되어 있기 때문에, 프로그래머블논리회로시스템을 소형화할 수 있고, 또 전체 구성설계의 자유도를 향상시킬 수 있다. 제49도는 본 발명에 관한 프로그래머블논리회로시스템의 제6도구성예이다. 본 프로그래머블논리회로시스템(360)은 복수의 프로그래머블논리회로(300)와, 각 프로그래머블논리회로를 접속하는 복수의 스위치장치(301)와, 복수의 I/O 모듈(302)(도시하지 않음)과, 복수의 기능결정용데이터서버(362)를 갖고 있다. 각 기능결정용데이터서버(362)는 각 프로그래머블논리회로(300)마다 설비되고 있고, 각 프로그래머블논리회로(300)의 C_IO 및 각 프로그래머블논리회로(300) 사이에 배열된 배선(361)에 접속되어 있다.
따라서, 프로그래머블논리회로시스템이 동작중에 있더라도, 임의의 프로그래머블논리회로의 출력신호, 자기자신의 프로그래머블논리회로의 출력신호, 자기의 프로그래머블논리회로에 접속되어 있는 기능결정용데이터서버(362)의 출력신호, 또는 다른 프로그래머블논리회로에 접속되어 있는 기능결정용데이터서버(362)의 출력신호를 소망하는 프로그래머블논리회로에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 프로그래머블논리회로 및 기능결정용 데이터서버(362)로 부터의 지령에 의해서, 소망하는 프로그래머블논리회로의 일부 또는 모든 논리기능을 수시 변경할 수 있다.
제49도에 나타낸 제6도구성예에서는 제48도에 나타낸 제5실시예와 달리, 비교적 굵은 전용선을 설비할 필요가 없다. 따라서, 신호선의 설계의 자유도를 향상시킬 수 있다.
제50도는 본 발명에 관한 프로그래머블논리회로시스템의 제7구성예이다. 본 프로그래머블논리회로시스템(370)은 복수의 프로그래머블논리회로(300)와, 각 프로그래머블논리회로를 접속하는 복수의 스위치장치(301)와, 복수의 I/O 모듈(302)(도시하지 않음)과, 복수의 기능결정용데이터서버(372)와, 복수의 로더(373)를 갖고 있다. 각 기능결정용데이터서버(372) 및 로더(373)는 각 프로그래머블논리회로(300)마다 설비되어 있고, 각 프로그래머블논리회로(300)의 C_IO에 접속되어 있다. 또, 각 프로그래머블논리회로(300)의 C_IO는 각 프로그래머블논리회로(300)의 사이에 배열된 배선(371)에도 접속되어 있다.
따라서, 프로그래머블논리회로시스템이 동작중에 있더라도, 임의의 프로그래머블논리회로의 출력신호, 자기자신의 프로그래머블논리회로의 출력신호, 자기의 프로그래머블논리회로에 접속되어 있는 기능결정용데이터서버(372)의 출력신호 또는 다른 프로그래머블논리회로에 접속되어 있는 기능결정용데이터서버(372)의 출력신호를 소망하는 프로그래머블논리회로에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 프로그래머블논리회로 및 기능결정용데이터서버(372)로 부터의 지령에 의해서, 소망하는 프로그래머블논리회로의 일부 또는 모든 논리기능을 수시 변경할 수 있다.
제50도에 나타낸 제7구성예에서는 제48도에 나타낸 제5실시예와 달리, 비교적 굵은 전용선을 설비할 필요가 없다. 따라서, 신호선의 설계의 자유도를 향상시킬 수 있다.
제51도는 본 발명에 관한 프로그래머블논리회로시스템의 제8구성예이다. 본 프그래머블논리회로시스템(380)은 복수의 프로그래머블논리회로(300)와, 각 프로그래머블논리회로를 접속하는 복수의 스위치장치(301)와, 복수의 I/O 모듈(302)(도시하지 않음)과, 복수의 기능결정용데이터서버(382)와, 제어유니트(383)와, 전용제어선(384)을 갖고 있다.
각 기능결정용데이터서버(382)는 각 프로그래머블논리회로(300)마다 설비되어 있고, 각 프로그래머블논리회로(300)의 C_IO에 접속되어 있다. 또한, 제어유니트(383)는 각각의 기능결정용데이터서버(382)에 전용제어선(384)을 거쳐서 접속되어 있고, 각각의 기능결정용데이터서버(382)를 집중적으로 제어할 수 있다. 또한, 제어유니트(383)는 제47도에 나타낸 기능결정용데이터서버(342)를 포함할 수도 있다.
따라서, 프로그래머블논리회로시스템이 동작중에 있더라도, 자기의 프로그래머블논리회로에 접속된 기능결정용데이터서버(382)의 출력신호 또는 제어유니트(383)로부터의 출력신호를, 소망하는 프로그래머블논리회로에 기능결정용데이터로서 공급할 수 있다. 따라서, 자기자신의 프로그래머블논리회로, 기능결정용데이터서버(382) 및 제어유니트(383)로 부터의 지령에 의해서, 소망의 프로그래머블논리회로의 일부 또는 모든 논리기능을 수시 변경할 수 있다.
제52도는 본 발명에 관한 프로그래머블논리회로시스템의 제9구성예이다. 본 프로그래머블논리회로시스템(390)은 복수의 프로그래머블논리회로(300)와, 각 프로그래머블논리회로를 접속하는 복수의 스위치장치(301)와, 복수의 I/O 모듈(302)(도시하지 않음)과, 전용제어선(394)을 갖고 있다. 제51도에 나타낸 제8구성예와 달리, 제어유니트(393)는 프로그래머블논리회로시스템의 외부에 설비되어 있고, 인터페이스를 거쳐서 전용제어선(394)에 접속할 수 있다.
각 기능결정용데이터서버(392)는 각 프로그래머블논리회로(300)마다 설비되어 있고, 각 프로그래머블논리회로(300)의 C_IO에 접속되어 있다. 또, 외부에 설비되어 있는 제어유니트(393)는 각각의 기능결정용데이터서버(392)에 전용제어선(394)을 거쳐서 접속되어 있고, 각각의 기능결정용데이터서버(392)를 집중적으로 제어할 수 있다. 또한, 제어유니트(393)는 제47도에 나타낸 기능결정용데이터서버(342)를 포함할 수도 있다.
따라서, 프로그래머블논리회로시스템이 동작중에 있더라도, 자기의 프로그래머블논리회로에 접속된 기능결정용데이터서버(392)의 출력신호 또는 제어유니트(393)로부터의 출력신호를 소망하는 프로그래머블논리회로에 기능결정용데이터로서 공급할 수 있다. 따라서, 자기자신의 프로그래머블논리회로, 기능결정용데이터서버(392) 및 제어유니트(393)로 부터의 지령에 의해서, 소망하는 프로그래머블논리회로의 일부 또는 모든 논리기능을 수시 변경할 수 있다.
제53도는 본 발명에 관한 프로그래머블논리회로시스템의 제10구성예이다. 본 프로그래머블논리회로시스템(400)은 제51도에 나타낸 제8구성예와 실질적으로 같은 구성을 갖고 있다. 그러나, 제53도에 나타낸 프로그래머블논리회로시스템(400)에서는 제51도에 나타낸 제8구성예와 달리, 각 프로그래머블논리회로마다 설비되어 있는 기능결정용데이터서버(402)는 각 프로그래머블논리회로(300)의 C_IO 뿐만아니라, 각 프로그래머블논리회로(300)의 사이에 배치되어 있는 배선(401)에도 접속되어 있다.
따라서, 이 제10구성예에서는 프로그래머블논리회로시스템이 동작중에 있더라도, 임의의 프로그래머블논리회로의 출력신호, 자기자신의 프로그래머블논리회로의 출력신호, 자기의 프로그래머블논리회로에 접속된 기능결정용데이터서버(402)의 출력신호, 다른 프로그래머블논리회로에 접속된 기능결정용데이터서버(402)의 출력신호 또는 제어유니트(403)로 부터의 출력신호를 소망하는 프로그래머블논리회로에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 프로그래머블논리회로(자기의 프로그래머블논리회로를 포함함), 기능결정용데이터서버(402) 및 제어유니트(403)로부터의 지령에 의해서, 소망하는 프로그래머블논리회로의 일부 또는 모든 논리기능을 수시 변경할 수 있다.
제54도는 본 발명에 관한 프로그래머블논리회로시스템의 제11구성예이다. 본 프로그래머블논리회로시스템(410)은 제52도에 나타낸 제9구성예와 실질적으로 같은 구성을 갖고 있다. 그러나, 제54도에 나타낸 프로그래머블논리회로시스템(410)에서는 제52도에 나타낸 제9구성예와 달리, 각 프로그래머블논리회로마다 설비되어 있는 기능결정용데이터서버(412)는 각 프로그래머블논리회로(300)의 C_IO 뿐만아니라, 각 프로그래머블논리회로(300)의 사이에 배치되어 있는 배선(411)에도 접속되어 있다.
따라서, 이 제11구성예에서는 프로그래머블논리회로시스템이 동작중에 있더라도, 임의의 프로그래머블논리회로의 출력신호, 자기자신의 프로그래머블논리회로의 출력신호, 자기의 프로그래머블논리회로에 접속된 기능결정용데이터서버(412)의 출력신호, 다른 프로그래머블논리회로에 접속된 기능결정용데이터서버(412)의 출력신호, 혹 외부에 설비되어 있는 제어유니트(413)로부터의 출력신호를 소망하는 프로그래머블논리회로에 기능결정용데이터로서 공급할 수 있다. 따라서, 임의의 프로그래머블논리회로(자기의 프로그래머블논리회로를 포함함), 기능결정용데이터서버(412) 및 외부에 설비되어 있는 제어유니트(413)로 부터의 지령에 의해서, 소망하는 프로그래머블논리회로의 일부 또는 모든 논리기능을 수시 변경할 수 있다.
제55도는 본 발명에 관한 프로그래머블논리회로시스템의 제12구성예이다. 본프로그래머블논리회로시스템(420)은 제51도에 나타낸 제8구성예와 실질적으로 유사한 구성을 갖고 있다. 그러나, 제55도에 나타낸 프로그래머블논리회로시스템(420)에서는 제51도에 나타낸 제8구성예와 달리, 각 스위치장치(301)에 기능결정용데이터서버(425)가 각각 접속되어 있다. 또, 제어유니트(423)는 각 프로그래머블논리회로(300)에 설비된 기능결정용 데이터서버(422) 및 각 스위치장치(301)에 설비된 기능결정용데이터서버(425)에 전용제어선(424)을 거쳐서 접속되어 있고, 각각의 기능결정용데이터서버(422 및 425)를 집중적으로 제어할 수 있다.
따라서, 이 제12구성예에서는 프로그래머블논리회로시스템이 동작중에 있더라도, 기능결정용데이터서버(422)의 출력신호를 대응하는 프로그래머블논리회로(300)에 기능결정용데이터로서 공급할 수 있고, 기능결정용데이터서버(425)의 출력신호를 대응하는 스위치장치(301)에 기능결정용데이터로서 공급할 수 있고, 또한 제어유니트(423)로부터의 출력신호를, 소망하는 프로그래머블논리회로(300) 및 소망하는 스위치장치(301)에 기능결정용데이터로서 공급할 수 있다. 따라서, 자기자신의 프로그래머블논리회로, 기능결정용데이터서버(422,425) 및 제어유니트(423)로 부터의 지령에 의해서, 소망하는 프로그래머블논리회로의 일부 또는 모든 논리기능 및 소망하는 스위치장치의 접속구성을 수시 변경할 수 있다.
제56도는 본 발명에 관한 프로그래머블논리회로시스템의 제13구성예이다. 본 프로그래머블논리회로시스템(430)은 제52도에 나타낸 제9구성예와 실질적으로 유사한 구성을 갖고 있다. 그러나, 제56도에 나타낸 프로그래머블논리회로시스템(430)에서는 제52도에 나타낸 제9구성예와 달리, 각 스위치장치(301)에 기능결정용데이터서버(435)가 각각 접속되어 있다. 또, 제어유니트(433)는 각 프로그래머블논리회로(300)에 설비된 기능결정용 데이터서버(432) 및 각 스위치장치(301)에 설비된 기능결정용데이터서버(435)에 전용제어선(434)을 거쳐서 접속되어 있고, 각각의 기능결정용데이터서버(432 및 435)를 집중적으로 제어할 수 있다.
따라서, 이 제13구성예에서는 프로그래머블논리회로시스템이 동작중에 있더라도, 기능결정용데이터서버(432)의 출력신호를 대응하는 프로그래머블논리회로(300)에 기능결정용데이터로서 공급할 수 있고, 기능결정용데이터서버(435)의 출력신호를 대응하는 스위치장치(301)에 기능결정용데이터로서 공급할 수 있고, 또한 외부에 설비된 제어유니트(433)로 부터의 출력신호를 소망하는 프로그래머블논리회로(300) 및 소망하는 스위치장치(301)에 기능결정용데이터로서 공급할 수 있다. 따라서, 자기자신의 프로그래머블논리회로, 기능결정용데이터서버(432, 435) 및 외부에 설비된 제어유니트(433)로 부터의 지령에 의해서, 소망하는 프로그래머블논리회로의 일부 또는 모든 논리기능 및 소망하는 스위치장치의 접속구성을 수시 변경할 수 있다.
또, 제31도∼제56도에 나타낸 프로그래머블논리회로 및 프로그래머블논리회로시스템에서는 각 프로그래머블논리회로의 기능결정용메모리 때문에, 상술한 본 발명에 관한 시프트 레지스터뿐만 아니라 통상의 셋트·리셋트부착 시프트 레지스터를 사용할 수도 있다.
제57도는 제31도∼제56도에 나타낸 프로그래머블논리회로 및 프로그래머블논리회로시스템에서 사용하는 기능결정용데이터서버의 제1구성예이다. 제57도에 나타낸 기능결정용데이터서버(500)는 계산기로서 실현되어 있다. 따라서, 기능결정용데이터를 용이하게 생성하여, 소망하는 시각에 송출할 수 있다.
제58는 제31도∼제56도에 나타낸 프로그래머블논리회로 및 프로그래머블논리회로시스템에서 사용하는 기능결정용데이터서버의 제2구성예이다. 제58도에 나타낸 기능결정용데이터서버(510)는 복수의 기능결정용데이터를 기억하기 위한 메모리유니트(511)와, 메모리유니트(511)의 복수의 기능 결정용 데이터중 하나를 선택하는 선택기능유니트(512)로 구성되어 있다. 따라서, 기능결정용데이터서버(510)를 간단히 구상할 수 있다.
제59도는 제31도∼제56도에 나타낸 프로그래머블논리회로 및 프로그래머블논리회로시스템에서 사용하는 기능결정용데이터서버의 제3구성예이다. 제59도에 나타낸 기능결정용데이터서버(520)는 복수의 기능결정용데이터를 기억하기 위한 메모리유니트(521)와 메모리유니트(521)의 복수의 기능결정용데이터중 하나를 선택하는 선택기능유니트(522)로 구성되어 있다. 그러나, 제58도에 나타낸 기능결정용데이터서버(510)와는 달리, 서버데이터 셋트업 신호에 의해서, 외부에서 선택기능유니트(522)를 거쳐서, 기능결정용데이터(서버데이터)를 메모리유니트(521)에 선택적으로 기입할 수 있다.
제60도는 제59도에 나타낸 기능결정용데이터서버의 상세한 구성예이다. 제60도에 나타낸 기능결정용데이터서버(530)는 복수의 기능결정용데이터를 기억하기 위한 메모리유니트(531)와 판독선택유니트(532-1)와, 메모리유니트(531)중 어느 메모리에 데이터를 기입하기 위한 기업선택유니트(532-2)로 구성되어 있다.
판독선택유니트(532-1)는 제58도에 나타낸 선택기능유니트(512)와 실질적으로 같은 기능을 갖고, 서버데이터선택신호에 의해서 메모리유니트(531)의 복수의 기능결정용데이터중 하나를 선택하여 외부로 출력한다. 기입선택유니트(532-2)는 서버데이터 셋트업 신호에 의해서, 메모리유니트(531)중 하나의 메모리를 선택하여, 기능결정용데이터입력(서버데이터입력)을 선택한 메모리에 저장한다.
상기한 기능결정용데이터서버(530)의 구성에서는 제60도에 나타낸 바와 같이, 기능결정용데이터가 하나의 메모리로부터 판독하고 있는 사이에, 새로운 기능결정용데이터를 별도의 메모리에 기입할 수 있다. 따라서, 다른 기능결정용데이터를 다이나믹 재프로그래머블논리회로나 다이나믹 재프로그래머블 논리회로시스템에 수시 효율 좋게 공급할 수 있다.
상술한 시프트 레지스터나 프로그래머블논리회로는 게이트어레이상에도 용이하게 구성가능하다. 또 고속동작도 가능하기 때문에, 프로그래머블논리회로뿐만 아니라, 시프트 레지스터를 사용한 일반적인 순서회로에도 사용할 수 있다. 또 동작중에 논리회로를 재구성할 수 있기 때문에 폴트톨러런트시스템(fault tolerant system)이나, 멀티프로세스 시스템등과, 셀구조자동장치로 모델화할 수 있는 모든 장치에 응용할 수 있다.
이상, 본 발명의 실시예에 의해 설명했지만, 본 발명은 이들 실시예에 한정되는 것은 아니고, 본 발명의 범위내에서 개량 및 변형이 가능한 것은 말할 필요도 없다.
상술한 바와 같이, 본 발명에 의하면 이하에 나타낸 효과를 갖는다.
청구항1 내지 4중 어느 한항 기재의 시프트 레지스터에 있어서는 메인신호패스의 전송시간은 피드백회로에서의 전송시간보다도 짧게 된다. 따라서, 체인래치구성의 시프트 레지스터의 동작타이밍을 안정하게 실현할 수 있다.
체인래치구성의 시프트 레지스터를 사용함으로서, 시프트레지스터를 구성하는 게이트수나 칩면적도, 종래의 반 이하로 절감할 수 있다. 또, 매우 많은 단수의 시프트 레지스터를 메모리로서 사용하는 프로그래머블논리회로에서도, 메모리를 위한 칩면적을 저감할 수 있고, 칩면적에 대한 프로그램가능한 논리회로게이트수를 증가시킬 수 있다.
청구항5 내지 7중 어느 한항 기재의 시프트 레지스터에 있어서는 P채널트랜지스터측의 구동능력을 N채널트랜지스터측의 구동능력보다 실질적으로 크게할 수 있다. 따라서, 회로셀에서의 스위치의 출력의 상승시간 및 하강시간을 실질적으로 동일하게 할수 있다. 이상의 조건에 의해서, 체인래치구성의 시프트 레지스터의 동작을 보다 안정화 및 확실화할 수 있다.
청구항8 또는 9기재의 시프트 레지스터에 있어서는 상태설정회로에 의해서 체인래치구성의 시프트 레지스터의 내부상태를 자유롭게 설정할 수 있다.
청구항10 기재의 시프트 레지스터에 있어서는 디코더 회로에 임의의 제어신호를 공급함으로서, 메모리데이터로 결정된 논리에 따른 출력이 얻어진다. 즉, 디코더회로와 시프트 레지스터에 의해서, 임의의 논리회로를 구성할 수 있다.
청구항11 기재의 시프트 레지스터 및 청구항12 또는 14 기재의 프로그래머블논리회로에서는 체인래치구성의 시프트 레지스터의 일부 회로셀에 소정 신호를 공급함으로서, 그 회로셀을 플립플롭으로서 동작시킬 수 있다. 따라서, 이 시프트 레지스터를 프로그래머블논리회로의 기능결정용메모리에 사용한 경우, 그 기능결정용메모리의 일부를 플립플롭으로서 사용할 수 있고, 논리셀에서 실현되는 플립플롭의 수를 증가시킬 수 있다.
청구항13 기재의 프로그래머블논리회로에서는 논리셀내의 회로셀의 상태를 임의로 설정할 수 있다.
청구항 15, 16 및 28중 어느 한항 기재의 프로그래머블논리회로 및 청구항31 또는 32기재의 프로그래머블논리회로시스템에 있어서는 프로그래머블논리회로 또는 프로그래머블논리회로시스템이 동작중, 다른 동작중의 부분회로의 동작에 영향을 주는일 없이, 적어도 하나의 부분회로에서 실현된 회로기능을 변경할 수 있다. 이 회로기능의 변경에 의해서, 논리기능, 접속기능 및 데이터에 입축력기능을 변경할 수 있다.
이것에 의해, 게이트수로 결정되는 구성가능 회로수 보다도 많은 회로를 실현할 수 있다.
청구항17 내지 19중 어느 한항 기재의 프로그래머블논리회로 및 청구항33 내지 35중 어느 한항 기재의 프로그래머블논리회로시스템에 있어서는 기능결정용데이터를 공급하기위한 기능결정용데이터서버를 포함하고 있고, 상기 기능결정용데이터는 전용선 및 프로그래머블배선중 어느것을 거쳐서 부분회로에 공급할 수 있다. 따라서, 기능결정용데이터를 효율 좋게 부분회로에 공급할 수 있고, 프로그래머블논리회로 및 프로그래머블논리회로시스템의 회로구성을 간이화할 수 있다.
청구항20 또는 21기재의 프로그래머블논리회로 및 청구항36 또는 37기재의 프로그래머블논리회로시스템에 있어서는 부분회로는 복수의 기능결정용데이터를 저장하는 기억회로를 갖고 있다. 따라서, 기능결정용데이터를 절환함으로서, 부분회로에서 실현되는 회로기능을 단시간에 변경할 수 있다.
청구항22 기재의 프로그래머블논리회로 및 청구항38 기재의 프로그래머블논리회로시스템에 있어서는 기능결정용데이터서버를 접속하기 위한 인터페이스가 설비되어 있다. 따라서, 기능결정용데이터서버를 외부에 설비할 수 있기 때문에, 프로그래머블논리회로 및 프로그래머블논리회로시스템을 간이화할 수 있다. 또, 기능결정용데이터서버로서, 퍼스널컴퓨터등의 대형의 고기능 장치를 사용할 수 있다.
청구항23 기재의 프로그래머블논리회로 및 청구항39 기재의 프로그래머블논리회로시스템에 있어서는 특정한 부분회로의 회로기능을 선택적으로 변경하는 제어장치가 설비되어 있다. 제어장치는 전용선 및 프로그래머블배선중 어느것을 거쳐서 부분회로에 접속되어 있다. 따라서, 프로그래머블논리회로가 동작중에, 특정한 부분회로만의 회로기능을 효율좋게 변경할 수 있다.
청구항24 기재의 프로그래머블논리회로 및 청구항40 기재의 프로그래머블논리회로시스템에 있어서는 제어장치를 접속하기 위한 인터페이스가 설비되어 있다. 따라서, 제어장치를 외부에 설비할 수 있기 때문에, 프로그래머블논리회로 및 프로그래머블논리회로시스템을 간이화할 수 있다. 또, 제어장치로서 퍼스널컴퓨터 등의 대형의 고기능 장치를 사용할 수 있다.
청구항25 내지 27중 어는 한항 기재의 프로그래머블논리회로에서는 논리셀에서 실현된 회로기능이 변경될 때, 논리셀의 출력이 출력데이터유지회로에 의해서 유지된다. 따라서, 특정한 논리셀의 회로기능이 변경되더라도, 다른 동작중의 논리셀의 동작에 영향을 주는 것을 방지할 수 있다.
청구항29 기재의 프로그래머블논리회로에서는 기능결정용메모리의 시프트 레지스터는 체인래치구성의 시프트 레지스터로 구성되어 있다. 따라서, 프로그래머블논리회로를 소형화할 수 있다.
청구항30 기재의 프로그래머블논리회로에서는 메모리 콘트롤러에 공급되는 기능결정용데이터는 다른 논리셀로 부터의 출력신호를 기초로 생성된다. 따라서, 외부에서 기능결정용데이터를 공급할 필요가 없기 때문에, 프로그래머블논리회로에서 구성할 수 있는 회로기능규모를 게이트수로 정해지는 회로기능규모 보다도 자율적으로 증가시킬 수 있다.

Claims (40)

  1. 체인형식으로 순차적으로 접속된 복수의 회로셀을 갖는 시프트 레지스터로서, 상기 복수의 회로셀의 각각은 제1반전게이트와, 상기 제1반전게이트의 출력에 접속되어 클록에 의해서 스위치 동작하는 제1트랜스미션 게이트와, 상기 제1트랜스미션 게이트의 출력에 접속된 제2반전게이트와, 상기 제2반전게이트의 출력과 상기 제1반전게이트의 입력의 사이에 접속되어 상기 클록에 의해서 스위치 동작하는 제1P채널트랜지스터와, 상기 제2반전게이트의 출력에 접속되어 반전클록에 의해서 스위치 동작하는 제2트랜스미션 게이트와, 상기 제1트랜스미션 게이트의 출력에 접속되어 상기 반전클록에 의해서 스위치 동작하는 제2P채널트랜지스터를 갖고, 상기 회로셀의 상기 제1반전게이트의 입력은 상기 회로셀의 전단의 회로셀의 제2트랜스미션 게이트의 출력에 접속되고, 상기 회로셀의 상기 제1반전게이트의 출력은 상기 전단의 회로셀의 상기 제2P채널트랜지스터의 출력에 접속되고, 상기 복수의 회로셀이 순차적으로 접속된 것을 특징으로 하는 시프트 레지스터.
  2. 제1항에 있어서, 상기 제1반전게이트는 제1인버터를 갖고, 상기 제2반전게이트는 제2인버터를 갖는 것을 특징으로 하는 시프트 레지스터.
  3. 제1항에 있어서, 상기 제1반전게이트는 제1NAND게이트를 갖고, 상기 제2반전게이트는 제2NAND게이트를 갖는 것을 특징으로 하는 시프트 레지스터.
  4. 제1항에 있어서, 상기 제1반전게이트는 제1NOR게이트를 갖고, 상기 제2반전게이트는 제2NOR게이트를 갖는 것을 특징으로 하는 시프트 레지스터.
  5. 제1항 내지 제4항중 어느 한항에 있어서, 상기 클록 및 상기 반전클록을 공급하는 클록공급회로를 더 포함하고, 상기 클록공급회로는 입력클록을 버퍼링하여 상기 클록을 출력하는 제1버퍼회로와, 상기 입력 클록을 반전하여 상기 반전클록을 출력하는 제2버퍼회로를 갖고, 상기 제1버퍼회로 및 상기 제2버퍼회로의 적어도 한쪽은 P채널트랜지스터측의 드라이브능력이 N채널측의 드라이브능력보다 실질적으로 동등 이상이 되도록 트랜지스터 파라미터를 조절한 인버터를 포함하는 것을 특징으로 하는 시프트 레지스터.
  6. 제1항 내지 제4항중 어느 한항에 있어서, 상기 클록 및 상기 반전클록을 공급하는 클록공급회로를 더 포함하고, 상기 클록공급회로는 입력클록을 버퍼링하여 상기 클록을 출력하는 제1버퍼회로와, 상기 입력클록을 반전하여 상기 반전클록을 출력하는 제2버퍼회로를 갖고, 상기 제1버퍼회로 및 상기 제2버퍼회로의 적어도 한쪽은 P채널트랜지스터 수가 N채널트랜지스터 수보다도 많은 인버터를 포함하는 것을 특징으로 하는 시프트 레지스터.
  7. 제6도항에 있어서, 상기 P채널트랜지스터의 드라이브능력을 Dp, 상기 N채널트랜지스터의 드라이브 능력을 Dn으로 할 경우, 상기 P채널트랜지스터 수와 상기 N채널트랜지스터 수의 비는 실질적으로 Dp/Dn 이상인 것을 특징으로 하는 시프트 레지스터.
  8. 제3항에 있어서, 상기 제1NAND게이트 중 하나의 입력단자와 상기 제2NAND게이트중 하나의 입력단자에 접속되어, 상기 회로셀내의 상태를 설정하기 위한 상태설정회로를 더 갖는 것을 특징으로 하는 시프트 레지스터.
  9. 제4항에 있어서, 상기 제1NOR게이트중 하나의 입력단자와 상기 제2NOR게이트중 하나의 입력단자에 접속되고, 상기 회로셀내의 상태를 설정하기 위한 상태설정회로를 더 갖는 것을 특징으로 하는 시프트 레지스터.
  10. 제1항 내지 제7항중 어느 한항에 있어서, 상기 복수의 회로셀의 각각은 데이터출력단자를 갖고, 상기 복수의 회로셀의 데이터출력단자에 접속되어 제어입력신호에 따라서 상기 데이터출력단자로부터의 데이터중 하나를 출력하는 디코더회로를 더 갖는 것을 특징으로 하는 시프트 레지스터.
  11. 제1항 내지 제9항중 어느 한항에 있어서, 상기 복수의 회로셀의 일부의 회로셀이 상기 제1, 제2트랜스미션 게이트와, 상기 제1, 제2P채널트랜지스터의 클록입력단자에 접속되고, 제1모드에서는 상기 클록 및 상기 반전클록을 상기 클록입력단자에 공급하고, 제2모드에서는 상기 일부의 회로셀을 나머지의 회로셀로부터 아이솔레이트하기 위해서 상기 클록입력단자의 일부에 소정신호를 공급하고, 또 나머지 클록입력단자에는 임의의 신호를 공급하는 클록제어회로를 더 갖고, 상기 제2모드에서는 상기 일부의 회로셀이 플립플롭으로서 동작할 수 있는 것을 특징으로하는 시프트 레지스터.
  12. 기능결정용데이터가 공급되는 기능결정용메모리와, 상기 기능결정용데이터에 따라서 소망하는 논리회로를 실현하는 적어도 하나의 논리셀을 갖는 프로그래머블논리회로로서, 상기 기능결정용메모리는 체인형식으로 순차적으로 접속된 복수의 회로셀을 갖는 시프트 레지스터를 갖고 상기 복수의 회로셀의 각각은 제1반전게이트와, 상기 제1반전게이트의 출력에 접속되어 클록에 의해서 스위치 동작하는 제1트랜스미션 게이트와, 상기 제1트랜스미션 게이트의 출력에 접속된 제2반전게이트와, 상기 제2반전게이트의 출력과 상기 제1반전게이트의 입력 사이에 접속되어 상기 클록에 의해서 스위치 동작하는 제1P채널트랜지스터와, 상기 제2반전게이트의 출력에 접속되어 반전클록에 의해서 스위치 동작하는 제2트랜스미션 게이트와, 상기 제1트랜스미션 게이트의 출력에 접속되어 상기 반전클록에 의해서 스위치 동작하는 제2P채널트랜지스터를 갖고, 상기 회로셀의 상기 제1반전게이트의 입력은 상기 회로셀의 전단의 회로셀의 제2트랜스미션게이트의 출력에 접속되고, 상기 회로셀의 상기 제1반전게이트의 출력은 상기 전단의 회로셀의 상기 제2P채널트랜지스터의 출력에 접속되어 상기 복수의 회로셀이 순차적으로 접속되는 것을 특징으로 하는 프로그래머블논리회로.
  13. 제12항에 있어서, 상기 제1 및 제2반전 게이트는 NAND게이트 및 NOR게이트중 어느 한쪽을 갖고, 이 게이트의 한쪽으로부터 소정 신호를 공급함으로서, 상기 회로셀의 상태를 설정할 수 있는 것을 특징으로 하는 프로그래머블논리회로.
  14. 제12항 또는 제13항에 있어서, 상기 복수의 회로셀 일부의 회로셀이 상기 제1, 제2의 트랜스미션 게이트와 상기 제1, 제2의 P채널트랜지스터의 클록입력단자에 접속되고, 제1모드에서는 상기 클록 및 상기 반전클록을 상기 클록입력단자에 공급하고, 제2 모드에서는 상기 일부의 회로셀을 나머지 회로셀로부터 아이솔레이트 하기 위해서, 상기 클록입력단자의 일부에 소정의 신호를 공급하고, 또 나머지 클록입력단자에는 임의의 신호를 공급하는 클록제어회로를 더 갖고, 상기 제2모드에서는 상기 일부의 회로셀이 플립플롭으로서 동작할 수 있고, 상기 플립플롭은 상기 소망하는 논리회로의 일부로서 사용할 수 있는 것을 특징으로 하는 프로그래머블논리회로.
  15. 기능결정용 데이터에 따라서 소망하는 논리회로를 실현하는 프로그래머블논리회로로서, 복수의 부분회로를 갖고, 상기 프로그래머블논리회로가 동작중 적어도 하나의 부분회로에 제어신호를 공급할 수 있고, 다른 동작중 부분회로의 동작에 영향을 주지않고, 상기 적어도 하나의 부분회로에서 실현된 회로기능이 변경되는 것을 특징으로 하는 프로그래머블논리회로.
  16. 제15항에 있어서, 상기 부분회로는 논리기능을 실현하는 논리셀과 복수의 부분회로의 접속기능을 실현하는 스위치박스와, 데이터의 입력 및 출력의 기능을 실현하는 I/O 모듈중 적어도 하나를 포함하는 것을 특징으로 하는 프로그래머블논리회로.
  17. 제15항 또는 제16항에 있어서, 기능결정용데이터를 상기 복수의 부분회로의 적어도 하나에 전용선 및 프로그래머블배선의 어느것을 거쳐서 공급하는 적어도 하나의 기능결정용데이터서버를 더 포함하는 것을 특징으로 하는 프로그래머블논리회로.
  18. 제17항에 있어서, 상기 기능결정용데이터서버는 저장된 기능결정용데이터를 다른 상기 논리셀 및 외부장치중 어느것으로 부터의 신호에 의해서 변경할 수 있는 수단을 포함하는 것을 특징으로 하는 프로그래머블논리회로.
  19. 제17항에 있어서, 상기 기능결정용데이터서버는 상기 부분회로마다 설비되어 있는 것을 특징으로 하는 프로그래머블논리회로.
  20. 제15항 또는 제16항에 있어서, 상기 부분회로는 복수의 기능결정용데이터를 기억하여 이들을 외부로부터의 제어신호로 절환함으로서 상기 부분회로에서 실현되는 회로기능을 단시간에 변경하는 기억회로를 갖는 것을 특징으로 하는 프로그래머블논리회로.
  21. 제20항에 있어서, 상기 기억회로에 기억된 상기 복수의 기능결정용데이터중 적어도 하나를 다른 상기 부분회로 및 외부장치중 어느 것으로 부터의 신호에 의해서 변경하는 수단을 더 갖는 것을 특징으로 하는 프로그래머블논리회로.
  22. 제15항 또는 제16항에 있어서, 기능결정용데이터를 상기 복수의 부분회로중 적어도 하나에 공급하는 적어도 하나의 외부기능결정용 데이터서버를 접속하기 위한 인터페이스를 갖는 것을 특징으로 하는 프로그래머블논리회로.
  23. 제15항 내지 제22항중 어느 한항에 있어서, 상기 복수의 부분회로중 특정 부분회로를 전용선 및 프로그래머블배선중 어느것을 거쳐서 지정하여 상기 특정한 부분회로의 회로기능을 선택적으로 변경하는 제어장치를 더 갖는 것을 특징으로 하는 프로그래머블논리회로.
  24. 제15 내지 제22항중 어느 한항에 있어서, 상기 복수의 부분회로중 특정한 부분회로를 지정하여 특정한 부분회로의 회로기능을 선택적으로 변경하는 외부제어장치를 접속하기 위한 인터페이스를 갖는 것을 특징으로 하는 프로그래머블논리회로.
  25. 제16항에 있어서, 상기 논리셀은 출력데이터를 유지하는 출력데이터유지회로를 갖고, 상기 프로그래머블논리회로가 동작중, 상기 논리셀에서 실현된 회로기능이 변경될 때, 다른 동작중의 부분회로의 동작에 영향을 주지 않도록 상기 논리셀의 출력이 상기 출력데이터유지회로에 의해서 유지되는 것을 특징으로 하는 프로그래머블논리회로.
  26. 제25항에 있어서, 상기 출력데이터유지회로는 상기 논리셀의 회로기능을 변경하는 기간에 상기 논리셀내에 프로그래머블로 실현되는 것을 특징으로 하는 프로그래머블논리회로.
  27. 제25항 또는 제26항에 있어서, 상기 출력데이터유지회로는 플립플롭회로 및 래치회로중 어느것을 포함하는 것을 특징으로 하는 프로그래머블논리회로.
  28. 제15항에 있어서, 상기 논리셀은 외부에서 클록과 같이 공급되는 제1기능결정용데이터를 유지하는 동시에 제2기능결정용데이터로 직접 재설정할 수 있는 시프트 레지스터를 갖는 기능결정용메모리와, 상기 기능결정용메모리에 설정된 기능결정용데이터에 따라서 논리기능을 결정하는 프로그래머블기능유니트와, 상기 논리셀의 외부로부터의 지시에 의해서 상기 기능결정용메모리에 상기 제2기능결정용데이터를 공급하는 메모리 콘트롤러를 갖고, 상기 프로그래머블논리회로가 동작중, 상기 제2기능결정용데이터가 상기 메모리 콘트롤러로부터 상기 기능결정용메모리에 설정될 때, 상기 프로그래머블기능유니트의 상기 제1기능결정용데이터에 따라서 결정된 논리기능이 상기 제2기능결정용데이터에 따라서 결정되는 논리기능으로 변경되는 것을 특징으로 하는 프로그래머블논리회로.
  29. 제28항에 있어서, 상기 시프트 레지스터는 체인래치구성의 시프트 레지스터를 포함하는 것을 특징으로 하는 프로그래머블논리회로.
  30. 제29항에 있어서, 상기 메모리 콘트롤러에 공급되는 상기 제2기능결정용데이터는 다른 논리셀로 부터의 출력신호를 기초해서 생성되는 것을 특징으로 하는 프로그래머블논리회로.
  31. 기능결정용데이터에 따라서 소망하는 논리회로를 실현하는 프로그래머블논리회로시스템으로서, 복수의 프로그래머블논리회로를 포함하는 제2부분회로를 갖고, 상기 프로그래머블논리회로시스템이 동작중, 적어도 하나의 제2부분회로에 제어신호가 공급될 때, 다른 동작중의 제2부분회로의 동작에 영향을 주는일 없이, 상기 적어도 하나의 제2부분회로에서 실현된 회로기능이 변경되는 것을 특징으로 하는 프로그래머블논리회로시스템.
  32. 제31항에 있어서, 상기 제2부분회로는 상기 복수의 프로그래머블논리회로의 접속기능을 실현하는 복수의 스위치 디바이스와, 데이터의 입력 및 출력 기능을 실현하는 복수의 I/O 모듈을 포함하는 것을 특징으로 하는 프로그래머블논리회로시스템.
  33. 제31항 또는 제32항에 있어서, 기능결정용데이터를 상기 제2부분회로에 전용선 및 프로그래머블배선중 어느것을 거쳐서 공급하는 적어도 하나의 기능결정용 데이터서버를 더 포함하는 것을 특징으로 하는 프로그래머블논리회로시스템.
  34. 제33항에 있어서, 상기 기능결정용데이터서버는 저장된 기능결정용 데이터를 다른 프로그래머블논리회로 및 외부장치중 어느 것으로 부터의 신호에 의해서 변경할 수 있는 수단을 포함하는 것을 특징으로 하는 프로그래머블논리회로시스템.
  35. 제33항에 있어서, 상기 기능결정용데이터서버는 상기 제2부분회로마다 설비되어 있는 것을 특징으로 하는 프로그래머블논리회로 시스템.
  36. 제31항 또는 제32항에 있어서, 상기 제2부분회로는 복수의 기능결정용데이터를 기억하여 이들을 외부로부터의 제어신호로 절환함으로서 상기 제2부분회로에서 실현되는 회로기능을 단시간에 변경하는 기억회로를 갖는 것을 특징으로 하는 프로그래머블논리회로시스템.
  37. 제36항에 있어서, 상기 기억회로에 기억된 상기 복수의 기능결정용 데이터중 적어도 하나를 다른 상기 제2부분회로 및 외부장치중 어느 것으로 부터의 신호에 의해서 변경하는 수단을 더 갖는 것을 특징으로 하는 프로그래머블논리회로시스템.
  38. 제31항 또는 제32항에 있어서, 기능결정용데이터를 상기 복수의 제2부분회로중 적어도 하나에 공급하는 적어도 하나의 외부기능결정용데이터서버를 접속하기 위한 인터페이스를 갖는 것을 특징으로 하는 프로그래머블논리회로시스템.
  39. 제31항 내지 제38항 중 어느한 항에 있어서, 상기 복수의 제2부분회로중 특정한 제2부분회로를 전용선 및 프로그래머블배선중 어느것을 거쳐서 지정하여 특정한 제2부분회로의 회로기능을 선택적으로 변경하는 제어장치를 더 갖는 것을 특징으로 하는 프로그래머블논리회로시스템.
  40. 제31항 내지 제38항 중 어느한 항에 있어서, 상기 복수의 제2부분회로중 특정한 제2부분회로를 지정하여 특정한 제2부분회로의 회로기능을 선택적으로 변경하는 외부제어장치를 접속하기 위한 인터페이스를 갖는 것을 특징으로 하는 프로그래머블논리회로시스템.
KR1019960066690A 1995-12-19 1996-12-17 시프트 레지스터 및 프로그래머블 논리회로 및 프로그래머블 논리회로시스템 KR100235812B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP95-330872 1995-12-19
JP33087295 1995-12-19
JP8308458A JPH09231788A (ja) 1995-12-19 1996-11-19 シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム
JP96-308458 1996-11-19

Publications (2)

Publication Number Publication Date
KR970051397A KR970051397A (ko) 1997-07-29
KR100235812B1 true KR100235812B1 (ko) 1999-12-15

Family

ID=26565558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960066690A KR100235812B1 (ko) 1995-12-19 1996-12-17 시프트 레지스터 및 프로그래머블 논리회로 및 프로그래머블 논리회로시스템

Country Status (3)

Country Link
US (2) US6018559A (ko)
JP (1) JPH09231788A (ko)
KR (1) KR100235812B1 (ko)

Families Citing this family (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
JP3961028B2 (ja) 1996-12-27 2007-08-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
JP3106998B2 (ja) * 1997-04-11 2000-11-06 日本電気株式会社 メモリ付加型プログラマブルロジックlsi
TW371758B (en) * 1997-06-04 1999-10-11 Siemens Ag Method to optimize the signal-propagation-time in a reprogrammable switching circuit and reprogrammable switching circuit with program-code optimized in said signal-propagation time
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6762621B1 (en) * 1998-12-31 2004-07-13 Actel Corporation Programmable multi-standard I/O architecture for FPGAs
JP3444216B2 (ja) 1999-01-28 2003-09-08 日本電気株式会社 プログラマブルデバイス
US7003660B2 (en) * 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
AU4992300A (en) * 1999-05-07 2000-11-21 Morphics Technology, Inc. Apparatus and method for programmable datapath arithmetic arrays
US8230411B1 (en) 1999-06-10 2012-07-24 Martin Vorbach Method for interleaving a program over a plurality of cells
US6288566B1 (en) * 1999-09-23 2001-09-11 Chameleon Systems, Inc. Configuration state memory for functional blocks on a reconfigurable chip
TW538056B (en) * 2000-07-11 2003-06-21 Samsung Electronics Co Ltd Resist composition comprising photosensitive polymer having lactone in its backbone
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US6825689B1 (en) 2000-10-26 2004-11-30 Cypress Semiconductor Corporation Configurable input/output interface for a microcontroller
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US6603330B1 (en) * 2000-10-26 2003-08-05 Cypress Semiconductor Corporation Configuring digital functions in a digital configurable macro architecture
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6507214B1 (en) 2000-10-26 2003-01-14 Cypress Semiconductor Corporation Digital configurable macro architecture
US6646465B2 (en) * 2001-02-09 2003-11-11 Stmicroelectronics Ltd. Programmable logic device including bi-directional shift register
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US7581076B2 (en) * 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7657877B2 (en) 2001-06-20 2010-02-02 Pact Xpp Technologies Ag Method for processing data
US7996827B2 (en) * 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
WO2003060747A2 (de) 2002-01-19 2003-07-24 Pact Xpp Technologies Ag Reconfigurierbarer prozessor
JP2003233999A (ja) * 2002-02-07 2003-08-22 Hitachi Ltd 半導体集積回路及び半導体集積回路の製造方法
EP2043000B1 (de) 2002-02-18 2011-12-21 Richter, Thomas Bussysteme und Rekonfigurationsverfahren
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US6714044B1 (en) * 2002-03-25 2004-03-30 Altera Corporation Hi-speed parallel configuration of programmable logic
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US6661724B1 (en) 2002-06-13 2003-12-09 Cypress Semiconductor Corporation Method and system for programming a memory device
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004038599A1 (de) 2002-09-06 2004-05-06 Pact Xpp Technologies Ag Rekonfigurierbare sequenzerstruktur
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
TWI229341B (en) * 2003-08-13 2005-03-11 Toppoly Optoelectronics Corp Shift register circuit and a signal-triggered circuit for low temperature poly silicon (LTPS) liquid crystal display
EP1676208A2 (en) 2003-08-28 2006-07-05 PACT XPP Technologies AG Data processing device and method
TW200511719A (en) * 2003-08-29 2005-03-16 Ipflex Inc Data processing device
US7356454B2 (en) * 2003-10-17 2008-04-08 Ud Technology Corporation Method and apparatus for emulation of logic circuits
WO2005078933A1 (ja) * 2004-02-12 2005-08-25 Matsushita Electric Industrial Co., Ltd. プログラマブル論理回路
US7284222B1 (en) * 2004-06-30 2007-10-16 Tabula, Inc. Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit
US7193440B1 (en) * 2004-02-14 2007-03-20 Herman Schmit Configurable circuits, IC's, and systems
US7425841B2 (en) 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
US7126381B1 (en) 2004-02-14 2006-10-24 Herman Schmit VPA interconnect circuit
US7109752B1 (en) * 2004-02-14 2006-09-19 Herman Schmit Configurable circuits, IC's, and systems
US7167025B1 (en) * 2004-02-14 2007-01-23 Herman Schmit Non-sequentially configurable IC
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7312630B2 (en) 2004-06-30 2007-12-25 Tabula, Inc. Configurable integrated circuit with built-in turns
US7439766B2 (en) * 2004-06-30 2008-10-21 Tabula, Inc. Configurable logic circuits with commutative properties
US7449915B2 (en) * 2004-06-30 2008-11-11 Tabula Inc. VPA logic circuits
US7282950B1 (en) * 2004-11-08 2007-10-16 Tabula, Inc. Configurable IC's with logic resources with offset connections
US7408382B2 (en) * 2004-06-30 2008-08-05 Tabula, Inc. Configurable circuits, IC's, and systems
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US8082531B2 (en) * 2004-08-13 2011-12-20 Cypress Semiconductor Corporation Method and an apparatus to design a processing system using a graphical user interface
US7183801B2 (en) * 2004-09-08 2007-02-27 Atmel Corporation Programmable logic auto write-back
US7301242B2 (en) 2004-11-04 2007-11-27 Tabula, Inc. Programmable system in package
US7317331B2 (en) 2004-11-08 2008-01-08 Tabula, Inc. Reconfigurable IC that has sections running at different reconfiguration rates
US7330050B2 (en) * 2004-11-08 2008-02-12 Tabula, Inc. Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements
US7224181B1 (en) * 2004-11-08 2007-05-29 Herman Schmit Clock distribution in a configurable IC
US7268586B1 (en) * 2004-11-08 2007-09-11 Tabula, Inc. Method and apparatus for accessing stored data in a reconfigurable IC
US7342415B2 (en) * 2004-11-08 2008-03-11 Tabula, Inc. Configurable IC with interconnect circuits that also perform storage operations
US7276933B1 (en) * 2004-11-08 2007-10-02 Tabula, Inc. Reconfigurable IC that has sections running at different looperness
US7743085B2 (en) * 2004-11-08 2010-06-22 Tabula, Inc. Configurable IC with large carry chains
JP4469708B2 (ja) * 2004-11-30 2010-05-26 パナソニック株式会社 プログラマブルデバイス
US7428721B2 (en) * 2004-12-01 2008-09-23 Tabula, Inc. Operational cycle assignment in a configurable IC
US7236009B1 (en) 2004-12-01 2007-06-26 Andre Rohe Operational time extension
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7530033B2 (en) 2005-03-15 2009-05-05 Tabula, Inc. Method and apparatus for decomposing functions in a configurable IC
US8201124B1 (en) 2005-03-15 2012-06-12 Tabula, Inc. System in package and method of creating system in package
US7230869B1 (en) 2005-03-15 2007-06-12 Jason Redgrave Method and apparatus for accessing contents of memory cells
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) * 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US7375550B1 (en) * 2005-07-15 2008-05-20 Tabula, Inc. Configurable IC with packet switch configuration network
US7548085B2 (en) * 2005-07-15 2009-06-16 Tabula, Inc. Random access of user design states in a configurable IC
US7372297B1 (en) 2005-11-07 2008-05-13 Tabula Inc. Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources
US8463836B1 (en) 2005-11-07 2013-06-11 Tabula, Inc. Performing mathematical and logical operations in multiple sub-cycles
US7461362B1 (en) 2005-12-01 2008-12-02 Tabula, Inc. Replacing circuit design elements with their equivalents
US7679401B1 (en) 2005-12-01 2010-03-16 Tabula, Inc. User registers implemented with routing circuits in a configurable IC
US7489162B1 (en) 2005-12-01 2009-02-10 Tabula, Inc. Users registers in a reconfigurable IC
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8250503B2 (en) 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US7797497B1 (en) * 2006-03-08 2010-09-14 Tabula, Inc. System and method for providing more logical memory ports than physical memory ports
US7669097B1 (en) 2006-03-27 2010-02-23 Tabula, Inc. Configurable IC with error detection and correction circuitry
US7529992B1 (en) 2006-03-27 2009-05-05 Tabula, Inc. Configurable integrated circuit with error correcting circuitry
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7514957B2 (en) * 2007-03-20 2009-04-07 Tabula, Inc Configurable IC having a routing fabric with storage elements
US7535252B1 (en) 2007-03-22 2009-05-19 Tabula, Inc. Configurable ICs that conditionally transition through configuration data sets
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8111577B2 (en) 2007-04-17 2012-02-07 Cypress Semiconductor Corporation System comprising a state-monitoring memory element
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) * 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8412990B2 (en) * 2007-06-27 2013-04-02 Tabula, Inc. Dynamically tracking data values in a configurable IC
US7652498B2 (en) 2007-06-27 2010-01-26 Tabula, Inc. Integrated circuit with delay selecting input selection circuitry
US8069425B2 (en) 2007-06-27 2011-11-29 Tabula, Inc. Translating a user design in a configurable IC for debugging the user design
US7579867B2 (en) * 2007-06-27 2009-08-25 Tabula Inc. Restructuring data from a trace buffer of a configurable IC
US7839162B2 (en) 2007-06-27 2010-11-23 Tabula, Inc. Configurable IC with deskewing circuits
US7595655B2 (en) * 2007-06-27 2009-09-29 Tabula, Inc. Retrieving data from a configurable IC
US7501855B2 (en) 2007-06-27 2009-03-10 Tabula, Inc Transport network for a configurable IC
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US7969184B1 (en) 2007-09-06 2011-06-28 Tabula, Inc. Configurable high speed high voltage input/output circuit for an IC
US8248101B2 (en) * 2007-09-06 2012-08-21 Tabula, Inc. Reading configuration data from internal storage node of configuration storage circuit
WO2009039462A1 (en) * 2007-09-19 2009-03-26 Tabula, Inc. Method and system for reporting on a primary circuit structure of an integrated circuit (ic) using a secondary circuit structure of the ic
US8863067B1 (en) 2008-02-06 2014-10-14 Tabula, Inc. Sequential delay analysis by placement engines
GB2457912A (en) * 2008-02-27 2009-09-02 Silicon Basis Ltd An FPGA which is reconfigured between each clock cycle
WO2009131569A1 (en) * 2008-04-21 2009-10-29 Tabula, Inc. Configurable ic with packet switch configuration network
US8166435B2 (en) * 2008-06-26 2012-04-24 Tabula, Inc. Timing operations in an IC with configurable circuits
US8525548B2 (en) 2008-08-04 2013-09-03 Tabula, Inc. Trigger circuits and event counters for an IC
US8674721B2 (en) 2008-09-17 2014-03-18 Tabula, Inc. Controllable storage elements for an IC
EP2190022B1 (en) * 2008-11-20 2013-01-02 Hitachi Ltd. Spin-polarised charge carrier device
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8072234B2 (en) 2009-09-21 2011-12-06 Tabula, Inc. Micro-granular delay testing of configurable ICs
US8912820B2 (en) 2010-04-02 2014-12-16 Tabula, Inc. System and method for reducing reconfiguration power
US8650514B2 (en) 2010-06-23 2014-02-11 Tabula, Inc. Rescaling
US8788987B2 (en) 2010-06-23 2014-07-22 Tabula, Inc. Rescaling
TWI420450B (zh) * 2010-12-23 2013-12-21 Au Optronics Corp 移位暫存器的時脈訊號供應方法與電路
US8941409B2 (en) 2011-07-01 2015-01-27 Tabula, Inc. Configurable storage elements
US9148151B2 (en) 2011-07-13 2015-09-29 Altera Corporation Configurable storage elements
US9203397B1 (en) 2011-12-16 2015-12-01 Altera Corporation Delaying start of user design execution
CN104321967B (zh) 2012-05-25 2018-01-09 株式会社半导体能源研究所 可编程逻辑装置及半导体装置
KR102112367B1 (ko) * 2013-02-12 2020-05-18 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
US9000801B1 (en) 2013-02-27 2015-04-07 Tabula, Inc. Implementation of related clocks
GB2580165B (en) * 2018-12-21 2021-02-24 Graphcore Ltd Data exchange in a computer with predetermined delay

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975932A (en) * 1987-12-28 1990-12-04 Matsushita Electric Industrial Co., Ltd. Shift register and shift register system with controllable transfer stages
US5132993A (en) * 1989-12-20 1992-07-21 Nec Corporation Shift register circuit
US5159616A (en) * 1990-10-25 1992-10-27 Digital Equipment Corporation CMOS shift register with complementary refresh pass gates and buffer
US5426378A (en) * 1994-04-20 1995-06-20 Xilinx, Inc. Programmable logic device which stores more than one configuration and means for switching configurations
US5426379A (en) * 1994-07-29 1995-06-20 Xilinx, Inc. Field programmable gate array with built-in bitstream data expansion
US5646544A (en) * 1995-06-05 1997-07-08 International Business Machines Corporation System and method for dynamically reconfiguring a programmable gate array
US5600263A (en) * 1995-08-18 1997-02-04 Xilinx, Inc. Configuration modes for a time multiplexed programmable logic device
US5760602A (en) * 1996-01-17 1998-06-02 Hewlett-Packard Company Time multiplexing a plurality of configuration settings of a programmable switch element in a FPGA

Also Published As

Publication number Publication date
US6404224B1 (en) 2002-06-11
KR970051397A (ko) 1997-07-29
JPH09231788A (ja) 1997-09-05
US6018559A (en) 2000-01-25

Similar Documents

Publication Publication Date Title
KR100235812B1 (ko) 시프트 레지스터 및 프로그래머블 논리회로 및 프로그래머블 논리회로시스템
US6014038A (en) Function block architecture for gate array
US5809281A (en) Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
US5488582A (en) Non-disruptive, randomly addressable memory system
US5256918A (en) Programmable logic circuit
US6028808A (en) Programmable logic array integrated circuits
US5646544A (en) System and method for dynamically reconfiguring a programmable gate array
US5953537A (en) Method and apparatus for reducing the number of programmable architecture elements required for implementing a look-up table in a programmable logic device
JPH07504797A (ja) 論理積項の縦続接続および改良したフリップフロップ利用を伴うマクロセル
US5302866A (en) Input circuit block and method for PLDs with register clock enable selection
WO1994001867A9 (en) Non-disruptive, randomly addressable memory system
US6897679B2 (en) Programmable logic array integrated circuits
JPH03231515A (ja) プログラマブル論理装置
US5282164A (en) Programmable integrated circuit
US6870393B2 (en) Field programmable device
US5132570A (en) Extended logical scale structure of a programmable logic array
US6195296B1 (en) Semiconductor memory device and system
US6222381B1 (en) Self-configurable parallel processing system made from self-dual code/data processing cells utilizing a non-shifting memory
JPH033189A (ja) 半導体集積回路装置
US6263482B1 (en) Programmable logic device having macrocells with selectable product-term inversion
JP2544494B2 (ja) プログラマブル・ロジックアレイの論理規模拡張構成
WO2001025976A2 (en) Function block architecture for gate array
JP2001298357A (ja) フィールド・プログラマブル・ゲートアレイ
George et al. Configuration Energy
JPS60200620A (ja) 半導体論理回路装置

Legal Events

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

Payment date: 20080925

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee