KR100232316B1 - 메모리 어레이, 기록 액세스 및 리세트 액세스 제공 시스템, 및 프로그래머블 게이트 어레이 동작 방법 및 시스템 - Google Patents

메모리 어레이, 기록 액세스 및 리세트 액세스 제공 시스템, 및 프로그래머블 게이트 어레이 동작 방법 및 시스템 Download PDF

Info

Publication number
KR100232316B1
KR100232316B1 KR1019960045654A KR19960045654A KR100232316B1 KR 100232316 B1 KR100232316 B1 KR 100232316B1 KR 1019960045654 A KR1019960045654 A KR 1019960045654A KR 19960045654 A KR19960045654 A KR 19960045654A KR 100232316 B1 KR100232316 B1 KR 100232316B1
Authority
KR
South Korea
Prior art keywords
address
data
memory
array
write
Prior art date
Application number
KR1019960045654A
Other languages
English (en)
Other versions
KR970049640A (ko
Inventor
조셉 앤드류 이아단자
프랭크 레이 3세 키저
랄프 데이비드 킬모어
마이클 조셉 라라미에
Original Assignee
포만 제프리 엘
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR970049640A publication Critical patent/KR970049640A/ko
Application granted granted Critical
Publication of KR100232316B1 publication Critical patent/KR100232316B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Static Random-Access Memory (AREA)

Abstract

단일 셀 기록 포트(single cell write port) 및 단일 셀 판독 포트(single cell read port)를 이용하여, 메모리 어레이(memory array)의 다수의 메모리 셀(aplurality of memory cells)에 기능, 초기화 및 리세트 액세스(functional, initializaton reset access)를 제공하는 시스템이 제공된다. 기능 어드레스 및 데이타 버스외에도, 초기화 어드레스 및 데이타 버스가 제공된다. 본 발명은 다수의 서브어레이(multiple sub-arrays)를 갖는 필드 프로그래머블 메모리 어레이(field programmable memory array)에 따라 개시된다. 각 서브어레이에 대해 어드레스 유닛이 제공되어 초기화 어드레스 버스 또는 기능적 어드레스 버스로부터 각 서브어레이의 워드 라인에 어드레스 정보를 프로그램가능하게 제공한다. 마찬가지로, 각 서브어레이내의 판독헤드 및 기록헤드 회로(readhead and writehead circuits)는 초기화 또는 기능 데이타 및 서브어레이의 메모리 셀간의 데이타를 프로그램가능하게 또한 전파한다. 어드레스 유닛, 판독헤드, 및 기록헤드는 우위 리세트 신호(dominant reset signal)에 모두 응답하여 연관된 셀을 리세트시킨다. 초기화 기능을 위해 다수의 서브어레이중 주어진 서브어레이(given sub-array)를 선택하는 초기화 선택 버스가 개시된다. 필드 프로그래머블 메모리 어레이를 위한 프로그래밍 또는 설정 시스템은 연관된 어드레스 및 데이타 버스를 동작시키기 위한 부가적인 유닛, 어드레스 유닛, 판독헤드, 및 초기화 버스와 함께 개시된다.

Description

메모리 어레이, 기록 액세스 및 리세트 액세스 제공 시스템, 및 프로그래머블게이트 어레이 동작 방법 및 시스템
본 발명은 디지털 메모리 시스템에 관한 것으로, 보다 상세하게는 다수의 어드레스 및 데이타 소스(multiple address and data sources)와, 비동기적인 리세트(asynchronous reset)로부터 프로그램가능한 액세스가 제공되는 메모리 시스템에 관한 것이다.
필드 프로그래머블 게이트 어레이(FPGA) 장치 밀도가 10,000 게이트이상으로 증가하고 통상적으로 이전의 1.5㎛ 및 1.2㎛ 기술에 해당하는 ASIC 밀도와 경쟁함에 따라, RAM, ROM, LIFO, FIFO 또는 캐쉬 기능을 제공할 수 있는 온첩 저장 자원(on-chip storage resources)을 제공할 필요성이 증가하고 있다. 이러한 필요성의 인식하에, 다양한 설계를 갖는 조밀한 저장 능력을 구비한 FPGA 제품은, 예를 들면, 여러 FPGA 애플리케이션에 제안되었다.
주문제작 및 ASIC 설계에서 공통인 저장 어레이에서 발견된 설계 소자외에도, FPGA 내에 삽입하도록 설계된 메모리 어레이 구조는 설정 데이타 비트스트림(configuration bit stream)에 의해 구동된 온-더-플라이 재설정(on-the-fly reconfiguration) 능력을 제공할 수도 있다. 이러한 어레이는 FPGA 설정 상태 머신으로부터 실질적인 어레이 저장 장치를 액세스하는 수단을 또한 포함하여 가성적인 판독 전용 저장(Read Only Store;ROS) 능력, 또는 엔지니어링 디버그, 재설정등의 동안 어레이 데이타를 복구하거나 또는 폴링(poll)할 능력을 구현한다.
통상의 주문제작 및 ASIC 어레이와 연관되지는 않으나, 소형 1 × N 레지스터에 공통인 메모리 어레이를 리세트시키는 능력은 FPGA의 실행 시간 재설정 능력으로 인한 요구조건이 또한 될 수도 있다. 메모리 셀에 대해서 3개의 고유한 기록 포트와, 상이한 포트들간의 경쟁을 방지할 소정 양의 제어 로직이 제공되는 앞서 인용된 FPMA 애플리케이션에 메모리 셀이 제안되어 있다. 기능적으로 가시적이라 하더라도, 본 구현방안은 각 포트에 대해 연관된 배선 및 제어를 갖는 셀 당 다수의 기록 포트를 필요로 한다. 부가적으로, 메모리 어레이에 대한 설정 비트스트림 생성 방법은 FPGA 기능/경로배정 설정 데이타 및 메모리 어레이 초기화 데이타의 일체화로 인한 영향을 받을 수도 있다.
다소 과도한 하드웨어를 가질 수 있으며, 경쟁 문제점이 없는 공간 효율적인 방식으로, 가변 어드레스 및 데이타 소스(예를 들면, 기능, 초기화, 리세트 등)로부터 메모리 어레이를 액세스하는 시스템이 요구된다. 이러한 시스템은 설정 비트스트림이 메모리 어레이 초기화를 위해 사용되는 경우, 메모리 어레이 워드 및 설정 비트스트림 워드의 잠재적으로 상이한 폭을 또한 수용할 수 있다.
간략히 기술된 본 발명은 한 측면에서, 다수의 메모리 셀을 갖고 메모리 셀의 적어도 일부를 액세스하도록 주 어드레스 정보를 운반하는 주(예를 들면, 기능) 어드레스 버스를 포함하는 메모리 어레이이다. 메모리 셀의 일부를 액세스하도록 부 어드레스 정보를 운반하는 부(예를 들면, 초기화) 어드레스 버스가 또한 제공된다. 프로그램가능한 선택 회로는 주 어드레스 버스, 부 어드레스 버스 및 메모리 셀의 일부 사이에 배치되고, 이 선택 회로는 주 어드레스 버스 또는 부 어드레스 버스로부터 메모리 셀의 일부로 어드레스 정보를 전파하도록 프로그램가능하다.
메모리 셀의 일부는 다수의 워드라인을 이용하여 액세스되고, 워드라인 생성자 시스템은 프로그램가능한 선택회로 및 다수의 워드라인 사이에 배치되어, 주 또는 부 어드레스 정보는 선택 회로로부터 워드라인 생성자 시스템으로 프로그램가능하게 전파된다. 워드라인 생성자는 자신에 접속된 리세트 회로를 더 포함함에 따라 다수의 워드라인의 각각은 리세트 신호의 수신시에 워드라인 생성자에 의해 단정될 수도 있다.
메모리 셀의 일부는 다수의 비트라인을 이용하여 또한 액세스되고, 메모리 어레이는 주 데이타 버스 및 부 데이타 버스를 포함한다. 다수의 프로그램가능한 기록 회로가 제공되어, 각각은 주 데이타 버스, 부 데이타 버스 및 다수의 비트라인 중 제각기 비트라인 사이에 배치된다. 각 기록 회로는 주 데이타 버스 또는 부 데이타 버스로부터 제각기 비트라인으로 데이타를 전파하도록 프로그램가능하다. 각 프로그램가능한 기록 회로는 자신에 접속된 리세트 회로를 더 포함하여, 제각기 비트라인이 리세트 신호의 수신시에 리세트 전압 레벨로 세팅될 수도 있다.
메모리 어레이는 다수의 비트라인중 제각기 판독 비트라인과 연관된 프로그램가능한 판독회로를 더 포함할 수도 있으며, 각 판독회로는 그의 제각기 판독 비트라인으로부터 주 데이타 버스 및 또는 부 데이타 버스로 데이타를 전파하도록 프로그램 가능하다.
본 발명의 다른 측면에서, 메모리 어레이와 연관된 프로그래밍 또는 설정 시스템이 제공되고, 어드레스 공간 인식 유닛, 어레이 선택 유닛, 어드레스 카운터 유닛, 메모리 어레이 데이타 포트, 및 어레이 제어 신호 생성 유닛을 포함하여, 주, 부 및 리세트 신호 소스를 동작시킨다.
앞서 삽입되어 개시된 바와 같이 형성된 메모리 어레이를 갖는 프로그래머블 게이트 어레이가 제공될 수도 있다. 이 프로그래머블 게이트 어레이는 메모리 어레이의 프로그래밍 시스템과 관련하여 게이트 어레이를 프로그래밍하는 프로그래밍 시스템을 가질 수도 있다.
본 발명의 메모리 어레이는 프로그래머블 게이트 어레이와 관련하여 사용되고, 메모리 셀의 어레이가 워드라인 및 비트라인 세트에 교환가능하게(switchably) 접속된 기능 어드레스 및 데이타 버스를 통해 프로그래머블 게이트 어레이로부터 액세스할 수 있는 프로그래머블 게이트 어레이를 동작시키는 방법 및 시스템이 개시된다. 본 방법은 프로그래머블 게이트 어레이의 설정가능한 자원을 설정하는 설정 비트스트림을 사용하는 단계와; 초기화 및 어드레스 및 데이타 버스를 통해 메모리 셀의 어레이를 초기화하는 설정 비트스트림을 사용하는 단계를 포함하며, 초기화 어드레스 및 데이타 버스는 워드라인 및 비트라인 세트에 교환가능하게 접속된다.
따라서 어레이 기록헤드, 판독헤드, 워드라인 생성자, 및 어드레스 분산 시스템 뿐만 아니라, 설정 상태 머신에 대한 변경을 통해 셀 레벨에서 기능적 기록, 초기화, 및 리세트 기능을 단일 기록 포트로 일체화하는 다수의 구조가 개시되어 있다. 개시된 설계는 향상된 성능 및 밀도를 제공하면서 FPGA 및 FPMA를 일체화하는 것을 간략화 한다. FPMA 내에서의 이용을 위해 주로 목적이 되었다 하더라도, 이들 기법은 비동기적인 리세트 및 우선순위 초기화가 요구되는 다른 설계에 있어 유용하다.
본 발명으로서 간주되는 본 주제는 상세한 설명의 결론 부분에 특히 지적되어 있고 개별적으로 청구되어 있다. 그러나, 본 발명은 그의 다른 측면 및 장점과 더불어 실행 구조 및 방법에 대해, 바람직한 실시예 및 첨부되는 도면의 다음의 상세한 설명을 참조하여 가장 잘 이해될 수도 있다.
제1도는 본 발명의 원리에 따라 구성된 필드 프로그래머블 메모리 어레이의 블록도.
제2도는 제1도의 메모리 어레이의 서브어레이의 블록도.
제3도는 제2도의 서브어레이의 예시적인 메모리 셀의 개략도.
제4(a-c)도는 어드레스 및 선택 버스와 함께 본 발명의 어드레스 시스템의 블록도.
제5도는 제4도의 예시적인 워드라인 생성자의 개략도.
제6도는 서브어레이의 예시적인 다른 기록헤드의 개략도.
제7도는 본 발명의 판독헤드 및 기록헤드에 대한 제어 회로의 예시적인 논리도.
제8도는 서브어레이의 판독헤드의 예시적인 포착 래치 부분의 개략도.
제9도는 제8도의 판독헤드의 포착 래치 부분의 논리도.
제10도는 본 발명의 원리에 따른 설정 상태 머신의 블록도.
제11도는 패리티에 전용된 셀의 열을 갖는 서브어레이의 부분 블록도.
제12도는 예시적인 패리티 생성자의 논리도.
[개론]
인용된 FPMA 에 기술되고, 제1도에 통상적으로 도시된 바와 같이, FPMA(10)는 각각의 크기가 M 워드 × N 비트인 다수의 메모리 서브어레이로 구성될 수도 있고, 각각은 2개의 포트(1 판독/1 기록) RAM을 구현할 수 있다. 서브어레이는 논리적으로 및 물리적으로 독립적일 수도 있거나, 또는 FPMA 내의 전역적 비트라인 자원(14)을 사용하여 함께 접속될 수도 있다. 전역적 비트라인 자원은 N개의 계층적 비트라인 번들로 구성되고, 여기서 N은 서브어레이 N비트 값과 등가이다. 각 번들은 서브어레이의 비트 및 FPMA에 존재하는 다른 서브어레이의 적어도 서브세트의 동일 번호의 비트 사이에 다중 접속 가능성을 제공한다. 번들내에 상이한 길이 및 로딩의 계층이 제공되어 애플리케이션 RAM 크기에 대해 타이밍을 최적화하고 서브어레이 이용 효율을 용이하게 한다.
비트라인 번들의 임의의 계층으로부터 서브어레이로의 진입은 서브어레이 기록 회로에서의 멀티플렉서, 또는 “기록헤드”(도시되지 않음)를 통해 이루어지고, 이 멀티플렉서 상태는 설정 정보에 의해 결정된다. 서브어레이 판독 회로, 또는 “판독헤드”(도시되지 않음)로부터 판독 비트라인 번들의 선택된 제품으로의 판독 데이타 진입은 유사한 방식으로 이루어진다. 데이타 처리 회로로서 또한 참조된 서브어레이 기록헤드 및 판독헤드가 이하 더 기술되어 있다.
각 서브어레이는 기능적 어드레스 버스("FAB")(22)로부터 통상 제공된 어드레스 및 기록 어드레스를 완전히 디코딩할 수 있는 어드레스 유닛(20)과 연관되었다. 어드레스 유닛(20)은 구성에 있어 고정적이고 서브어레이에 국부적인 어드레스 공간을 완전히 디코딩하는 저차 유닛(low-order unit)(도시되지 않음), 원천적으로 설정가능하며 제공된 어드레스의 최대 유효 비트를 이용하여 서브어레이 선택을 허용하는 고차 유닛(high-order unit), 및 다수의 워드라인 생성자(도시되지 않음)로 구성되고, 이들의 각각은 셀 행의 판독 또는 기록 포트에 대해 고유한 워드라인을 제공한다. 워드라인 생성자는 워드라인 활성에 대해 요구된 각 제어 및 클럭 신호와 함께 저차 및 고차 유닛으로부터 디코딩 어드레스를 입력으로서 취한다. 서브어레이에 대한 어드레스 및 제어 경로배정은 이전에 기술된 속성 및 계층에 있어 기능적 어드레스 버스(22)를 형성하는 비트라인 번들과 유사한 다수의 어드레스 번들에 의해 이루어진다.
어드레스 번들로부터의 계층적 선택은 설정 정보에 의해 제어되는 멀티플렉서 회로(도시되지 않음)를 통해 이루어진다. 어드레스 번들 및 어드레스 유닛(20) 사이의 멀티플렉서 회로는 기록 클럭, 판독 클럭, 기록 인에이블, 리세트, 및 고차 어드레스 비트와 같은 특정 제어 신호의 안정화를 허용하여 FPMA의 각 애플리캐이션에 대해 안정성 및 기능성을 보장한다.
인용된 FPMA 애플리케이션에 개시된 바와 같이, I/O 버스(26) 및 연관된 I/O 시스템(16, 18)(I/O 경로배정, I/O 블록)은 서브어레이부터 데이타를 전파하도록 비트라인 번들(14) 및 연관된 또는 외부 장치(예를 들면, FPGA)사이에 또한 제공된다.
본 발명에 따라, 그리고 이하 더 기술되는 바와 같이, 초기화 데이타, 어드레스 및 선택 라인(30, 40, 및 50; “IDB”,“IAB” 및 “ISB”)은 서브어레이(12) 및 설정 상태 머신(60)과 동작 관계로 제공된다. 어드레스 유닛(20)과, 각 서브어레이(12)와 연관된 판독헤드 및 기록헤드 회로는 본 발명에 따라, 그리고 이하 개시되는 바와 같이, 각 셀내의 단지 단일 기록포트를 사용하여, (버스(22)와 판독 및 기록 비트라인(14)을 통해) 기능적으로 어레이(10)를 동작시키고, (버스(40) 및 버스(30)를 통해) 어레이를 초기화시키며, 어레이를 리세트시키도록 구현된다.
본 발명은 각 메모리 셀내에 요구된 기록 포트의 수를 감소시킴에 따라, 효율적인 방식으로 FPMA 내의 잠재적인 경쟁 및 안정화 송출을 동시에 결정하면서 밀도에 있어 현저한 증가를 허용한다.
[서브어레이]
제2도는 메모리 어레이의 서브어레이(12)중 하나인 부분적인 블록도이다. 서브어레이(12)는 다수의 메모리 셀, 예를 들면, 셀(100)로 구성되고 각 셀의 열은 기록 비트라인(106) 및 판독 비트라인(108)과 연관된다. 어드레스 유닛(20)은 기능적 어드레스 버스(“FAB”) 또는 초기화 어드레스 버스(“IAB”)로부터 구동된 어드레스 정보에 기초하여 제공되고, 기록 워드라인(102) 및 판독 워드라인(104)을 활성화시켜 서브어레이의 셀을 동작시킨다. 메모리 셀의 각 열은 제각기 기록헤드 회로(70), 및 제각기 판독헤드 회로(80)와 연관되어, 메모리 셀의 열과 연관된 비트라인(106 및 108) 및 메모리 어레이의 고 레벨 데이타 전파 시스템사이의 데이타를 전파하며, 비트라인 구조(14) 또는, 대안적으로 초기화 데이타 버스(“IDB”)를 포함한다. 판독헤드 회로(80)는 클럭 생성자 및 포착 래치(81)뿐만 아니라 이하 더 기술되는 바와 같이, 선택적 스위칭(82)을 포함할 수도 있다.
각 서브어레이에 대해 헤드 제어 회로(90)가 제공되는데, 이는 초기화 선택 버스(“ISB”)로부터 구동된 설정 정보(105) 또는 정보(103)에 응답하여 판독헤드 및 기록헤드 회로를 동작시킨다. (X 주위의 원의 개념은 105와 같은 설정 정보/비트를 표시하도록 사용된다.)
셀(100)의 구조는 제3도를 참조하여 이하 더 자세하게 기술될 것이다. 어드레스 유닛은 제4(a)-(c)도 및 제5도를 참조하여 기술될 것이다. 기록헤드 회로(70)는 제6(a)-(b)도를 참조하여 보다 자세하게 기술될 것이다. 헤드 제어 회로(90)는 제7도를 참조하여 보다 자세하게 기술될 것이다. 판독헤드 회로(80)는 제8도 및 제9도를 참조하여 더 기술될 것이다.
[셀]
서브어레이의 예시적인 메모리 셀(100)은 제3도에 도시되어 있다. 저장 회로(118)는 한쌍의 교차 접속된 인버터를 포함하고, 기록 포트(114) 및 판독 포트(116)를 통해 동작된다. 저장 회로의 참 및 상보 노드는 기록 포트(114)내에서 기록 워드라인(112)의 동작을 통해 참 및 상보(세트 및 리세트) 비트라인(106)에 접속된다. 셀은 판독 비트라인(108)상에 데이타를 제공하는 판독 포트(116)를 동작시키는 판독 워드라인(110)을 사용하여 판독된다. 이것은 단지 예시적인 셀일뿐, 당 분야에서 통상의 지식을 가진자라면 다수의 다른 셀 설정이 가능하다. 이하 더 기술되는 바와 같이, 기능 기록, 초기화 기록, 및 리세트는 단일 기록 포트(114)를 통해 단지 기록 워드라인(112) 및 기록 워드라인(106)을 채용함으로서 본 발명의 원리에 따라 성취된다. 이것은 각각의 기능을 위해 셀에 개별적인 액세스를 제공하는 다수의 기록 포트와, 각 기록 포트에 연관된 비트라인 및 워드라인에 대한 대안이다. 단일 기록 포트, 3개의 기능사이의 워드라인 및 비트 라인을 공유함으로써, 셀 영역이 감속될 수 있고, 서브어레이내의 배선은 감소될 수 있음에 따라, 밀도를 향상시킨다.
[어드레스 유닛]
제4(a)-(c)도는 모두 본 발명의 설정 상태 머신(“CSM”), FAB, IAB, ISB 및 IDB에 따라, 개시된 어드레스 유닛(20)의 블록도를 포함한다. 초기화 선택 버스(50) 및 초기화 어드레스 버스(40)가 제공되어, 이들은 FPMA 의 설정 상태 머신(60)에 의해 구동된다. 어드레스 및 제어신호의 경로배정을 위한 선택 멀티플렉서(120a-c)가 또한 제공된다. 제4(a)도는 이하 기술되는 초기화 데이타 버스(30)를 첨가한 것을 또한 예시한다.
판독을 위한 4개의 어드레스 입력 및 기록을 위한 4개의 어드레스 입력을 총체적으로(112) 나타내는 예시적인 제4(a), 4(b) 및 4(c)도가 도시되어 있다. 비트(0-2)는 저차 어드레스(low-order address)로서 참조되는 것을 나타내고, 비트(3)는 고차 어드레스(high-order address)로서 참조되는 것을 나타낸다. 당 분야에서 통상의 지식을 가진자라면 서브어레이 깊이 및 카운트에 따라, 대안적인 어드레스 폭 및 구획이 제공될 수도 있음은 물론이다.
FAB(22), 계층적 어드레스 버스는 각 어드레스 비트(12)에 대해서, 판독에 예시적인 4개의 버스 레벨(FRADDR-<0:3>)을, 기록에 4개의 레벨(FWADDR_〈0:3〉)을 제공한다. 멀티플렉서(120a 및 120b)는 설정 데이타에 의해 설정되어, 기능적 어레이 동작동안 FAB로부터 적절한 선택을 제공한다.
제4(a)도에 예시된 초기화 어드레스 버스(40)는 다수의 어드레스 라인으로 구성되어 서브어레이 어드레스 공간을 완전히 액세스한다(일예로서, 버스는 128개의 워드 서브어레이를 위해 7 비트 폭일 수 있음). 버스는 단일 계층으로 되어 있고 멀티플렉서(120a-120c)를 통해 FPMA 내의 서브어레이의 각각에 접속한다. 버스는 CSM 으로부터 구동되고 CSM이 서브어레이에 대해 디코딩되지 않은 어드레스 데이타를 구동시키도록 허용한다.
제4(c)도의 초기화 선택 버스(50)는 CSM에 의해 생성된 디코딩된 어레이 선택(SELARRAY)의 전송을 위해 CSM 및 FPMA의 각 서브어레이사이의 통신 경로를 제공한다. 초기화 동작 동안, 단일 비트 또는 버스의 라인은 활성상태가 될 것이고, SELARRAY를 통해 FPMA의 단일 서브어레이를 초기화 모드로 배치시킨다. 서브어레이 레벨에서, 초기화 선택 비트의 활성은 기능적 어드레스 버스/어드레스 번들(도시된 설정 데이타에 의해 결정되는 기능적 설정)로부터 경로배정 멀티플렉서 회로(120a-c)의 기능적 설정을 오버라이드(override)함에 따라, 어드레스 유닛의 판독 및 기록 부분의 입력에 초기화 어드레스 버스를 접속한다. 유사한 방식으로, 판독 클럭(RCLK), 기록 클럭(WCLK), 리세트(RESET), 바이트-기록-인에이블(WEN)의 경로배정은 초기화 어드레스 버스에 경로배정되고 CSM에 의해 제어될 수도 있다(이들 신호의 각각의 다수, 특히 WEN은 특정 실시예에 따라 경로배정될 수도 있음). 초기화 선택(SELARRAY)의 활성은 멀티플렉서 그룹(120a 및 120b)의 제각기 고차 그룹에 의해 어드레스(122)(RADDR<3>, WADDR<3>)의 고차 어드레스 유닛 입력이 기능적 어드레스 버스(FRADDR3, FWADDR3)로부터 접속해제되도록 한다. 이들 제각기 고차 멀티플렉서는 고정된, 활성 값(예를 들면, VDD로 도시됨)에 고차 어드레스 라인(RADDR<3> 및 WADDR<3>)을 접속한다. 120a 및 120b의 나머지 멀티플렉서는 기능적 판독 FR*및 기록 FW*라인대신에, 초기화 어드레스 버스 어드레스 라인(ADDR1, ADDR2, ADDR3)을 선택하여 RADDR<0>, RADDR<1>, RADDR<2> 그리고 WADDR<0>, WADDR<1> 및 WADDR<2>를 통해 전파한다(간략성을 위해, 이들 멀티플렉서중 단지 하나가 멀티플렉서의 판독(120a) 및 기록(120b) 그룹을 위해 도시되어 있다). 워드라인 생성자(130)는 120a 및 120b를 통해 IAB에 의해 제공된 바와 같은 저차 어드레스, (SELARRAY를 통해 또한 제어된 바와 같은) 멀티플렉서(120c)를 통해 IAB로부터 제공된 바와 같은 판독 또는 기록 클럭, 및 SELARRAY를 통해 활성으로 강제(force)된 바와 같은 고차 어드레스 입력을 조합하고, 적절한 워드라인(102, 104)을 활성화시킨다.
CSM에 의해 제어된 초기화 시스템의 대안적인 실시예는 리세트 또는 바이트 기록이 초기화 동안에 사용된 기능이 아닌 경우에 구성될 수 있다. 이러한 경우, 대안적인 실시예는 RESET가 초기화 선택에서 비활성으로 강제되고 WEN이 초기화 선택에서 활성으로 강제되는 경우에 구성될 수 있다. 이것은 이하 더 기술되어 있다.
개시된 설계는 서브어레이의 기능적 어드레스 디코드의 사용이 CSM에 의해 제어되도록 허용하므로, FPGA 아키텍처내에 개별적인 설정 워드라인 생성자가 요구되지 않는다. 개시된 어드레스 유닛(20)에 초기화 모드 어드레싱이 발생하지 않으므로, 이하 기술되는 바와 같은 서브어레이내의 기록 비트라인상으로 초기화 데이타를 전파하는 수단에 따라, 각 셀내에 초기화 포트가 요구되지 않는다. 순수한 밀집 장점외에도, 이것은 서브어레이 설정 어드레스 공간을 또한 허용한다. 더욱이, 새로운 설계는 서브어레이 레벨에서의 기능적 제어에 비해 초기화 제어의 우위를 제공하여, 경쟁 문제를 제거한다.
[기록 워드라인 생성자 회로]
제4도는 리세트 경로배정 멀티플렉서(제4b도) 및 어드레스 디코드/워드라인 생성자(130)(제4(a)도)사이의 리세트 라인(124)(제4(a), 4(b)도)을 또한 예시한다. RESET 라인상의 활성 레벨은 어드레스 또는 클럭 상태에 관계없이 서브어레이내의 모든 기록 워드라인을 활성으로 강제하여, 비동기적인 방식으로 구조에 순수한 리세트 우위를 제공한다. 이 구조는 이하 기술되는 바와 같은 서브어레이내의 기록 비트라인상으로 리세트 데이타를 전파하는 수단에 따라 서브어레이 RESET 동작에 대해 메모리 셀의 기능적 기록 포트의 사용을 허용한다. 메모리 셀내에 개별적인 리세트 포트가 요구되지 않음에 따라, FPMA는 전술한 바와 같은 2개의 포트 메모리 셀의 실시예와 함께 설계되도록 한다.
리세트 우위를 갖는 워드라인 생성자 회로(130)의 실시예는 제5도에 도시되어 있다.(당분야에서 통상의 지식을 가진자라면 도면상의 트랜지스터에 대한 T표시들간의 임의의 동등함은 동일한 트랜지스터가 채용되고 있음을 표시하지 않는다는 것을 인식할 것이다.) 장치(T0, T1, T2, T3, T5, T6, T7 및 T8)는 고차 및 저차 어드레스 유닛(도시되지 않음)에 의해 구동된 다수의 부분적으로 디코딩된 어드레스 라인에 대해 AND 회로를 형성한다. NFET(T9)는 RESET가 하이로 단정되는 경우 풀다운(pulldown)을 제공하도록 AND 구조에 접속된다. PFET(74)는 RESET가 단정되는 경우 T0, T1, T2 및 T3 의 소스 및 Vdd 사이에 부가되어 장치내의 DC 전류 경로를 차단한다. RESET가 단정되므로, T9의 게이트는 디코딩된 어드레스 값에 관계없이 풀다운되고, 반전으로서 형성된 워드라인은 하이, 또는 활성으로 풀된다. 그 결과로 인한 효과는 RESET를 단정하여 서브어레이내의 모든 기록 워드라인이 활성화되도록 하는 것이다. 이것은 경쟁에 대한 임의의 문제를 디폴트로서 방지한다. 기록 포트 게이트의 정전용량 로드는 개별적인 셀 리세트 포트의 로드와 거의 동등하며, 전력 소비 증가는 무시해야 한다. 제5도의 실시예에 따라, 부가적인 실시예는 RESET를 위한 다른 극성 값, 디코딩된 어드레스 입력, 및 워드라인 활성 레벨 등과 함께 형성될 수 있다.
[서브어레이 기록헤드]
제6(a)도는 연관된 비트라인을 셀의 열로 구동시키는 (바이트-기록 또는 서브 엘리먼트 어드레싱 능력이 없는) 서브어레이 기록헤드(70)의 일예를 도시한다. 도시된 바와 같은 회로는 선택/멀티플렉싱 기능을 구현하고 초기화 포트 및 리세트 포트 데이타 흐름을 서브어레이의 기능적 포트에 합체한다. 제7도는 서브어레이내의 판독헤드(80) 및 기록헤드(70) 구조에 경로배정/기능 선택을 제공하는 서브어레이 구조의 제어부분(90)(제2도)을 도시한다. 제6(a)도 및 제7도는 5개의 가능한 소스(H1-H5)로부터 예시적인 어드레스 입력 선택을 나타내도록 도시되어 있다. 다른 어드레스 선택은 설정 비트 카운트에 대한 변경 및 개시된 회로 요소의 축소/확장을 통해 제공될 수 있다.
제6(a)도의 기록헤드내에서, PFET 장치(T90-T94, T960T100) 및 NFET 장치(T102-105, T107-T110, T151 및 T152)는 3상 멀티플렉서 설계를 구현한다. 멀티플렉서 제어는 FPMA의 분산된 설정 메모리의 설정 비트에 따라 제7도의 헤드 제어 유닛(90)으로부터 제공된다. 일예로서, SH<1> 및 NOT SH<1>(제7도의 헤드 제어 유닛(90)으로부터의 선택 계층 1 신호)이 단정되는 경우, 입력시에 인버터(152 및 154)에 나타나는 데이타는 H<1>(계층적 데이타 레벨 1)의 반전일 수 있다. NFET 장치(T114 및 T136) 및 PFET 장치(T101)는 기록헤드내의 리세트 기능을 구현한다. 기록헤드 RESET의 단정은 메모리 셀을 논리‘0’으로 리세팅시킬 수 있는 값으로 비트라인을 강제한다. T101은 멀티플렉서의 공통 노드를 상방향으로 플링하는 반면, T114 및 T136은 특정 조건하에 발생할 수 있는 기능 또는 초기화 NFET 구조에 대해 수평 통과 전류를 차단할 책임이 있다. 설정 상태 머신이 리세트 기능을 사용할 능력을 포함하지 않는 경우, 장치(T136)는 DC 전류 경로의 위험없이 드롭핑될 수도 있다. PFET 장치(T153 및 T154), 및 NFET 장치(T106 및 T111)는 멀티플렉싱 기능을 구현하여 초기화 데이타를 서브어레이내의 기록 비트라인상으로 게이팅하고 멀티플렉서 선택(SPROG 및 NOT SPROG)은 전술한 초기화 선택 버스에 의해 제공된다. PFET(T138)는 비트라인 입력이 선택되지 않고, 리세트가 단정되지 않으며, 서브어레이가 초기화 모드에 있지 않는 상황인 경우 멀티플렉서의 중간 노드에 안정 레벨을 제공할 책임이 있다. 이러한 상황은 어레이 초기화 동안에, 서브어레이가 FPGA 애플리케이션에 사용되지 않은 경우, 또는 서브어레이가 ROM으로서 설정되는 애플리케이션에 발생할 수 있다.
인터버(152, 154 및 156)는 선택된 메모리 셀 실시에에서의 변경과 함께 특성이 변경할 수 있는 임의의 비트라인 드라이버 설정을 형성한다. 일예로서, 제6(a)도는 제3도의 셀에 대해 차등적인 용량 드라이브 기록 프로토콜을 위한 드라이버를 나타내고, 그 경우, 헤드상의 전류 로드는 액세스된 셀(워드)의 수와 함께 변화하지 않는다. 기록헤드는 전류가 전달 게이트를 통해 파생되거나 또는 싱크되는 메모리 셀 아키텍처와 함께 이용하도록 설계되는 경우, 장치(T101)의 부가적인 실시예는 기록 비트라인상에 배치되어 충분한 전류 능력을 보장하고 다수의 메모리 셀이 기록 헤드로부터의 전류를 도출할 수 있는 RESET 동안 전류 밀도를 감소시킨다.
이들 부가적인 실시예는 선택된 기록 비트라인 아키텍처에 따라, 장치(T101)의 복사본이 될 수도 있거나, 또는 반대 장치 유형이 될 수도 있으며, 또는 조합이 될 수도 있다.
이하 더 기술되는 바와 같이, 본 발명의 실시예는 FPMA 서브어레이 워드폭이 FPGA 설정 상태 머신의 워드 폭보다 큰 경우 특히 FPGA와 접속하여 서브엘리먼트 어드레싱(subelement addressing)을 제공할 수도 있다. 이러한 실시예에서, 제6(a)도에서 75 로서 모두 참조된 장치는 제6(b)도에서 75′로서 모두 참조된 장치로 교체될 수 있다.
제6(b)도를 참조하면, WEN 신호에 응답하여 장치(T52 및 T54)를 합체하는 WELSET 부분(76)이 도시되어 있다. 마찬가지로, WELRESET 부분(77)은 WEN에 또한 응답하여 장치(T34 및 T37)를 합체한다. WEN 상의 ‘0’은 WELSET WELRESET을 ‘0’으로 강제한다. WEN 상의 ‘1’은 제6(a)도를 참조하여 앞서 기술된 바와 같이, 계층 멀티플렉서(PROG, SPROG, STAB, 및 RESET)에 응답하는 바와 같이 비트라인 쌍을 활성화한다. (당분야에서 통상의 지식을 가진자라면 제6(a)도상의 제6(b)도 내에 RESET 장치의 변경된 배열에 따라, RESET 기능이 요구되는 바와 같이 동작한다.)
각종 그룹의 기록헤드(예를 들면, 상위 및 하위 바이트)에 대해 다수의 기록 인에이블(WEN) 라인을 경로배정함으로써, 기록헤드 그룹은 각각의 비트라인 그룹을 교번적으로 액세스하도록 제어될 수 있으며, 따라서 서브워드 또는 서브엘리먼트 어드레싱 능력을 실행한다.
제7도의 제어 회로(90)는 기록헤드에 주 제저를 제공한다. 기록 제어 회로는 기록헤드에 멀티플렉스될 수 있는 각 기능적 데이타 경로를 위한 AND-INVERT 블록(160)을 포함한다.
도면에서 입력(SELH<1> - SELH<5>)은 설정 비트로부터 파생된다. NOT SPROG 는 초기화 선택 버스에 의해 제공되는 바와 같이 초기화 선택의 반전이다. 각 AND-INVERT 블록(160)은 자신과 연관된 SH<> 및 NOT SH<> 신호를 단정하도록 기능함에 따라, 설정 데이타가 접속을 설정하고 서브어레이 초기화가 진행중이지 않은 경우 데이타 경로를 인에이블시킨다. 허용된 비트스트림 설정은 하나를 초과하는 경로를 동시에 인에이블시키는 것을 방지하는 반면, NOT SPROG의 AND는 기능적 데이타 포트상에 초기화 포트 우위를 구현하고 데이타 경쟁을 방지한다.
헤드 경로 선택 및 NOT SPORG와 연관된 모든 설정 비트의 반전된 형태가 공급되는 와이드 NAND 게이트(162)는 입력신호(STAB)에 의해 기록헤드 멀티플렉서 중간 노드의 안정화를 위해 상태 검출을 제공한다. 헤드 제어 회로(90)내의 2개의 압력 AND 함수(164)는 이하 기술되는 바와 같이, 계층 1 데이타 경로가 선택되고 초기화가 인에이블되어 판독 포트를 적절히 안정화하는 상태를 검출한다.
[서브어레이 판독헤드]
제2도는 클럭 생성자로 구성된 판독헤드 회로(80), 판독 포착 래치(81), 선택적 3상 드라이버/MOSFET 선택적 스위치(82), 및 비트라인 구조(14)를 포함하는 서브어레이에 대한 제어 및 데이타 인터페이스 구조를 도시한다. 클럭 생성자 및 판독 포착 래치뿐만 아니라, 선택적 3상 드라이버/MOSFET 선택적 스위치의 상세한 동작 설명은 인용된 FPMA 애플리케이션에서 발견될 수 있다.
FPMA 애플리케이션에 개시된 실시예에 대해, 헤드 제어 회로(90)를 통한 부가적인 제어는 다수의 서브어레이를 접속하는 판독 비트라인 계층으로부터 서브어레이를 분리하도록 제공한다. 헤드 제어 게이트(160) 또는 제7도에 도시된 그의 동등물은 ISB가 활성인 경우 MOSEFET 선택 스위치/선택적 3상 드라이버(82)가 상위 판독 비트라인 계층을 구동시키지 못하게 한다. (FPMA 애플리케이션에서, MOSFET 선택 스위치/선택적 3상 드라이버 상태는 설정 데이타에 의해서만 제공된다.) 전술한 판독 비트라인 계층(H1)으로부터 서브어레이를 접속해제하면 초기화되는 서브어레이의 경쟁을 방지하며 다른 서브어레이가 상위 계층 비트라인을 공유하며, 역시 접속해제되는 기능적 어드레스 버스를 통해 서브어레이를 액세스하도록 이루어짐에 따라, 기능적 액세스에 대해 알려진 값 출력을 제공한다.
부가적으로, 헤드 제어 유닛(90)은 인용된 FPMA 애플리케이션에서 이들 구조의 유일한 선택/제어를 제공한 설정 데이타 세팅에 관계없이, ISB 선택 서브어레이와 연관된 클럭 생성자/판독 포착 래치(81)를 설정하여 H1 판독 비트라인 계층으로부터 판독 데이타를 포착한다. 유닛(81)의 제어는 제7도에 명확히 도시되지 않은 헤드 제어 유닛(90)내에서, 또는 대안적으로 클럭 생성자/판독 포착 래치(82)에서 부가적인 로직을 필요로 하나, 전술한 내용에 따라 당분야에서 통상의 지식을 가진 자에게 적절한 인에이블먼트/디스에이블먼트(enablement/disablement) 논리 구조가 명백할 것이다.
제8도 및 제9도는 단일 종단형 프리차지 입력을 사용하여 바이트 선택 장치없이 구현된 판독헤드(80)의 판독 포착 래치 부분을 도시한다. 제9도는 단지 제8도의 판독 포착 래치의 고 레벨 논리도이다. 당 분야에서 통상의 지식을 가진자라면 그들간의 대응을 인지할 것이다. 장치(T26, T27, T0-T7)는 인용된 FPMA 애플리케이션에 개시된 바와 같은 판독헤드를 위한 비트라인 프리차지, 비트라인 안정화, 샘플링, 및 래칭 기능을 구현한다. FPMA 애플리케이션의 실시예의 또한 일부인 장치(T14-T17)는 설정 데이타에 의해 주로 제어된 3상 인버터를 구현하고 (IORBL을 통해) 서브어레이 판독 포트 데이타 래치 및 FPMA의 I/O 유닛 사이에 선택가능한 경로를 제공한다.
FPMA 애플리케이션에 개시된 실시예에 대해, 부가적인 안정화 장치(740)는 IORBL 3상 인버터(장치 T14-T17)의 출력에서 제공된다. 장치(T40)는 ISB 선택동안 헤드 제어 회로(90)에 의해 제공된 바와 같은 IORBL 인버터에 대해 부가적인 3상 능력과 함께 동작하여 설정 데이타를 통해 선택된 기능적 I/O 경로로부터의 판독 포착 래치를 접속해제하여 연관된 서브어레이의 초기화 동안 기능적 I/O에 알려진 “프리차지 포착(precharge-capture)”의 동등한 값을 제공한다. 이대로, T40의 장치 유형은 출력시에 단정되는 프리차지 논리 값에 따라 선택되며, 예를 들어 NFET 가 도시되어 있다. 이와 함께, 장치(740)에 의한 안정화 및 그의 판독 비트 라인 계층으로부터의 서브어레이의 분리는, 다른 서브어레이에 대한 서브어레이의 기능적 접속성 및 설정 데이타에 의해 결정되는 바와 같은 I/O에 관계없이, 기능적 판독이 초기화 동안 시도되는 경우, 서브어레이로부터 알려진 반환값을 제공한다. 제어 신호 도출 장치(T15 및 T17)의 부가적인 게이팅은 (기록헤드에 주로 인가되어 드래프트된 바와 같이) 제7도의 제어 회로에 명확히 표시되어 있지 않으나, 서브어레이에서 계층 제어로서 가정되는 것을 제외하고 판독헤드 및 기록헤드간에 동일하다.
장치(T28-T31)는 인용된 FPMA 애플리케이션의 판독 포착 래치 부분에 또한 부가되어 초기화 데이타 버스의 판독 부분을 통해 서브어레이 판독헤드 및 CSM 사이의 선택가능한 데이타 경로(PROGRBL)를 제공함에 따라, CSM에 의해 초기화 데이타상으로 판독 및 판독/비교 연산을 제공한다. 장치(T28-T31)는 설계에 있어 T14-T17과 통상적으로 동등한 3상 인버터를 구현하나, 연관된 서브어레이의 ISB 선택동안 인에이블되어 초기화 모드에서 서브어레이 판독 포트 및 CSM 사이에 직접적인 접속성을 제공한다.
[설정 데이타 상태 머신(CSM)]
제10도는 제1도 및 제4도의 CSM(60)의 아키텍처를 예시한다. FPGA/FPMA(통상적으로, “프로그램가능한 시스템”)내에서, 설정 상태 머신의 기능은 특정 외부 제어 신호에 관련한 어드레스 정보 및 설정 데이타 정보를 포함하는 인입 비트스트림을 해석하여, 프로그램가능한 시스템의 분산된 설정 메모리를 정확히 로딩함에 따라, 원하는 기능을 수행하도록 프로그램 가능한 시스템 내의 로직 셀 및 경로배정을 개성화하는 것이다. FPGA가 이러한 기능을 처리하는 방법은 알려져 있고, 다양하므로, 본 명세서에서 기술되지 않을 것이다. 이러한 알려진 설정 논리(170)에 대해, 몇가지 새로운 유닛이 부가되어 CSM을 통해 FPMA 서브어레이 RAM 비트의 초기화를 용이하게 한다.
ARRAY ADDRESS SPACE RECOGNITION AND CONTROL UNIT(172)은 FPMA 초기화 어드레스 공간내의 어드레스 정보에 대해 인입 설정 비트스트림을 시트프(sift)한다. 이들 윈도우는 일정 길이로 되어 있고, 서브어레이의 전체 깊이가 초기화될 것이다. 이들 윈도우는 일정 길이로 되어 있고, 서브어레이의 전체 깊이가 초기화될 것이다. 서브어레이 윈도우내에서 초기화할 요구가 검출되는 경우, 보통의 상태 머신 동작이 지연되고 FPGA에 공통인 비트라인/워드라인이 단정되지 않는다. 어드레스 공간 정보는 ARRAY SELECT LOGIC(174)에 의해 검출되어 서브어레이중 어느것이 초기화되는지를 결정한다. 그리고나서 이 유닛을 초기화 선택 버스의 적절한 비트를 단정하여 서브어레이에서 어드레스/데이타 멀티플렉서 회로를 제어한다.
ADDRESS COUNTER UNIT(176)은 선택된 어레이에 의해 디코딩을 위한 초기화 어드레스 버스상에 구동되는 연속 어드레스 스트림을 생성할 책임이 있다.
ARRAY CONTROL SIGNAL GENERATION UNIT(178)은 비트스트림 및 제어 데이타를 해석하여 원하는 초기화 기능(WRITE, READ, 또는 READ COMPARE)을 결정하고 초기화 어드레스 버스를 통해 서브어레이에 정확한 클럭을 제공할 책임이 있다.
ARRAY DATA PORT(180)는 서브어레이 수 또는 어드레스에 관계없이, 기록될 설정 비트스트림으로부터 FPMA로 시프트된 모든 서브어레이 초기화 데이타에 대해 가상 어드레스로서 제공된다. 이 유닛은 전술한 방식으로 각 서브어레이에 접속되는 서브어레이와 동등한 비트폭의 버스 네트워크(IDB)를 구동시킨다.(서브어레이 워드 폭이 설정 상태 머신 비트 폭이상인 경우, 또는 다중사이클 초기화 바이트 구성이 사용되는 실시예에서, 이 비트 폭 정의(서브어레이 폭)는 참이다. 바람직한 실시예에서, 어레이 데이타 포트의 폭은 설정 상태 머신 비트 폭과 동등하고, 기록 인에이블 신호는 데이타를 방향설정하도록 사용될 수 있다.) READ BUS(도시되지 않음)는 이 유닛 및 CSM 사이에 필요한 통신을 갖는 READ 및 READ COMPARE에 대해 IDB 내에 또한 제공되어 디버그 능력을 제공한다. 2개의 포트 RAM 시스템 및 1개의 포트 설정 시스템 사이의 변환은 ARRAY DATA PORT 유닛에 또한 제공된다. (선택사양적인 패리티 유닛(200)이 이하 기술되어 있다.)
[동작의 개략]
본 발명을 이용하여 구성된 메모리 어레이의 판독 및 기록 포트의 통상적인 기능 동작은 FPMA 애플리케이션에 게시된 동작과 일치하는 방식으로 진행한다.
본 발명에 따라, 리세트 신호의 활성 에지가 서브어레이에 도달하는 경우, 이 신호는 기록 워드라인 생성자 회로의 최종 단계에 버퍼링되고 경로배정된다. 단정된 리세트 신호는 모든 기록 어드라인 생성자를 강제하여 그들의 제각기 워드라인을 단정하고, 서브어레이내의 모든 기록 워드라인을 활성으로 전환시키며, 서브어레이의 모든 셀의 기록 전송 게이트를 계속해서 활성화시킨다. 이와 동시에, 리세트 신호는 서브어레이의 기록헤드 회로에 경로배정되는데 이는 임의의 기능 또는 초기화 데이타 경로를 경쟁을 야기할 수도 있는 기록헤드로 3상화하고, 자신이 구동하는 비트라인이 접속되는 모든 셀을 리세팅시키는데 적절한 기록헤드의 출력상에서 논리 값을 단정한다. 대안적으로, ‘0’외의 논리 값이 요구되는 경우, 이 기능은 장치 유형, 활성 레벨, 및 경쟁 전류 방지의 역과 동일한 기본적 방식으로 구현될 수 있다. 리세트 활성 라인은 RAM 및 서브어레이 크기의 셀 아키텍처에 관련된다.
또한 본 발명에 따라, 설정 상태 머신에 의해 서브어레이 초기화 커맨드로서 해석된 비트스트림은 초기화 선택 버스상에서 신호 라인을 단정한다. 서브어레이 에서의 연속적인 참 및 상보 생성과 함께 이러한 라인을 활성은 설정 데이타에 의해 제어되는 그들의 기능적 경로배정으로부터 서브어레이 어드레스 유닛, 기록헤드 유닛, 및 판독헤드 유닛을 접속해제하고, 제각기 초기화 어드레스 버스 및 초기화 데이타 버스에 이들 유닛을 접속한다. 고차 어드레스 신호, 및 기록 인에이블 신호는 활성으로 강제되어 CSM에 의해 저차 어드레스 및 RCLK, 또는 WCLK에 따라 서브어레이의 동작을 허용한다. 따라서, 그의 기능적 접속으로부터 분리된 단일 서브어레이는 설정 데이타 결과에 의해 정의된다. 상태 머신을 기록 및 판독커맨드를 상태 머신 초기화 모드에 의해 결정되는 바와 같은 어레이 초기화 인터페이스에 송출하도록 진행한다. 서브어레이에 기록된 데이타는 모든 서브어레이에 대해 구동시킬 기록 초기화 데이타 버스 및 단일 서브어레이에 의한 리셉션에 버퍼를 제공하는 가상 어드레스에 배치된다. 유사한 방식으로, 판독 데이타는 가상 포트에서 수신된다. 상태 머신을 오름차순의 이진 방식으로 서브어레이내의 모든 어드레스를 통해 사이클링한다. 서브어레이에 대해 시도된 기능적 기록은 어드레스 및 데이타 접속해제로 인해 효과가 없을 것이다. 시도된 판도은 어레이의 프리차지 논리 레벨에 기초하여 이전에 기술된 판독헤드에 의해 제공된 바와 같은 서브어레이 분리로 인해 데이타 접속의 계층에 관계없이 I/O에 논리값을 반환할 것이다. 서브어레이는 비트라인(14)으로부터 분리되므로, 서브어레이에 의한 상위 계층 비트 라인의 디스차지는 초기화 동안 가능하지 않으며 시도된 판독 액세스는 상위 계층을 통해 비트라인의 프리차지 레벨을 반환한다. 3상화된 포착 래치 출력과 관련하는 장치(T40)(제8도)의 활성은 서브어레이의 초기화에 사용된 포착 래치가 설정 데이타에 의해 설정된 바와 같은 기능적 데이타 출력으로서 또한 이용되는 경우에 프리차지 레벨 포착을 모방한다. 초기화의 완료시에, 초기화 선택 라인은 단정되지 않고 어드레스/데이타 경로배정은 FPGA/FPMA 설정 데이타에 의해 설정된 기능의 접속에 대해 철회한다.
[서브어레이 및 설정 데이타 버스 폭의 차등화]
FPGA에 기초한 모든 SRAM은 사용자가 원하는 논리 기능을 제공하도록 멀티플렉서 선택 핀, 로드 룩업 표 등을 세팅하도록 사용된 데이타로 구성되는 설정 비트스트림을 로딩하는 수단을 필요로 한다. 설정 로드는 통상적으로 FPGA 내의 CSM을 사용하여 성취된다. CSM은 이산적 ROM으로부터의 데이타를 병렬 또는 직렬 포맷으로 판독하고, 설정 데이타를 로딩하기 위해 어드레스 공간을 디코딩하며, 설정 데이타를 병렬 비트스트림으로 변환시키고, 최종적으로 데이타를 로딩하기 위해 FPGA 내의 적절한 설정 비트라인 및 워드라인을 단정한다. 프로그래밍 인터페이스의 상태 머신, 비트라인, 및 워드라인은 FPGA와 함께 이용하는 오프 더 셀프(off-the-shelf) 병렬 ROM의 이용도에 의해 통상적으로 구동되는 특정 설정 워드 폭을 위해 설계된다.
연관된 FPMA에 대한 ROS(판독 전용 기억장치) 모드는 연관된 FPGA의 설정 동안 원하는 패턴을 갖는 FPMA 메모리를 수반한다. ROS 모방 능력을 갖는 FPGA 내의 합체를 위한 유연한 FPMA의 설계는 CSM을 통해 메모리 어레이의 초기화를 위한 능력을 요구하여 ROS 개성화 패턴을 로딩한다. 결과적으로, 서브어레이 설계는 다음의 제한요건중 하나 이상을 따라야만 한다.
1. 서브어레이 폭(N비트)은 기능적 RAM 워드라인이 사용되어야 하는 경우 설정 워드 폭과 동일해야 하거나, 또는
2. 서브어레이 워드 폭은 다수의 설정 워드 폭의 정수이어야 하고, 특수프로그래밍 워드라인은 어레이의 효율적인 사용을 위해 아키텍처에 삽입되어야 한다. 비정수(Non-integer) 배수는 큰 서브어레이 공간에 과도하게 비효율적인 프로그래밍을 산출한다.
CSM에 의해 생성된 바와 같은 설정 바이트내의 비트 수는 연관된 FPGA 설정 데이타 버스의 폭과 밀접하게 연관되므로, CSM에 대해 부가적인 수정이 이루어져 FPMA 서브어레이의 N비트가 FGMA의 설정 데이타 버스의 N비트와 동등하지 않은 경우를 처리한다. N비트가 단지 하나 또는 두 비트만큼 상이한 경우, 정합되지 않은 비트는 알려진 값으로 되거나, 또는 대안적으로 패리티로 가정되며, 제10도에 도시된 바와 같이, CSM ARRAY DATA PORT 내의 패리티 생성 유닛(200)의 부가를 통해 세팅된 초기화 데이타 버스 세트내의 독립적으로 프로그램된 라인 세트로부터의 패리티 생성 결과와 함께 프로그램된다. (정합되지 않은 데이타 비트는 서브어레이 초기화의 판독/비교 모드에서 체크할 수 없고 서브어레이의 유효비트는 폭은 프로그램된 모드에서 설정 데이타 버스 폭과 동등하다.) 제11도는 8비트 +1 패리티 비트의 폭 워드를 포함하는 서브어레이(12)의 일부의 일예를 예시한다. 패리티 비트의 열(22)과 연관된 기록헤드는 초기화 데이타 버스에서 패리티 라인으로부터의 데이타를 수신할 수 있다.
설정 워드에서 N비트의 각각은 CSM에서 하나 이상의 패리티 생성자(200)에 공급된다. 제12도는 예시적인 패리티 생성자(200)를 예시한다. 각 패리티 생성자는 전체 N비트 워드에 대해, 또는 다수의 피리티 비트가 서브어레이, N 패리티 비트의 서브세트내에서 허용될 수 있는 경우에 패리티를 생성할 수 있는 XNOR 트리(230)로 구성될 수도 있다. 구현된 각각의 XNOR 트리는 보다 이른 설정 동안 설정 비트 세트에 의해 제어되는 멀티플렉서(232)에 대해 그의 참 및 상보 출력을 구동시켜 원하는 패리티 유형, 즉, 우수 또는 기수를 결정하고. 패리티의 선택된 극성은 서브어레이에 대해 지역적인 패리티 비트라인중 한 비트라인상에서 구동된다.
일단 생성되면, 단일 워드라인은 최초의 프로그래밍 워드내의 N 비트 + 패리티 워드내의 비트를 서브어레이 워드에 동시에 게이팅한다. 사용된 워드라인은 기능적 모드에서 또한 동작하는 (앞서 상세하게 기술된 바와 같은) 이중 사용 워드라인, 또는 초기화 모드를 위해 단지 사용되는 워드라인일 수도 있다. 그 결과의 아키텍처는 설정 워드 폭에 의해 커버되지 않은 M개의 패리티 비트를 프로그래밍하도록 전용된 다수의 프로그래밍 워드라인의 구현을 절약하고, 설정 모드에서 기능적 워드라인의 이용을 또한 허용한다.
당 분야에서 통상의 지식을 가진자라면 패리티 생성 유닛의 부가적인 배치/실시예가 가능함을 인지할 것이다.
“PROGRAMMABLE PARITY CHECKING AND COMPARISON CIRCUIT”이란 명칭의 앞서 인용된 출원서는 패리티 체킹 기능 및 (저장된 패리티 비트 및 계산된 패리티 비트의 비교를 포함하는) 비교 기능을 기술한다.
서브어레이의 N비트가 설정 시스템을 위한 다수의 N비트인 경우에, 시스템의 2개의 부가적인 실시예가 존재한다.
첫번째 실시예는 CSM 내에 설정 바이트 연결/연결해제를 포함하여 초기화 기록 동안 필요한 비트 폭을 구성하고, 판독/비교 모드에서 초기화 비트 폭을 다수의 설정 바이트로 분해한다. 본 실시예는 CSM과 대한 갱신과 연관된 각 FPMA 초기화 사이클에 대해 다수의 FPGA 설정 사이클을 필요로 한다.
두 번째 실시예는 초기화 기능을 구현하여 다수가 서브어레이 어드레스 공간을 통과하고 서브어레이의 다수의 설정 바이트 폭중 설정 바이트를 공유한다. 이 경우, CSM은 서브어레이(다수의 라인)의 기록헤드에 대해 다수의 바이트 기록 인에이블 입력의 상태를 또한 제어하여 데이타의 바이트 목적지를 결정함에 따라, (제6(b)도를 특히 참조하여, 앞서 기술된 바와 같이) 서브어레이에 서브엘리먼트 어드레싱을 제공한다. 유사한 방식으로 판독/비교 동안 서브어레이로부터의 판독을 위해 선택된 데이타는 WEN 라인의 기능일 수 있다. 예를 들면, 판독 포트의 동작은 약간 변경된다. 제8도의 장치(T28 및 T31)에 접속된 제어 신호(SPROG 및 NOT SPROG)는 다수의 ISB 신호중 한 신호와 서브어레이 워드의 종속 부분과 연관된 WEM 신호의 AND가 될 수 있다. 따라서, 원하는 WEN 신호의 단정은 제8도의 비트라인/포착 래치로부터의 판독 데이타를 보다 작은 폭의 초기화 데이타 버스의 일부로 게이팅할 수 있다. 본 실시예는 CSM 내에서 유닛의 수정을 필요로 하나, FPGA 및 FPMA 설정 시스템의 1대1 대응을 유지한다.
전술한 기법이 조합이 또한 사용될 수 있다. 예를 들면, 일실시에에서, 서브어레이의 워드 폭은 18비트이나, 설정 워드 폭은 8비트이다. 서브어레이 워드의 처음 16비트에 대해, 상위 및 하위 바이트 인에이블 신호가 제공될 수 있다. 나머지 2비트는 고정 레벨로 연결되거나 또는 대안적으로 패리티를 위해 사용될 수 있다.
앞서 기술된 내용은 예를 들어, 기능, 초기화 및 리세트를 포함하는 다수의 어드레스 및 데이타 소스중 메모리 어레이의 워드라인, 비트라인, 및 판독 및 기록 포트를 프로그램가능하게 공유하는 시스템이다. 본 발명은 다른 용장 워드라인, 비트라인, 판독 및 기록 포트, 및 연관된 구동 회로를 위한 필요성을 제거함으로써 메모리 어레이의 전체 밀도를 향상시킨다.
본 발명은 특정의 바람직한 실시예에 따라 상세하게 기술되었으나, 당 분야에서 통상의 지식을 가진자라면 다수의 수정 및 변경이 실행될 수도 있다. 따라서, 다음의 청구범위에 의해 본 발명의 진정한 정신 및 범위내에 해당하는 수정 및 변경을 보호하도록 의도된다.
상기한 바와 같은 본 발명에 따르면, 다수의 메모리 셀을 갖고 메모리 셀의 적어도 일부를 액세스하도록 주 어드레스 정보를 운반하는 주 어드레스 버스를 포함하는 메모리 어레이로서, 메모리 셀의 일부를 액세스하도록 부 어드레스 정보를 운반하는 부(예를 들면, 초기화) 어드레스 버스가 제공됨에 따라, 프로그램가능한 선택 회로는 주 어드레스 버스, 부 어드레스 버스 및 메모리 셀의 일부 사이에 배치되고, 이 선택 회로는 주 어드레스 버스 또는 부 어드레스 버스로부터 메모리 셀의 일부로 어드레스 정보를 전파하도록 프로그램할 수 있는 효과가 있다.

Claims (38)

  1. 다수의 메모리 셀(a plurality of memory cells)을 갖는 메모리 어레이(a memory array)에 있어서, ① 상기 메모리 어레이의 상기 다수의 메모리 셀의 적어도 일부를 액세스하도록 제1어드레스 정보(first address information)를 운반하는 제1어드레스 버스(a first address bus)와, ② 상기 메모리 어레이의 상기 메모리 셀의 일부를 액세스하도록 제2어드레스 정보(second address information)를 운반하는 제2어드레스 버스(a second address bus)와, ③ 상기 제1어드레서 버스, 상기 제2어드레스 버스, 및 상기 메모리 셀의 부분 사이에 배치되어, 상기 제1어드레스 버스 또는 상기 제2어드레스 버스로부터의 어드레스 정보를 상기 메모리 셀의 일부를 전파하도록 프로그램가능한, 프로그램가능한 선택회로(a programmable seletion circuit)를 포함하는 메모리 어레이.
  2. 제1항에 있어서, 상기 메모리 셀의 일부는 다수의 워드라인(a plurality of wordlines)을 이용하여 액세스되고, 상기 메모리 어레이는, 상기 프로그램가능한 선택 회로 및 상기 다수의 워드라인 사이에 배치되어, 상기 제1 또는 제2어드레스 정보가 상기 프로그램가능한 선택 회로로부터 프로그램에 의해 전파되는 워드라인 생성자 시스템(a wordline generator system)을 더 포함하는 메모리 어레이.
  3. 제2항에 있어서, 상기 워드라인 생성자 시스템은, 상기 워드라인 생성자 시스템의 리세트 회로에 의한 리세트 신호(a reset signal)의 수신시에 상기 다수의 워드라인의 각각이 상기 워드라인 생성자 시스템에 의해 단정되도록 상기 워드라인 생성자 시스템에 접속된 리세트 회로(a reset circuit)를 더 포함하는 메모리 어레이.
  4. 제1항에 있어서, 상기 메모리 셀의 일부는 다수의 비트라인(a plurality of bitlines)을 이용하여 액세스되고, 상기 메모리 어레이는, ① 제1데이타 버스(a first data bus)와, ② 제2데이타 버스(a second data bus)와, ③ 상기 제1데이타 버스, 상기 제2데이타 버스, 상기 다수의 비트라인의 각각의 기록 비트라인(a respective write bitlines)사이에 배치된 다수의 프로그램가능한 기록 회로(a plurality of programmable write circuit) - 각각의 기록 회로는 상기 제1데이타 버스 또는 상기 제2데이타 버스로부터 각각의 비트라인(a respective bitlines)으로 데이타를 전파하도록 프로그램가능하다 - 를 더 포함하는 메모리 어레이.
  5. 제4항에 있어서, 각각의 프로그램가능한 기록 회로는, 상기 각각의 기록 회로의 상기 리세트 회로에 의한 리세트 신호의 수신시에 상기 각각의 기록 비트라인이 리세트 전압 레벨(a reset voltage level)로 세팅되도록 각각의 프로그램가능한 기록회로에 접속된 리세트 회로를 더 포함하는 메모리 어레이.
  6. 제4항에 있어서, 상기 다수의 비트라인중 각 판독 비트라인(a respective read bitlines)과 각각 연관되고, 각 판독 회로는 그의 각각의 판독 비트라인으로부터 상기 제1데이타 버스 및/또는 상기 제2데이타 버스로 데이타를 전파하도록 프로그램가능한 판독 회로(a programmable read circuit)를 더 포함하는 메모리 어레이.
  7. 다수의 메모리 셀을 갖는 메모리 어레이에 있어서, ① 제1 및 제2어드레스 소스(first and second address source)와, ② 제1 및 제2데이타 버스(first and second data buses)와, ③ 상기 제1 또는 제2 어드레스 소스로부터 프로그램가능하게 도출된 어드레스 데이타에 기초하여 상기 다수의 메모리 셀의 적어도 일부와 연관된 다수의 기록 워드라인(a plurality of write wordlines)을 구동시키는 어드레스 유닛(an address unit)과, ④ 상기 다수의 메모리 셀의 적어도 한 일부와 연관된 다수의 비트라인 및 상기 제1 또는 제2 데이타 버스 사이에 데이타를 프로그램가능하게 전파하는 다수의 데이타 처리 회로(a plurality of data handing circuits)와, ⑤ 상기 어드레스 유닛 및 상기 다수의 데이타 처리 회로에 프로그래밍 정보를 제공하는 프로그래밍 시스템(a programming system)을 포함하는 메모리 어레이.
  8. 제7항에 있어서, 상기 데이타 처리 회로 및 상기 어드레스 유닛에 리세트 신호를 전파하는 리세트 신호 소스(a reset source signal)를 더 포함함에 따라, 상기 리세트 신호 소스로부터의 리세트 신호 수신시에, 상기 어드레스 유닛은 상기 다수의 기록 워드라인을 단정하고, 상기 다수의 데이타 처리 회로는 상기 다수의 메모리 셀의 적어도 한 부분과 연관된 상기 다수의 비트라인중 다수의 기록 비트라인에 리세트 전압 레벨(a reset voltage level)을 제공하는 메모리 어레이.
  9. 제8항에 있어서, 상기 메모리 셀의 적어도 한 부분인 메모리의 셀 행/열 메모리 셀의 기록 포트는 상기 다수의 기록 워드라인중 주어진 기록 워드라인(a given write wordline)에 동작가능하게 접속된 메모리 어레이.
  10. 제9항에 있어서, 상기 메모리 셀의 적어도 한 부분인 메모리 셀의 열/행 메모리 셀의 기록 포트는 상기 다수의 기록 워드라인중 주어진 기록 워드라인에 동작가능하게 접속된 메모리 어레이.
  11. 제10항에 있어서, 상기 메모리 셀의 적어도 한 부분인 각 메모리 셀의 기록 포트는 리세트, 제1데이타 버스 데이타, 및 제2데이타 버스 데이타가 상기 메모리 셀로 전파되는 공통 기록 포트(a common write port)를 포함하는 메모리 어레이.
  12. 제7항에 있어서, 상기 다수의 데이타 처리 회로는, 상기 제1 및 제2데이타 소스 및 상기 다수의 비트라인중 다수의 기록 비트라인 사이에 배치된 다수의 기록 회로(a plurality of write circuits)를 포함하는 메모리 어레이.
  13. 제12항에 있어서, 상기 다수의 기록 회로의 각각은 리세트 회로에 접속됨에 따라 리세트 신호의 수신시에, 각 기록 회로는 리세트 신호 레벨을 그의 제각기 기록 비트라인에 인가하는 메모리 어레이.
  14. 제13항에 있어서, 상기 어드레스 유닛은 리세트 회로에 접속됨에 따라 리세트 신호의 수신시에, 상기 어드레스 유닛은 상기 다수의 기록 워드라인을 단정하는 메모리 어레이.
  15. 제14항에 있어서, 상기 메모리 셀의 적어도 한 부분을 구비하는 메모리 셀의 다수의 부분을 포함하고, 메모리 셀의 각 부분은 메모리 서브어레이(a memory sub-array)를 포함하며, 각 메모리 서브어레이는, ① 각각의 어드레스 유닛(a respective address unit)과, ② 각각의 다수의 기록 회로(a respective plurality of write circuits)와 연관되는 메모리 어레이.
  16. 제15항에 있어서, 상기 제1어드레스 소스는 기능 어드레스 버스(a functional address bus)이고, 상기 제2어드레스 소스는 상기 프로그래밍 시스템에 접속되어 메모리 셀의 각 서브어레이내의 상기 메모리 셀을 어드레스하는데 적합한 데이타 운반 능력을 갖는 초기화 어드레스 버스(an initalization address bus)인 메모리 어레이.
  17. 제16항에 있어서, 상기 초기화 버스에 의해 상기 다수의 서브어레이중 어느 서브어레이가 어드레스될지를 선택적으로 제어하도록 상기 프로그래밍 시스템에 접속된 초기화 선택 버스를 더 포함하는 메모리 어레이.
  18. 제7항에 있어서, 상기 메모리 어레이는, 상기 메모리 셀의 적어도 한 부분을 구비하는 메모리 셀의 다수의 부분을 포함하고, 메모리 셀의 각 부분은 메모리 서브어레이를 포함하며, 상기 제1어드레스 소스는 기능 어드레스 버스이고, 상기 제2어드레스 소스는 초기화 어드레스 버스이며, 상기 제1데이타 버스는 기능 데이타 버스(a functional data bus)이고, 상기 제2데이타 버스는 초기화 데이타 버스(an initialization data bus)이되, 상기 프로그래밍 시스템은, ① 상기 메모리 어레이에 제공된 인입 비트스트림(incoming bitstream) 및 제어 신호를 프로세스하는 어드레스 공간 인식 유닛 - 상기 어드레스 공간 인식 유닛은 사전결정된 메모리 어레이 초기화 어드레스 공간(a predetermined memory array initialization address space)과 연관된 어드레스에 대해 인입 비트스트림을 시프트(sift)한다. - 과, ② 상기 어드레스 공간 인식 유닛에 접속되어 어느 메모리 서브어레이를 초기화할 것인지를 결정하고 초기화 선택 버스(an initialization select bus)에 대해 어느 메모리 서브어레이를 초기화할 것인지의 표시를 제공하는 어레이 선택 유닛(an array select unit)과, ③ 상기 초기화 어드레스 버스에 연속적인 어드레스 스트립(a contiguous address stream)을 제공하는 어드레스 카운터 유닛(an address counter unit)와, ④ 상기 어드레스 공간 인식 유닛에 접속되어 상기 인입 비트스트림으로부터 초기화 데이타를 수신하고 상기 초기화 데이타 버스에 초기화 데이타를 제공하는 메모리 어레이 데이타 포트(a memory array data port)를 포함하는 메모리 어레이.
  19. 제18항에 있어서, 상기 프로그래밍 시스템은, 상기 어드레스 공간 인식 유닛에 접속되어 원하는 초기화 기능(a desired initialization function)에 따라 상기 초기화 어드레스 버스에 제어 정보를 제공하는 어드레스 제어 신호 생성 유닛(an array control signal generation unit)을 더 포함하는 메모리 어레이.
  20. 제19항의 메모리 어레이를 내부에 구비하는 프로그래머블 게이트 어레이로서, 상기 프로그래머블 게이트 어레이는 프로그램가능한 자원에 대해 프로그래밍 시스템을 가지며, 상기 프로그래머블 게이트 어레이의 상기 프로그래밍 시스템은 상기 메모리 어레이의 프로그래밍 시스템에 따라 비트스트림 및 제어 신호를 채택(accept)하고 상기 비트스트림 및 제어 신호에 따라 상기 프로그램가능한 자원을 프로그래밍하는 프로그래머블 게이트 어레이.
  21. 제7항에 있어서, 상기 프로그래밍 시스템은 패리티 생성 유닛(a parity generation unit)을 포함하고, 상기 패리티 생성 유닛은 상기 제1 및 제2데이타 버스중 한 버스의 패리티 라인(a parity line)상에 패리티 신호(a parity signal)를 제공하는 메모리 어레이.
  22. 제21항에 있어서, 상기 다수의 메모리 셀의 적어도 한 부분은 패리티 정보를 유지하는 일군의 셀(a group of cells)을 갖고, 상기 패리티 정보는 상기 데이타 처리 회로중 적어도 하나에 의해 데이타 처리 회로에 접속된 상기 다수의 비트라인중 적어도 하나를 통해 패리티 라인으로부터 상기 셀의 군으로 제공되는 메모리 어레이.
  23. 제7항의 메모리 어레이를 내부에 구비하는 프로그래머블 게이트 어레이로서, 상기 프로그래머블 게이트 어레이는 프로그램가능한 자원에 대해 프로그래밍 시스템을 가지며, 상기 프로그래머블 게이트 어레이의 상기 프로그래밍 시스템은 메모리 어레이의 프로그래밍 시스템에 따라 비트스트림 및 제어 신호를 채택하고 상기 비트스트림 및 제어 신호에 따라 상기 프로그램가능한 자원을 프로그래밍하는 프로그래머블 게이트 어레이.
  24. 적어도 2개의 어드레스 버스 및 적어도 2개의 데이타 버스로부터 기록 액세스(write access)를, 그리고 메모리 어레이의 다수의 메모리 셀의 적어도 한 부분으로 리세트 액세스(reset access)를 제공하는 시스템으로서, 상기 메모리 셀의 적어도 한 부분의 메모리 셀은 적어도 하나의 비트라인 및 워드라인과 동작적인 관계로 기록포트(a write port)를 각각 갖고, 상기 시스템은, ① 상기 워드라인을 구동시키고 이에 의해 적어도 2개의 어드레스 버스중 선택된 한 버스로부터 각각의 기록 포트를 동작시키도록 프로그램가능한 어드레스 시스템(an address system)과, ② 상기 비트라인에 데이타를 제공하고 이에 의해 상기 적어도 2개의 데이타 버스중 선택된 한 버스로부터 각각의 기록 포트를 동작시키도록 프로그램가능한 기록 시스템(a write system)을 포함하되, 상기 어드레스 시스템 및 상기 기록 시스템은 시스템의 각각의 기록 포트를 통해 상기 메모리 셀의 적어도 한 부분의 각 메모리 셀을 비동기적으로 리세팅하는 리세트 회로를 포함하는 기록 액세스 및 리세트 액세스 제공 시스템.
  25. 제24항에 있어서, 상기 메모리 어레이는 상기 적어도 한 부분을 포함하는 메모리 셀의 다수의 부분을 포함하고, 메모리 셀의 각 부분은 제각기 어드레스 시스템 및 기록 시스템과 연관되는 기록 액세스 및 리세트 액세스 제공 시스템.
  26. 제24항에 있어서, 상기 비트라인으로부터의 데이타를 상기 적어도 2개의 데이타 버스중 선택된 한 버스에 제공하도록 프로그램가능한 판독 시스템(a read system)을 더 포함하는 기록 액세스 및 리세트 액세스 제공 시스템.
  27. 제26항에 있어서, 상기 판독 시스템은 상기 비트라인의 단지 선택된 서브세트(a selected subset)로부터 데이타를 프로그램가능하게 수신하여 상기 메모리 셀의 적어도 한 부분에 서브엘리먼트 어드레싱 능력(a sub-element addressing capability)을 제공하도록 또한 프로그램가능한 기록 액세스 및 리세트 액세스 제공 시스템.
  28. 제26항에 있어서, 상기 메모리 어레이는 상기 적어도 한 부분을 포함하는 메모리 셀의 다수의 부분을 포함하고, 메모리 셀의 각 부분은 제각기 어드레스 시스템, 기록 시스템, 및 판독 시스템과 연관되는 기록 액세스 및 리세트 액세스 제공 시스템.
  29. 제24항에 있어서, 상기 기록 시스템은 상기 비트라인의 단지 선택된 서브세트로부터 데이타를 프로그램가능하게 인가하여 상기 다수의 메모리 셀의 적어도 한 부분에 서브엘리먼트 어드레싱 능력을 제공하도록 더 프로그램 가능한 기록 액세스 및 리세트 액세스 제공 시스템.
  30. 제24항에 있어서, 상기 기록 시스템은 상기 적어도 2개의 데이타 버스중 주어진 한 버스로부터 데이타를 인가하는 경우 고정된 데이타 값(a fixed data value)을 프로그램가능하게 인가하도록 더 프로그램 가능한 기록 액세스 및 리세트 액세스 제공 시스템.
  31. 제24항에 있어서, 상기 적어도 2개의 데이타 버스중 한 버스는 상기 적어도 2개의 데이타 버스 중 한 버스의 다른 라인상에서 데이타의 기능인 데이타를 운반하는 데이타 라인(a data line)을 포함하고, 상기 데이타 라인상의 데이타는 주어진 서브세트(a given subset)와 연관된 임의의 비트라인을 통해 상기 메모리 셀의 적어도 한 부분의 상기 주어진 서브세트에 적용하는 기록 액세스 및 리세트 액세스 제공 시스템.
  32. 제31항에 있어서, 상기 적어도 2개의 데이타 버스중 한 버스의 데이타 라인을 구동시키고, 상기 적어도 2개의 데이타 버스중 한 버스의 다른 라인에 대해 예정된 데이타를 입력으로서 갖는 패리티 생성자(a parity generator)를 더 포함하는 기록 액세스 및 리세트 액세스 제공 시스템.
  33. 메모리 셀의 어레이(an array of memory cells)가 삽입된 프로그래머블 게이트 어레이를 동직시키는 방법으로서, 상기 메모리 셀의 어레이는 기능적 어드레스 및 데이타 버스를 통해 워드라인 및 비트라인 세트(a set of wordlines and bitlines)에 교환가능하게 접속된 상기 프로그래머블 게이트 어레이로부터 액세스가능한 상기 방법은, ① 상기 프로그래머블 게이트 어레이의 설정가능한 자원을 설정하는 설정 비트스트림(a configuration bitstream)을 이용하는 단계와, ② 초기화 어드레스 및 버스 데이타를 통해 메모리 셀의 어레이를 초기화하도록 상기 설정 비트스트림을 이용하는 단계로서, 상기 초기화 어드레스 및 데이타 버스는 상기 워드라인 및 비트라인 세트에 교환가능하게 접속되는 상기 이용 단계를 포함하는 프로그래머블 게이트 어레이 동작 방법.
  34. 제33항에 있어서, 상기 메모리 셀의 어레이를 초기화하도록 상기 설정 비트스트림을 이용하는 단계는, 상기 메모리 어레이의 워드 폭(a word width) 및 상기 프로그래머블 게이트 어레이의 워드 폭간의 차를 결정(resolving)하는 단계를 포함하는 프로그래머블 게이트 어레이 동작 방법.
  35. 제34항에 있어서, 상기 차를 결정하는 단계는 서브워드 어드레싱 및/또는 패리티를 이용하는 단계를 포함하는 프로그래머블 게이트 어레이 동작 방법.
  36. 메모리 셀의 어레이가 삽입된 프로그래머블 게이트 어레이를 동작시키는 시스템으로서, 상기 메모리 셀의 어레이는 워드라인 및 비트라인 세트에 교환가능하게 접속된 기능적 어드레스 및 데이타 버스를 통해 상기 프로그래머블 게이트 어레이로부터 액세스가능한 상기 시스템은, ① 상기 프로그래머블 게이트 어레이의 설정 가능한 자원을 설정하는 설정 비트스트림을 이용하는 수단과, ② 초기화 어드레스 및 버스 데이타를 통해 메모리 셀의 어레이를 초기화하도록 상기 설정 비트스트림을 이용하는 수단 - 상기 초기하 어드레스 및 데이타 버스는 상기 워드라인 및 비트라인 세트에 교환가능하게 접속된다. - 을 포함하는 프로그래머블 게이트 어레이 동작 시스템.
  37. 제36항에 있어서, 상기 메모리 셀의 어레이를 초기화하도록 상기 설정 비트스트림을 이용하는 수단은, 상기 메모리 어레이의 워드 폭 및 상기 프로그래머블 게이트 어레이의 워드 폭간의 차를 결정하는 수단을 포함하는 프로그래머블 게이트 어레이 동작 시스템.
  38. 제37항에 있어서, 상기 차를 결정하는 수단은 서브워드 어드레싱 및/또는 패리티 생성을 이용하는 수단을 포함하는 프로그래머블 게이트 어레이 동작 시스템.
KR1019960045654A 1995-12-20 1996-10-14 메모리 어레이, 기록 액세스 및 리세트 액세스 제공 시스템, 및 프로그래머블 게이트 어레이 동작 방법 및 시스템 KR100232316B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/575,422 1995-12-20
US08/575,422 US5802003A (en) 1995-12-20 1995-12-20 System for implementing write, initialization, and reset in a memory array using a single cell write port
US08/575,422 1995-12-20

Publications (2)

Publication Number Publication Date
KR970049640A KR970049640A (ko) 1997-07-29
KR100232316B1 true KR100232316B1 (ko) 1999-12-01

Family

ID=24300267

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960045654A KR100232316B1 (ko) 1995-12-20 1996-10-14 메모리 어레이, 기록 액세스 및 리세트 액세스 제공 시스템, 및 프로그래머블 게이트 어레이 동작 방법 및 시스템

Country Status (3)

Country Link
US (1) US5802003A (ko)
JP (1) JPH09270193A (ko)
KR (1) KR100232316B1 (ko)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055177A (en) * 1998-06-26 2000-04-25 Cypress Semiconductor Corp. Memory cell
US6137307A (en) * 1998-08-04 2000-10-24 Xilinx, Inc. Structure and method for loading wide frames of data from a narrow input bus
US6334169B1 (en) * 1998-09-30 2001-12-25 International Business Machines Corporation System and method for improved bitwrite capability in a field programmable memory array
JP4144990B2 (ja) * 2000-01-14 2008-09-03 富士通株式会社 データ処理システム及び初期化方法
US6519674B1 (en) 2000-02-18 2003-02-11 Chameleon Systems, Inc. Configuration bits layout
US6654308B1 (en) * 2002-12-23 2003-11-25 Hewlett-Packard Development Company, Lp. Memory having multiple write ports and multiple control memory units, and method of operation
US6813215B2 (en) * 2002-12-23 2004-11-02 Hewlett-Packard Development Company, L.P. Memory having multiple write ports and method of operation
US6940779B2 (en) * 2003-08-13 2005-09-06 Lattice Semiconductor Corporation Programmable broadcast initialization of memory blocks
US7109752B1 (en) * 2004-02-14 2006-09-19 Herman Schmit Configurable circuits, IC's, and systems
US7193432B1 (en) 2004-02-14 2007-03-20 Herman Schmit VPA logic circuits
US7157933B1 (en) 2004-02-14 2007-01-02 Herman Schmit Configurable circuits, IC's, and systems
US7126381B1 (en) 2004-02-14 2006-10-24 Herman Schmit VPA interconnect circuit
US7167025B1 (en) * 2004-02-14 2007-01-23 Herman Schmit Non-sequentially configurable IC
US7126373B1 (en) 2004-02-14 2006-10-24 Herman Schmit Configurable logic circuits with commutative properties
US7284222B1 (en) 2004-06-30 2007-10-16 Tabula, Inc. Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit
US7193440B1 (en) 2004-02-14 2007-03-20 Herman Schmit Configurable circuits, IC's, and systems
US7425841B2 (en) 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
US7145361B1 (en) 2004-06-30 2006-12-05 Andre Rohe Configurable integrated circuit with different connection schemes
US7282950B1 (en) 2004-11-08 2007-10-16 Tabula, Inc. Configurable IC's with logic resources with offset connections
US7193438B1 (en) 2004-06-30 2007-03-20 Andre Rohe Configurable integrated circuit with offset connection
US7439766B2 (en) * 2004-06-30 2008-10-21 Tabula, Inc. Configurable logic circuits with commutative properties
US7312630B2 (en) 2004-06-30 2007-12-25 Tabula, Inc. Configurable integrated circuit with built-in turns
US7449915B2 (en) * 2004-06-30 2008-11-11 Tabula Inc. VPA logic circuits
US7408382B2 (en) * 2004-06-30 2008-08-05 Tabula, Inc. Configurable circuits, IC's, and systems
US7268586B1 (en) 2004-11-08 2007-09-11 Tabula, Inc. Method and apparatus for accessing stored data in a reconfigurable IC
US7295037B2 (en) * 2004-11-08 2007-11-13 Tabula, Inc. Configurable IC with routing circuits with offset connections
US7317331B2 (en) 2004-11-08 2008-01-08 Tabula, Inc. Reconfigurable IC that has sections running at different reconfiguration rates
US7917559B2 (en) * 2004-11-08 2011-03-29 Tabula, Inc. Configurable IC's with configurable logic circuits that perform adder and/or subtractor operations
US7573296B2 (en) 2004-11-08 2009-08-11 Tabula Inc. Configurable IC with configurable routing resources that have asymmetric input and/or outputs
US7330050B2 (en) 2004-11-08 2008-02-12 Tabula, Inc. Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements
US7276933B1 (en) 2004-11-08 2007-10-02 Tabula, Inc. Reconfigurable IC that has sections running at different looperness
US7224181B1 (en) 2004-11-08 2007-05-29 Herman Schmit Clock distribution in a configurable IC
US7301368B2 (en) * 2005-03-15 2007-11-27 Tabula, Inc. Embedding memory within tile arrangement of a configurable IC
US7342415B2 (en) 2004-11-08 2008-03-11 Tabula, Inc. Configurable IC with interconnect circuits that also perform storage operations
US20070244958A1 (en) * 2004-11-08 2007-10-18 Jason Redgrave Configurable IC's with carry bypass circuitry
US7242216B1 (en) 2004-11-08 2007-07-10 Herman Schmit Embedding memory between tile arrangement of a configurable IC
US7259587B1 (en) 2004-11-08 2007-08-21 Tabula, Inc. Configurable IC's with configurable logic resources that have asymetric inputs and/or outputs
US7743085B2 (en) 2004-11-08 2010-06-22 Tabula, Inc. Configurable IC with large carry chains
US7236009B1 (en) 2004-12-01 2007-06-26 Andre Rohe Operational time extension
US7428721B2 (en) * 2004-12-01 2008-09-23 Tabula, Inc. Operational cycle assignment in a configurable IC
US7496879B2 (en) * 2004-12-01 2009-02-24 Tabula, Inc. Concurrent optimization of physical design and operational cycle assignment
US7230869B1 (en) 2005-03-15 2007-06-12 Jason Redgrave Method and apparatus for accessing contents of memory cells
US7530033B2 (en) 2005-03-15 2009-05-05 Tabula, Inc. Method and apparatus for decomposing functions in a configurable IC
US7310003B2 (en) * 2005-03-15 2007-12-18 Tabula, Inc. Configurable IC with interconnect circuits that have select lines driven by user signals
US7224182B1 (en) * 2005-03-15 2007-05-29 Brad Hutchings Hybrid configurable circuit for a configurable IC
US7298169B2 (en) * 2005-03-15 2007-11-20 Tabula, Inc Hybrid logic/interconnect circuit in a configurable IC
US7825684B2 (en) 2005-03-15 2010-11-02 Tabula, Inc. Variable width management for a memory of a configurable IC
US20070244959A1 (en) * 2005-03-15 2007-10-18 Steven Teig Configurable IC's with dual carry chains
TWI286768B (en) * 2005-06-27 2007-09-11 Ind Tech Res Inst Storage unit and register file and processing unit using the same
US7512850B2 (en) 2005-07-15 2009-03-31 Tabula, Inc. Checkpointing user design states in a configurable IC
US7818361B1 (en) 2005-11-07 2010-10-19 Tabula, Inc. Method and apparatus for performing two's complement multiplication
US7372297B1 (en) 2005-11-07 2008-05-13 Tabula Inc. Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources
US8463836B1 (en) 2005-11-07 2013-06-11 Tabula, Inc. Performing mathematical and logical operations in multiple sub-cycles
US7765249B1 (en) 2005-11-07 2010-07-27 Tabula, Inc. Use of hybrid interconnect/logic circuits for multiplication
US7489162B1 (en) 2005-12-01 2009-02-10 Tabula, Inc. Users registers in a reconfigurable IC
US7679401B1 (en) 2005-12-01 2010-03-16 Tabula, Inc. User registers implemented with routing circuits in a configurable IC
US7461362B1 (en) 2005-12-01 2008-12-02 Tabula, Inc. Replacing circuit design elements with their equivalents
US7797497B1 (en) 2006-03-08 2010-09-14 Tabula, Inc. System and method for providing more logical memory ports than physical memory ports
US7504858B1 (en) 2006-03-08 2009-03-17 Tabula, Inc. Configurable integrated circuit with parallel non-neighboring offset connections
US7518400B1 (en) 2006-03-08 2009-04-14 Tabula, Inc. Barrel shifter implemented on a configurable integrated circuit
US7694083B1 (en) 2006-03-08 2010-04-06 Tabula, Inc. System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture
US7609085B1 (en) 2006-03-08 2009-10-27 Tabula, Inc. Configurable integrated circuit with a 4-to-1 multiplexer
US7669097B1 (en) 2006-03-27 2010-02-23 Tabula, Inc. Configurable IC with error detection and correction circuitry
US7529992B1 (en) 2006-03-27 2009-05-05 Tabula, Inc. Configurable integrated circuit with error correcting circuitry
US7587697B1 (en) 2006-12-12 2009-09-08 Tabula, Inc. System and method of mapping memory blocks in a configurable integrated circuit
US7930666B1 (en) 2006-12-12 2011-04-19 Tabula, Inc. System and method of providing a memory hierarchy
EP2597776A3 (en) 2007-03-20 2014-08-20 Tabula, Inc. Configurable IC having a routing fabric with storage elements
US8112468B1 (en) 2007-03-22 2012-02-07 Tabula, Inc. Method and apparatus for performing an operation with a plurality of sub-operations in a configurable IC
US8248101B2 (en) 2007-09-06 2012-08-21 Tabula, Inc. Reading configuration data from internal storage node of configuration storage circuit
US8990651B2 (en) * 2007-09-19 2015-03-24 Tabula, Inc. Integrated circuit (IC) with primary and secondary networks and device containing such an IC
US8863067B1 (en) 2008-02-06 2014-10-14 Tabula, Inc. Sequential delay analysis by placement engines
US8166435B2 (en) 2008-06-26 2012-04-24 Tabula, Inc. Timing operations in an IC with configurable circuits
US8525548B2 (en) 2008-08-04 2013-09-03 Tabula, Inc. Trigger circuits and event counters for an IC
US8619482B1 (en) 2010-02-08 2013-12-31 Altera Corporation Programmable precharge circuitry
US8966253B1 (en) * 2010-06-01 2015-02-24 Xilinx, Inc. Method and apparatus for authenticating a programmable device bitstream
US8909941B1 (en) 2011-03-31 2014-12-09 Xilinx, Inc. Programmable integrated circuit and a method of enabling the detection of tampering with data provided to a programmable integrated circuit
WO2013071183A1 (en) 2011-11-11 2013-05-16 Tabula, Inc. Content addressable memory in integrated circuit
US10303385B1 (en) * 2017-03-07 2019-05-28 Xilinx, Inc. Updating block random access memory contents using memory emulation

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4435775A (en) * 1981-01-19 1984-03-06 Texas Instruments Incorporated Data processing system having interlinked slow and fast memory means
US4430712A (en) * 1981-11-27 1984-02-07 Storage Technology Corporation Adaptive domain partitioning of cache memory space
ATE47928T1 (de) * 1984-05-14 1989-11-15 Ibm Halbleiterspeicher.
US4775942A (en) * 1985-12-09 1988-10-04 International Business Machines Corporation Seed and stitch approach to embedded arrays
JPH0823996B2 (ja) * 1986-08-11 1996-03-06 エヌ・ベー・フィリップス・フルーイランペンファブリケン 2個以上の集積半導体回路の集合体
CA1286803C (en) * 1989-02-28 1991-07-23 Benoit Nadeau-Dostie Serial testing technique for embedded memories
US5278956A (en) * 1990-01-22 1994-01-11 Vlsi Technology, Inc. Variable sized FIFO memory and programmable trigger level therefor for use in a UART or the like
US5341382A (en) * 1991-06-19 1994-08-23 Sun Microsystems, Inc. Method and apparatus for improving fault coverage of system logic of an integrated circuit with embedded memory arrays
US5345419A (en) * 1993-02-10 1994-09-06 At&T Bell Laboratories Fifo with word line match circuits for flag generation
US5434406A (en) * 1993-05-13 1995-07-18 Mcdonnell Douglas Corporation Hemispheric matrixsized imaging optical system
US5375089A (en) * 1993-10-05 1994-12-20 Advanced Micro Devices, Inc. Plural port memory system utilizing a memory having a read port and a write port
US5398211A (en) * 1993-10-14 1995-03-14 Integrated Device Technology, Inc. Structure and method for providing prioritized arbitration in a dual port memory

Also Published As

Publication number Publication date
KR970049640A (ko) 1997-07-29
JPH09270193A (ja) 1997-10-14
US5802003A (en) 1998-09-01

Similar Documents

Publication Publication Date Title
KR100232316B1 (ko) 메모리 어레이, 기록 액세스 및 리세트 액세스 제공 시스템, 및 프로그래머블 게이트 어레이 동작 방법 및 시스템
US5081375A (en) Method for operating a multiple page programmable logic device
US4942319A (en) Multiple page programmable logic architecture
US6288566B1 (en) Configuration state memory for functional blocks on a reconfigurable chip
US6430088B1 (en) Embedded static random access memory for field programmable gate array
US6954917B2 (en) Function block architecture for gate array and method for forming an asic
US5742180A (en) Dynamically programmable gate array with multiple contexts
US8549207B2 (en) Crossbar circuitry for applying an adaptive priority scheme and method of operation of such crossbar circuitry
IL129309A (en) A random access memory with a write / read address bus and a process for writing and reading from it
JPH04227553A (ja) 高速キャッシュメモリのアレイアーキテクチャ
US8390319B2 (en) Programmable logic fabric
JP2005004895A (ja) 同期バンク型メモリ
JPH08263985A (ja) 半導体記憶装置
US7183796B2 (en) Configuration memory implementation for LUT-based reconfigurable logic architectures
US6344989B1 (en) Programmable logic devices with improved content addressable memory capabilities
US5021689A (en) Multiple page programmable logic architecture
US6307767B1 (en) Low power priority encoder
US5836007A (en) Methods and systems for improving memory component size and access speed including splitting bit lines and alternate pre-charge/access cycles
US6049490A (en) Decoded signal comparison circuit
US6104642A (en) Method and apparatus for 1 of 4 register file design
US7084665B1 (en) Distributed random access memory in a programmable logic device
US6578104B1 (en) RAM with configurable depth and width
US5699315A (en) Data processing with energy-efficient, multi-divided module memory architectures
US6901490B2 (en) Read/modify/write registers
US6041388A (en) Circuit and method for controlling memory depth

Legal Events

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