KR980010789A - 구성 메모리 집적 회로 - Google Patents

구성 메모리 집적 회로 Download PDF

Info

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
Application number
KR1019970032975A
Other languages
English (en)
Inventor
커츠-마틴 앨런 허만 크리스
Original Assignee
원본미기재
앨터라 코오포레이숀
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21807980&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR980010789(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 원본미기재, 앨터라 코오포레이숀 filed Critical 원본미기재
Publication of KR980010789A publication Critical patent/KR980010789A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/48Arrangements 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/1776Structural 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)

  1. 정보를 저장하는 메모리 어레이와; 상기 메모리 어레이와 결합하여, 상기 정보를 구성 메모리로부터 전송할 수 있는 데이터 출력 포트와; 상기 메모리 어레이와 결합하여, JTAG 명령을 수신하는 JTAG 포트와; 상기 JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 상기 구성 메모리의 동작을 제어할 수 있는 JTAG 회로를 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
  2. 제1항에 있어서, 상기 메모리 어레이는 상기 JTAG 포트를 통해서 프로그래밍 가능한 것을 특징으로하는 정보 저장용 구성 메모리.
  3. 제1항에 있어서, 상기 메모리 어레이는 시스템 내에서 프로그래밍 가능한 것을 특징으로 하는 정보 저장용 구성 메모리.
  4. 제1항에 있어서, 상기 정보는 프로그래머블 논리 디바이스를 구성하는 구성 데이테인 것을 특징으로 하는 정보 저장용 구성 메모리.
  5. 제1항에 있어서, 상기 정보는 상기 JTAG 정보의 수취에 응답하여 전송 가능한 것을 특징으로 하는 정보 저장용 구성 메모리.
  6. 제1항에 있어서, 상기 메모리 어레이는, 상기 JTAG 명려의 수취에 응답하여 제 1 논리 상태로부터 제 2 논리 상태로 변경되는 출력 단자를 추가로 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
  7. 입력/출력 단자와; 상기 입력/출력 단자와 전압원 사이에 선택적으로 결합되는 저항기와; 사용자 프로그래밍 가능한 에뮬레이션 비트와; 상기 저항기에 결합되고, 상기 에뮬레이션 비트가 단정될 때는 상기 입력/출력 단자로부터 상기 저항기를 분리하는 프로그래머블 스위치를 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
  8. 제7항에 있어서, 상기 에뮬레시션 비트가 단정될 때, 상기 입력/출력 단자는 3-상태 조건인 것을 특징으로 하는 정보 저장용 구성 메모리.
  9. 클록 이벤트를 제공하는 클록 신호와 정보 저장용 메모리 어레이와; 제 1 및 제 2 입력 제어 라인과; 어드레스 카운터를 포함하는데, 상기 어드레스 카운터는 상기 메모리 어레이에 어드레스를 제공하고, 상기 제 1 및 제 2 입력 제어 라인에 응답하여 인에이블 되며, 상기 제 2 입력 제어라인에 응답하여 리셋되어, 상기 어드레스 카운터가 인에이블될 때에는 각각의 클록 이벤트와 함께 상기 메모리 어레이의 다음 어드레스로 진행되며; 제 1 출력 단자와; 상기 어드레스 카운터가 상기 메모리 어레이의 마지막 항목의 어드레스에 대응하는 값을 가질 때 상기 제 1 출력 단자를 제 1출력 단자를 제 1 논리 상태로부터 제 2 논리 상태로 변경시키는 복호 논리부와; 상기 구성 메모리로부터 상기 정보가 전송 가능한 데이터 출력 포트와; JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 상기 구성 메모리의 동작을 제어할 수 있는 JTAG 회로를 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
  10. 제9항에 있어서, 상기 메모리 어레이는 상기 JTAG 포트를 통해 프로그래밍 가능한 것을 특징으로 하는 정보 저장용 구성 메모리.
  11. 제9항에 있어서, 상기 메모리 어레이는 시스템 내에서 프로그래밍 가능한 것을 특징으로 하는 정보 저장용 구성 메모리.
  12. 제9항에 있어서, 상기 정보는 프로그래머블 논리 디바이스를 구성하는 구성 데이터인 것을 특징으로 하는 정보 저장용 구성 메모리.
  13. 제7항에 있어서, 상기 제 1 입력 제어 라인과 전압원 사이에 선택적으로 결합되는 제 1 저항기와; 상기 제 2 입력 제어 라인과 상기 전압원 사이에 선택적으로 결합되는 제 2저항기와; 제 2 데이터 출력 단자와 상기 전압원 사이에 선택적으로 결합되는 제 3 저항기와; 에뮬레이션 비트를 추가로 포함하며, 상기 에뮬레이션 비트가 단정될 때, 상기 제1, 제2, 및 제3 저항기는 상기 제 1 입력 제어 라인, 상기 제 2 입력 제어 라인, 및 상기 제 2 데이터 출력 단자로부터 분리되는 것을 특징으로 하는 정보 저장용 구성 메모리.
  14. 제13항에 있어서, 상기 제 1, 제 2 및 제 3 저항기는 상기 메모리 어레이로 공통의 물리적 패키지에 포함되는 것을 특징으로 하는 정보 저장용 구성 메모리.
  15. 제9항에 있어서, 상기 클록 신호를 선택적으로 제공하는 오실레이터와; 상기 구성 메모리가 제 1 동작 모드에 있을 때에는 상기 오실레이터에 의해 구동되고 제 2 동작 모드에 있을 때는 외부 클록 신호에 의해 선택적으로 구동되는 양방향성 클록 단자를 추가로 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
  16. 제9항에 있어서, 상기 JTAG 명령의 수취에 응답하여 제 1 논리 상태로부터 제 2 논리 상태로 변경되는 제 2 출력 단자를 추가로 포함하는 것을 특징으로 하는 정보 저장용 구성 메모리.
  17. 정보를 저장하는 메모리 어레이, 상기 정보를 전송하는 데이터 출력 포트, 및 JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 구성 메모리의 동작을 제어할 수 있는 JTAG 회로를 구비하는 구성 메모리와; 상기 구성 메모리의 상기 데이터 출력 포트에 결합되며, 상기 정보는 상기 구성 메모리로부터 전송 가능한, 프로그래머블 논리 디바이스를 포함하는 것을 특징으로 하는 디지털 시스템.
  18. 제17항에 있어서, 상기 구성 메모리는 상기 JTAG 포트를 통해 프로그래밍 가능한 것을 특징으로 하는 디지털 시스템.
  19. 제17항에 있어서, 상기 메모리 어레이는 시스템 내에서 프로그래밍 가능한 것을 특징으로 하는 디지털 시스템.
  20. 제17항에 있어서, 상기 정보는 프로그래머블 논리 디바이스를 구성하는 구성 데이터인 것을 특징으로 하는 디지털 시스템.
  21. 제17항에 있어서, 상기 정보는 상기 JTAG 명령의 수취에 응답하여 전송 가능한 것을 특징으로 하는 디지털 시스템.
  22. 제17항에 있어서, 상기 구성 메모리는, 상기 JTAG 명령의 수취에 응답하여 제 1 논리 상태로부터 제 2 논리 상태로 변경되는 출력 단자를 추가로 포함하는 것을 특징으로 하는 디지털 시스템.
  23. 멤리 어레이와 JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 구성 메모리의 동작을 제어할 수 있는 JTAG 회로를 구비하는 제 1 구성 메모리를 제공하는 단계와; 상기 제 1 구성 메모리의 상기 메모리 어레이를 구성 데이터로 프로그래밍 하는 단계와; 상기 구성 데이터를 상기 제 1 구성 메모리의 상기 메모리 어레이로부터 상기 프로그래머블 논리 디바이스로 전송하는 단계를 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
  24. 제23항에 있어서, 상기 프로그래밍 단계는, 구성 데이터를 상기 JTAG 포트를 통해 상기 구성 메모리의 상기 메모리 어레이로 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
  25. 제23항에 있어서, 상기 프로그래밍 단계는 시스템 내에서 프로그래밍 하여 달성되는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
  26. 제23항에 있어서, 상기 구성 데이터 전송 단계는, 상기 JTAG 포트를 통해 JTAG 명령을 상기 구성 메모리로 보내는 단계와; 상기 JTAG 명령에 응답하여 상기 구성 메모리에 출력 신호를 단정하는 단계와; 상기 프로그래머블 논리 디바이스에 상기 출력 신호를 수신하는 단계와; 상기 구성 데이터의 수취를 위해상기 프로그래머블 논리 디바이스를 준비하는 단계와; 상기 구성 데이터를 상기 프로그래머블 논리 디바이스로 이동시키는 단계를 추가로 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
  27. 제23항에 있어서, 상기 구성 데이터 전송 단계는 상기 구성 메모리로부터 상기 구성 데이터를 한번에 비트씩 이동시킴으로써 달성되는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
  28. 제23항에 있어서, 메모리 어레이를 구비하는 제 2구성 메모리를 제공하는 단계와; 상기 제 2 구성 메모리의 상기 메모리 어레이를 추가의 구성 데이터로 프로그래밍 하는 단계와; 상기 구성 데이터가 상기 프로그래머블 논리 디바이스로 전송된 후, 상기 축가의 구성 데이터를 상기 프로그래머블 논리 디바이스로 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 구성 방법.
  29. 구성 메모리와; 청구항 23 항의 방법의 의해 구성되어진 프로그래머블 논리 디바이스를 포함하는 것을 특징으로 하는 디지털 시스템.
  30. 복수개의 프로그래머블 논리 디바이스 프로그래밍 방법에 있어서, 메모리 어레이, 데이터 출력 포트, JTAG 포트, 및 상기 JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 상기 구성 메모리의 동작을 제어할 수 있는 JTAG 회로를 구비하는 구성 메모리를 제공하는 단계와; 상기 구성 메모리의 상기 메모리 어레이를 구성 데이터로 프로그래밍 하는 단계와; 상기 구성 데이터를 상기 구성 메모리로부터 복수개의 프로그래머블 논리 디바이스의 각각의 전송하는 단계를 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 프로그래밍 방법.
  31. 제30항에 있어서, 상기 복수개의 프로그래머블 논리 디바이스는 결합되어 프로그래머블 논리 소자로 이루어진 연속 체인을 형성하며, 상기 연속 체인은 상기 구성 메모리와 결합되는 상기 복수의 프로그래머블 논리 디바이스중 제 1 프로그래머블 논리 디바이스의 포트에 데이터를 구비하고 상기 연속 체인의 연속적인 프로그래머블 논리 디바이스 각각의 상기 연속 체인의 상기 프로그래머블 논리 디바이스의 데이터 출력 포트와 결합되는 포트에 데이터를 구비하며, 상기 구성 데이터는 상기 구성 메모리로부터 상기 연속 체인을 통해 상기 복수개의 프로그래머블 논리 디바이스 각각에 직렬 전송되는 것을 특징으로 하는 프로그래머블 논리 디바이스 프로그래밍 방법.
  32. 제30항에 있어서, 상기 구성 데이터 전송 단계는, 상기 구성 데이터의 제 1부분을 제 1 경로를 통해 제 1 프로그래머블 논리 디바이스에 직렬로 전송하는 단계와; 상기 구성 테이터의 제 2 부분을 제 2 경로를 통해 제 2 프로그래머블 논리 디바이스에 직렬로 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 프로그래밍 방법.
  33. 제30항에 있어서, 상기 구성 테이터 전송 단계는, 상기 구성 데이터의 제 1 부분을 제 1 경로를 통해 제 1 프로그래머블 논리 디바이스에 전송하는 단계와; 상기 구성 데이터의 제 2부분을 제 2 경로를 통해 제 2 프로그래머블 논리 디바이스에 동시에 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 복수개의 프로그래머블 논리 디바이스 프로그래밍 방법.
  34. 제30항에 있어서, 상기 구성 데이터 전송 단계는, 상기 구성 데이터의 제 1 부분을 제 2 프로그래머블 논리 디바이스를 통해 제 1 프로그래머블 논리 디바이스에 직렬로 전송하는 단계와; 상기 구성 데이터의 제 2 부분을 상기 구성 메모리로부터의 직접적인 경로를 통해 제 2 프로그래머블 논리 디바이스에 직렬로 전송하는 단계를 추가로포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 프로그래밍 방법.
  35. 제30항에 있어서, 제 2 구성 메모리를 제공하는 단계와; 상기 제 2 구성 메모리를 추가의 구성 데이터로 프로그래밍 하는 단계와; 상기 구성 데이터 전송 단계 이후에, 상기 추가의 구성 데이터를 상기 복수개의 프로그래머블 논리 디바이스 중의 적어도 하나에 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 프로그래머블 논리 디바이스 프로그래밍 방법.
  36. 메모리 어레이와 JTAG 포트로부터 JTAG 명령군 중의 하나를 수신하여 상기 JTAG 명령에 따라 구성 메모리의 동작을 제어할수 있는 JTAG 회로를 구비하는 구성 메모리를 프로그래밍 하는 방법에 있어서, 상기 JTAG 명령을 상기 JTAG 포트로 보내는 단계와; 구성 데이터를 상기 JTAG 포트를 통해 상기 구성 메모리의 상기 메모리 어레이로 전송하는 단계를 포함하는 것을 특징으로 하는 구성 메모리 프로그래밍 방법.
  37. 제36항에 있어서, 상기 구성 데이터는 상기 전송 단계 이전에 디스켓에 저장된는 것을 특징으로 하는 구성 메모리 프로그래밍 방법.
  38. 제36항에 있어서, 상기 구성 데이터는 컴퓨터 소프트웨어 프로그램에 의해 발생되는 것을 특징으로 하는 구성 메모리 프로그래밍 방법.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019970032975A 1996-07-18 1997-07-16 구성 메모리 집적 회로 KR980010789A (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100115578A (ko) * 2009-04-20 2010-10-28 삼성전자주식회사 재구성 가능한 프로세서 및 그 재구성 방법

Families Citing this family (156)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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