KR980010789A - 구성 메모리 집적 회로 - Google Patents
구성 메모리 집적 회로 Download PDFInfo
- Publication number
- KR980010789A KR980010789A KR1019970032975A KR19970032975A KR980010789A KR 980010789 A KR980010789 A KR 980010789A KR 1019970032975 A KR1019970032975 A KR 1019970032975A KR 19970032975 A KR19970032975 A KR 19970032975A KR 980010789 A KR980010789 A KR 980010789A
- Authority
- KR
- South Korea
- Prior art keywords
- configuration
- memory
- jtag
- programmable logic
- configuration memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/48—Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17704—Logic 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17748—Structural details of configuration resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
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)
- Logic Circuits (AREA)
Abstract
정보를 저장하는 구성 메모리는 시스템 내에서 프로그래밍 가능하다. 구성 메로리의 프로그래밍은 JTAG(IEEE 표중 규격 1149-1호) 명령을 사용하여 행할 수 있다. 또한, 구성 메모리의 구성 데이터를 사용하는 프로그래머블 논리 디바이스의 구성은 JTAG 명령으로 초기화될 수 있다. 풀-업9Pull-up) 저항기는 구성 메모리 패캐지에 내장된다.
Description
본 발명은 직접 회로 및 집적 회로 구성 기술에 관한 것이며, 특히 프로그래머블 논리 디바이스(PLD)의 구성에 사용되는 정보를 저장하는데에 있어 특히 유용한 구성가능 메모리에 관한 것이다. 본 발명은 예컨대, Altera Flex™ 10K 와 Flex™ 8K를 PLD의 라인으로 인터페이스할 수 있는 디바이스를 제공한다. 그러나, 본 발명의 원리를 사용하여 설계된 디바이스가 다양한 목적으로 정보를 저장하고 여러 가지 디바이스와 인터페이스하는데 유익하게 사용될 것이다.
PLD는 이러한 산업 분야에 널리 공지되어 있으며, 설계자는 기성 부품(off-속 shelf parts)을 사용하여 특정 논리 기능을 행할 수 있게 설계한다. PLD는 상이한 논리 기능을 행하도록 설계자에 의해 주문 생산될 수 있는 집적 회로이다. 이와 같이, PLD는 기존의 표준 규격 집적 회로의 논리적인 이점은 물론 주문 생산된 디바이스의 구조적 가용성도 겸비한다. 이러한 디바이스들을 사용함으로써, 긴 설계 소요시간, 높은 세공(tooling) 비용, 복잡한 논리 구조(procurment logistics) 및 전용으로 인한 재고 문제를 제거하는 기능을 갖는 주문형 디바이스 자체적으로 설계 및 제조할 수 있다. 또한, 이러한 설계는 설계 계획 및 구매 계약을 변동시키지 않고도 용이하게 변경될 수 있다.
통상적인 PLD가 집적 회로 제조업자에 의해 제조된 때, 처음에는 어떤 특정 기능도 행하지 못하므로 이 디바이스는 우선 임의의 배열로 구성되어야 한다. PLD는 종종 임의적으로 프로그래밍되고 상호 연결될 수 있는 다수의 포괄적인 논리 블록을 포함한다. PLD는 종종 SRAM과 같은 소멸성 메모리를 사용하여 구현되기도 한다. 소멸성 메모리는 시스템으로의 전력이 종료될 때 그 구성을 잃는다. 교호적으로, PLD는 전력 종료시 그 구성이 유지되는 소거 가능한 프로그래머블 판독 전용 메모리(EPROM), 전기 소거식 프로그래머블 ROM(EEPROM), 퓨즈형 PROM, 및 비퓨즈형 PROM 등의 비소멸성 메모리로 구현될 수 있다.
프로그래머블 소자는 소멸성 메모리를 사용하는 경우, 메모리 셀은 시스템 전력 가동시 디바이스가 원하는 동작을 행하도록 구성되어야 한다. 상기는 통상적으로 외부 소스로부터의 구성 데이터를 PLD로 로딩함으로써 행해진다. 외부 소스로서는 예를 들면, 비소멸성 메모리를 사용할 수 있다. 종종, 구성 데이터는 구성 메모리에 기억된다. 구성 메모리는 정보를 기억할 수 있는 메모리다. PLD의 구성은 구성 데이터를 구성 메모리로부터 PLD로 전송함으로써 달성될 수 있다. 상기 구성을 행하는 다른 방법은 CPU, 시스템 제어기 등의 인텔리전트 호스트(intilligent host)에 의해 외부 메모리로부터 데이터를 전송하는 것이다.
본 발명은 개선된 구성 메모리가 요구되고 있음을 인식한 것이다. 프로그래머블 논리 디바이스 및 그 시스템 동작이 보다 복잡해지고 있기 때문에 구성 메모리와, 이러한 구성 메모리를 이용하는 방법이 개선되어야 한다. 현재의 프로그래머블 논리 디바이스는 대형화되고 복잡해지고 있다. 따라서, 이러한 디바이스를 구성하기 위해 더 많은 구성 데이터가 필요하게 된다. 구성 프로세스의 속도 및 가용성은 그 중요성이 증가하고 있다. 또, 프로그래머블 논리 디바이스를 구성하는 새로운 방법은 현재의 구성 메모리 분야의 구성 기술보다 나아져야 하므로 개선된 구성 메모리가 요구되고 있다.
제1도는 구성 메모리를 포함하고 있는 디지털 시스템의 블록도.
제2도는 구성 메모리와 프로그래머블 논리 디바이스가 결합된 블록도.
제3도는 구성 메모리와 프로그래머블 논리 디바이스간의 인터페이스 라인을 보다 상세하게 나타낸 블록도.
제4도는 본 발명의 구성 메모리의 보다 상세한 도면.
제5도는 다수의 구성 메모리를 사용하여 다수의 프로그래머블 논리 디바이스를 직렬 구성하는 방법에 관한 블록도.
제6도는 다수의 프로그래머블 논리 디바이스를 병렬 구성하는 방법에 관한 블록도.
제7도는 PLD를 연쇠 결합함으로써 구성 메모리로부터 복수의 PLD를 구성하는 방법에 관한 블록도.
* 도면의 주요 부분에 대한 부호의 설명
101 : 처리 장치 105 : 메모리
111 : 입력/출력부 121 : 프로그래머블 논리 디바이스
124 : 구성 메모리
본 발명은 정보를 저장하는데 사용하는 구성 메모리를 제공한다. 구성 메모리는 정보가 저장되는 메모리 어레이와, 이 정보가 전송되어지는 데이터-출력 포트와, JTAG 포트로부터 JTAG 명령군 중 하나의 JTAG 명령을 수신할 수 있는 JTAG 회로를 구비하여 이 JTAG 명령에 따라 구성 메모리의 동작을 제어한다. JTAG 포트는 조인트 테스트 액션 그룹 인터페이스 표준 규격(JTAG 표준 규격)에 따라 규정된다. JTAG 표준 규격은 본 명세서에서 참조용으로 기술되는 1990년 IEEE 표준 규격 1149.1호, IEEE Standard Test Access Port and Boundary-Scan Architecture에 개시되어 있다.
바람직한 실시예에서, 구성 메모리에 저장된 정보는 프로그래머블 논리 디바이스를 구성하는데 사용되는 구성 데이터이다.
또다른 실시예에서, 저항기는 공통의 물리적 패키지(common physical package)로 구성 메모리에 제공되어 제어 신호의 일부를 원하는 논리 레벨로 유지시킨다. 이 저항기들은 종전의 디바이스에 역 호환을 허용하도록 시스템으로부터 선택적으로 분리될 수 있다.
프로그래머블 논리 디바이스를 구성하는 방법 또한 제공되었다. 이 구성 방법은 메모리 어레이와 JTAG 포트로부터 JTAG 명령군 중의 하나를 수신할 수 있는 JTAG 회로를 구비하여 이 JTAG 명령에 따라 구성 메모리의 동작을 제어하는 구성 메모리를 제공하는 단계, 구성 데이터로 상기 메모리 어레이를 프로그래밍하는 단계, 및 상기 프로그래머블 논리 디바이스로 구성 데이터를 전송하는 단계를 포함한다. 본 발명의 바람직한 실시예에서, 구성 메모리는 JTAG 포트를 통해 전송되어지는 데이터를 가짐으로써 프로그래밍 된다. 또다른 바람직한 실시예에서는 JTAG 명령어 수신될 때 구성 메모리로부터 프로그래머블 논리 디바이스로 데이터를 전송한다.
시스템의 구성 메모리를 프로그래밍 하는 방법 또한 제공되었다. 이 프로그래밍 방법은 구성 메모리의 JTAG 포트에 JTAG 명령을 보내는 단계와 JTAG 포트를 통해 구성 메모리의 메모리 어레이로 구성 데이터를 전송하는 단계로 이루어진다.
도 1은 본 발명이 실시되어지는 통상의 환경을 나타낸다. 디지털 시스템은 메모리(105) 및 입력/출력 디바이스(111)에 결합되는 처리 장치(101)를 구비한다. 개인용 컴퓨터는 이러한 디지털 시스템의 일례이다. 그러나, 다양한 전자 부품 및 주문형 생산품은 본 발명으로부터 유용하게 사용될 것이다. 본 발명은 원거리 통신, 스위치, 네트 워크, 및 다른 수많은 기술 분야에 응용될 것이다. 도 1의 디지털 시스템은 본 발명에 기술된 형태의 하나 이상의 프로그래머블 논리 디바이스(121) 및 구성 메모리(124)를 구비하고 있다. 도 1에서, 프로그래머블 논리 디바이스(121) 및 구성 메모리(124)는 처리 장치(101)의 일부분으로서 나타내었다. 그러나, 메모리(105) 또는 입력/출력 디바이스(111) 또한 프로그래머블 논리 디바이스(121) 및 구성 메모리(124)를 구비할 수 있다.
도시된 디지털 시스템은 단일 기판상에서, 다수의 기판상에서, 또는 다수의 엔클로져내에서 실시될 수 있다. 예컨대, 구성 메모리(124)는 프로그래머블 논리 디바이스(121)와는 완전히 다른 위치에 배치될 수 있고 네트워크에 의해 연결될 수 있다. 또, 디지털 시스템은 도시된 다수의 소자 또는 소자의 조합을 포함할 수 있다. 예켄대, 디지털 시스템은 다수의 처리 장치(101)를 구비할 수도 있고, 그렇지 않고 처리 장치(101)를 전혀 구비하지 않을 수도 있다. 프로그래머블 논리 디바이스(121)의 장점주의 하나는 그 논리적인 호환성이다. 따라서, 관련 분야의 기술을 가진 당업자가 각종의 디지털 시스템을 갖춘 장치를 이용하여 용이하게 응용할 수 있다.
도 2에, 프로그래머블 논리 디바이스(210)와 함께 사용한 본 발명의 구성 메모리(200)를 도시하였다. 구성 메모리(200)는 원하는 논리 기능을 행하기 위해 프로그래머블 논리 디바이스(210)를 구성하는데 사용하는 구성 데이터를 포함하고 있다. 프로그래머블 논리 디바이스(210)는 컴퓨터 전원 오프시 그 값을 유지하지 않는 소멸성 셀을 구비하는 디바이스이다. 그러므로, 컴퓨터의 전원 가동시에, 또는 프로그래머블 논리 디바이스가 재구성될 시에는, 구성 데이터가 프로그래머블 논리 디바이스(210)로 로드되어야 한다. 구성 메모리(200)는 구성 데이터를 유지한다.
상기 구성 데이터는 구성 메모리(200)로부터 데이터 버스(22)를 통해 프로그래머블 논리 디바이스(210)로 전송된다. 전송 동작은 구성 메모리로부터 프로그래머블 논리 디바이스(210) 또는 다른 디바이스로 공급될 수 있는 데이터 클록(222)에 의해 동기화된다. 구성 메모리(200)가 시스템에 데이터 클록(222)을 제공하는 경우, 마스터로서 표시된다. 구성 메모리(200)가 외측 디바이스로부터 데이터 클로(222)을 수신하면 슬레이브로서 표시된다.
추가로, 제어 버스(224)는 구성 메모리(200)와 프로그래머를 논리 디바이스(210)간에 존재한다. 제어 버스(224)는 두 장치(200)와 (210)간에 신호변경(handshaking) 신호를 제공한다. 신호 변경 신호는 각각의 장치에 한 장치의 동작 개시 및 다른 장치의 동작 완료시의 정보를 제공한다. 제서 버스 (224)에 대한 세부사항은 이하에서 더욱 상세히 논의될 것이다.
구성 메모리(200)에 관한 본 발명의 특징은 JTAG 포트(230)이다. JTAG 포트(230)는 구성 메모리(200)가 일련의 산업-표준 규격의 프로토콜을 통해서 엑세스되게 한다. JTAG 포트 사용과 관련된 프로토콜에 따른 JTAG 포트의 구조는 상술된 JTAG 표준 규격에 기술되었다.
많은 기술이 본 발명의 구성 메모리를 사용하여 프로그래머블 논리 디바이스를 구성하는데 사용될 수 있다. 구성 기술에 대한 몇 개의 예들은 참조용으로서 본 명세서에 기술된 미국 특허 제 5,590,305호에 개시되어 있다. 도 3은 하나의 기술의 예를 도시한다. 도 3은 단일 프로그래머블 논리 디바이스(310)와 결합하는 단일 직렬 구성 메모리(300)를 도시한다. 직렬 구성 메모리(300)는 데이터 클럭(DCLK), 데이터 포트(330), 제어 라인, 및 JTAG 포트를 가지고 있다.
본 발명의 일실시예에서, 제어 라인은 예컨대, 4개의 별도의 라인으로 이루어질 수 있다. 하나의 제어 라인은 초기화 구서 라인(INIT-CONF)이다. INIT-CONF는 직렬 구성 메모리(300)로부터의 출력이다. 이것은 직렬 구성 메모리(300)가 프로그래머블 논리 디바이스(310)를 구성하기 시작할 때 로우로 구동된다. 이는 데이터를 수신하는 것을 준비하도록 프로그래머블 논리 디바이스(310)를 변경시킨다.
이것이 데이터를 수신할 준비가 되면, 프로그래머블 논리 디바이스(310)는 직렬 구성 메모리(310)의 칩 선택 라인(nCS)을 로우로 구동시킨다. nCS 라인은 구성 프로세스를 통해 로우로 구동된다. 또 어떤 때는, nCS 는 하이 논리 레벨로 유지된다. nCS의 단정시, 직렬 구성 메모리(300)는 데이터 포트(330)로 한번에 1비트의 데이터를 이동시키기 시작한다. 이러한 데이터 이동은 구성 메모리(300)의 모든 데이터가 프로그래머블 논리 디바이스(310)에 전송될 때까지 계속된다.
데이터 전송이 완료되었을 때, 구성 메모리(300)는 연속 라인(nCASC)으로 표시된 다른 제어 라인을 단정한다. nCASC 라인은 구성 메모리(300)가 그 구성 데이터를 모두 소모한 신호를 출력하는 것이다. nCASC 라인은 다수의 구성 메모리를 함께 저장할 때 유용하다. 이 기술은 이하에서 기술될 것이다. 도 3에서, 다른 구성 메모리가 없으므로, nCASC는 미접속으로 남아있게 된다.
구성 메모리(300)의 마지막 제어 라인은 출력 인에이블 라인(OE)이다. OE의 용도는 구성 메모리(300)를 인에이블 하는 것이다. 구성시에 에러가 발생할 때, 구성 멤모리(300)는 디스에이블 된다. 따라서, 프로그래머블 논리 디바이스(310)는 구성 동안에 에러가 발생하면, OE를 로우로 구동시킨다. 구성 메모리(300)는 OE가 로우로 구동함에 따라, 레지스터를 리셋하고 구성 프로세서를 다시 시작한다. JTAG 포트의 제어라인 또한 도 3에 도시하였다. JTAG 포트는 JTAG 표준으로 형성된 4개의 제어 신호를 포함한다. JTAG 입력신호는 테스트 데이터 입력 라인(TDI), 테스트 모드 선택 라인(TMS), 및 테스트 클록(TCK)으로 이루어진다. 테스트 데이터 출력 라인(TDO)도 제공되었다. JTAG 포트는 TDI 라인 상에서 직렬로 데이터를 안으로 이동시키고 TDO, 라인 상에서 직렬로 데이터를 밖으로 이동시킴으로써 동작한다. TMS 라인은 JTAG 포트가 다양한 동작 상태간을 스위칭하도록 조작된다.
도 4는 구성 메모리(300)의 바람직한 실시예의 보다 상세한 도면을 나타낸다. 바람직한 실시예에서, 도 4에 도시된 성분은 단일 반도체 기판상에서 제조된다. 구성 데이터는 메모리 어레이(400)에 저장된다. 메모리 어레이(400)는 데이터 입력(402)과 어드레스 입력(404)을 갖는 랜덤 엑세스 메모리로서 배열된다. 메모리 어레이(400)는 예컨대, EPROM, EEPROM, 플래시(Flash)형 PROM, 비퓨즈형 PROM, 퓨즈형 PROM, SRAM 또는 다른 형태의 메모리 셀로 이루어질 수 있다. 메모리 어레이는 또한 조합형 메모리셀 형태로 될 수도 있다. 어드레스 입력(404)용 어드레스는 직렬 동작시 1비트 폭이 되거나, 병렬 동작시 다수의 비트 폭이 될 수 있다. 이러한 2개 형태의 동작이 이하에 논의될 것이다.
어드레스 카운터(410)는 예컨대, OE가 단정되지 않았을 때 모두 제로인 초기 값으로 리셋된다. nCS가 단정되고 OE가 단정될 때, 어드레스 카운터는 인에이블 된다. 어드레스 카운터(410)는 데이터 클록(DCLK)에 의해 구동된다. 구성 메모리(300)가 인에이블되면, 어드레스 카운터(410)는 매 클록 사이클마다 하나씩 증대된다. 이 방법으로, 메모리 어레이(400)는 각각의 메모리 장소에 순차적으로 엑세스된다. 메모리 장소가 어드레스 카운터(420)에 의해 엑세스되면, 그 장소의 데이터은 시프트레지스터(420)에 저장된다. 시프트 레지스터(420)로부터의 구성 데이터는 구성 메모리(300) 외부의 프로그래머블 논리 디바이스로 이동된다.
복호 논리부(430)는 구성 데이터가 메모리 어레이(400)로부터 완전히 소모될 때를 결정하도록 포함된다. 복호 논리부(430)는 어드레스 카운터(410)의 출력을 참고하여 메모리 어레이(400)가 데이터로부터 출력될 때를 결정한다. 이러한 결정은 메모리 어레이(400)에 저장된 정보의 마지막 부분의 어드레스와 현재의 어드레스를 비교함으로써 달성될 수 있다. 메모리 어레이(400)가 데이터로부터 출력될 때, nCASC(434)는 단정되고, 데이터 출력 라인(436)은 3-상태이다.
데이터 클록 라인(DCLK)은 양방향성 단자이며, 2개의 동작 모드를 갖는다. 하나의 동작 모드에서, 구성 메모리(300)는 마스터이다. DCLK는 오실레이터(440)로부터 구성 메모리(300)내로 공급된다. 오실레이터(440)는 nCS 라인 및 OE로부터의 입력을 수신하는 오실레이터 제어 논리부(442)에 의해 제어된다. 마스터로서 동작할 때, 어드레스 카운터(410)와 DCLK의 클록은 모두 오실레이터(440)로부터 공급된다. 구성 메모리(300)의 제 2 동작 모드는 슬레이브로서 행해진다. 슬레이브로서 동작할 때, DCLK는 외부 디바이스로부터 공급된다. 예컨대, 상기 클록은 외부의 프로그래머블 논리 디바이스, 또는 동일한 시스템의 다른 구성 메모리로부터 공급될 수가 있다. 슬레이브 모드일 때, 오실레이터(440)로부터의 출력은 DCLK로부터 분리 오실레이터(440)까지 3-상태가 된다. 슬레이브 모드에서, DCLK는 구성 메모리(300)로의 입력으로서 동작한다.
바람직한 실시예에서, 구성 메모JTAG 회로(450)리(300)가 마스터로서 동작할지 슬레이브로서 동작할지의 여부의 결정은 전력 가동시에 결정된다. 이러한 정보는 래치(448)에 저장된다. 래치(448)는 nCS 및 OE의 초기 상태를 저장하고 있다. 전력 가동시 nCS가 로우이고 OE가 하이이면, 구성 메모리(300)는 마스터이고 반대이면, 슬레이브이다.
구성 메모리(300)는 또한 JTAG 회로(450)를 구비한다. JTAG 회로(450)는 입력으로서 TDI, TMS 및 TOK를 수신한다. TAP 제어기(454)는 JTAG 회로(450)에 제공된다. TAP 제어기(454)는 TMS와 TCK에서의 변호에 응답하여 JTAG 회로의 동작 순서를 제어하는 동기적 한정 상태 기기이다. 그 동작은 JTAG 표준에 개시되어 있다.
명령 레지스터(456)도 JTAG 회로(450)에 제공된다. 명령 레지스터(456)는 TAP 제어기(454)가 특정한 상태에 있는 동안에만 로드 가능하다. 다른 상태에 있는 동안은, JTAG 회로(450)는 명령 레지스터(456)의 명령에 의해 작동한다.
메모리 어레이(400)의 메모리 셀은 하나 이상의 JTAG 테스트 데이터 레지스터를 형성하도록 데이지 체인된다. JTAG 테스트 데이터 레지스터의 제 1 소자는 TDI에 결합된다. JTAG 테스트 데이터 레지스터의 마지막 소자는 구성 메모리(300)의 외부라인, 즉 TDO에 연결된다.
TAP 제어기(454)를 적당한 상태로 배치하고 정확한 명령을 명령 레지스터(456)로 로드함으로써, 데이터는 JTAG 테스트 데이터 레지스터를 통해 메모리 어레이(400)의 메모리 셀로 직렬로 주사된다. 이 방식에서, 메모리 어레이(400)는 구성 데이터로 구성될 수 있다. 메모리 어레이(400)의 프로그래밍은 구성 메모리가 그것이 속하는 시스템 내의 위치되어지는 동안에 달성될 수 있다. 이는 내부-시스템 프로그래밍(ISP)으로서 표시된다. 명령 레지스터의 세부적인 사항은, 명령의 세트 및 JTAG 제어기 상태 기기는 JTAG 표준 규격에 이용 가능하다.
구성 메모리(300)를 위한 구성 데이터는 외부 소프트웨어에 의해 공급될 수 있다. 예를 들면, 캘리포니아 산 호세에 있는 Altera Corporation이 판매하는 Altera의 MAX+PLUS Ⅱ라는 이름의 소프트웨어는 하나 이상의 프로그래머블 논리 디바이스로 원하는 논리 기능을 구현하기 위해 사용될 수 있다. Altera의 MAX+PLUS Ⅱ 소프트웨어는 상기의 설계를 구현하기 위해 구성 데이터를 발생시킨다. 이 구성 데이터는 프로그래머블 논리 디바이스를 프로그래밍 하는데 사용된다. 구성 데이터는 랜덤 엑세스 메모리, 캐쉬 메모리, 자성 매체, 하드 디스크 드라이브, 플로피 디스크, CD ROM 등에 국한되지 않으며, 이와 같은 메모리에 저장될 수 있다. 바람직한 형태의 구성 데이터가 당 산업분야에서 "SVF" 파일로서 공지된 표준 구성 파일 형식으로 저장된다. 예컨대, SVF 파일은 플로피 디스크에 저장될 수 있다. SVF 파일은 컴퓨터로부터 케이블을 통해 본 발명의 구성 메모리로 전송될 수 있다.
추가의 출력 단자, 즉 INIT-CONF는 구성 메모리(300)가 구성 데이터의 전송을 시작할 준비가 되는 때는 구성 메모리(300)로부터의 출력 신호이다. 본 발명의 일실시예에서, INIT-CONF는 메모리 어레이(400)의 셀 중의 하나에 결합된다. JTAG 명령은, 예컨대 비공식적인 JTAG 명령은 INIT-CONF가 단정되도록 JTAG 회로(450)에 보내질 수 있다. JTAG 명령은 명령 레지스터(456)로 로드될 수 있다. JTAG 회로는 데이터를 셀로 로드시켜서 INIT-CONF가 단정되도록 만든다. 다른 실시예에서, 구성 메모리(300)는 메모리 어레이(400)의 외측에 INIT-CONF를 단정하기 위해 비공식적인 JTAG 명령에 의해 조작되는 분리 회로를 갖는다.
nCS 신호는 로우 논리 레벨에서 단정될 수 있고 OE는 하이 논리 레벨에서 단정될 수 있다. 구성 메모리(300)가 선택될 때, nCS는 로우로 구동되고, OE는 하이로 유지된다. OE는 에러가 발생했을 때 로우로 구동되고, 구성 메모리(300)는 디스에이블 된다. 또 어떤 때는, 이러한 입력들이 하이 논리 레벨로 유지될 수 있다. 이러한 입력은 VCC와 입력 신호 사이에 위치된 저항기(460,464)에 의해 하이로 유지된다. 종전의 구성 메모리에서, 저항기는 구성 메모리 외부의 VCC와 입력 신호 사이에 배치되었다.
본 발명의 일실시예에서, 저항기(460)는 VCC와 nCS 라인 사이에 위치되고 다른 저항기(462)는 VCC와 OE 사이에 위치되었다. 저항기(460,462)는 구성 메모리 패키지의 메모리 어레이로서 공통의 물리적 패키지(즉, 동일한 반도체 기판상에 제조된)에 위치된다. 이것은 외부 저항기의 수를 감소시키고 모든 수반되는 공간 수요 및 외부 저항기에 따른 배선의 필요성을 제거시키는 이점을 갖는다. 이것은 필요한 부분의 수와, 오류 또는 손상 가능성을 갖는 부분의 수를 감소시킨다. 또한, 설계자는 설계시에 필요한 저항기의 적당한 사이즈를 결정하는 것을 염려할 필요가 없다.
유사하게, INIT-CONF는 구성 메모리(300)가 프로그래머블 논리 디바이스에 구성 사이클을 시작하도록 신호를 보낼 때 로우로 구동된다. 이것이 단정되지 않는 경우, 하이 논리 레벨로 유지된다. 이것을 하이 논리 레벨로 유지하기 위해, 저항기(464)는 VCC와 INIT-CONF 사이에 배치된다. 과거에는, 저항기와 외부적으로 칩에 배치되었다. 본 발명의 일실시예에서, 저항기(464)는 칩 패키지내에 위치되므로써 상기에 열거된 모든 이점들을 제공한다.
과거에 사용되었던 디바이스와의 역 호환을 위해, 본 발명의 구성 메모리는 에뮬레이션 비트(470)를 제공한다. 에뮬레이션 비트(470)가 설정되면, nCS상의 저항기(460,462,464), OE, 및 INIT-CONF는 프로그래머블 스위치(480,482,484)에 의해 회로로부터 분리된다. 또한, 종전의 장치는 JTAG 인터페이스, TDO 출력라인, 또는 INIT-CONF 출력을 갖지 않기 때문에, 이러한 출력들은 에뮬레이션 비트(470)가 설정될 때 3-상태 조건으로 배치된다. 에뮬레이션 비트(470)의 설정으로, 본 발명의 디바이스가 시스템을 재설계하지 않고도 종전의 이용 가능한 구성 메모리와 교환 가능하게 사용될 수 있다. 또한 프로그래머블 스위치(480,482)는 구성 가능한 메모리(300)가 슬레이브로서 동작할 때 시스템으로부터 저항기(460,462)를 분리시킬 수 있다. 본 발명은 단일 직렬 구성 메모리 및 단일 프로그래머블 논리 디바이스를 구성하는 기술에만 국한되는 것은 아니다. 본 발명의 원리를 이용하는 다른 기술 또한 제공되었다. 예를 들면, 시스템은 직렬 구성 메모리와 다수의 프로그래머블 논리 장치, 다수의 직렬 구성 메모리와 단일 프로그래머블 논리 디바이스, 또는 다수의 직렬 구성 메모리와 다수의 프로그래머블 논리 디바이스와 함께 동작할 수 있다.
또한, 구성 메모리는 다수의 데이터 출력 라인을 갖는 병렬 디바이스로서 동작할 수도 있다. 이 경우, 다수의 프로그래머블 논리 디바이스는 다수의 구성 메모리와 결합될 수 있는 단일 구성 메모리 또는 다수의 프로그래머블 논리 디바이스에 결합될 수 있다.
도 5는 다수의 직렬 구성 메모리(500,510)와 다수의 프로그래머블 논리 디바이스(520,530)를 도시한다. 구성 메모리(500,510)는프로그래머블 논리 디바이스(520,530) 모두에 구성 데이터를 유지한다. 제 1 구성 메모리(500)는 구성 메모리(500)가 구성데이터를 소비하거나 제 1프로그래머블 논리 디바이스(520)가 완전히 구성될 때까지 제 1프로그래머블 논리 디바이스(520)로 구성 데이터를 출력하기 시작한다. 제 1 구성 메모리(500)가 데이터를 모두 소비하면, 제 2 구성 메모리(510)가 데이터를 출력하기 시작한다. 제 1 프로그래머블 논리 디바이스(520)가 완전히 구성되었다면, 제 2 프로그래머블 논리 디바이스(530)가 데이터를 수용하기 시작한다. 제어 신호의 핸드셰이킹은 상기에 기술된 바와 유사하다. 제 1구성 메모리(500)로부터의 nCASC 신호는 제 2 구성 메모리(500)의 nCS와 결합한다. 제 1 구성 메모리(500)에 데이터가 없을 때, nCASC가 단정되고 제 2 구성 메모리(510)는 데이터를 출력하기 시작한다. 제 1 프로그래머블 논리 디바이스(520)가 완전히 구성되었을 때는, 상태라인(nCEO)을 로우로 구동시킨다. 이것은 제 2 프로그래머블 논리 디바이스(530)가 데이터를 수용하기 시작한다는 것을 나타낸다.
시스템에 필요한 많은 구성 메모리와 프로그래머블 논리 디바이스가 이러한 유형으로 함께 체인될 수 있다. 프로그래머블 논리 디바이스(520) 또는 (530) 중 하나가 구성 프로세스 동안에 에러를 갖는다면, 프로그래머블 논리 디바이스(520) 또는 (530)의 nSTSTUS 라인은 단정된다. nSTSTUS 는 구성 메모리(500,510)의 OE에 연결된다. 이것은 전체 시스템을 리셋하고 구성 프로세스는 처음부터 다시 시작한다.
시스템을 위한 데이터 클록, 즉 DCLK는 예컨대, 제 1 구성 메모리(500)와 같은 구성 메모리 중의 하나에 의해 제공되거나, 예컨대 제 1 프로그래머블 논리 디바이스(520)와 같은 프로그래머블 논리 디바이스로부터 제공된다. 상기 디바이스 중의 하나만이 데이터 클록을 위한 마스터로서 사용된다. 다른 디바이스는 슬레이브 모드에 배치된다.
상기 언급된 바와 같이, 구성 메모리는 병렬 동작에 사용될 수도 있다. 도 4에서, 메모리 어레이(400)는 1비트 폭만을 갖기보다는 다수의 비트 폭을 갖기 쉽다. 단일 데이터 출력 라인(436) 대신, 다수의 데이터 출력 라인이 제공되었다. 메모리 어레이(400)의 각각의 칼럼에 분리 데이터 출력 라인이 제공되었다. 시프트 레지스터(420)는 메모리 어레이(400)로부터 데이터를 로드하고 다수의 데이터 출력 라인(436) 각각에 한 번에 1비트의 데이터를 출력한다. 이렇게 처리한 후, 단일 구성 메모리는 다수의 프로그래머블 논리 디바이스에 종속될 수 있다.
도 6은 단일 병렬 구성 메모리(610)와 결합하는 직렬 프로그래머블 논리 디바이스(600:1,2,..i)를 도시한다. 병렬 구성 메모리(610)는 다수의 데이터 출력 라인(620:1,2,..i)을 갖는다. 각각의 개별 데이터 출력 하인(620:i)은 단일 프로그래머블 논리 디바이스(600:i)에 연결된다. 구성 메모리(610)가 상기 기술된 바와 같은 구성을 시작할 준비가 되었을 때, 각각의 프로그래머블 논리 디바이스(600)와 연결되는 INIT-CONF 라인을 단정한다. 이어서, 데이터는 데이터 입력 라인을 통해 각각의 프로그래머블 논리 디바이스에 병렬로 전송된다.
프로그래머블 논리 디바이스의 구성이 완료된 경우, CONF-DONE 라인이 발현(raised)된다. 제어 논리부(630)는 모든 프로그래머블 논리 디바이스가 완전히 구성되는 시기 및 에러가 발생하였는지의 여부를 결정한다. 이 정보느누CS 및 OE 라인상의 구성 메모리에 각각 재공급된다.
각각의 프로그래머블 논리 디바이스의 구성은 동시에 행해진다. 단일 구성 메모리에 충분한 데이터가 유지될 수 없는 경우에, 다수의 병렬 구성 메모리가 함께 직렬 연결(cascaded)될 수 있다. 이 경우, 제 1구성 메모리는 그의 모든 데이터를 출력하여 제 2 구성 메모리에 nCASC 로 신호하여 프로그래머블 논리 디바이스에 이 데치터를 출력하기 시작한다.
도 7은 본 발명의 구성 메모리를 사용하여 다수의 프로그래머블 논리 디바이스를 프로그래밍 하는 다른 기술의 블록도를 도시한다. 직렬 구성 메모리(700:도 4에 보다 상세하게 돗한 구성 메모리와 같음)는 제 1 프로그래머블 논리 디바이스(710)와 결합된다. 구성 메모리(700)는 그의 T야, 슨, 및 TCK 라인을 통해 JTAG 명령을 수용하는 JTAG 포트를 갖는다. 프로그래머블 논리 디바이스(710)는 제 2 프로그래머블 논리 디바이스(720)와 결합하여, 제 3 프로그래머블 논리 디바이스(730)와 결합하는 식으로 결합된다. 프로그래머블 논리 디바이스의 연속적인 체인즉, daisy-chain)은 원한는 만큼 연장될 수 있다.
구성 메모리(700)로부터의 구성 데이터는 상기에 기술된 바와 같이 제 1 프로그래머블 논리 디바이스(710)로 이동된다. 그러나 제 1 구성 메모리(710)는 구성 데이터 출력 포트도 갖는다. 데이터은 제 1 구성 메모리(710)로 이동된다. 데이터가 채워지면, 상기에 기술된 바와 같이 구성 프로세스를 종결하지 않고, 데이터가 구성 체디터 출력 포트(712)를 거쳐서 제 2 프로그래머블 논리 디바이스(720)로 이동된다. 이 방식에서, 몇 개의 디바이스라도 데이지-체인 될 수 있어 데이터가 구성이 완료될 때까지 이 체인을 통해 보내진다. 프로그래머블 논리 디바이스(730)가 완전히 구성되었을 때는 구성 메모리(700)를 정지시키는 제어 비트(732)를 단정한다.
본 발명울 사용하여 몇 개의 구체적인 실시예와 기술이 본 명세서에 소개되었지만, 상기 실시예들은 단지 본 발명의 예시를 위한 것이다. 상기 예들에 의해 청구범위를 제한하지는 않는다. 본 발명의 기술적 사상 및 핵심 특징을 벗어나지 않고 개시된 특정한 구조체 또는 논리 소자로 변화시킬 수 있음을 관련 분야의 기술을 가진 당업자는 용이하게 인식할 수 있을 것이다. 예를 들면, 논리 레벨이 스위치되거나, 신호명이 변경되거나 또는 설계 특성을 변경시키지 않고서도 추가의 회로를 설계에 추가시킬 수 있다. 또, 예컨대, 병렬 및 직렬 구성 메모리의 다른 조합이 구성 기술로서 사용될 수 있다.
Claims (38)
- 정보를 저장하는 메모리 어레이와; 상기 메모리 어레이와 결합하여, 상기 정보를 구성 메모리로부터 전송할 수 있는 데이터 출력 포트와; 상기 메모리 어레이와 결합하여, JTAG 명령을 수신하는 JTAG 포트와; 상기 JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 상기 구성 메모리의 동작을 제어할 수 있는 JTAG 회로를 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제1항에 있어서, 상기 메모리 어레이는 상기 JTAG 포트를 통해서 프로그래밍 가능한 것을 특징으로하는 정보 저장용 구성 메모리.
- 제1항에 있어서, 상기 메모리 어레이는 시스템 내에서 프로그래밍 가능한 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제1항에 있어서, 상기 정보는 프로그래머블 논리 디바이스를 구성하는 구성 데이테인 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제1항에 있어서, 상기 정보는 상기 JTAG 정보의 수취에 응답하여 전송 가능한 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제1항에 있어서, 상기 메모리 어레이는, 상기 JTAG 명려의 수취에 응답하여 제 1 논리 상태로부터 제 2 논리 상태로 변경되는 출력 단자를 추가로 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
- 입력/출력 단자와; 상기 입력/출력 단자와 전압원 사이에 선택적으로 결합되는 저항기와; 사용자 프로그래밍 가능한 에뮬레이션 비트와; 상기 저항기에 결합되고, 상기 에뮬레이션 비트가 단정될 때는 상기 입력/출력 단자로부터 상기 저항기를 분리하는 프로그래머블 스위치를 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제7항에 있어서, 상기 에뮬레시션 비트가 단정될 때, 상기 입력/출력 단자는 3-상태 조건인 것을 특징으로 하는 정보 저장용 구성 메모리.
- 클록 이벤트를 제공하는 클록 신호와 정보 저장용 메모리 어레이와; 제 1 및 제 2 입력 제어 라인과; 어드레스 카운터를 포함하는데, 상기 어드레스 카운터는 상기 메모리 어레이에 어드레스를 제공하고, 상기 제 1 및 제 2 입력 제어 라인에 응답하여 인에이블 되며, 상기 제 2 입력 제어라인에 응답하여 리셋되어, 상기 어드레스 카운터가 인에이블될 때에는 각각의 클록 이벤트와 함께 상기 메모리 어레이의 다음 어드레스로 진행되며; 제 1 출력 단자와; 상기 어드레스 카운터가 상기 메모리 어레이의 마지막 항목의 어드레스에 대응하는 값을 가질 때 상기 제 1 출력 단자를 제 1출력 단자를 제 1 논리 상태로부터 제 2 논리 상태로 변경시키는 복호 논리부와; 상기 구성 메모리로부터 상기 정보가 전송 가능한 데이터 출력 포트와; JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 상기 구성 메모리의 동작을 제어할 수 있는 JTAG 회로를 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제9항에 있어서, 상기 메모리 어레이는 상기 JTAG 포트를 통해 프로그래밍 가능한 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제9항에 있어서, 상기 메모리 어레이는 시스템 내에서 프로그래밍 가능한 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제9항에 있어서, 상기 정보는 프로그래머블 논리 디바이스를 구성하는 구성 데이터인 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제7항에 있어서, 상기 제 1 입력 제어 라인과 전압원 사이에 선택적으로 결합되는 제 1 저항기와; 상기 제 2 입력 제어 라인과 상기 전압원 사이에 선택적으로 결합되는 제 2저항기와; 제 2 데이터 출력 단자와 상기 전압원 사이에 선택적으로 결합되는 제 3 저항기와; 에뮬레이션 비트를 추가로 포함하며, 상기 에뮬레이션 비트가 단정될 때, 상기 제1, 제2, 및 제3 저항기는 상기 제 1 입력 제어 라인, 상기 제 2 입력 제어 라인, 및 상기 제 2 데이터 출력 단자로부터 분리되는 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제13항에 있어서, 상기 제 1, 제 2 및 제 3 저항기는 상기 메모리 어레이로 공통의 물리적 패키지에 포함되는 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제9항에 있어서, 상기 클록 신호를 선택적으로 제공하는 오실레이터와; 상기 구성 메모리가 제 1 동작 모드에 있을 때에는 상기 오실레이터에 의해 구동되고 제 2 동작 모드에 있을 때는 외부 클록 신호에 의해 선택적으로 구동되는 양방향성 클록 단자를 추가로 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
- 제9항에 있어서, 상기 JTAG 명령의 수취에 응답하여 제 1 논리 상태로부터 제 2 논리 상태로 변경되는 제 2 출력 단자를 추가로 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
- 정보를 저장하는 메모리 어레이, 상기 정보를 전송하는 데이터 출력 포트, 및 JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 구성 메모리의 동작을 제어할 수 있는 JTAG 회로를 구비하는 구성 메모리와; 상기 구성 메모리의 상기 데이터 출력 포트에 결합되며, 상기 정보는 상기 구성 메모리로부터 전송 가능한, 프로그래머블 논리 디바이스를 포함하는 것을 특징으로 하는 디지털 시스템.
- 제17항에 있어서, 상기 구성 메모리는 상기 JTAG 포트를 통해 프로그래밍 가능한 것을 특징으로 하는 디지털 시스템.
- 제17항에 있어서, 상기 메모리 어레이는 시스템 내에서 프로그래밍 가능한 것을 특징으로 하는 디지털 시스템.
- 제17항에 있어서, 상기 정보는 프로그래머블 논리 디바이스를 구성하는 구성 데이터인 것을 특징으로 하는 디지털 시스템.
- 제17항에 있어서, 상기 정보는 상기 JTAG 명령의 수취에 응답하여 전송 가능한 것을 특징으로 하는 디지털 시스템.
- 제17항에 있어서, 상기 구성 메모리는, 상기 JTAG 명령의 수취에 응답하여 제 1 논리 상태로부터 제 2 논리 상태로 변경되는 출력 단자를 추가로 포함하는 것을 특징으로 하는 디지털 시스템.
- 멤리 어레이와 JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 구성 메모리의 동작을 제어할 수 있는 JTAG 회로를 구비하는 제 1 구성 메모리를 제공하는 단계와; 상기 제 1 구성 메모리의 상기 메모리 어레이를 구성 데이터로 프로그래밍 하는 단계와; 상기 구성 데이터를 상기 제 1 구성 메모리의 상기 메모리 어레이로부터 상기 프로그래머블 논리 디바이스로 전송하는 단계를 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
- 제23항에 있어서, 상기 프로그래밍 단계는, 구성 데이터를 상기 JTAG 포트를 통해 상기 구성 메모리의 상기 메모리 어레이로 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
- 제23항에 있어서, 상기 프로그래밍 단계는 시스템 내에서 프로그래밍 하여 달성되는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
- 제23항에 있어서, 상기 구성 데이터 전송 단계는, 상기 JTAG 포트를 통해 JTAG 명령을 상기 구성 메모리로 보내는 단계와; 상기 JTAG 명령에 응답하여 상기 구성 메모리에 출력 신호를 단정하는 단계와; 상기 프로그래머블 논리 디바이스에 상기 출력 신호를 수신하는 단계와; 상기 구성 데이터의 수취를 위해상기 프로그래머블 논리 디바이스를 준비하는 단계와; 상기 구성 데이터를 상기 프로그래머블 논리 디바이스로 이동시키는 단계를 추가로 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
- 제23항에 있어서, 상기 구성 데이터 전송 단계는 상기 구성 메모리로부터 상기 구성 데이터를 한번에 비트씩 이동시킴으로써 달성되는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
- 제23항에 있어서, 메모리 어레이를 구비하는 제 2구성 메모리를 제공하는 단계와; 상기 제 2 구성 메모리의 상기 메모리 어레이를 추가의 구성 데이터로 프로그래밍 하는 단계와; 상기 구성 데이터가 상기 프로그래머블 논리 디바이스로 전송된 후, 상기 축가의 구성 데이터를 상기 프로그래머블 논리 디바이스로 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
- 구성 메모리와; 청구항 23 항의 방법의 의해 구성되어진 프로그래머블 논리 디바이스를 포함하는 것을 특징으로 하는 디지털 시스템.
- 복수개의 프로그래머블 논리 디바이스 프로그래밍 방법에 있어서, 메모리 어레이, 데이터 출력 포트, JTAG 포트, 및 상기 JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 상기 구성 메모리의 동작을 제어할 수 있는 JTAG 회로를 구비하는 구성 메모리를 제공하는 단계와; 상기 구성 메모리의 상기 메모리 어레이를 구성 데이터로 프로그래밍 하는 단계와; 상기 구성 데이터를 상기 구성 메모리로부터 복수개의 프로그래머블 논리 디바이스의 각각의 전송하는 단계를 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 프로그래밍 방법.
- 제30항에 있어서, 상기 복수개의 프로그래머블 논리 디바이스는 결합되어 프로그래머블 논리 소자로 이루어진 연속 체인을 형성하며, 상기 연속 체인은 상기 구성 메모리와 결합되는 상기 복수의 프로그래머블 논리 디바이스중 제 1 프로그래머블 논리 디바이스의 포트에 데이터를 구비하고 상기 연속 체인의 연속적인 프로그래머블 논리 디바이스 각각의 상기 연속 체인의 상기 프로그래머블 논리 디바이스의 데이터 출력 포트와 결합되는 포트에 데이터를 구비하며, 상기 구성 데이터는 상기 구성 메모리로부터 상기 연속 체인을 통해 상기 복수개의 프로그래머블 논리 디바이스 각각에 직렬 전송되는 것을 특징으로 하는 프로그래머블 논리 디바이스 프로그래밍 방법.
- 제30항에 있어서, 상기 구성 데이터 전송 단계는, 상기 구성 데이터의 제 1부분을 제 1 경로를 통해 제 1 프로그래머블 논리 디바이스에 직렬로 전송하는 단계와; 상기 구성 테이터의 제 2 부분을 제 2 경로를 통해 제 2 프로그래머블 논리 디바이스에 직렬로 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 프로그래밍 방법.
- 제30항에 있어서, 상기 구성 테이터 전송 단계는, 상기 구성 데이터의 제 1 부분을 제 1 경로를 통해 제 1 프로그래머블 논리 디바이스에 전송하는 단계와; 상기 구성 데이터의 제 2부분을 제 2 경로를 통해 제 2 프로그래머블 논리 디바이스에 동시에 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 복수개의 프로그래머블 논리 디바이스 프로그래밍 방법.
- 제30항에 있어서, 상기 구성 데이터 전송 단계는, 상기 구성 데이터의 제 1 부분을 제 2 프로그래머블 논리 디바이스를 통해 제 1 프로그래머블 논리 디바이스에 직렬로 전송하는 단계와; 상기 구성 데이터의 제 2 부분을 상기 구성 메모리로부터의 직접적인 경로를 통해 제 2 프로그래머블 논리 디바이스에 직렬로 전송하는 단계를 추가로포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 프로그래밍 방법.
- 제30항에 있어서, 제 2 구성 메모리를 제공하는 단계와; 상기 제 2 구성 메모리를 추가의 구성 데이터로 프로그래밍 하는 단계와; 상기 구성 데이터 전송 단계 이후에, 상기 추가의 구성 데이터를 상기 복수개의 프로그래머블 논리 디바이스 중의 적어도 하나에 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 프로그래밍 방법.
- 메모리 어레이와 JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 구성 메모리의 동작을 제어할수 있는 JTAG 회로를 구비하는 구성 메모리를 프로그래밍 하는 방법에 있어서, 상기 JTAG 명령을 상기 JTAG 포트로 보내는 단계와; 구성 데이터를 상기 JTAG 포트를 통해 상기 구성 메모리의 상기 메모리 어레이로 전송하는 단계를 포함하는 것을 특징으로 하는 구성 메모리 프로그래밍 방법.
- 제36항에 있어서, 상기 구성 데이터는 상기 전송 단계 이전에 디스켓에 저장된는 것을 특징으로 하는 구성 메모리 프로그래밍 방법.
- 제36항에 있어서, 상기 구성 데이터는 컴퓨터 소프트웨어 프로그램에 의해 발생되는 것을 특징으로 하는 구성 메모리 프로그래밍 방법.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2213296P | 1996-07-18 | 1996-07-18 | |
US60/022,132 | 1996-07-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR980010789A true KR980010789A (ko) | 1998-04-30 |
Family
ID=21807980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970032975A KR980010789A (ko) | 1996-07-18 | 1997-07-16 | 구성 메모리 집적 회로 |
Country Status (4)
Country | Link |
---|---|
US (4) | US6097211A (ko) |
JP (1) | JP3883655B2 (ko) |
KR (1) | KR980010789A (ko) |
GB (1) | GB2315583B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100115578A (ko) * | 2009-04-20 | 2010-10-28 | 삼성전자주식회사 | 재구성 가능한 프로세서 및 그 재구성 방법 |
Families Citing this family (156)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356620B2 (en) * | 2003-06-10 | 2008-04-08 | Altera Corporation | Apparatus and methods for communicating with programmable logic devices |
US6384630B2 (en) * | 1996-06-05 | 2002-05-07 | Altera Corporation | Techniques for programming programmable logic array devices |
US6421812B1 (en) * | 1997-06-10 | 2002-07-16 | Altera Corporation | Programming mode selection with JTAG circuits |
US6286114B1 (en) * | 1997-10-27 | 2001-09-04 | Altera Corporation | Enhanced embedded logic analyzer |
US6198303B1 (en) * | 1998-03-25 | 2001-03-06 | Altera Corporation | Configuration eprom with programmable logic |
US6507581B1 (en) * | 1998-06-12 | 2003-01-14 | Fairchild Semiconductor Corporation | Dynamic port mode selection for crosspoint switch |
JP3576837B2 (ja) * | 1998-10-30 | 2004-10-13 | 日本電気株式会社 | プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ |
US7810152B2 (en) * | 2002-05-08 | 2010-10-05 | Broadcom Corporation | System and method for securely controlling access to device functions |
US7549056B2 (en) | 1999-03-19 | 2009-06-16 | Broadcom Corporation | System and method for processing and protecting content |
US6789159B1 (en) * | 2002-05-08 | 2004-09-07 | Broadcom Corporation | System and method for programming non-volatile memory |
US6262596B1 (en) * | 1999-04-05 | 2001-07-17 | Xilinx, Inc. | Configuration bus interface circuit for FPGAS |
US6255848B1 (en) * | 1999-04-05 | 2001-07-03 | Xilinx, Inc. | Method and structure for reading, modifying and writing selected configuration memory cells of an FPGA |
US6211697B1 (en) * | 1999-05-25 | 2001-04-03 | Actel | Integrated circuit that includes a field-programmable gate array and a hard gate array having the same underlying structure |
US6529964B1 (en) * | 1999-09-02 | 2003-03-04 | International Business Machines Corporation | System and method for maintaining device name consistency during parallel device discovery process |
WO2001039249A2 (en) * | 1999-11-29 | 2001-05-31 | Cellot Inc. | Universal hardware device and method and tools for use therewith |
US7185293B1 (en) | 1999-11-29 | 2007-02-27 | Cellot, Inc. | Universal hardware device and method and tools for use therewith |
US6388464B1 (en) * | 1999-12-30 | 2002-05-14 | Cypress Semiconductor Corp. | Configurable memory for programmable logic circuits |
US6438737B1 (en) * | 2000-02-15 | 2002-08-20 | Intel Corporation | Reconfigurable logic for a computer |
US6754862B1 (en) | 2000-03-09 | 2004-06-22 | Altera Corporation | Gaining access to internal nodes in a PLD |
US7227918B2 (en) * | 2000-03-14 | 2007-06-05 | Altera Corporation | Clock data recovery circuitry associated with programmable logic device circuitry |
US7333570B2 (en) | 2000-03-14 | 2008-02-19 | Altera Corporation | Clock data recovery circuitry associated with programmable logic device circuitry |
US6732263B1 (en) * | 2000-06-12 | 2004-05-04 | Altera Corporation | Configuring both a programmable logic device and its embedded logic with a single serialized configuration bit stream |
US6961884B1 (en) | 2000-06-12 | 2005-11-01 | Altera Corporation | JTAG mirroring circuitry and methods |
US6826717B1 (en) * | 2000-06-12 | 2004-11-30 | Altera Corporation | Synchronization of hardware and software debuggers |
US6803785B1 (en) | 2000-06-12 | 2004-10-12 | Altera Corporation | I/O circuitry shared between processor and programmable logic portions of an integrated circuit |
US7340596B1 (en) | 2000-06-12 | 2008-03-04 | Altera Corporation | Embedded processor with watchdog timer for programmable logic |
US6426910B1 (en) * | 2000-08-30 | 2002-07-30 | Micron Technology, Inc. | Enhanced fuse configurations for low-voltage flash memories |
US6937063B1 (en) | 2000-09-02 | 2005-08-30 | Actel Corporation | Method and apparatus of memory clearing with monitoring RAM memory cells in a field programmable gated array |
US6414513B1 (en) * | 2000-10-03 | 2002-07-02 | International Business Machines Corporation | Customized system-readable hardware/firmware integrated circuit version information |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US6567970B1 (en) * | 2000-12-27 | 2003-05-20 | Cypress Semiconductor Corp. | PLD configuration architecture |
WO2002067662A1 (en) * | 2001-02-22 | 2002-09-06 | Pioneer Hi-Bred International, Inc. | Manipulation of sucrose synthase genes to improve stalk and grain quality |
US6507213B1 (en) * | 2001-03-15 | 2003-01-14 | Cypress Semiconductor Corp. | Parallel configuration method and/or architecture for PLDs or FPGAs |
US6400611B1 (en) * | 2001-03-23 | 2002-06-04 | Atmel Corporation | Independent asynchronous boot block for synchronous non-volatile memory devices |
US6883109B2 (en) | 2001-07-30 | 2005-04-19 | Hewlett-Packard Development Company, L.P. | Method for accessing scan chains and updating EEPROM-resident FPGA code through a system management processor and JTAG bus |
US20040225783A1 (en) * | 2001-07-30 | 2004-11-11 | Erickson Michael John | Bus to multiple jtag bus bridge |
US6918027B2 (en) * | 2001-07-30 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | System and method for in-system programming through an on-system JTAG bridge of programmable logic devices on multiple circuit boards of a system |
US6954929B2 (en) * | 2001-07-30 | 2005-10-11 | Hewlett-Packard Development Company, L.P. | Method for just-in-time updating of programming parts |
US7000161B1 (en) * | 2001-10-15 | 2006-02-14 | Altera Corporation | Reconfigurable programmable logic system with configuration recovery mode |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US6573748B1 (en) * | 2001-11-06 | 2003-06-03 | Xilinx, Inc. | Programmable logic device with output register for specifying memory space during reconfiguration |
FR2831969B1 (fr) * | 2001-11-08 | 2004-01-16 | Schneider Automation | Systeme de telechargement et de telemaintenance d'une carte electronique |
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 |
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 |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US6948007B2 (en) * | 2001-12-20 | 2005-09-20 | Hewlett-Packard Development Company, L.P. | Method and apparatus for configuring integrated circuit devices |
US6605960B2 (en) | 2002-01-03 | 2003-08-12 | Altera Corporation | Programmable logic configuration device with configuration memory accessible to a second device |
US6614263B2 (en) * | 2002-02-05 | 2003-09-02 | Logicvision, Inc. | Method and circuitry for controlling clocks of embedded blocks during logic bist test mode |
US7127708B2 (en) * | 2002-03-28 | 2006-10-24 | Lucent Technologies Inc. | Concurrent in-system programming of programmable devices |
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 |
US7363545B1 (en) * | 2002-06-03 | 2008-04-22 | Xilinx, Inc. | System and method for overcoming download cable bottlenecks during programming of integrated circuit devices |
US6714040B1 (en) * | 2002-06-03 | 2004-03-30 | Xilinx, Inc. | Automated boundary-scan chain composition method using a device database and access mechanism for storing and retrieving situation-dependent operation options |
US7424658B1 (en) | 2002-07-01 | 2008-09-09 | Altera Corporation | Method and apparatus for testing integrated circuits |
US20040018711A1 (en) * | 2002-07-08 | 2004-01-29 | Madurawe Raminda U. | Methods for fabricating three dimensional integrated circuits |
US6992503B2 (en) * | 2002-07-08 | 2006-01-31 | Viciciv Technology | Programmable devices with convertibility to customizable devices |
US20040004239A1 (en) * | 2002-07-08 | 2004-01-08 | Madurawe Raminda U. | Three dimensional integrated circuits |
US7064579B2 (en) * | 2002-07-08 | 2006-06-20 | Viciciv Technology | Alterable application specific integrated circuit (ASIC) |
US7129744B2 (en) * | 2003-10-23 | 2006-10-31 | Viciciv Technology | Programmable interconnect structures |
US7064018B2 (en) * | 2002-07-08 | 2006-06-20 | Viciciv Technology | Methods for fabricating three dimensional integrated circuits |
US20040004251A1 (en) * | 2002-07-08 | 2004-01-08 | Madurawe Raminda U. | Insulated-gate field-effect thin film transistors |
US7312109B2 (en) * | 2002-07-08 | 2007-12-25 | Viciciv, Inc. | Methods for fabricating fuse programmable three dimensional integrated circuits |
US7112994B2 (en) | 2002-07-08 | 2006-09-26 | Viciciv Technology | Three dimensional integrated circuits |
US7673273B2 (en) * | 2002-07-08 | 2010-03-02 | Tier Logic, Inc. | MPGA products based on a prototype FPGA |
US7085973B1 (en) * | 2002-07-09 | 2006-08-01 | Xilinx, Inc. | Testing address lines of a memory controller |
US7298397B2 (en) * | 2002-07-24 | 2007-11-20 | Freestone Systems, Inc. | Digital transmission system |
US7312816B2 (en) * | 2002-07-24 | 2007-12-25 | Freestone Systems, Inc. | Digital observation system |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
EP1411431A3 (en) * | 2002-09-20 | 2010-10-20 | Sicronic Remote KG, LLC | Method and apparatus of reloading erroneous configuration data frames during configuration of PLDs |
US6803787B1 (en) * | 2002-09-25 | 2004-10-12 | Lattice Semiconductor Corp. | State machine in a programmable logic device |
US7812458B2 (en) * | 2007-11-19 | 2010-10-12 | Tier Logic, Inc. | Pad invariant FPGA and ASIC devices |
US8643162B2 (en) | 2007-11-19 | 2014-02-04 | Raminda Udaya Madurawe | Pads and pin-outs in three dimensional integrated circuits |
US7042756B2 (en) * | 2002-10-18 | 2006-05-09 | Viciciv Technology | Configurable storage device |
US7036046B2 (en) * | 2002-11-14 | 2006-04-25 | Altera Corporation | PLD debugging hub |
US7017094B2 (en) * | 2002-11-26 | 2006-03-21 | International Business Machines Corporation | Performance built-in self test system for a device and a method of use |
US6876563B1 (en) * | 2002-12-20 | 2005-04-05 | Cypress Semiconductor Corporation | Method for configuring chip selects in memories |
US6948147B1 (en) * | 2003-04-03 | 2005-09-20 | Xilinx, Inc. | Method and apparatus for configuring a programmable logic device using a master JTAG port |
US7287189B1 (en) * | 2003-06-25 | 2007-10-23 | Altera Corporation | I/O configuration and reconfiguration trigger through testing interface |
US7796464B1 (en) | 2003-06-27 | 2010-09-14 | Cypress Semiconductor Corporation | Synchronous memory with a shadow-cycle counter |
US7119572B2 (en) * | 2003-07-02 | 2006-10-10 | Daniel Industries, Inc. | Programmable logic device configuration via device communication lines |
US7539900B1 (en) | 2003-07-29 | 2009-05-26 | Altera Corporation | Embedded microprocessor for integrated circuit testing and debugging |
US7030651B2 (en) | 2003-12-04 | 2006-04-18 | Viciciv Technology | Programmable structured arrays |
US7253657B2 (en) * | 2003-12-15 | 2007-08-07 | Altera Corporation | Apparatus and methods for configuration of programmable logic devices |
US7304500B2 (en) * | 2003-12-29 | 2007-12-04 | Faraday Technology Corp. | Programmable logic module and upgrade method thereof |
US7176713B2 (en) * | 2004-01-05 | 2007-02-13 | Viciciv Technology | Integrated circuits with RAM and ROM fabrication options |
US7190190B1 (en) * | 2004-01-09 | 2007-03-13 | Altera Corporation | Programmable logic device with on-chip nonvolatile user memory |
US7206967B1 (en) | 2004-02-09 | 2007-04-17 | Altera Corporation | Chip debugging using incremental recompilation and register insertion |
KR100564611B1 (ko) * | 2004-02-14 | 2006-03-29 | 삼성전자주식회사 | 하드 디스크 드라이브의 완충 구조체 |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US7489164B2 (en) * | 2004-05-17 | 2009-02-10 | Raminda Udaya Madurawe | Multi-port memory devices |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US7818640B1 (en) * | 2004-10-22 | 2010-10-19 | Cypress Semiconductor Corporation | Test system having a master/slave JTAG controller |
US7257654B1 (en) * | 2004-11-09 | 2007-08-14 | Advanced Micro Devices, Inc. | PCI bridge device configured for using JTAG scan for writing internal control registers and outputting debug state |
US7242218B2 (en) * | 2004-12-02 | 2007-07-10 | Altera Corporation | Techniques for combining volatile and non-volatile programmable logic on an integrated circuit |
US7552360B2 (en) | 2005-03-21 | 2009-06-23 | Texas Instruments Incorporated | Debug and test system with format select register circuitry |
US7454556B1 (en) * | 2005-02-02 | 2008-11-18 | Xilinx, Inc. | Method to program non-JTAG attached devices or memories using a PLD and its associated JTAG interface |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US7397274B1 (en) * | 2005-04-07 | 2008-07-08 | Lattice Semiconductor Corporation | In-system programming of a non-compliant device using multiple interfaces of a PLD |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US7538577B2 (en) * | 2005-06-29 | 2009-05-26 | Thomas Bollinger | System and method for configuring a field programmable gate array |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
US7602655B2 (en) * | 2006-01-12 | 2009-10-13 | Mediatek Inc. | Embedded system |
US7451367B2 (en) | 2006-02-14 | 2008-11-11 | Atmel Corporation | Accessing sequential data in microcontrollers |
US7397272B1 (en) * | 2006-02-28 | 2008-07-08 | Xilinx, Inc. | Parallel configuration of programmable devices |
US7486111B2 (en) * | 2006-03-08 | 2009-02-03 | Tier Logic, Inc. | Programmable logic devices comprising time multiplexed programmable interconnect |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US7397726B1 (en) * | 2006-04-07 | 2008-07-08 | Altera Corporation | Flexible RAM clock enable |
US7463060B1 (en) * | 2006-06-13 | 2008-12-09 | Lattice Semiconductor Corporation | Programmable logic device and method of testing |
US7702893B1 (en) * | 2006-09-22 | 2010-04-20 | Altera Corporation | Integrated circuits with configurable initialization data memory addresses |
US7772881B1 (en) * | 2006-09-29 | 2010-08-10 | Altera Corporation | Method and apparatus for in-system programmability |
US7843729B2 (en) * | 2007-01-31 | 2010-11-30 | Sandisk 3D Llc | Methods and apparatus for using a configuration array similar to an associated data array |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
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 |
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 |
US7635988B2 (en) * | 2007-11-19 | 2009-12-22 | Tier Logic, Inc. | Multi-port thin-film memory devices |
US20090128189A1 (en) * | 2007-11-19 | 2009-05-21 | Raminda Udaya Madurawe | Three dimensional programmable devices |
US7795913B2 (en) * | 2007-12-26 | 2010-09-14 | Tier Logic | Programmable latch based multiplier |
US7573293B2 (en) * | 2007-12-26 | 2009-08-11 | Tier Logic, Inc. | Programmable logic based latches and shift registers |
US7573294B2 (en) * | 2007-12-26 | 2009-08-11 | Tier Logic, Inc. | Programmable logic based latches and shift registers |
US7602213B2 (en) * | 2007-12-26 | 2009-10-13 | Tier Logic, Inc. | Using programmable latch to implement logic |
US7652502B2 (en) * | 2007-12-29 | 2010-01-26 | Unity Semiconductor Corporation | Field programmable gate arrays using resistivity sensitive memories |
US7626415B1 (en) | 2008-02-27 | 2009-12-01 | Xilinx, Inc. | Method and apparatus for configuring an integrated circuit |
US7589558B1 (en) * | 2008-02-27 | 2009-09-15 | Xilinx, Inc. | Method and apparatus for configuring an integrated circuit |
US8230375B2 (en) | 2008-09-14 | 2012-07-24 | Raminda Udaya Madurawe | Automated metal pattern generation for integrated circuits |
JP5151957B2 (ja) * | 2008-12-16 | 2013-02-27 | 富士通株式会社 | コンフィギュレーション方法及びコンフィギュレーション装置並びにコンフィギュレーションプログラム |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
US8519739B1 (en) * | 2010-05-03 | 2013-08-27 | ISC8 Inc. | High-speed processor core comprising direct processor-to-memory connectivity |
US8601306B1 (en) | 2010-06-22 | 2013-12-03 | Xilinx, Inc. | Decryption of configuration data for multi-die integrated circuits |
US8058897B1 (en) | 2010-06-28 | 2011-11-15 | Xilinx, Inc. | Configuration of a multi-die integrated circuit |
WO2012017558A1 (ja) * | 2010-08-06 | 2012-02-09 | 富士通株式会社 | 半導体集積回路装置及び半導体集積回路装置を搭載した電子システム |
US8159266B1 (en) | 2010-11-16 | 2012-04-17 | Raminda Udaya Madurawe | Metal configurable integrated circuits |
US8159265B1 (en) | 2010-11-16 | 2012-04-17 | Raminda Udaya Madurawe | Memory for metal configurable integrated circuits |
US8159268B1 (en) | 2010-11-16 | 2012-04-17 | Raminda Udaya Madurawe | Interconnect structures for metal configurable integrated circuits |
US9152748B2 (en) * | 2011-05-06 | 2015-10-06 | Xcelemor, Inc. | Computing system with switching mechanism and method of operation thereof |
US8441280B1 (en) * | 2011-10-24 | 2013-05-14 | Eastman Kodak Company | Safety component in a programmable components chain |
US9091727B1 (en) | 2012-10-16 | 2015-07-28 | Xilinx, Inc. | Configuration and testing of multiple-die integrated circuits |
CN108352837A (zh) * | 2015-11-13 | 2018-07-31 | 株式会社半导体能源研究所 | 半导体装置、电子构件及电子设备 |
CN110892483B (zh) | 2019-10-17 | 2021-01-29 | 长江存储科技有限责任公司 | 采用有限数量的测试引脚测试存储器件的方法以及利用该方法的存储器件 |
JP7419764B2 (ja) * | 2019-11-20 | 2024-01-23 | 株式会社リコー | 情報処理装置およびコンフィグレーション方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US34363A (en) * | 1862-02-11 | Improvement in machinery for cleaning cotton | ||
NL7701897A (nl) * | 1977-02-22 | 1978-08-24 | Meulen Leonard V D | Inrichting voor het afleggen van stukken folie- materiaal. |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US5355369A (en) * | 1991-04-26 | 1994-10-11 | At&T Bell Laboratories | High-speed integrated circuit testing with JTAG |
US5412260A (en) * | 1991-05-03 | 1995-05-02 | Lattice Semiconductor Corporation | Multiplexed control pins for in-system programming and boundary scan state machines in a high density programmable logic device |
US5237218A (en) * | 1991-05-03 | 1993-08-17 | Lattice Semiconductor Corporation | Structure and method for multiplexing pins for in-system programming |
US5317209A (en) * | 1991-08-29 | 1994-05-31 | National Semiconductor Corporation | Dynamic three-state bussing capability in a configurable logic array |
US5282271A (en) * | 1991-10-30 | 1994-01-25 | I-Cube Design Systems, Inc. | I/O buffering system to a programmable switching apparatus |
US5325368A (en) * | 1991-11-27 | 1994-06-28 | Ncr Corporation | JTAG component description via nonvolatile memory |
FI93999C (fi) * | 1992-06-11 | 1995-06-26 | Nokia Mobile Phones Ltd | Piirikortille asennetun mikroprosessorin ohjelmamuistin ohjelmoiminen |
US5331220A (en) * | 1993-02-12 | 1994-07-19 | Xilinx, Inc. | Soft wakeup output buffer |
US5448525A (en) * | 1994-03-10 | 1995-09-05 | Intel Corporation | Apparatus for configuring a subset of an integrated circuit having boundary scan circuitry connected in series and a method thereof |
US5590305A (en) * | 1994-03-28 | 1996-12-31 | Altera Corporation | Programming circuits and techniques for programming logic |
US5734868A (en) * | 1995-08-09 | 1998-03-31 | Curd; Derek R. | Efficient in-system programming structure and method for non-volatile programmable logic devices |
US5710550A (en) * | 1995-08-17 | 1998-01-20 | I-Cube, Inc. | Apparatus for programmable signal switching |
US5737567A (en) * | 1995-10-23 | 1998-04-07 | Unisys Corporation | Fast write initialization system for microcode RAM via data path array using pre-loaded flash memory an programmable control logic array |
US5706424A (en) * | 1995-10-23 | 1998-01-06 | Unisys Corporation | System for fast read and verification of microcode RAM |
US5650734A (en) * | 1995-12-11 | 1997-07-22 | Altera Corporation | Programming programmable transistor devices using state machines |
US5805197A (en) * | 1995-12-28 | 1998-09-08 | Eastman Kodak Company | Driver IC with automatic token direction self-sensing circuitry |
US5694399A (en) * | 1996-04-10 | 1997-12-02 | Xilinix, Inc. | Processing unit for generating signals for communication with a test access port |
US5870410A (en) * | 1996-04-29 | 1999-02-09 | Altera Corporation | Diagnostic interface system for programmable logic system development |
US5689516A (en) * | 1996-06-26 | 1997-11-18 | Xilinx, Inc. | Reset circuit for a programmable logic device |
US5841867A (en) * | 1996-11-01 | 1998-11-24 | Xilinx, Inc. | On-chip programming verification system for PLDs |
US5878051A (en) * | 1997-02-05 | 1999-03-02 | Lockheed Martin Corp. | Assembly-level bist using field-programmable gate array |
-
1997
- 1997-07-15 US US08/893,231 patent/US6097211A/en not_active Expired - Lifetime
- 1997-07-16 KR KR1019970032975A patent/KR980010789A/ko not_active Application Discontinuation
- 1997-07-17 JP JP19242397A patent/JP3883655B2/ja not_active Expired - Fee Related
- 1997-07-18 GB GB9715240A patent/GB2315583B/en not_active Expired - Lifetime
-
1999
- 1999-06-14 US US09/333,144 patent/US6031391A/en not_active Expired - Lifetime
-
2000
- 2000-06-15 US US09/595,579 patent/US6259271B1/en not_active Expired - Lifetime
-
2001
- 2001-03-21 US US09/814,458 patent/US6614259B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100115578A (ko) * | 2009-04-20 | 2010-10-28 | 삼성전자주식회사 | 재구성 가능한 프로세서 및 그 재구성 방법 |
US9244883B2 (en) | 2009-04-20 | 2016-01-26 | Samsung Electronics Co., Ltd. | Reconfigurable processor and method of reconfiguring the same |
Also Published As
Publication number | Publication date |
---|---|
GB2315583B (en) | 2000-07-05 |
US6097211A (en) | 2000-08-01 |
US20010056558A1 (en) | 2001-12-27 |
JPH10135819A (ja) | 1998-05-22 |
GB2315583A (en) | 1998-02-04 |
GB9715240D0 (en) | 1997-09-24 |
JP3883655B2 (ja) | 2007-02-21 |
US6259271B1 (en) | 2001-07-10 |
US6614259B2 (en) | 2003-09-02 |
US6031391A (en) | 2000-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR980010789A (ko) | 구성 메모리 집적 회로 | |
US5844422A (en) | State saving and restoration in reprogrammable FPGAs | |
US5764079A (en) | Sample and load scheme for observability of internal nodes in a PLD | |
EP0840455B1 (en) | A microcontroller accessible macrocell | |
US5430687A (en) | Programmable logic device including a parallel input device for loading memory cells | |
JP2703397B2 (ja) | 構成を変更可能な論理アレイ | |
US5737766A (en) | Programmable gate array configuration memory which allows sharing with user memory | |
US6829730B2 (en) | Method of designing circuit having multiple test access ports, circuit produced thereby and method of using same | |
US7281082B1 (en) | Flexible scheme for configuring programmable semiconductor devices using or loading programs from SPI-based serial flash memories that support multiple SPI flash vendors and device families | |
JP3930053B2 (ja) | 動作プログラム可能論理装置における部分的プログラミング回路 | |
US7375551B1 (en) | Techniques for configuring programmable logic using on-chip nonvolatile memory | |
US7538577B2 (en) | System and method for configuring a field programmable gate array | |
WO1999034515A1 (en) | Electrically erasable and reprogrammable, nonvolatile integrated storage device with in-system programming and verification (ispav) capabilities for supporting in-system reconfiguring of pld's | |
WO1992020157A1 (en) | Structure and method for multiplexing pins for in-system programming | |
US7489163B2 (en) | FPGA powerup to known functional state | |
KR20050084395A (ko) | 테스트 액세스 포트 제어기 커플링 방법 및 집적회로 | |
US6137738A (en) | Method for in-system programming of serially configured EEPROMS using a JTAG interface of a field programmable gate array | |
US7304493B2 (en) | FPGA powerup to known functional state | |
US7624209B1 (en) | Method of and circuit for enabling variable latency data transfers | |
WO2007120439A2 (en) | Data storing | |
US6839783B2 (en) | Programmable state machine interface | |
US7702893B1 (en) | Integrated circuits with configurable initialization data memory addresses | |
KR100276504B1 (ko) | 오류 데이터 저장 시스템 | |
US6567970B1 (en) | PLD configuration architecture | |
JP3707360B2 (ja) | 回路機能の再構成方法、及びプログラマブル論理回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |