KR900000182B1 - 쌍방향성 대칭인 게이트 어레이내의 프로그램가능한 워드 길이 및 자체 검사 메모리 - Google Patents

쌍방향성 대칭인 게이트 어레이내의 프로그램가능한 워드 길이 및 자체 검사 메모리 Download PDF

Info

Publication number
KR900000182B1
KR900000182B1 KR1019850005065A KR850005065A KR900000182B1 KR 900000182 B1 KR900000182 B1 KR 900000182B1 KR 1019850005065 A KR1019850005065 A KR 1019850005065A KR 850005065 A KR850005065 A KR 850005065A KR 900000182 B1 KR900000182 B1 KR 900000182B1
Authority
KR
South Korea
Prior art keywords
memory
data
signal
address
coupled
Prior art date
Application number
KR1019850005065A
Other languages
English (en)
Other versions
KR860001487A (ko
Inventor
엘.앵글톤 조셉
엘.구트셀 제프리
Original Assignee
휴우즈 에어크라프트 캄파니
에이.더블유.카람벨라스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 휴우즈 에어크라프트 캄파니, 에이.더블유.카람벨라스 filed Critical 휴우즈 에어크라프트 캄파니
Publication of KR860001487A publication Critical patent/KR860001487A/ko
Application granted granted Critical
Publication of KR900000182B1 publication Critical patent/KR900000182B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
    • 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/04Addressing variable-length words or parts of words
    • 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/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • 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/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • 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/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
    • H01L27/118Masterslice integrated circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/267Reconfiguring circuits for testing, e.g. LSSD, partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Engineering & Computer Science (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Memories (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

내용 없음.

Description

쌍방향성 대칭인 게이트 어레이내의 프로그램가능한 워드 길이 및 자체 검사 메모리
제1도는 본 발명에 따른 CMOS반주문형 칩(semicustom chip)의 게이트 배치(layout)를 도시한 평면도.
제2도는 제1도의 선2-2를 따라 절취하여 간략하게 도시한 확대 단면도.
제3도는 제4도 내지 제8a도, 제8b도에 관련하여 더욱 상세하게 도시한 바와 같은 프로그램가능한 워드 길이 메모리(programmable word length memory)의 개략 계통도.
제4도는 제3도의 메모리 내에 사용된 메모리 셀(cell)의 개략도.
제5도는 제3도의 메모리 내에 사용된 바와 같은 X-어드레스 디코더(X-address decoder)의 개략도.
제6a도, 제6b도 및 제6c도는 8, 16 및 32비트(bit) 워드 길이 용으로 각각 구성된 제3도의 메모리내에 사용된 바와 같은 Y-어드레스 디코더를 도시한 도면.
제7도는 제3도의 메모리내에 사용된 바와 같은 해독/기입(read/write)회로를 도시한 도면.
제8a도 및 제8b도는 제3도의 메모리내에 사용된 바와 같은 워드 길이 프로그래밍 회로의 개략도.
제9도는 본 발명에 따른 메모리 자체 검사(self-test)회로의 계통도.
제10도는 제10a도 내지 제10i도가 조립되는 방법을 도시한 도면.
제10a도는 제9도의 자체 검사 회로내에 사용된 바와 같은 어드레스및 데이타(data)계수기를 도시한 도면.
제10b도, 제10c도, 제10f도, 제10g도, 제10h도는 제9도의 자체 검사 회로내에 사용된 바와 같은 에러 검출 및 래치(error detection and latch) 회로의 개략도.
제10d도는 제10a도, 제10e도 및 제10i도 사이의 상호관계를 도시한 도면.
제10e도는 제9도의 자체 검사 회로내에 사용된 바와 같은 참조 및 제어(reference and control)계수기의 개략도.
제10i도는 제9도의 자체 검사 회로내에 사용된 바와 같은 발진기 및 초기치 설정 회로의 개략도.
제11도는 16비트 모우드(mode)내에 사용된 형태를 도시한 제10e도의 참조 및 제어 계수기 회로내에 있는 2개의 게이트들의 형태를 도시한 도면.
제12도는 제10e도의 참조 및 제어 계수기 회로내에 결합되지만 8비트 모우드로 본 발명에 따라 형성되는 제11도에 관련하여 도시한 바와 같은 2개의 동일한 게이트의 개략도.
* 도면의 주요부분에 대한 부호의 설명
10 : 활성 영역 12 : 루팅 영역
14, 28, 64, 67 : 3-입력 게이트 16, 30, 62 : 2-입력 게이트
18 : 거울 대칭선 20, 26 : P-채널 장치
20, 24 : N-채널 장치 32 : 반전도성 기질
34 : P-우물 36, 42, 56 : 소오스
38, 44, 58 : 드레인 40, 46, 52, 60 : 전도성 케이트
61, 62, 63, 64 : 축 70 : 메모리
72 : X-어드레스 디코더 12 : Y-어드레스 디코더
76 : 해독 기입 이중 구동기 78 : 단일 메모리 셀
80, 82 : 래치 회로 84, 86 : 스위칭 트랜지스터
94, 96 : 억세스 트랜지스터 206 : 입력 핀
208 : 출력 핀 210 : 어드레스 멀티플렉서
216 : 어드레스 및 데이터 계수기 218 : 계수기 에러 검출기
220 : 에러 검출 논리 회로 222 : 참조 및 제어 계수기
224 : 발진기 및 초기치 설정 회로 226 : 에러 래치
본 발명은 직접 회로 메모리 분야에 관한 것으로, 특히 주문형칩, 더욱 상세하게 말하자면 게이트 어레이 또는 마스터 슬라이스(mater slice)에 실행된 메모리 설계에 관한 것이다.
최종 배치 단계까지 직접 회로를 미리프로세스(preprocess)하고, 퓨즈 링크(fuse link)또는 금속화 패턴(metalization pattern)을 사용함으로써 후에 구별하기 위해 마지막 프로세싱(processing) 또는 제조 단계를 남겨두는 것은 본 분야에 공지되어 있다. 이것은 고 부피 저 단가(high volume low cost) 표준 논리 칩과 고가의 수공(expensive handcrafted) 주문형 집적회로의 중간형태로 되는 반주문형 칩으로서 공지되어 있다. 기본적으로 세 가지 형태의 반주문형 논리 칩들, 즉 (1) 프로그램 가능한 어레이 논리 칩과 같은 휠드(field) 프로그램 가능한 집적 회로 및 휠드 프로그램 가능한 논리 에레이(array), (2) 게이트 어레이 또는 마스터 슬라이스, 및 (3) 표준셀 또는 폴리셀(polycell) 설계들이 현재 사용된다.
때때로, 이러한 반주문형 칩에서는, 유용한 칩 공간의 전부 또는 일부를 메모리에 제공할 필요가 있게 된다. 때때로, 이러한 메모리는 전체적으로 절연된다. 즉, 소정의 칩 핀(pin)들에 직접 결합하게 되는 입력 또는 출력이 전혀 없게 된다.
그러므로, 나머지 온(on)-칩 회로의 아키텍쳐(architecture)와 일치할 뿐만 아니라 칩 외부의 소정의 회로에 대해 전기적 영향을 받지 않음에도 불구하고 신뢰성 있게 동작 할 수 있는 방식으로 이러한 내부 메모리를 설계할 수 있도록 반주문형 칩을 사용해야 된다. 또는, 필요한 것은 칩상의 회로 그룹(group)들 사이를 효율적으로 접속시키어 메모리들을 포함하는 복잡한 회로들이 유용한 칩 공간을 사용할 수 있도록 용이도와 밀도를 최대화시키는 방식으로 제조되는 칩이다.
현재, 메모리의 반주문형 설계가 메모리의 아키텍쳐내에서 가정된 워드 길이에 따라 변하기 때문에 메모리용 반주문형 칩을 사용하는 데에는 문제가 있다. 또한, 반주문형 칩들은 때때로 1개 이상의 내부 메모리들과 결합할 수 있는 복잡한 회로내에 매우 효율적으로 사용하기가 쉽지 않다. 미리 프로세스된 게이트 및 이 게이트들을 상호 접속시키는데 필요한 금속화 패턴들은 때때로 이러한 복잡한 회로들 내에 매우 효율적으로 사용하기 위해 칩상에 최적하게 배치되지 않는다. 또한, 메모리들이 반주문형칩의 이러한 복잡한 회로들내에 사용되고 칩상에서 필수적으로 절연되는 경우, 메모리의 신뢰도가 칩 핀으로부터 메모리까지의 입력 또는 출력이 없을 때 결정되게 하는 어떠한 간단한 설계 또는 프로토콜(protocol)도 이전에는 존재하지 않았었다.
다음에 기술하고 도면에 도시한 본 발명은 종래 기술의 이러한 단점들을 제거시킨다.
본 발명은 다수의 코어 셀로 구성되는 CMOS 게이트 어레이를 개량한 것이다. 코어 셀은 선정된 배치 또는 형태로 코어 셀 내에 배열된 최소한 1개의 P-형 장치 및 최소한 1개의 N-형 장치를 각각 포함한다. 다수의 코어 셀들은 최소한 2개의 그룹으로 어레이 또는 칩 내에 배치된다. 2개의 그룹들중의 한 그룹은 이 한 그룹내에 있는 코어 셀의 내부 형태가 다른 그룹내에 있는 코어 셀들의 내부 형태의 거울상(mirror image)으로 되도록 칩 내에 배치된다.
또한, 본 발명은 상술한 바와 같은 CMOS 게이트 어레이내에 프로그램 가능한 워드 길이 메모리를 포함한다. 이 메모리는 어드레스가능한 메모리 어레이, 다수의 구동기(driver) 및 데이터 버스(data bus)로 구성된다. 다수의 구동기들은 어드레스 가능한 메모리에 결합되어 메모리어레이와 통신한다. 데이터 버스는 다수의 구동기의 수 이하의 선정된 수의 다수의 데이터 버스 라인(line)으로 구성된다. 다수의 데이타 버스 라인들은 선정된 금속 마스크 맵핑(metal mask mapping)에 따라 다수의 구동기에 결합된다. 데이터 버스는 데이터 버스 라인들의 수와 동일한 비트 길이르 갖고 있는 관련 워드 길이에 대응하도록 맵핑에 따라 형성된다.
또한 상술한 바와 같은 메모리는 자체 검사 회로를 포함한다. 이 회로는 상기 메모리내의 각각의 위치의 어드레스를 발생시키고 각각의 대응적으로 어드레스한 위치내에 기입하기 위한 데이터를 발생시키기 위해 메모리에 결합된 어드레스 및 데이터 계수기로 구성된다. 제어 회로는 어드레스 및 데이터 계수기에 의해 발생된 어드레스 및 데이터에 응답하여 메모리의 해독/기입 싸이클을 제어하기 위해 메모리에 결합된다. 에러 검출 회로는 메모리와 어드레스 및 데이터 계수기에 결합되고, (제어 회로의 제어하에서 어드레스 및 데이터 계수기로부터)메모리 내에 기입된 데이터를 제어 회로에 의한 제어에 응답하여 메모리로부터 해독된 데이터와 비교한다. 이 에러 검출 회로는 이 비교시에 발견된 에러들을 검출함으로써 메모리의 동작도(operability)를 내부적으로 점검한다.
이제부터, 첨부한 도면을 참조하여 본 발명에 대해서 상세하게 기술하겠다.
본 발명은 선정된 라인[예를 들어, 제1도내의 라인(18)]주위에서 거울상 대칭성을 나타내도록 반주문형 칩내에 N-채널 및 P-채널 트랜지스터를 구성함으로써 회로가 더 많은 융통성이 있게 배치될 수 있도록 된 CMOS게이트 어레이 칩의 개량된 설계에 관한 것이다. 더욱 상세하게 말하자면, CMOS반 주문형 칩은 집합적으로 코어 셀을 형성하는 N-채널 및 P-채널 장치를 갖고 있다. 코어 셀의 거울상은 거의 선 대칭으로 코어 셀의 각각의 유니트(unit)에 인접하여 형성된다.
또한, 본 발명은 메모리에 의해 가정되거나 조정된 워드 길이가 소정의 회로 유니트를 선택적으로 접속시킴으로써 편리하게 변화될 수 있도록 된 메모리 설계에 관한 것이다. 이 설계는 주문형 칩 또는 표준 칩에 유리하게 사용될 수도 있지만, 특히 반주문형 칩에 적합하다.
또한 본 발명은 메모리가 외부 회로의 개재(intervention) 없이 완전하게 자체 검사 되게 하는 회로 설계를 포함한다. 이 설계는 일반적으로 유용하지만, 메모리가 복잡한 칩 설계내에 내부적으로 배치되고 이러한 "온-칩"메모리와 직접 통신하기에 유용한 입력 및 출력핀들이 거의(또는, 전혀)없는 상황에서 특히 유리하다. 본 발명 및 본 발명의 다수의 실시예들을 제1도를 참조하여 설명하겠다.
제1도는 본 발명에 따라 제조된 반주문형 CMOS칩의 배치를 도시한 평면도이다. 도시한 실시예에는, 4000게이트 어레이의 적은 부분이 도시되어 있다. 이 어레이는 2개의 영역, 즉 (1) 활성 영역 (10)과 (2) 루팅(routing) 영역(12)로 나누어진다. 활성 영역(10)은 논리 기능을 실행하는 CMOS 장치를 포함한다. 루팅 영역(12)는 논리 기능을 상호 접속시키기 위해 사용된다. 2개의 금속 층들은 상호 접속 목적을 위해 사용된다. 제1금속층은 제1도에 도시한 바와 같이 Y방향으로 놓여진다. 제2금속층은 X방향으로 제1금속층에 수직으로 놓여진다. 도시한 실시예에서, 코어 셀은 3-입력 게이트(14)와 2-입력 게이트(16)으로 구성된다. 3-입력 게이트(14)와 2-입력 게이트(16)으로 구성된 코어 셀은 거울 대칭 선(18)에 대해 복제(replicate) 된다. 제1도에 도시한 바와 같이, 제1의 3-입력 게이트(14)는 칩의 연부로부터 시작하여 P-채널 장치(20) 다음에 N-채널 장치(22)가 뒤따른다는 것을 특징으로 한다. 대칭 선(18)의 반대 측 상에는 참조번호(28)로 도시한 거울 대칭 3-입력 게이트의 N-채널 및 P-채널로 구성된 대칭성 N-채널 장치(24)와 P-채널 장치(26)이 있다. 그러므로, 게이트(28)은 게이트(14)의 거울상이고, 2-입력 게이트(16)은 2-입력 게이트(30)의 거울상이다.
3-입력 게이트와 2-입력 게이트로 구성된 다음의 인접 코어 셀은 Y방향으로 재복제되는데, 거울 대칭은 제1도에 도시한 바와 같이 X방향으로 제공된다. 그러므로, 코어 셀은 활성 영역(10)의 Y길이를 따라 거울 대칭 쌍 방식으로 복제된다.
제1도의 선 2-2를 따라 절취하여 도시한 단면도인 제2도를 참조하면, 칩의 대칭성을 더욱 잘 이해할 수 있다. 참조번호(32)로 도시한 반전도성 기질은 얇게 N-도우프(dope)된다. N-채널 장치(22)는 소오스 (sourse,42) 및 드레인(drain 44)로서 제공되는 2개의 두껍게 N-도우프된 영역들이 용착되는 커다란 얄게 P-도우프된 우물(well, 34)를 용착시킴으로써 기질(32)내에서 제조된다. 전도성 게이트(46)은 소오스(42)와 드레인(44)사이의 p-도우프 채널 상에 배치된다. 이와 마찬가지로, p-채널 장치(20)은 두껍게 P-도우프된 소오스(36) 및 드레인(38)로 구성되는데, 이들 사이에 놓여 있는 전도성 게이트(40)은 N-도우프 채널 상에 배치된다. 그러므로, 다음의 인접 장치(24 및 26)은 면(18)에 대해 거울 대칭으로 제조된다. P-채널 장치(26)은 P-도우프된 소오스(56) 및 드레인(58)과 얇게 N-도우프된 채널 상에 놓여 있는 전도성 게이트(60)으로 구성된다. 그러므로, 장치 (26)은 장치(20)의 정확한 거울상이다. 이와 마찬가지로 N-채널 장치(24)는 N-채널 장치(22)의 거울상이고, P-우물(34)내에 배치되는데, 소오스(48) 및 드레인(50)은 전도성 게이트(52)에 의해 분리된다. 부수적인 절연 산화물 및 금속층들은 간단하고 명확하게 도시하기 위해 제2도의 단면도 및 제1도의 평면도에서 생략되었다. 제2도에 도시한 바와 같은 트랜지스터(20,22,24 및 26)은 축(61,62,63 및 64)에 대해 90˚회전된다. 이것은 트랜지스터의 구조물을 상세하게 기술하고 Y축[면(18)로 도시함]에 대한 거울 대칭을 설명하기 위해 실행되었다.
그러므로, 제1도의 평면도에 가장 잘 도시된 바와 같이 기질(32)내의 P-채널 및 N-채널 장치의 배치는 Y축[(18)로 도시함]에 대해 거울 대칭이다. 또한, 거울 대칭은 코어 셀의 1/2로 X축에 대해서도 나타난다. 다시 말하면, 또한 3-입력 게이트 (14) 및 2-입력 게이트(16)의 구조는 코어셀의 1/2을 통해 Y방향으로 X대칭면을 이동시키면 대칭 쌓인 2-입력 게이트(62) 및 3-입력 게이트 장치(64)를 찾아내는데, 이 경우에 1개의 3-입력 게이트 장치(67)상에서 스킵핑(skipping)한다. 이 거울 대칭은 데이터가 칩상에 용이하게 흐르는 것을 돕니다. 예를 들어, 데이터는 한 전이 (shift) 레지스터의 외부로부터 대수 논리 유니트(arithmetic logic unit, ALU)룰 통해 다른 전이 레지스터 내로 평행이송된다. 이러한 전이 레지스터 내의 입력들이(제1도에 도시한 바와 같이)코어 셀의 저부에서 칩내에 배치된다고 가정하겠다. 그러므로, 데이터는 셀의 저부에서의 입력들로부터 상부에서의 출력들로 흐른다. 클럭킹(clocking)과 같은 제어 신호들은 데이터 흐름에 직교하여 흐르게 된다. 다른 논리 데이터 흐름은 칩을 가로질러 상향으로 이동하는 대신에 하향으로 이동하게 된다. 종래 기술에서, 반주문형 칩 내에서의 데이터 흐름의 이러한 반전은 게이트 어레이의 설계에 드는 노력을 배가(double) 시켰다. 그러나, 본 발명에 따르면, 거울 코어 셀 대칭성은 데이터가 소정의 논리 기능을 위해 Y축위 또는 아래로 흐르게 하고 X축에 평행한 거울 대칭선의 면을 가로질러 간단히 이동시킴으로써, 데이터 흐름의 반전이 부수적인 설계 노력이 없이 조절될 수 있다. 그 결과, 설계 배치 시간이 상당히 감소한다.
실제로, 반주문형 게이트 어레이, 특히 더 커다란 어레이내에서, 경제적인 배치는 게이트들을 상호접속시킴으로써 달성되는 것이 아니라 논리 기능을 상호접속시킴으로써 달성된다. 이 논리 기능들은 설계자의 "셀 라이브러리(cell library)"에 포함된 다수의 셀 설계들로 구성된다. 실제로, 이러한 셀 라이브러리는 게이트 어레이 및 전원 버스의 기본 토포그래피(topography)를 수용한 다음에 컴퓨터 보조 설계 루티(routine)을 통해 셀 라이브러리로부터 취해진 논리 기능들을 배치(lay out)하는 자동 루터(router)의 메모리내에 스토어(store) 될 수 있다. 이러한 논리 기능들은 많은 계수기, ALU, 멀티플렉서(multiplexer) 등을 포함할 수 있다. 예를 들어, 4k 게이트 어레이가 500개 정도의 게이트들의 셀들을 포함하는 논리 기능을 포함하는 것이 통상적이다.
반주문형 게이트 어레이의 설계가 각각의 트랜지스터를 접속시킴으로써 달성되는 것이 아니라 더 높은 레벨(level)의 논리 기능들을 접속시킴으로써 달성되기 때문에, 코어 소자의 대칭성은 이러한 설계가 달성될 수 있는 용이도에 제한을 가하게 된다. ALU용의 특정한 배치는 ALU셀의 저부에서 입력을 가질 수 있고 상부에서 출력을 가질 수 있다. 또한, 인접 논리 기능은 상부에서 입력을 갖고 저부에서 출력을 가질 수 있다. 칩내의 회로들이 고유 거울 대칭성을 갖지 않으면, 동일한 셀의 2가지 배치 변화를 가질 필요가 있게 되는데, 한가지는 신호가 저부로부터 상부로 흐르게 하는 것이고, 다른 한 가지는 신호가 상부로부터 저부로 흐르게 하는 것이다. 또한 좌우 변화로 필요하게 된다. 그러므로, 데이터 흐름에 관련된 설계 융통성 및 데이터 흐름의 반전은 1/2코어셀의 변위후에 X방향을 따라 이동할 때의 상술한 P/N-N/P구조의 거울 대칭성 및 Y방향을 따라 이동할 때의 코어 셀 거울 대칭성에 의해 매우 촉진된다.
양호한 실시예에서, 기질(32)는 16비트 워드에 알맞게 설계된다. 양호한 실시예에서는, 단 2개의 게이트 행(row)만이 제1도에 도시되어 있지만 [단일행은 N-채널 장치(22)에 인접한 P-채널 장치(20)으로 정해지고, 다른 행은 이와 마찬가지로 N-채널 장치(24) 및 P-채널 장치(26)으로 정해진다], 칩의 1/2은 16비트 구조에 알맞게 하기 위한 넓은 18개의 행 더하기 소정의 특수한 제어 신호에 알맞게 하기 위한 장치의 2개의 여분(extra) 행으로 된다. 일반적으로, 데이터는 18개의 행 또는 장치의 행들의 1/2을 사용하여 Y방향으로 칩까지 흐른 다음, 18개의 행들로 구성된 칩이 다른 1/2을 사용하도록 X방향으로 칩을 가로질러 이동한다. 그러므로, 입력들은 Y방향으로 칩의 저부에 제공되고 출력들은 칩의 상부에 제공되는데, 제어 신호들은 데이터 흐름에 직교하여 흐른다. 이 형태의 데이터 흐름은 제1도 및 제2도에 관련하여 기술한 거울 대칭 행들을 사용함으로써 매우 촉진된다.
게이트 어레이 및 반주문형 칩들이 크기가 증가하면, 시스템 논리 설계의 더 많은 부분이 대규모 집적(large scale integration, LSI)된다. 그러므로, 소량의 온-칩 메모리는 게이트 어레이의 효율적인 사용이 상당히 감소되는 만큼 높게 이러한 대규모 직접 칩의 핀 계수를 구동시킨다. 예를 들어, 게이트가 4000개 이상이면, 칩 외부에 메모리를 제공해야 하기 때문에 단지 약 1000개만을 사용하는 것이 통상적이다. 그러므로, 게이트 어레이 자체내에 메모리를 포함할 수 있는 것이 매우 바람직하다.
게이트 어레이내에 메모리를 포함하는 것에 관련된 최소한 2가지 문제점이 있다. 첫째, 게이트 어레이 설계자는 메모리의 궁극적인 응용에 관하여 선정된 생각을 갖고 있지 않으므로, 메모리를 검사할 수 없다. 둘째, 게이트 어레이 온-칩 메모리가 동작하게 되는 시스템이 8비트, 16비트 또는 32비트 시스템이라고 가정될 수 없다. 그러므로, 이 문제점들의 결과로서, 단일 논리 기능 배치로 금속층을 선택적으로 용착시킴으로써 워드 길이가 프로그램 가능한 메모리 설계가 본 발명에 따라 고안도었다. 다음에 설명한 바와 같이, 워드 길이가 프로그램 가능한 메모리 설계가 본 발명에 따라 고안되었다. 다음에 설명한 바와 같이, 워드 길이의 프로그램 능력이 금속 마이크 선택(option)에 의해 달성될 수 있도록 용장(redundant) 회로 소자들이 메모리내에 사용된다.
제3도를 참조하면, 프로그램 가능한 워드 길이 메모리의 계통도가 도시되어 있다.
등속 호출 메모리(random access memory, RAM, 70)은 제5도 및 제6도에 각각 더욱 상세하게 도시한 X-어드레스 디코더(72) 및 Y-어드레스 디코더(74)에 의해 억세스된다. 4개의 어드레스 입력(A0-A3)은 메모리 (70)의 16개의 행들 중의 1개의 행을 억세스하도록 제5도에 관련하여 더욱 상세하게 기술한 논리 합성 회로(logic synthesized circuit)를 통해 디코드된다. Y-어드레스 디코더(74)는 3 : 8디코더인데 이것의 입력(A4-A6)는 32개의 해독/기입 이중 구동기(76)의 8개의 그룹들중의 1개의 그룹을 억세스하기 위해 사용된다. 제7도에 관련하여 더욱 상세하게 기술한 바와 같은 32개의 해독/기입 이중 구동기(76)은 억세스되는 메모리(70)의 열(column)을 선택하기 위해 사용된다.
먼저, 제4도를 참조하면, 메모리(70)의 단일 메모리 셀(78)이 더욱 상세하게 도시되어 있다. 메모리 셀(78)은 제1래치 회로(80) 및 제2래치 회로(82)를 사용하는 종래의 6-트랜지스토 스테이틱 램 셀(atatic ram cell)이다. 그러므로, 메모리 셀(78)은 2개의 비트를 스토어 할 수 있다. 래치 회로(80)을 고찰하면, 이 래치 회로(80)은 행 어드레스 라인(88)에 의해 제어되는 2개의 동일한 스위칭 트랜지스터(84 및 86)을 통해 억세스로 된다. 래치 회로(80)의 입력 및 출력은 신호(B)를 나타내는 열 라인(90) 및 상보(complementary) 신호(
Figure kpo00001
)를 나타내는 열 라인(92)상에 제공된다. 그러므로, 행 어드레스 라인(88)이 활성 로우(low) 상태로 되면, 억세스 장치(84 및 86)은 전도성으로 되므로 비트 및 이것의 보수(complement)가 라인(90 및 92)상에 각각 기입되고 래치 회로(80)내에 기입되게 한다. 그 다음 한 비트는 래치 회로(80)내에 스토어되고 마찬가지로 장치(84 및 86)을 억세스함으로써 해독된다. 장치 (84 및 86)은 도시한 실시예내에서 가정된 N-채널 기질내에 어느 정도 더 빠른 스위칭 시간을 제공하는 P-채널 트랜지스터들이다. 일반적인 논리 기능용으로 보다 메모리 적(product)용으로 더 최적하게 된 CMOS 프로세스의 경우에, N-채널 트랜지스터들은 양호한 트랜지스터 극성으로 된다. 래치 회로(82)는 이와 마찬가지로 어드레스 입력 라인(98)에 결합된 억세스 트랜지스터(94 및 96)으로 구성된다. 그러므로, 출력들이 열 라인(90-92)에 결합되는 래치회로(82)는 동일한 방식으로 동작한다.
제5도를 참조하면, 제3도의 X-어드레스 디코더(72)가 개략적으로 도시되어 있다. 4개의 입력 어드레스 (A0-A3)는 인버트(inverter, 108-114)의 입력(100-106)에 제공된다. 이 인버터들의 출력들은 어드레스들 및 이들의 보수들이 입력들로서 NAND/NOR 논리 합성회로에 제공되도록 인버터(116-122)에 의해 다시 반전된다. 예를 들어 0차 비트를 고찰하면, NAND 게이트(124 및 126)의 출력들은 NOR게이트(128)의 입력에 결합된다. NOR 게이트(128)의 출력은 다시 반전되어 0차 행 라인(XO)를 나타낸다. NAND게이트(124)의 입력들은 각각 인버터(112-124)로 부터의 신호(A2 및 A3)이다. 그러므로, NAND게이트(124)의 출력은 이와 마찬가지로, 이 NAND 게이트(124)의 입력들이 모두 참값(true)으로 되지 않는한 언제나 참값으로 되는데, 이 참값입력의 경우에 출력은 오값(faulse)으로된다. 이와 마찬가지로, NAND게이트(126)은 각각의 인버터(108 및 110)으로부터의 입력 (A0 및 A1)을 갖는다. NAND 게이트(126)의 출력은 이 NAND 게이트 (126)의 입력들이 모두 참값으로 되지 않는 한 언제나 참값으로 되는데, 이 참값을 입력의 경우에 출력은 오값으로 된다. 그러므로, NAND 게이트(124 및 126)의 출력은 NOR 게이트(128)의 입력에 결합된다. NOR 게이트(128)의 출력은 이 NOR 게이트(128)의 입력들이 모두 오값으로 되지 않는한 언제나 오값으로 되고, 이 오값입력의 경우에 출력은 참값으로 된다. 그러므로, NOR 게이트(128)의 출력은 A0-A3가 각각 오값인 경우에만 참값으로 된다. 다시 말하면, 어드레스(0000)이 X다코더(72)에 나타나면, NOR게이트(128)은 인버터(130)에 의해 다시 반전되고 대응메모리 셀들의 행을 억세스하도록 제4도에 관련하여 기술한 바와 같은 라인(88)과 같은 어드레스 라인을 구동하는 참값출력을 갖게 된다. 한편, NOR게이트(128)의 출력은 그외의 모든 다른 시간에 오값으로 유지된다.
대응하는 NAND 게이트와 함께 제5도에 도시한 각각의 다른 NOR 게이트들의 유사한 해석은 NOR 게이트 [및 이와 유사한 NOR 게이트(128)]의 출력 (132)가 단 1개의 선택가능한 행라인이 X-어드레스 디코더(72)의 입력(100-106)에서 나타난 각각의 4비트 어드레스에 대응하는 활성 로우 상태로 되는 16개의 선택가능한 행 라인들로 구성되는 결과로 마찬가지로 실행될 수 있다.
제6a도를 참조하면, 8비트 워드 길이를 디코드하도록 형성된 Y-어드레스 디코더(74)의 개략도가 도시되어 있다. 신호(A4-A6)들로 구성된 Y어드레스는 인버터(140-144)의 입력(134-138)에 결합된다. 또한 인버터(140-144)의 출력들은 대응 인버터(146-150)의 입력들에 결합된다. 그러므로, 신호(A4-A6 및
Figure kpo00002
)들은 NAND 게이트(152)의 입력들에 선택적으로 유용하게 된다. 인버터(140-150)의 출력들로 부터의 6개의 유용한 신호들로부터 선택적으로 선택된 3개의 입력들을 갖는 제6a도내의 최저 NAND 게이트(152)를 고찰하면, 이 NAND 게이트(152)의 경우에, 이 NAND 게이트(152)의 입력들은 신호
Figure kpo00003
Figure kpo00004
이다. NAND 게이트(152)의 출력은 이 NAND 게이트(152)의 각각의 입력이 참값으로 되지 않는한 언제나 참값으로 되고, 이 참값의 경우에 출력은 오값으로 된다. 그러므로 NAND 게이트(152)의 출력은 Y 어드레스(000)의 경우에만 오값으로 된다. NAND 게이트(152)의 출력은 32개의 해독/기입 이중구동기(76)들 중의 4개의 대응 그룹에서 반전된 논리 신호를 Y 어드레스 입력에 제공하는 인버터(154)에 입력으로서 제공된다.
제6b도는 16비트 워드 길이를 디코드하도록 재-형성된 Y어드레스 디코더(74)의 일부분을 도시한 개략도이다. 인버터(144 및 150)의 입력들은 오값이므로, 이들의 출력은 참값으로 된다. 이것은 모든 NAND 게이트(152)의 한 입력이 참값으로 되게 한다. 이것은 Y출력들의 쇠퇴(degeneracy)를 야기시킨다. Y0및 Y4는 동시에 참값으로 된다. 이와 마찬가지로, Y1과 Y5, Y2와 Y6및 Y3와 Y7은 참값으로 된다. 그러므로, 32개의 해독/기입 이중구동기(76)들 중의 8개가 억세스된다.
제6c도는 32비트 워드 길이를 디코드하도록 재-형성된 Y어드레스 디코더(74)의 일부분을 도시한 개략도이다. 인버터(144, 150, 142 및 148)의 입력들은 접지되어 출력들이 각각 참값으로 되게 한다. 이것은 모든 NAND 게이트들 상의 2개의 입력들이 참값으로 되게 한다. 이것은 Y 출력들의 이중 쇠퇴를 야기시킨다. 그러므로, 모든 짝수 Y출력들을 동시에 참값으로 되고, 이와 마찬가지로 모든 홀수 Y 출력들은 동시에 참값으로 된다. 그러므로, 32개의 해독/기입 이중구동기(76)들 중의 16개가 억세스된다. 다음에 기술한 바와 같이, 이것은 메모리(70)내의 억세스된 행으로부터 선택가능한 길이(즉, 8, 16 또는 32비트)의 워드를 선택할 수 있게 한다. 그러므로, 이 워드의 비트 길이를 "프로그램 가능"하다고 한다.
32개의 해독/기입 구동기(76)들 중의 한 개를 개략적으로 도시한 제7도 참조하면, 메모리(70)의 억세스에 대해서 더욱 잘 이해할 수 있다. 데이터 비트(DO)는 데이터 입력 버스로부터 인버터(158)의 입력에 제공된다. 또한, 비트(DO)는 3상태(tristate) 인버터(160)의 입력에도 제공된다. 이와 마찬가지로, 인버터(158)의 출력은 제2의 3상태 인버터(162)의 입력에 결합된다. 3상태 인버터(160)의 출력은 제4도에 도시한 바와 같은 라인(92)와 같은 메모리 셀의 대응 열 라인에 결합되는 비트(
Figure kpo00005
)를 나타낸다. 3상태 인버터(162)의 출력은 제4도의 메모리 셀의 라인(90)과 같은 열 라인에 마찬가지로 결합된 비트(BO)이다. 이러한 64개의 3상태 인버터(160 및 162) 쌍들은 메모리(70)의 64개의 열들에 알맞도록 32개의 이중 구동기(76)들 사이에 제공된다.
3상태 인버터(160 및 162)는 제6도의 인버터(154)의 출력으로부터와 같은 Y어드레스 디코더(74)로부터 유도된 어드레스 출력에 의해 제어된다. 또한, 3상태 인버터(160 및 162)는 해독/기입 신호(V/R)에 의해 제어된다. 해독/기입 회로 셀의 특정한 어드레스는 Y어드레스 디코더(74)로부터 해독/기입 회로(76)내로 들어가는 적당한 어드레스에 의해 선택된다.
인버터(154)의 출력, 예를 들어 신호(YO)는 NAND게이트(166)의 어드레스 입력(164)에 제공된다. NAND 게이트(166)의 다른 입력(168)은 신호(W/
Figure kpo00006
)이다. NAND게이트(166)의 출력은 인버터(160 및 162)의 로우 엔에이블(enable) 입력 및 인버터(170)의 입력에 결합된다. 인버터(170)의 출력은 인버터(160 및 162)의 하이엔에이블 입력에 결합된다.
NAND 게이트(166)의 출력이 오값으로 있는 동안, 3상태 인버터(160 및 162)는 엔에이블되어 입력의 반전인 출력을 갖는데, 그렇지 않으면 출력은 부동(float)상태로 된다. 그러므로, 해독/기입 셀(76)이 입력(164)가 참값을 가짐으로써 선택되고 해독/기입 신호가 활성상태이면, NAND 게이트(166)의 출력은 오값으로 되므로, 3상태 인버터(160 및 162)를 엔에이블시키게 된다. 그러므로, 입력(156)에서 나타난 데이터 비트(DO)는 비트 BO 및
Figure kpo00007
로서 메모리(70)내에 기입된다. 데이터가 해독되기 위한 것이면, 입력(168)은 오값으로 되므로, 3상태인버터(160 및 162)를 부동상태로 되게 한다. 그러나, 라인(80)은 인버터(174)의 입력(172)에 결합된다. 인버터(174)의 출력은 3상태 인버터(176)의 입력에 결합된다. 3상태 인버터(176)의 하이 엔에이블 입력은 입력(164)에서의 신호 Yi에 결합된다. [또한, 로우 엔에이블 입력은 인버터(178)로부터 유도된
Figure kpo00008
에 결합된다]. 그러므로, 해독 모우드동안에 어드레스된 해독/기입 셀(76)내에서, 3상태 인버터(160 및 162)는 부동 상태로 되고 BO 입력(172)상에 어드레스된 데이터는 출력 비트(Q0)로서 3상태 인버터(176)의 출력(180)에서 나타나게 된다. 그러므로, 어드레스 Yi가 참값이면, Q0는 엔에이블되고 출력은 Y어드레스 디코더에 의해 억세스된 메모리셀의 내용이나, 해독/기입 신호의 상태에 따라 변하는 DO입력에서는 데이터로 된다.
또한, 제7도는 3상태 인버터(160, 162 및 176)에 대응하는 인버터들과 유사한 인버터 및 3상태 인버터들의 복제 셋트를 도시한 것이다. 이것들은 이들의 대응 3상태 인버터들이 다음의 인접 열 라인(
Figure kpo00009
및 B1)에 결합되는 것을 제외하면 신호(Y 및 W/
Figure kpo00010
)과 공동으로 동일한 방식으로 실행된다. 그러므로, 입력(164)에서의 신호 어드레스(Yi)는 2개의 인접 비트들을 동시에 선택하기 위해 제공된다. 제6도에 관련하여 기술한 바와 같이, 각각의 Yi 어드레스 (YO-Y7)은 4개의 이러한 이중 구동기(76)의 그룹에 동시에 결합된다. 그러므로, 각각의 Yi어드레스[제7도에서 신호(Yi)]신호는 8비트가 신호(W/
Figure kpo00011
)의 상태에 따라 기입 또는 해독되게 한다.
제7도는 다시 참조하면, 이중 구동기(76)으로부터의 소정수의 Q출력들은 공통 출력버스에 함께 결합될 수 있는데, 그 이유는 이 출력들이 3상태 인버터(176)과 유사한 3상태 인버터로부터의 출력들이기 때문이다. 이러한 부동 출력들을 결합시키기 위해 Y어드레스 디코더 프로그래밍과 함께 금속 마스크선택을 사용함으로써, 본 발명의 프로그램가능한 워드 길이는 다음에 기술한 바와 같이 달성된다. 이것은 제8a도 및 제8b도에 가장 잘 도시되어있다.
제8a도 및 제8b도는 32비트 모우드가 가정되는, 즉 메모리(70)이 스토어링 32비트 길이 워드로서 취급되는 구조이다. 참조번호(182)로 표시되고 입력(D0-D31)의 집합체(collection)로 표시된 데이터 입력 버스는 제8a도 및 제8b도의 상부를 가로질러 도시되어 있다. 예를 들어 신호(D16)과 같은 각각의 데이터 입력 신호는 2개의 별개의 이중 구동기(76)의 데이터 입력 단자에 제공된다. 입력(184)에서의 데이터 비트(D16)은 32비트 워드의 16차 비트에 대응하는 이중구동기[76(16)]의 제2데이터 입력단자 및 이중 구동기[76(20)]의 제2데이터 입력에 결합된다. 이중 구동기[76(16) 및 76(20)]의 데이터 출력들은 출력 비트 (Q16)을 제공하도록 출력(186)에 공통으로 결합된다. 이와 마찬가지로, 다음의 인접 데이터 비트(D17)은 이중 구동기[76(16)]의 제1데이타 입력 및 이중 구동기[76(20)]의 제1데이터 입력에 공통으로 결합된다. 또, 이중 구동기[76(16) 및 76(20)]의 제1데이터 출력들은 데이터 출력 비트 (Q17)에 대응하는 데이타 출력(188)에 공통으로 결합된다
그러므로, 선택된 금속화 선택 및 용장 결합 쌍으로된 이중 구동기(76)의 데이터 입력 및 출력에 의해, 64개의 가능한 별개의 이중 구동기들은 16개의 구별가능한 쌍들의 집합체를 형성하도록 쌍으로 된 식(pair-wise fashion)으로 취급된다.
또한, 제8b도에는 Y어드레스가 각각의 이중 구동기(76)에 접속된 것으로서 도시되어 있다. 32비트 워드 길이 모우드 내에서 Y디코더가 이중으로 쇠퇴하고, Y0, Y2, Y4및 Y6은 동시에 참값으로되며, 선택적으로 Y1, Y3, Y5및 Y7은 참값으로 되기 때문에 이중 구동기(16,17,18 및 19) 또는 구동기(20,21,22 및 23)이 엔에이블된다. 다른 이중 구동기(76)은 한 셋트의 16개의 이중 구동기(76) 또는 다른 셋트의 16개의 이중 구동기(76)이 억세스되도록 유사하게 억세스된다. 그러므로, 32비트 워드 길이 모우드내에서, Y디코더는 2개중 1개 선택(one-of-two select)장치로서 작용한다. 그러므로, 데이터는 32비트 워드로서 공통버스(Q0∼Q31)상에 나타나게 되고, 32비트 워드로서 메모리(70)내에 기입되거나 이 메모리(70)으로부터 해독될 수 있다.
이와 마찬가지로, 16비트 워드 길이 모우드내에서, Y어드레스 디코더는 4개중 1개 선택(one-of-four select)장치로서 작용한다. 4개의 그룹으로 된 Y어드레스(Y0, Y1, Y2및 Y3)을 갖고 있는 이중 구동기(76)을 결합시키고, Y어드레스(Y4, Y5, Y6및 Y7)을 갖고 있는 이중 구동기를 유사하게 결합시킴으로써, 이중 구동기들 중 8개가 선택적으로 선택된다. 구동기(76)마다 2비트가 있기 때문에, 이것은 메모리(70)내로 기입되거나 이 메모리(70)으로부터 해독될 수 있는 16비트 워드를 발생시킨다.
8비트 워드 길이 모우드의 경우에, Y어드레스 디코더는 8개중 1개 선택장치로서 작용한다. 8개의 그룹으로 된 어드레스(Y0내지 Y7)을 갖고 있는 이중 구동기들을 결합시킴으로써 이중 구동기들중의 4개가 선택적으로 선택되어 8비트 워드를 발생시킨다.
명백하게도, 64비트들은 각각의 입력 및 출력 비트를 32개의 이중 구동기(76)의 2개의 입력 및 출력 데이터 단자들중의 1개만에 독특하게 관련시킴으로써 참조번호(192)로 도시한 출력 데이터 버스로서 64개의 출력비트(Q0∼Q63)을 제공 하도록 입력 데이터 버스(182)상에 제공될 수 있었다.
이 경우에, Y어드레스 디코더는 제6a도의 인버터(140,142,144,146,148 및 150)의 입력들을 오값으로 만들므로써 완전히 쇠퇴하는 것으로서 프로그램된다. 이것은 모든 Y어드레스가 언제나 참값으로 되게 하므로 모든 32개의 구동기들을 언제나 선택하고 64비트 워드 길이를 제공한다.
제3도 내지 제8b도의 회로는 반주문형 칩 또는 표준설계와 주문형 칩에 사용되는 프로그램 가능한 워드 길이를 갖고 있는 메모리 설계이다. 그러나, 대규모 집적(LSI)내에서, 기술한 바와 같은 작은 메모리 및 특히 프로그램 가능한 유틸리티(utility)메모리는 핀을 통해 직접 입력 또는 출력시키지 않고 칩상에 전체적으로 수용되는 것으로 예상될 수 있다. 접근하기 어려울 때 메모리가 작용하는지의 여부를 아는 것은 중요한 문제점이 된다. 제9도를 참조하면, 일반적으로 사용되고 게이트 어레이에 특히 적합한 메모리 자체 검사회로가 도시되어 있다.
제9도는 메모리 자체 검사 회로의 전체적인 아키텍쳐를 도시한 계통도이다. 메모리(70)은 7개의 어드레스 입력(A0-A6), 32개의 데이터 입력(D0-D31), 해독/기입 제어신호(W/
Figure kpo00012
), 및 32개의 출력신호(Q0-Q31)을 가진 것으로 도시되어 있다. 데이터 멀티플렉서(200)은 데이터 입력 버스(202) 또는 다음에 기술한 데이터 인버터(204)로부터 데이터 입력 신호(D0-D31)을 메모리(70)에 제공한다. 데이터 멀티플랙서(200)은 입력 핀(206)상에 제공된 START신호에 의해 제어된다. 핀(206)은 제9도의 자체 검사 회로에 유용한 필요한 입력 억세스이다. 실패 또는 통과신호가 존재하게 되는 출력 핀(208)은 필요한 억세스가능한 출력이다. 입력 핀(206)상의 START 신호는 데이터 인버터(204)로부터 데이터를 취하거나 데이터 입력 버스(202)로부터 데이터를 취하도록 데이터 멀티플렉서(200)을 명령하기 위해 사용된다. 이와 마찬가지로, 메모리(70)의 어드레스 (A0-A6)은 어드레스 멀티플렉서(210)에 의해 제공된다. 어드레스 멀티플렉서(210)의 입력들은 어드레스 버스(212) 또는 어드레스 및 데이터 계수지(216)에 의해 발생된 어드레스 및 데이터 계수기 출력 신호(214)에 결합된다. 발생된 어드레스 및 데이터 계수기 신호는 데이터 인버터(204) 및 계수기 에러 검출기(218)에 입력으로써 제공된다.
데이터 인버터(204) 및 계수기 에러 검출기(218)의 출력들은 에러 검출 논리 회로(220)에 입력으로서 각각 제공된다. 부수적인 입력은 참조 및 제어 계수기(222)로부터 계수기 에러 검출기(218)에 제공된다. 어드레스 및 데이터 계수기(216)과 참조 및 제어 계수기(222)는 입력 핀(206)에서의 START 신호에 응답하는 발진기 및 초기치 설정 회로 (224)에 의해 구동되거나 제어된다. 도시하기 쉽게 하기 위해, 입력 핀(206)은 제9도에 다수의 위치에 도시되어 있지만, 실제로는 단일 입력핀(206)이 활성 칩내에 제공된다. 에러 검출 논리회로(220)의 출력은 출력 핀(208)에서 통과/실패 신호를 발생시키는 에러 래치(226)의 입력에 결합된다. a) 입력(230)에 제공된 해독/기입신호, b) 참조체어 계수기 및 c) 입력핀(206)에서의 START 신호에 응답하는 해독/기입 멀티플렉서 스위치(228)은 메모리(70)
Figure kpo00013
신호를 제공하기 위해 다음에 더욱 상세하게 기술한 방식으로 사용된다.
자체 검사 회로의 전체적인 아키텍쳐는 제9도를 참조하여 기술되어 있는데, 이제 이 회로의 일반적인 동작 모우드에 대해서 상세하게 기술하였다. 입력 핀(206)상의 START 신호는 활성 로우 상태이다. 논리 0이 핀(206)상에 배치되고, 출력피(208)상의 통과/실패 신호는 검사 모우드 중에 메모리(70)이 결함이 있는 것으로 발견되지 않는한 로우 상태로 되어 유지되어야 한다. 다음에 더욱 상세하게 기술한 바와 같이 본 발명의 자체 검사 특징은 제3도 내지 제8b도에 관련해서 메모리(70)에 관하여 기술한 프로그램 가능한 워드 길이 특징에 알맞도록 설계된다.
자체 검사 회로의 프로토콜에 따르면, 논리 1과 논리 0은 메모리(70)내의 각각의 메모리 위치내에 기입된다. 그 다음, 메모리(70)은 각각의 특정한 위치내에 기입된 정확한 정보가 실제로 독출되게 하도록 해독된다. 상세하게 말하자면, 각각의 메모리 위치의 어드레스는 이 특정한 메모리 위치 내에 기입된 다음, 동작도를 점검하기 위해 독출된다. 어드레스 위치의 논리 반전은 동일한 메모리 위치 내에 기입되고, 데이터가 정확하고 메모리(70)이 동작할 수 있게 하도록 다시 독출된다. 이런 식으로, 메모리내의 각각의 셀은 메모리 내에 기입되어 검사된 논리 1 및 논리 0을 갖는다.
어드레스 및 데이터의 순차(sequencing)가 어드레스 및 데이터 계수기(216)에 의해 제공된다. 어드레스 및 데이터 계수기(216)의 출력(214)는 데이터가 스토어될 메모리의 어드레스로서 어드레스 멀티플랙서(210)을 통해 메모리(70)에 인가되고, 동일한 출력(214)는 데이터 인버터(204)를 통해 제공되어 어드레스된 메모리 위치내에 스토어될 데이터로서 취급된다.
데이터 인버터(204)로부터의 출력(232)는 데이터 멀티플렉서(200)을 통해 메모리(70)에 결합된다. 자체 검사 모우드 중에 데이터 멀티플렉서(200) 및 어드레스 멀티플렉서(210)은 메모리(70)이 어드레스 및 데이터 계수기(216)으로부터만 억세스될 수 있도록 어드레스 버스(212) 및 데이터 입력 버스(202)로부터 메모리(70)을 분리시킨다. 자체 검사 완료시에, 멀티 플렉서(200 및 210)은 어드레스 버스(202) 및 데이터 버스(212)의 정상 억세스 모우드로 복귀한다.
참조 및 제어 계수기(222)는 어드레스 및 데이터 계수기(216)내의 소정의 에러들을 검출하기 위해 사용된다. 어드레스 및 데이터 계수기(216) 또는 참조 및 제어 계수기(222)가 에러 상태에 있으면, 실패 신호가 출력 핀(208)에서 발생하게 된다. 또한, 참조 및 제어 계수기(222)는 특정한 해독/기입 신호를 제어하고 자체검사 모우드 중에 메모리(70)내에 독입되는 데이터가 반전되는지의 여부를 제어한다. 이 나중 동작은 제10a도 내지 제12도에 관련하여 더욱 상세하게 기술되어 있다. 또한, 참조 및 제어 계수기(222)는 완료시에 자체 검사 모우드를 정지시키고 제9도의 회로를 자체 검사 모우드 종료시에 정상동작으로 복귀하는 논리회로를 포함한다.
에러 검출 논리회로(220)은 데이터 출력 버스(234)를 통해 메모리(70)으로부터 데이터를 받고 데이터 인버터(204)를 통해 어드레스 및 데이터 계수기(216)으로부터 데이터를 받는다. 에러 검출 논리회로(220)은 메모리내에 있어야 하는 데이터를 메모리내에 실제로 기입되고 이 메모리로부터 해독된 데이터와 비교하도록 비트-대-비트 기선 상에서 익스클루시브-OR(exclusive-OR)기능으로 이 2개의 입력들을 결합시킨다. 소정의 비교 실패는 큰(다수의 입력) NOR게이트(256)에 의해 검출되고, 에러 래치(226)에 의해 래치된다. 그러므로, 자체 검사 모우드 중의 소중의 시간에, 메모리내에 있어야 하는 것과 메모리 내에 실제로 있는 것 사이의 비교 실패가 발견되면, 실패 신호가 출력 핀(208)에서 래치되고, 자체 검사모우드가 종료될 때까지 계속 래치된다.
제9도의 자체 검사 회로의 전제 동작에 대해 기술하였으나, 이제는 상술한 각각의 소자들의 상세한 회로 및 동작에 대해 고찰하겠다. 제10도는 서로에 관련하여 제10a도 내지 제10i도를 배열할 때 독자(reader)를 돕기 위한 맵을 도시한 것이다.
제10a도를 참조하면, 어드레스 및 데이터 계수기(216)이 개략적으로 도시되어 있다. 어드레스 및 데이터 계수기(216)은 라인(235)상의 클럭 입력(CLK)), 라인(237)상이 클럭보수(
Figure kpo00014
) 입력, 및 제9도에 도시하고 제10i도에 관련하여 더욱 상세하게 기술한 발진기 및 초기치 설정 회로(224)로부터 유도된 라인(239)상의 클리어(CLR) 입력을 갖고 있는 7비트 리플(ripple) 계수기이다. 7개의 동일한 플립플롭(236a 내지 236g)들이 제공되고, Q출력에서 순차 계수를 제공하도록 직렬로 결합된다. 처음에, 각각의 플립플롭(236)은 클리어 되고, 출력(214)로서 제10a도에 도시한 Q출력은 000,000,0으로 된다. 제1클럭 펄스에서, 플립플롭(236a)의출력은 토글(toggle)된다. 이 지점에서의 출력(214)는 논리신호 000,000,1을 나타낸다. 그러므로, 1 및 0의 교대열(alternation serise)은 플립플롭(236a)의 Q출력에 클럭된다. 이와 마찬가지로 다음의 인접 플립플롭(236b)의 클럭 입력은 플립플롭(236a)의
Figure kpo00015
출력에 결합되고
Figure kpo00016
입력은 플립플롭(236ba)의 Q출력에 결합된다. 나머지 플립플롭(236c-g)들은 7비트 수의 전체 어드레스 범위가 출력(214)에서 발생되도록 마찬가지로 결합된다.
제10e도의 참조 및 제어 계수기(222)를 참조하겠다. 참조 및 제어 계수기(222)는 제10a도에 관련하여 기술한 것과 유사한 10비트 리플 계수기이다. 플립플롭(236a-g)에 대응하는 제1의 7개의 플립플롭(238a-g)는 발전기 및 초기치 설정 회로(224)로부터의 신호CLK,
Figure kpo00017
및 CLR에 마찬가지로 결합되므로, 병렬 계수를 제공한다. 제8, 제9 및 제10플립플롭(240, 242 및 244)는 데이터 반전 및 자체 검사 완료를 위해 해독 기입 모우드를 제어한다. 도시한 실시예에서는, 32비트 워드가 가정되고, 16 또는 8비트 워드의 회로를 형성하는데 필요한 설계 변화에 대해서는 제11도 및 제12도에 관련하여 다음과 같이 기술하겠다.
이미 기술한 바와 같이, 메모리(70)은 16개의 행 및 64개의 열로 구성된다. 그러므로, 32비트 워드가 가정되면, 메모리(70)은 32비트 워드의 2개의 열을 차지하는 것으로 생각될 수 있는데, 이 때 16개의 이러한 워드들은 각각의 열 내에 있다. 또한, 상술한 바와 같이, 행들은 어드레스 비트(A0-A3)에 의해 메모리(70)내에 억세스된다. 메모리(70)내의 64비트 열들은 8개의 별개의 열 어드레싱 신호들을 발생시키도록 디코드되는 비트(A4-A6)을 통해 억세스되는데, 각각의 열 어드레싱 신호는 8개의 단일비트 열을 동시에 억세스 한다. 그러므로, 32비트 워드를 억세스하기 위해서, 4개의 이러한 열 억세스 신호들이 8개 중에서 발생되어야 한다. 이것은 A4와 같은 단일 비트가 메모리(70)내의 제1의 32비트 열 또는 제2의 32비트 열을 억세스하는지의 여부를 지정하기에 충분하다는 것을 의미한다. 그러므로 플립플롭(238f 및 238g)의 Q출력들은 플립플롭(240)의 Q출력과 함께 NOR게이트(246)에 결합된다. 플립플롭(238f)의 출력은 열 억세싱 신호(A5)에 대응하고, 플립플롭(238g)의 출력은 열 억세싱 신호(A6)에 대응한다. 그러므로, 어드레스가 A5 또는 A6이 1로 되도록 증가하였으면, 이것은 플립플롭(238e)의 출력(A4)가 2개의 가능한 상태들 사이에서 싸이클(cycle)되었고 제1 및 제2의 32비트 워드가 메모리(70)의 각각의 16개의 행으로부터 억세스되었다는 것을 의미한다. 그러나, 플립플롭(240)의 Q출력은 각각의 가능한 어드레스(A0-A6)이 발생될 때까지 로우 상태로 유지된다. 다음 클럭 펄스상에서, 플립플롭(240)의 상태는 변한게 되는데, 이것은 각각의 어드레스(A0-A6)이 가능한 어드레스 범위를 통해 어드레스 및 데이터 계수기(216)에 의해 다시 순차될 때 기입 싸이클이 끝나고 해독 싸이클이 시작될 수 있다는 것을 나타낸다. 그러므로, 32비트 모우드내에 초기 기입 싸이클 중에 NOR게이트(246)의 출력은 A5 또는 A6이 참값으로 될 때까지 참값으로 되는데, 그 후에 이것은 오값으로 유지된다. 전체 기입 싸이클이 실행된 후, 플립플롭(240)의 Q출력은 후속 해독 싸이클 동안에 NOR게이트(246)의 출력을 오값으로 유지시킨다.
NOR게이트(246)의 출력은 신호 TEST W/
Figure kpo00018
이다.
제10b도를 간단히 참조하면, TEST W/
Figure kpo00019
신호는 NAND게이트(248)의 한 입력으로서 제공되는데, 이 NAND게이트(248)의 다른 입력은
Figure kpo00020
이다. 어드레스 및 데이터 계수기(216)은
Figure kpo00021
동안에 상태가 변한다. 그러므로, NAND게이트(248)은 계수기(216)이 과도상태 있을 때 내용이 변경될 수 없도록 메모리(70)을 해독 모우드에 있게하는 신호를 발생시키도록 구동됨으로써
Figure kpo00022
동안 억제된다. NAND게이트(248)의 출력은 해독/기입 멀티플렉서 스위치(228) 및 인버터(250)을 통해 메모리(70)의 W/
Figure kpo00023
입력에 결합된다. 그러므로, 메모리는 클럭 신호가 로우 상태이고 신호 TEST W/
Figure kpo00024
이 참값일 때마다 기입된다.
제11도를 참조하면, 16비트 모우드 내에 사용할 때의 입력형태를 도시하기 위해 NOR게이트(246)이 참조 및 제어 계수기(222)와 분리되어 도시되어 있다. 워드 길이가 16비트로 고찰되면, 메모리(70)은 각각의 열내에 16개의 행들을 갖고 있는 16비트 워드의 4개의 열들로서 개념화 될 수 있다. 이 경우에, 메모리(70) 내의 4개의 열을 유일하게 어드레스하기 위해서 2개의 Y어드레스 비트(A4 및 A5)가 필요하게 된다. 그러므로, 제11도는 제10e도의 실시예 내에서 플립플롭(238f)의 Q출력에 결합된 것으로서 도시되어 있는 NOR게이트(246)의 한 입력이 대신에 접지되는 것을 나타낸다. NOR게이트(246)의 나머지 입력들은 전과 같이 유지된다. 그러므로, 충분한 수의 구별 가능한 어드레스들이 NOR게이트(246)의 출력으로부터 발생되는 제어, 즉 신호 TEST W/
Figure kpo00025
에 따라 기입 싸이클 중에 발생된다.
이와 마찬가지로, 제12도를 참조하면, 워드 길이가 8비트인 경우의 NOR게이트(246)이 도시되어 있다. 이 경우에, 메모리(70)은 각각의 열 내에 16개의 행을 갖고 있는 8비트 워드의 8개의 열들로서 개념화된다. 8개의 구별가능한 디코드화 신호들을 발생시키기 위해 3개의 Y어드레스 비트(A4-A6)이 모두 필요하게 된다. NOR게이트(246)의 입력은 사용된 모든 비트(A0-A6)의 어드레스 발생 순차의 종료(end)를 나타내는 플립플롭(240)의 Q출력이다.
어드레스들이 참조 및 제어 계수기(222)에 의해 제어된 바와 같이 기입 싸이클 중에 어드레스 및 데이터 계수기(216)에 의해 발생되는 동안에, (발생된 어드레스 인)데이타는 데이터 멀티플렉서(200)을 통하는 데이터 인버터(204, 제10f도)를 통해 메모리(70)의 데이터 입력 버스(202)에 결합된다. 데이터 인버터(204)는 각각 한 입력이 어드레스 및 데이터 계수기(216)으로부터의 신호(A0-A6)들 중의 대응 신호에 결합되고 한 입력이 제10e도의 참조 및 제어 계수기(222)내의 플립플롭(242)의
Figure kpo00026
출력에 결합된 다수의 익스클루시브-OR게이트(252)로 구성된다. 제10e도를 참조하면, 플립플롭(242)는 플립플롭(240) 다음의 10비트 리플 계수기 내의 다음 고차 플립플롭이다. 상술한 바와 같이, 플립플롭(242)는 데이터 반전을 제어한다. 제1기입 싸이클 동안에, 플립플롭(242)의 Q출력은 참값으로 되므로, 데이터 인버터(204)의 입력에 제공된 데이터를 반전시킨다. 제2기입 싸이클 동안에, 플립플롭(242)는 상태가 변하므로, 비반전된 어드레스는 데이터로서 억세스된 메모리 위치 내에 기입된다.
그러나, 도시한 실시예에서 알 수 있는 바와 같이, 7비트(A0-A6)만이 각각의 클럭 싸이클에 제공된다. 이 7비트들은 멀티플렉서(200)에 의해 각각의 메모리 위치에서 32비트로 배수로 맵된다. 이 맵핑은 일반적으로 임의적이지만, 도시한 실시예에서, 신호(A0-A6)의 값들은 제10f도에 관련하여 상술한 메모리 비트 라인(B0-B6)으로 맵된다. 비트 라인(B7)은 어드레스 신호(A6)으로 맵된다. 부수적으로, 신호(A0-A6)은 각각의 대응하는 8차 비트속에 맵된다. 예를 들어, A0는 비트(B0,B8,B16 및 B24)에 맵되고, A1는 비트(B1,B9,B17 및 B25)에 맵되고, 나머지도 이와 같이 맵된다.
비트(A6)은 메모리 비트(B6,B7,B14,B15,B22,B23,B30 및 B31)에 맵된다.
그러므로, 도시한 실시예에서는, 데이터의 반전이 메모리(70)내에 로드(load)된 후, 제10e는 플립플롭(240)의 상태가 변할 때(논리 상태 1로 가정함) 해독 싸이클이 실행된다. 어드레스 및 데이터 계수기(216)은 메모리가 이 싸이클중에 해독되는 것을 제외하고 메모리 어드레스의 전(full) 싸이클을 다시 발생시킨다. 메모리(70)의 데이터 출력 버스(234)는 제10g도에 도시한 바와 같이, 제9도의 에러 검출 논리 회로(220)내에 포함되는 대응하는 다수의 32개의 익스클루시브-OR게이트(254)에 결합된다. 익스클루시브-OR게이트(254)의 다른 입력들은 멀티플렉서(200)에 관련하여 상술한 비트맵핑에 따라 데이터 인버터(240)의 출력으로부터 취해진다.
다시 말하면, 데이터 출력비트(Q31,Q30,Q23,Q15,Q14,Q7 및 Q6)은 익스클루시브-OR게이트(254)내에서 각각 쌍 식으로 관련되는데, 인버터(204)로부터의 신호는 A6에 대응한다. 게이트(254)의 출력은 큰 NOR 게이트(256)에 결합된다. 그러므로, 익스클루시브-OR게이트(254)는 유효 비교되는 동안 0출력을 갖게 된다. 모든 익스클루시브-OR게이트(254)가 0입력을 NOR게이트(256)에 제공하는 동안, NOR게이트(256)의 출력은 참값으로 유지된다. 비교가 실행되는 해독 싸이클 동안에, NOR 게이트(256)의 참값출력은 다음에 기술할 반전된 NAND게이트(258)을 통해 결합되므로, 다음에 더욱 상세하게 기술할 NAND게이트(260, 제10h도)에 입력으로서 제공된다. NAND게이트(260)은 비교를 위한 해독 싸이클 동안에 엔에이블되고, NOR게이트(256)으로부터의 참값을 풀랍풀롭(262)의 D 입력에 로드시킨다. NOR게이트(256)이 참값인 경우에 0으로 되는 플립플롭(262)의
Figure kpo00027
출력은 다음 입력으로서 제고되는 활성 로우 상태 START 신호에 의해 엔에이블되는 NOR게이트(264)를 통해 결합된다. 마지막으로, NOR게이트(256)의 참값 출력에 다시 대응하는 NOR게이트(264)의 출력으로부터의 참값은, 참조번호(226)으로 표시되고 출력이 이 경우 오값으로되는 신호 통과/실패로 되는 RS 래치 내에 셋트된다. 소정의 익스클루시브-OR게이트(254)가 해독 싸이클의 소정 부분 동안에 비교의 실패를 나타내면, 커다란 NOR게이트(256)의 출력은 오값으로 되고 결국 통과/실패 신호는 참값으로 된다.
에러 검출 논리 회로(220)에 관련하여 상술한 게이트 (258,260 및 264)는 소정의 상황하에서 비교 또는 검사를 방해하는 각각의 엔에이블링 제어 게이트 들이다. 예를 들어, 제9도 및 제10f도에 더욱 상세한 개략도로 도시한 계수기 에러검출기(218)을 고찰하겠다. 계수기 에러 검출기(218)은 다수의 익스클루시브-OR게이트(268)로 구성된다. 각각의 익스클루시브-OR게이트(268)은 2개의 입력을 갖는데, 한 입력은 어드레스 및 데이터 계수기(216)으로부터의 소정 차수의 어드레스에 대응하고, 다른 입력은 참조 및 제어 계수기(222)로부터의 동일 차수의 어드레스에 대응한다. 2개의 계수기들이 계속 정합하는 동안에, 익스클루시브-OR게이트(268)의 출력들은 0으로 유지된다. 각각의 이 출력들은 NOR게이트(270)에 결합된다. 그러므로, 계수기(216과 222)가 동시에 유효 계수되는 동안에, NOR게이트(270)의 출력은 참값으로 유지되고, 그렇지 않으면 오값으로 유지된다. NOR게이트(270)의 출력은 NAND게이트(258)에 제2입력으로서 제공된다. 상술한 바와 같이, NAND게이트(258)의 제1입력은 유효 비교를 나타내는 NOR게이트(256)의 출력이다. 어떤 이유로 계수기들이 동일한 계수 상태에 있지 않으면, NAND게이트 (258)에 한 입력으로서 결합된 NOR게이트(270)으로 부터의 오값 출력에 의해 비교가 방해된다. 궁극적으로, NAND게이트(258)의 출력에서 발생된 참값은 출력핀(208)에서 실패 신호로서 나타나게 된다.
메모리 내용을 메모리(70)내에 가입되어 있어야 하는 데이터(어드레스)와 비교하는 것은 해독 싸이클 중에 생기고 기입 싸이클 중에 억제되어야 한다. 제10e도를 참조하면, NOR게이트(272)는 이러한 비교 억제 신호를 발생시킨다. 32비트 모우드 냉의 NOR게이트(272)의 입력은 플립플롭(240)으로부터의
Figure kpo00028
출력, 및 어드레스 신호(A5' 및 A6')에 각각 대응하는 플립플롭(238f 및 238g)의
Figure kpo00029
출력들이다. 기입 싸이클 동안에, 플립플롭(240)의
Figure kpo00030
출력은 참값으로 된다. 그러므로, NOR게이트(272)의 출력은 오값으로 유지된다. NOR게이트(272)의 출력은 제10f도 내지 제10h도에 관련하여 기술한 NAND게이트(260)의 제2입력에 결합된다. 그러므로, NAND게이트(260)은 기입 싸이클 동안에 억제되고, 실행되는 소정의 비교는 실패 신호가 출력핀(208)에 서 발생되지 못하게 한다. 해독 싸이클 동안에, 플립플롭(240)의
Figure kpo00031
출력은 오값으로 되므로, 유효 어드레스 동안 비교 및 엔에이블링 게이트(260)이 계속 발생되게 된다.
32비트 워드 길이 모우드 내에서 Y어드레스가 이중으로 쇠퇴되기 때문에, 어드레스(A5 및 A6)이 참값일 때, 데이터는 기입 싸이클 동안에 메모리내에 기입되지 않게 되고, 에러 비교는 해독 싸이클 동안에 실행되지 않게 된다. 단독으로 쇠퇴되는 16비트 워드길이 모우드의 경우에, 이것은 A6이 참값일 때에만 참값으로 된다. 8비트 워드 길이 모우드의 경우에, 기입 및 비교는 각각의 기입 및 해독 모우드의 각각의 크럭킹 시에 실행된다.
제11도 및 제12도는 16 및 18비트 모우드내의 게이트(272)에 대한 입력 형태를 각각 도시한 것이다. 제11도를 참조하면, 예를 들어 게이트(272)는 접지된 입력들 중의 한 입력, 및 동일하게 유지되는 플립플롭(240)의
Figure kpo00032
출력과 신호(A6')에 대응하는 플립플롭(238g)의
Figure kpo00033
출력에 결합되는 다른 2개의 입력들을 갖게 된다. 이와 마찬가지로, 제12도를 참조하면, NOR게이트(272)의 입력들 중의 2개의 입력은 접지되거나 8비트 모우드 내에 형성될 때 오값으로 되고, 나머지 한 입력은 플립플롭(240)의
Figure kpo00034
출력에 결합된다.
제10e도를 다시 참조하면, 10차 플립플롭(244)는 검사 싸이클 제어 플립플롭이고, 참조 및 제어 계수기(222)를 포함하는 10비트 리플 계수기 내의 마지막 플립플롭이다. 자체 검사 사이클 프로토콜에 따르면, 반전된 데이터는 플립플롭(240)의 제어 하에서 메모리내에 먼저 기입된 다음에 플립플롭(240)에 의해 정해진 바와 같이 다시 해독된다. 그 다음에, 데이터 반전 플립플롭(242)의 제어에 따라서, 비반전된 데이터는 플립플롭(240)의 제어에 의해 정해진 바와 같이 해독 및 기입된다.
이 기입 및 해독 싸이클이 완료된 후, 자체 검사 제어 플립플롭(244)는 상태가 변하게 된다. 플립플롭(244)의
Figure kpo00035
출력은 오값 출력으로부터 검사 종료 신호(end-of-test signal)로서 지정된 참값 입력으로 된다. 이 신호는 제9도에 도시되어 있고 제10i도에 관련하여 더욱 상세하게 기술하게 될 발진기 및 초기치 설정 회로(224)에 결합된다.
제10i도를 참조하면, START신호는 입력 핀(206)에 제공된다. 이 START 신호는 NOR 게이트(274)의 한 입력과 참조 번호(276)으로 집합적으로 표시한 일련의 인버터 및 전송 게이트들의 입력에 동시에 결합된다. 그러므로, 초기에 NOR게이트(274)의 입력들은 1과 0으로 되므로 인버터(278)에 의해 반전된 0출력을 유지하게 된다. 인버터(278)의 출력은 클리어 신호(
Figure kpo00036
)이다. 장치(276)에 의해 정해진 바와 같은 전송 지연 후에, NOR게이트(274)의 제2입력은 오값으로 되고, 클리어 신호(CLR)은 참값으로 된다. 그러므로, START 신호는 회로 전체에 사용된 원-소트 클리어 신호를 활성화시키고, 특히 계수기(216 및 222)를 초기치 설정화 및 클리어 시킨다. 신호(
Figure kpo00037
)은 또한 발진기(284)를 억제시키기 위해 사용된다.
Figure kpo00038
은 NAND게이트(280)에 한 입력으로서 제공된다. 그러므로,
Figure kpo00039
이 활성 로우상태이면, 게이트(280)은 억제되고, 플립플롭(244)의 출력으로부터 취해진 검사 종료 신호 및 START신호인 다른 입력들에 응답하지 않게 된다.
NAND게이트(280)의 출력은 NOR게이트(282)에 결합된다. 발진기(284)는 출력신호(CLK 및
Figure kpo00040
)을 발생시키는 자유 가동 링 발진기(free-running ring oacillator)이다. 클리어 신호가 활성화되지 않고 START 신호가 활성화되면, NAND게이트 (280)의 출력은 오값으로 된다. NOR게이트 (282)의 입력에서의 0는 참조번호(284)로 집합적으로 표시한 짝수 인버트 및 전송 게이트의 지연을 통해 전달되는 NOR게이트(282)의 다른 입력에서의 신호를 반전시킨다. 이러한 지연 후에, 입력(286)은 상태가 변하고, 이것의 반전은 NOR게이트(282)의 출력에서 다시 발생된다. 그러므로, 게이트(282)는 장치(284)의 시간 지연에 의해 정해진 바와 같이 계속 발진한다. 또한, 입력(286)은 인버터(288)과 인버터(290)에 결합된다. 인버터(288)의 출력은 RS 래치(292)의 SET 입력에 결합된다. 2개의 인버터(290)중의 마지막 인버터의 출력은 마찬가지로 RS 래치(292)의 RESET 입력에 결합된다. 그러므로, 입력(286)상의 발진 값은 궁극적으로 출력으로서 클럭 신호(CLK 및
Figure kpo00041
)를 제공하는 RS 래치(292)에 발진 SET 및 RESET 입력들로서 사용된다.
이제부터, 자체 검사 회로의 전체 동작에 대해서 기술하겠다. 처음에, START 신호는 입력(206)에서 활성로우 상태로 된다. 인버터(278)의 출력, 즉 클리어(CLR) 신호는 비활성 하이 상태로 된다. START 신호가 도달하면 이 STRAT 신호가 순간적으로 로우 상태로 구동되어 원-쇼트 펄스를 갖게 된다.
Figure kpo00042
이 로우 상태인 동안, NAND 게이트(280)은 억제되고, 이것의 입력에서의 START 신호는 링 발진기(284)가 발진하지 못하게 한다. 클리어 신호가 비활성화된 후, START 신호는 게이트(280)을 통해 결합되고 링 발진기(284)는 기능을 시작한다. 클럭 신호(CLK 및
Figure kpo00043
)들이 링 발진기(284) 더욱 상세하게 말하자면 래치(292)에 의해 발생되기 시작하자마자, 어드레스 및 데이터 계수기(216)과 참조 및 제어 계수기(222)에 의해 어드레스가 발생된다. 이 2개의 어드레스들은 익스클루시브-OR 게이트(268)로 구성된 계수기 에러 검출기(218) 내에서 비교 되는데, 이 익스클루시브-OR 게이트(268)의 출력들은 NOR게이트(270)을 통해 NAND 게이트(258)에 결합된다. 궁극적으로, 실패신호가 출력 핀(208)에서 발생된다. 소정의 실패 신호가 먼저 발생하면, 제10h도의 RS래치(266)은 에러를 래치시키고 자체 검사 싸이클의 나머지 부분은 계속 종료된다. 계수기 어드레스들이 동일하면, 참조 및 제어 계수기(222)는 어드레스 및 데이터 계수기(216)에 의해 발생된 어드레스가 데이터 인버터(204)를 통해 반전된 후 메모리(70)내에 기입되게 한다. 이 어드레스는 설계를 위해 선택된 금속화선택 또는 프로그램가능한 워드 길이에 따라 메모리(70)내에 32, 16 또는 8비트 워드내에 데이터로서 기입된다. 도시한 실시예에서는, 32비트 워드 길이가 가정되었다. 어드레스 및 데이터 계수기(216)으부터의 6비트 어드레스의 맵핑은 소정의 경우에 데이터 멀티플랙서(200)에 의해 배열된다. 또한, START신호(206)은 어드레스 멀티플렉서(210) 및 데이터 멀티플렉서(200)이 정성데이타 입력 및 출력버스로부터 메모리(70)을 비접속시키게하고 내부 자체 검사 제어 회로에 의해서만 억세스되게 한다.
반전된 어드레스가 데이터로서 메모리(70)의 어드레스 위치내에 기입된 후, 참조 및 제어 계수기(222)는 해독 싸이클이 실행되게 하여, 각각의 메모리 위치들을 다시 어드레스시키고, 이 메모리내에 기입된 데이터를 에러 검출 논리 회로(220)내의 반전된 어드레스와 비교한다. 에러가 발생하는 경우에, 에러 표시는 RS래치(266)내에서 래치되고 출력 핀(208)에 제공된다. 제1해독 및 가입 싸이클이 완료된 후, 참조 및 제어계수기(222)는 제2기입 싸이클이 실행되게 하여, 비반전된 어드레스가 어드레스 및 데이터 계수기(216)을 통하는 제3통과에 발생된 바와 같이 메모리(70)내에 기입되게 한다. 다시 한번, 참조 및 제어 계수기(222)는 제2해독 싸이클이 실행되게 하고, 제4어드레스 신호 열들이 어드레스 및 데이터 계수기(216)에 의해 발생된다. 메모리(70)내의 비반전된 데이터는 억세스되어, 에러 검출 논리 회로(220)에 의해 다시 비교된다. 이 기입과 해독 싸이클 후에, 참조 및 제어 계수기(222)는 NAND게이트(280)에 결합되는 검사 종료 신호를 발생시키므로 링 발진기(284)를 디스에이블(disable)시킨다. 이때, 자체 검사 싸이클은 완료 및 종료된다.
본 분야에서 통상적인 기술을 갖고 있는 기술자들은 본 발명의 원리 및 범위를 벗어나지 않고서 본 발명을 여러 가지로 변형 및 변경시킬 수 있다. 도시한 실시예는 명확하게 도시하기 위한 예에 불과하고, 다음의 청구범위에 기술한 것을 제외하고는 본 발명을 제한시키지 않는다.

Claims (47)

  1. 다수의 코어 셀들로 구성된 CMOS 게이트 어레이 칩에 있어서, 코어 셀들이 각각 선정된 형태로 배열된 최소한 1개의 P-형 장치 및 N-형 장치를 포함하고 다수의 코어셀들이 최소함 2개의 그룹으로 CMOS 칩내에 배치되며, 한 그룹내의 코어 셀들의 내부 형태가 다른 그룹내의 코어셀들의 내부 형태에 관련하여 거울 대칭성을 나타내도록 한 그룹이 칩 내에 배치되어 있는 것을 특징으로 하는 CMOS 게이트 어레이 칩.
  2. 제1항에 있어서, 다수의 코어 셀들이 칩을 통하는 대칭면을 정하는 선정된 방향을 따라 칩내에 배치되고, 한 그룹이 대칭면의 한 측상에 배치되며 다른 그룹이 대칭면의 다른 측 상에 배치되고, 대칭면의 각각의 측상의 코어셀들의 2개의 그룹이 코어 셀들의 내부 형태에 관련하여 서로에 대하여 거울 대칭성을 갖고 있는 것을 특징으로 하는 CMOS 게이트 어레이 칩.
  3. 제1항에 있어서, 코어 셀들이 제1 및 제2방향으로 일정한 평면형 어레이로 칩내에 배치되고, 코어셀들의 2개의 그룹이 제1방향으로 서로에 관련하여 거울 대칭성을 갖고 선정된 거리만큼 거울 대칭면을 이동시킨 후에 제2방향을 따라 서로에 관련하여 거울 대칭성을 갖고 있는 것을 특징으로 하는 CMOS 게이트 어레이 칩.
  4. 제3항에 있어서, 선정된 거리가 제2방향을 따라 대칭면을 이동시키는 방향의 1개의 코어셀의 일부분인 것을 특징으로 하는 CMOS 게이트 어레이 칩.
  5. 최소한 제1 및 제2반도체 장치로 각각 구성되고 제1방향으로 최소한 2개의 행들로 반도체 칩내에 배치된 다수의 코어 셀들로 구성되고, 각각의 행내의 코어셀의 내부형태가 제1 및 제2반도체 장치들로 구성되며, 한 행이 코어셀의 인접 행에 관련하여 반도체 칩내에 거울 대칭성으로 배치된 내부 형태를 갖고 있고, 제1방향이 코어 셀의 인접행들에 관련하여 거울 대칭면을 정함으로써, 게이트 어레이 내의 복잡한 논리 기능이 용이하게 실행되는 것을 특징으로 하는 반도체 칩내에 형성된 게이트 어레이.
  6. 제5항에 있어서, 코어 셀들의 각각의 행내의 인접 코어셀들이 반도체 칩내에 배치된 각각의 코어 셀 내의 제1 및 제2도체 장치들의 내부 형태에 관련하여 행내에 반복적으로 복제되고, 1개의 코어셀로 구성되는 제1 및 제2반도체 장치가 행내의 제2코어 셀로 구성되는 대응 제1 및 제2반도체 장치와 거울 대칭관계를 가지며, 거울대칭면이 제1 또는 제2반도체 장치들 중 한 반도체 장치와 등가인 거리만큼 행의 방향으로 이동된 후 거울 대칭성이 제1방향에 수직인 제2방향으로 면을 가로질러 설정되는 것을 특징으로 하는 게이트 어레이.
  7. 제6항에 있어서, 게이트 어레이가 CMOS 반도체 칩내에 제조되고, 제1 및 제2반도체 장치들이 최소한 1개의 P-채널 및 1개의 N-채널 장치로 구성되며, 제1거울 대칭면을 가로지르는 제1방향의 다음의 인접 반도체 장치가 정합 도우핑 형태로 된 채널을 갖고 있고, 제2대칭면이 제1 또는 제2반도체 장치들 중의 한 반도체 장치의 폭만큼 행의 방향을 따라 이동된 후에 제2방향을 따르는 제2거울 대칭면에 인접한 제1반도체 장치도 정합 채널 형태를 갖고 있는 것을 특징으로 하는 게이트 어레이.
  8. 다수의 P-형 및 N-형 장치를 각각 포함하는 코어 셀들의 일정한 배열로 구성된 CMOS 게이트 어레이에 있어서 최소한 1쌍의 코어 셀들이 이 코어셀내의 P-형 및 N-형 장치들의 배치에 관련하여 서로 거울 대칭 관계를 갖는 것을 특징으로 하는 CMOS게이트 어레이.
  9. 제8항에 있어서, 코어셀 쌍이 매우 인접해 있는 것을 특징으로 하는 CMOS 게이트 어레이.
  10. 제8항에 있어서, 코어셀 쌍이 선정된 거리만큼 서로 분리되어 있는 것을 특징으로 하는 CMOS 게이트 어레이.
  11. 제10항에 있어서, 코어셀 쌍 사이의 거리가 이들 사이에 배치된 다수의 반도체 장치들을 포함하는 것을 특징으로 하는 CMOS 게이트 어레이.
  12. 제9항에 있어서, 코어셀 쌍이 이 코어셀 내의 N-형 및 P-형 장치들에 관련하여 제2코어셀 쌍과 거울 대칭관계를 갖고 있고, 제2코어셀 쌍이 제1코어 셀 쌍으로부터 선정된 거리에서 게이트 어레이 내에 배치되는 것을 특징으로 하는 CMOS 게이트 어레이.
  13. 제12항에 있어서, 제2코어 셀 쌍이 서로 매우 인접해 있고, 코어셀 내에 포함된 N-형 및 P-형 장치들에 관련하여 서로 거울 대칭 관계인 것을 특징으로 하는 CMOS 게이트 어레이.
  14. 어드레스 가능한 메모리 어레이, 메모리 어레이와 통신하기 위해 어드레스 가능한 메모리 어레이 결합된 다수의 구동기, 및 다수의 구동기들을 데이터 버스 라인들에 맵핑시키는 선정된 맵핑 기능에 따라 다수의 데이터 구동기들에 결합되는 다수의 구동기들의 수 이하인 선정된 수의 다수의 데이터 라인들을 포함하고 에이타 버스 라인들의 수와 동일한 비트의 길이를 갖고 있는 선택된 워드 길이에 대응하도록 형성되는 데이터 버스로 구성되어, 어드레스가능한 메모리 어레이가 선택된 워드 길이에 따라 메모리 어레이와 다수의 구동기들을 통신시키기 위해 다수의 구동기들의 선정된 맵핑을 통해 데이터 버스 라인들에 관련되는 것을 특징으로 하는 프로그램 가능한 워드 길이 메모리.
  15. 제14항에 있어서, 다수의 구동기들과 데이터 버스의 다수의 데이터 버스 라인들 사이의 선정된 맵핑이 선택된 집적 회로 금속 마스크의 사용에 의해 영향을 받는 결합인 것을 특징으로 하는 메모리.
  16. 제14항에 있어서, 어드레스 가능한 메모리 어레이가 등속 호출 메모리이고, 데이터 버스가 선정된 맵핑 기능에 따라 메모리 어레이와 통신하기 위해 다수의 구동기들에 결합되는 입력 데이터 버스와, 선정된 맵핑 기능에 따라 메모리 어레이와 통신하기 위해 다수의 구동기들에 결합되는 출력 데이터 버스로 구성되는 것을 특징으로 하는 메모리.
  17. 제14항에 있어서, 각각의 구동기가 3상태 회로를 통해 데이터 버스로부터 메모리 어레이에 결합되는 것을 특징으로 하는 메모리.
  18. 제14항에 있어서, 다수의 데이타 버스 라인들의 수가 약수 차에 대응하는 용장과 함께 다수의 데이터 버스 라인들에 결합되는 다수의 구동기들의 수의 약수인 것을 특징으로 하는 메모리.
  19. 메모리 어레이로부터 어드레스가능한 최정 워드 길이에 대응하는 메모리 셀들의 다수의 열, 및 다수의 행으로 구성된 메모리 셀들의 등속 호출 메모리 어레이, 메모리 어레이에 결합되고, 메모리 어레이 행을 선택하여 이 행과 통신하기 위한 제1장치, 메모리 어레이에 결합되고 메모리 어레이의 최소한 1개의 열을 선택하여 이 열과 통신하기 위한 제2장치, 메모리 어레이 내에서 어드레스 가능한 최대 워드 길이 이하인 선택된 길이의 이진 워드를 통신시키기 위한 데이터 버스, 및 제2장치와 데이터 버스에 결합되고 선정된 맵핑 기능에 따라 제2장치와 데이터 버스를 결합시키기 위한 제3장치로 구성되어, 메모리가 선정된 맵핑 기능에 따라 메모리 어레이의 최대 워드길이를 초과하지 않는 선택된 워드길이의 이진 워드를 통신시키도록 임의적으로 형성될 수 있는 것을 특징으로 하는 프로그램 가능한 워드 길이 메모리.
  20. 제19항에 있어서, 제3장치가 선정된 형태의 집적회로 금속 마스크인 것을 특징으로 하는 메모리.
  21. 제19항에 있어서, 제2장치가 메모리 어레이의 각각의 열에 각각 결합된 다수의 구동기, 및 메모리 어레이와 데이터 버스 사이를 통신시키기 위해 다수의 구동기들 중의 선정된 구동기를 선택하여 엔어이블시키기 위한 제4장치로 구성되는 것을 특징으로 하는 메모리.
  22. 제21항에 있어서, 다수의 구동기들이 데이터 버스와 결합하기 위한 다수의 대응 입력들과 데이터 버스와 결합하기 위한 다수의 대응 출력들을 갖고 있고, 제3장치가 다수의 입력들을 데이터 버스 상의 인입 데이터에 결합시키고 다수의 출력들을 다수의 구동기들을 통해 데이터 버스에 통신된 메모리 어레이로부터 출력되는 데이터에 결합시키기 위해 집적회로 금속 마스크로 구성되는 것을 특징으로 하는 메모리.
  23. 제19항에 있어서, 다수의 구동기들의 수가 제1크기의 2배와 동일하고, 데이터 버스가 제1크기 이하인 제2크기의 2개와 동일한 워드 길이를 갖고 있는 이전 워드를 이송시키도록 배열 및 형성되며, 제3장치가 제1과 제2크기 사이의 수적 차이와 동일한 제3크기를 2배한 것과 동일하게 결합된 병렬 결합 구동기들의 수의 용장과 병렬로 다수의 구동기들을 결합시키는 것을 특징으로 하는 메모리.
  24. 제23항에 있어서, 메모리 어레이가 다수의 대응 구동기들에 결합된 최소한 64개의 어드레스 가능한 열들로 구성되고, 데이터 버스가 64의 약수와 수적으로 동일한 다수의 데이터 라인들로 구성되며, 제3장치가 데이터 버스의 워드 길이와 64사이의 이진 크기 차이의 동일한 용장과 병렬로 다수의 구동기들을 데이터 라인들에 결합시키는 것을 특징으로 하는 메모리.
  25. 각각의 대응적으로 어드레스된 위치내에 기입하기 위한 데이터와 메모리 내의 각각의 위치의 어드레스를 발생시키기 위해 메모리에 결합된 어드레스 및 데이터 계수기 장치, 어드레스 및 데이터 계수기 장치에 의해 발생된 어드레스 및 데이터 계수기 장치에 의해 발생된 어드레스 및 데이터에 응답하여 메모리의 해독/기입 사이클을 제어하기 위해 메모리에 결합된 제어 장치, 및 제어장치의 제어 하에 어드레스 및 데이터 계수기의 장치로부터 메모리 내에 기입된 데이터를 제어장치에 의한 제어에 응답하여 메모리로부터 해독된 데이터와 비교하고 이들 사이의 에러들을 검출하기 위해 메모리와 어드레스 및 데이터 계수기 장치에 결합된 에러검출 장치로 구성되어, 메모리 내의 각각의 위치가 메모리의 동작 가능성을 점검하도록 메모리 내에 기입되고 메모리로부터 해독된 데이터로 어드레스될 수 있는 것을 특징으로 하는 외부 판에 직접 접속되어 있지 않은 메모리를 자체 검사하기 위한 회로.
  26. 제25항에 있어서, 제어장치가, 메모리내에 기입된 데이터를 메모리로부터 해독된 데이터와 비교하기 위해 에러 검출장치에 결합되고 어드레스 및 데이터 계수기 장치와 병렬로 어드레스 및 데이터를 발생시키기 위한 참조 계수기 장치를 포함하는 것을 특징으로 하는 회로.
  27. 제26항에 있어서, 어드레스 및 데이터 계수기 장치에 결합되고 제어 장치에 의해 선택적으로 제어되고 데이터 또는 반전된 데이터를 메모리 내에 기입하도록 제어장치에 결합된 데이터 인버터 장치를 포함하는 것을 특징으로 하는 회로.
  28. 제25항에 있어서, 메모리내에 기입된 데이터가 각각의 메모리 위치내로의 어드레스의 선정된 맵핑인 것을 특징으로 하는 회로.
  29. 제25항에 있어서, 제어장치가 다수의 워드 길이 모우드들 중의 선택된 모우드로 형성될 수 있는 것을 특징으로 하는 회로.
  30. 제25항에 있어서, 어드레스 및 데이터 장치에 결합된 입력개시 핀과, 메모리의 동작가능성에 관련된 정보를 통신받기 위해 에러 검출장치에 결합된 출력 실패 핀을 포함하는 것을 특징으로 하는 회로.
  31. 자체 검사를 개시하기 위해 외부 START 신호를 수신하기 위한 개시핀, 개시 핀에 결합되는 START 신호에 의해 발신이 개시되는 발진기, 메모리용 어드레스 및 어드레스된 메모리 내에 기입될 데이터로서 사용할 수 있는 신호를 발생시키기 위해 발진기에 결합되고 응답하여 동작할 수 있고 발진기에 결합된 어드레스 및 데이터 계수기, 어드레스 및 데이터 계수기에 의해 발생된 신호와 최소한 부분적으로 동일한 신호를 발생시키기 위해 발진기에 결합되고 메모리의 해독/기입 제어 및 자체 검사 종료의 제어 및 결정에 관련하여 제어 신호들을 제공하기 위한 참조 및 제어 계수기, 신호를 어드레스로서 메모리에 선택적으로 결합시키기 위해 어드레스 및 데이터 계수기에 결합된 어드레스 멀티플렉서, 신호를 데이터 신호 입력으로서 메모리에 결합시키기 위해 어드레스 및 데이터 계수기에 결합된 데이터 멀티플렉서, 및 참조 및 제어 계수기에 결합되고 이에 응답하여 해독 및 기입 싸이클내에서 동작할 수 있는 메모리에 결합되고 어드레스 및 데이터 계수기에 결합되며 메모리 내에 기입된 데이터가 메모리로부터 해독된 대응 데이터와 상이할 때마다 실패 신호를 발생시키기 위한 에러 검출회로, 및 에러 검출 회로내에서의 유효 비교의 실패시에 발생되는 실패신호를 수신하여 사용자 엑세스 가능한 포오트에 통신하기 위하여 에러 검출회로에 결합된 실패 핀으로 구성되고, 데이터가 참조 및 제어 계수기의 제어 하에 메모리 내에 기입되며, 데이터가 참조 및 제어 계수기의 제어 하에 메모리로부터 해독되고 어드레스 및 데이터 계수기로부터 메모리를 해독하는 동안에 발생된 대응 신호와 에러 검출 회로 내에서 서로 비교되는 것을 특징으로 하는 메모리의 동작 가능성을 자체 검사하고 동작 가능성의 상태를 사용자 억세스 가능한 포오트에 통신하기 위한 회로.
  32. 제31항에 있어서, 어드레스 및 데이터 계수기와 데이터 멀티플렉서와 에러 검출 회로 사이에 결합되고 참조 및 제어 계수기에 결합되어 어드레스 및 데이터 계수기에 의해 발생된 데이터를 선택적으로 반전시키도록 제어되는 데이터 인버터를 포함하여, 선정된 데이터가 메모리 내에 기입되어 비교되며, 선정된 데이터의 논리적 반전이 메모리 내에 기입되어 비교될 수 있는 것을 특징으로 하는 회로.
  33. 제31항에 있어서, 어드레스 및 데이터 계수기와 참조 및 제어 계수기에 결합되고, 어드레스 및 데이터 계수기와 참조 및 제어 계수기에 의해 발생된 신호들을 비교하여 신호들이 상이할 때마다 실패 신호를 발생시키기 위한 계수기 에러 검출기를 포함하는 것을 특징으로 하는 회로.
  34. 제31항에 있어서, 참조 및 제어 계수기와 메모리 내에 스토어된 워드 길이에 따라 제어 신호들을 발생시키도록 선택적으로 형성되고 메모리 제어 해독 기입 신호들을 발생시키기 위한 선택적으로 형성할 수 있는 장치를 포함하는 것을 특징으로 하는 회로.
  35. 제31항에 있어서, 발진기가 자유 가동 발진기이고, 어드레스 및 데이터 계수기와 참조 및 제어 계수기가 최소한 부분적으로 설계가 거의 동일한 리플 계수기인 것을 특징으로 하는 회로.
  36. 외부 사용자가 억세스할 수 있는 개시핀에서 개시신호를 수신하는 수단, 제1신호를 발생시키는 수단, 어드레스로서 제1신호를 사용하여 메모리내의 위치를 어드레스하는 수단, 제1신호를 기초로 한 제1워드를 발생시키는 수단, 제1신호에 의해 결정된 어드레스된 위치에서 제1워드를 메모리내에 기입하는 수단, 제2신호를 발생시키는 수단, 어드레스로서 제2신호를 사용함으로써 메모리 내의 위치를 어드레스하는 수단, 제2신호를 기초로한 제2워드를 발생시키는 수단, 제2신호에 의해 결정된 바와 같이 어드레스된 위치에서 메모리의 내용을 해독하는 수단, 제1신호에 대응하는 내용과 제2신호에 대응하는 어드레스와의 동일성을 결정하도록 제2신호를 기초로 한 제2워드에 비교하는 수단, 및 비교 수단이 제1신호에 대응하는 내용과 제2신호에 대응하는 어드레스사이의 동일서의 결함을 나타낼 때마다 억세스 가능한 실패 핀에서 신호를 발생시키는 수단을 포함하여, 메모리의 동작 가능성이 단일 개시핀을 통해 외부 사용자와 통신함으로써 검사되고 표시되는 것을 특징으로 하는 메모리의 동작 가능성을 자체 검사하고 동작 가능성의 상태를 외부 사용자에 통신하기 위한 방법.
  37. 제36항에 있어서, 메모리를 어드레스하기 위해 제3신호를 발생시키는 수단, 제3신호를 사용하여 메모리 내의 위치를 어드레스하는 수단, 제3신호를 논리적으로 반전시키는 수단, 반전된 제3신호를 기초로 한 제3워드를 어드레스된 메모리 위치내에 기입하는 수단, 제4신호를 발생시키는 수단, 제4신호를 사용함으로써 메모리를 어드레스하는 수단, 메모리를 해독하는 수단, 반전된 제3신호에 대응하는 메모리 위치의 내용을 해독시에 메모리를 어드레스하기 위해 사용된 제4신호를 기초로한 제4워드와 비교하는 수단, 및 비교수단이 제4신호에 의해 어드레스될 때 반전된 제3신호에 대응하는 내용들 사이의 동일성을 나타내는 것을 실패할 때 실패 신호를 발생시키는 수단을 포함하여, 이진 1과 0이 메모리의 동작 가능성을 결정하도록 메모리 내의 각각의 비트 위치내에 순차적으로 기입되고 해독되며 비교되는 것을 특징으로 하는 방법.
  38. 제36항에 있어서, 제1워드를 제1신호에 의해 어드레스된 메모리의 내용내에 기입하는 수단이 선정된 대수 방식에 따라 제1신호로부터 최소한 부분적으로 제1워드를 발생시키는 수단을 포함하고, 제2신호에 의해 어드레스된 메모리의 내용을 비교하는 수단이 선정된 대수 방식에 따라 제2신호로부터 최소한 부분적으로 제2워드를 발생시키는 수단을 포함하는 것을 특징으로 하는 방법.
  39. 제38항에 있어서, 제1 및 제2신호가 동일한 것을 특징으로 하는 방법.
  40. 제38항에 있어서, 제3 워드를 제3신호에 의해 어드레스된 메모리의 내용내에 기입하는 수단이 선정된 대수 방식에 따라 제3신호로부터 최소한 부분적으로 제3워드를 발생시키는 수단을 포함하고, 제4신호에 의해 어드레스된 메모리의 내용을 비교하는 수단이 선정된 대수방식에 따라 제4신호로부터 최소한 부분적으로 제4워드를 발생시키는 수단을 포함하는 것을 특징으로 하는 방법.
  41. 제40항에 있어서, 제3 및 제4신호가 동일한 것을 특징으로 하는 방법.
  42. 제41항에 있어서, 제1 및 제2신호가 동일한 것을 특징으로 하는 방법.
  43. 게시핀에서 외부 START 신호를 수신하는 수단, 개시핀에 결합되고 개시핀에서 수신된 START시호에 응답하여 개시되는 발진기를 개시시키는 수단, 발진기에 결합되어 이 발진기의 동작에 응답하는 어드레스 및 데이터 계수기에 의해 메모리용 어드레스 및 어드레스된 메모리내에 기입될 데이터로서 사용할 수 있는 제1신호를 발생시키는 수단, 발진기에 결합되어 이 발진기에 응답하는 참조 및 제어 계수기에 의해 제1신호와 최소한 부분적으로 동일한 제2신호를 발생시키는 수단, 제1신호를 어드레스 멀티플렉서 및 데이터를 멀티플렉서를 통해 메모리에 결합시키는 수단, 제1신호에 대응하는 한 어드레스에서 데이터 멀피플렉서를 통해 맵된 제1데이타 워드를 메모리내에 기입하는 수단, 제2신호에 대응하는 한 어드레스에서 메모리로부터 제1데이타 워드를 해독하는 수단, 제2신호에 대응하는 제2데이타 워드를 발생시키는 수단, 제1 및 제2데이터 워드의 동일성을 비교하는 수단, 제1 및 제2데이터 워드들 사이의 동일성이 결여될 때 실패 신호를 발생시키는 수단, 및 메모리의 동작 가능성의 상태를 실패 핀을 통해 외부 사용자에게 통신하기 위해 실패 신호를 실패 핀에 전송하는 수단을 포함하여, 메모리가 자체 검사되고, 메모리의 동작 가능성의 상태가 단일 개시핀 및 단일 실패 핀을 통해 외부 사용자에게 통신되는 것을 특징으로 하는 메모리의 동작 가능성을 자체 검사하고 동작 가능성의 상태를 사용자에게 통신하기 위한 방법
  44. 제43항에 있어서, 제1데이타 워드를 반전시키는 수단, 제1신호에 대응하는 한 어드레스에서 메모리내에 반전된 제1데이타 워드를 기입하는 수단, 제2신호에 대응하는 한 어드레스에서 메모리로부터 제1데이타 워드를 해독하는 수단, 제2신호에 대응하는 제2의 반전된 데이터워드를 발생시키는 수단, 동일성을 위해 반전된 제1 데이터워드를 반전된 제2데이타워드에 비교하는 수단, 반전된 제1데이타 워드와 반전된 제2데이터 워드 사이의 동일성의 결여시에 실패 신호를 발생시키는 수단을 포함하여, 1과 0에 메모리 내의 각각의 비트 위치내에 순차적으로 기입되어 동작 가능성이 검사되는 것을 특징으로 하는 방법.
  45. 제44항에 있어서, 참조 및 제어 계수기에 의해 발생되는 다수의 제어 신호들을 발생시키는 수단을 포함하고, 반전된 제1데이타 워드 및 반전된 제2데이타 워드를 해독, 기입 및 발생시키는 수단이 참조 및 제어 계수기에 의해 발생된 제어 신호들에 응답하여 실행되는 것을 특징으로 하는 방법.
  46. 선정된 형태로 배열된 최소한 1개의 P-형 장치 및 1개의 N-형 장치를 각각 포함하고 최소한 2개의 그룹으로 CMOS칩내에 배치되며 한 그룹 내의 코어 셀의 내부 형태가 다른 그룹내의 코어 셀의 내부 형태에 관련하여 거울 대칭성을 나타내도록 한 그룹이 칩내에 배치된 다수의 코어 셀, 및 칩상에 형성되고 코어 셀에 결합된 메모리 어레이로 구성되고, 코어 셀들이 한 셋트의 급속 마스크들 중의 대응금속 마스크를 선택하여 사용함으로써 선정된 한 세트의 형태들 중의 한 형태에 따라 상호접속할 준비를 하도록 형성되므로, 메모리가 8비트, 16비트 또는 32비트 워드 길이 모우드 내에서 동작하게 될 수 있는 것을 특징으로 하는 CMOS 게이트 어레이 칩.
  47. 제46항에 있어서, 데이터를 메모리의 각각의 위치에 기입하고, 메모리의 각각의 위치의 내용을 독출하며, 메모리의 각각의 위치의 내용을 메모리의 위치내에 기입되어 있어야 하는 데이터와 비교하고, 비교 결과를 나타내는 통과/실패 핀 상에 출력 신호를 제공함으로써 메모리를 검사하기 위해 외부적으로 인가된 개시신호에 의해 개시되는 칩상의 회로를 포함하는 것을 특징으로 하는 CMOS 게이트 어레이 칩.
KR1019850005065A 1984-07-18 1985-07-16 쌍방향성 대칭인 게이트 어레이내의 프로그램가능한 워드 길이 및 자체 검사 메모리 KR900000182B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/632,099 US4724531A (en) 1984-07-18 1984-07-18 Gate array with bidirectional symmetry
US632099 2000-08-03

Publications (2)

Publication Number Publication Date
KR860001487A KR860001487A (ko) 1986-02-26
KR900000182B1 true KR900000182B1 (ko) 1990-01-23

Family

ID=24534074

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019850005065A KR900000182B1 (ko) 1984-07-18 1985-07-16 쌍방향성 대칭인 게이트 어레이내의 프로그램가능한 워드 길이 및 자체 검사 메모리

Country Status (14)

Country Link
US (1) US4724531A (ko)
EP (1) EP0188431B2 (ko)
JP (2) JPS61502789A (ko)
KR (1) KR900000182B1 (ko)
AU (2) AU560082B2 (ko)
CA (1) CA1242276A (ko)
DE (3) DE3486312T2 (ko)
DK (1) DK324885A (ko)
ES (1) ES8704039A1 (ko)
IL (1) IL75514A (ko)
IN (1) IN166001B (ko)
IT (1) IT1182069B (ko)
NO (1) NO168558C (ko)
WO (1) WO1986001036A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7731558B2 (en) 2007-08-15 2010-06-08 Jon Capriola Illuminated toy building structures
CN108140404A (zh) * 2015-10-05 2018-06-08 硅存储技术公司 全耗尽型绝缘体上硅闪存存储器设计

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61169941A (ja) * 1985-01-22 1986-07-31 Sony Corp 記憶装置
JPS61227289A (ja) * 1985-03-30 1986-10-09 Fujitsu Ltd 半導体記憶装置
EP0263312A3 (en) * 1986-09-08 1989-04-26 Kabushiki Kaisha Toshiba Semiconductor memory device with a self-testing function
US4922441A (en) * 1987-01-19 1990-05-01 Ricoh Company, Ltd. Gate array device having a memory cell/interconnection region
DE3718182A1 (de) * 1987-05-29 1988-12-15 Siemens Ag Verfahren und anordnung zur ausfuehrung eines selbsttestes eines wortweise organisierten rams
US4849904A (en) * 1987-06-19 1989-07-18 International Business Machines Corporation Macro structural arrangement and method for generating macros for VLSI semiconductor circuit devices
JP2659095B2 (ja) * 1987-06-30 1997-09-30 富士通株式会社 ゲートアレイ及びメモリを有する半導体集積回路装置
US5062080A (en) * 1987-08-03 1991-10-29 Motorola, Inc. Method and apparatus for enabling a memory
US5230067A (en) * 1988-05-11 1993-07-20 Digital Equipment Corporation Bus control circuit for latching and maintaining data independently of timing event on the bus until new data is driven onto
NL194182C (nl) * 1988-07-23 2001-08-03 Samsung Electronics Co Ltd Randloze moederschijf-halfgeleiderinrichting.
US5027319A (en) * 1988-09-02 1991-06-25 Motorola, Inc. Gate array macro cell
US5146428A (en) * 1989-02-07 1992-09-08 Hitachi, Ltd. Single chip gate array
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5644496A (en) * 1989-08-15 1997-07-01 Advanced Micro Devices, Inc. Programmable logic device with internal time-constant multiplexing of signals from external interconnect buses
US5255203A (en) * 1989-08-15 1993-10-19 Advanced Micro Devices, Inc. Interconnect structure for programmable logic device
US5251228A (en) * 1989-12-05 1993-10-05 Vlsi Technology, Inc. Reliability qualification vehicle for application specific integrated circuits
US5210860A (en) * 1990-07-20 1993-05-11 Compaq Computer Corporation Intelligent disk array controller
US5270964A (en) * 1992-05-19 1993-12-14 Sun Microsystems, Inc. Single in-line memory module
DE4227281C1 (de) * 1992-08-18 1994-02-10 Siemens Ag Anordnung zum Testen eines Speichers nach dem Selbsttestprinzip
US5617534A (en) * 1994-02-16 1997-04-01 Intel Corporation Interface protocol for testing of a cache memory
US5502621A (en) * 1994-03-31 1996-03-26 Hewlett-Packard Company Mirrored pin assignment for two sided multi-chip layout
JPH09107048A (ja) 1995-03-30 1997-04-22 Mitsubishi Electric Corp 半導体パッケージ
US6041426A (en) * 1995-04-07 2000-03-21 National Semiconductor Corporation Built in self test BIST for RAMS using a Johnson counter as a source of data
US5689466A (en) * 1995-04-07 1997-11-18 National Semiconductor Corporation Built in self test (BIST) for multiple RAMs
US5552721A (en) * 1995-06-05 1996-09-03 International Business Machines Corporation Method and system for enhanced drive in programmmable gate arrays
US5767565A (en) * 1996-07-22 1998-06-16 Alliance Semiconductor Corporation Semiconductor devices having cooperative mode option at assembly stage and method thereof
US5805520A (en) * 1997-04-25 1998-09-08 Hewlett-Packard Company Integrated circuit address reconfigurability
JP3797810B2 (ja) 1998-11-30 2006-07-19 松下電器産業株式会社 半導体装置
JP2002083001A (ja) * 2000-09-06 2002-03-22 Hitachi Ltd 論理回路の設計方法及びそれに使用するセルライブラリ
US6470475B2 (en) * 2000-11-23 2002-10-22 Stmicroelectronics Ltd. Synthesizable synchronous static RAM
JP2003099414A (ja) * 2001-09-21 2003-04-04 Mitsubishi Electric Corp 半導体集積回路
KR100368021B1 (ko) * 2001-11-22 2003-01-15 주식회사 메리디안 맥상분석장치
US8176370B2 (en) * 2003-09-12 2012-05-08 Broadcom Corporation Method and system for direct access memory testing of an integrated circuit
US9003168B1 (en) * 2005-02-17 2015-04-07 Hewlett-Packard Development Company, L. P. Control system for resource selection between or among conjoined-cores
KR101036233B1 (ko) * 2009-09-22 2011-05-20 광운대학교 산학협력단 이차 미분 맥파의 특징점 분포를 이용한 특징점 검출 방법 및 장치
US10719477B1 (en) * 2019-06-20 2020-07-21 Semiconductor Components Industries, Llc Methods and system for an integrated circuit

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2123040B1 (ko) * 1970-05-29 1974-05-03 Cii
US3686640A (en) * 1970-06-25 1972-08-22 Cogar Corp Variable organization memory system
GB1440512A (en) * 1973-04-30 1976-06-23 Rca Corp Universal array using complementary transistors
US3999214A (en) * 1974-06-26 1976-12-21 Ibm Corporation Wireable planar integrated circuit chip structure
US4099253A (en) * 1976-09-13 1978-07-04 Dynage, Incorporated Random access memory with bit or byte addressing capability
DE2846890A1 (de) * 1978-10-27 1980-05-08 Siemens Ag Verfahren zur ueberpruefung von speichern mit wahlfreiem zugriff
DE2948159C2 (de) * 1979-11-29 1983-10-27 Siemens AG, 1000 Berlin und 8000 München Integrierter Speicherbaustein mit wählbaren Betriebsfunktionen
US4431928A (en) * 1981-06-22 1984-02-14 Hewlett-Packard Company Symmetrical programmable logic array
US4556947A (en) * 1982-08-23 1985-12-03 Motorola, Inc. Bi-directional switching circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7731558B2 (en) 2007-08-15 2010-06-08 Jon Capriola Illuminated toy building structures
CN108140404A (zh) * 2015-10-05 2018-06-08 硅存储技术公司 全耗尽型绝缘体上硅闪存存储器设计

Also Published As

Publication number Publication date
JPS61502789A (ja) 1986-11-27
ES8704039A1 (es) 1987-03-01
DE3486320T2 (de) 1994-10-06
ES545316A0 (es) 1987-03-01
US4724531A (en) 1988-02-09
AU560082B2 (en) 1987-03-26
IL75514A0 (en) 1985-10-31
EP0188431A1 (en) 1986-07-30
IN166001B (ko) 1990-02-24
KR860001487A (ko) 1986-02-26
DE3486312T2 (de) 1994-09-22
EP0188431B2 (en) 1994-08-17
DE3483971D1 (de) 1991-02-21
IT1182069B (it) 1987-09-30
IL75514A (en) 1990-11-05
WO1986001036A1 (en) 1986-02-13
DE3486312D1 (de) 1994-07-07
CA1242276A (en) 1988-09-20
AU4339585A (en) 1986-01-23
NO168558C (no) 1992-03-04
IT8548362A0 (it) 1985-07-17
EP0188431B1 (en) 1991-01-16
DK324885A (da) 1986-01-19
JPH07175719A (ja) 1995-07-14
AU6769587A (en) 1987-04-30
NO168558B (no) 1991-11-25
AU582939B2 (en) 1989-04-13
DK324885D0 (da) 1985-07-17
NO852621L (no) 1986-01-20
DE3486320D1 (de) 1994-07-21

Similar Documents

Publication Publication Date Title
KR900000182B1 (ko) 쌍방향성 대칭인 게이트 어레이내의 프로그램가능한 워드 길이 및 자체 검사 메모리
Van De Goor et al. Address and data scrambling: Causes and impact on memory tests
EP0262867B1 (en) Integrated circuit with memory self-test
KR950011728B1 (ko) 온-칩 ecc 및 최적화된 비트 및 워드 여유도를 갖는 dram
Adams High performance memory testing: design principles, fault modeling and self-test
US6275963B1 (en) Test circuit and a redundancy circuit for an internal memory circuit
US5301156A (en) Configurable self-test for embedded RAMs
US6108806A (en) Method of testing and diagnosing field programmable gate arrays
JP4601737B2 (ja) メモリ混載ロジックlsi
US5537665A (en) Multiple bank column redundancy intialization controller for cache RAM
US6521994B1 (en) Multi-chip module having content addressable memory
USRE34445E (en) Self-testing dynamic RAM
EP0118704B1 (en) Integrated circuit device and method of diagnosing the same
EP1727156B1 (en) An improved area efficient memory architecture with decoder self test and debug capability
US7990787B2 (en) Memory compiler redundancy
US5369646A (en) Semiconductor integrated circuit device having test circuit
US4581739A (en) Electronically selectable redundant array (ESRA)
KR20030014584A (ko) 반도체 집적회로장치
US4922441A (en) Gate array device having a memory cell/interconnection region
US6662315B1 (en) Parallel test in asynchronous memory with single-ended output path
EP0323438B1 (en) Circuit and method for self-testing a memory in a gate array with a bidirectional symmetry
EP0512536B1 (en) Programmable logic unit circuit
EP1351065B1 (en) A field programmable device
KR940011428B1 (ko) 반도체 기억장치의 테스트 회로
Hill et al. Preliminary description of Tabula Rasa, an electrically reconfigurable hardware engine

Legal Events

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

Payment date: 19941221

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee