KR100492205B1 - 집적회로메모리디바이스의내장자가테스트구성 - Google Patents

집적회로메모리디바이스의내장자가테스트구성 Download PDF

Info

Publication number
KR100492205B1
KR100492205B1 KR1019970017421A KR19970017421A KR100492205B1 KR 100492205 B1 KR100492205 B1 KR 100492205B1 KR 1019970017421 A KR1019970017421 A KR 1019970017421A KR 19970017421 A KR19970017421 A KR 19970017421A KR 100492205 B1 KR100492205 B1 KR 100492205B1
Authority
KR
South Korea
Prior art keywords
bist
address
test
signal
circuit
Prior art date
Application number
KR1019970017421A
Other languages
English (en)
Other versions
KR970071846A (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 KR970071846A publication Critical patent/KR970071846A/ko
Application granted granted Critical
Publication of KR100492205B1 publication Critical patent/KR100492205B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/30Marginal testing, e.g. by varying supply voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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/27Built-in tests
    • 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/12015Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
    • 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/14Implementation of control logic, e.g. test mode decoders
    • 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/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
    • 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
    • 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/38Response verification devices
    • 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/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56012Timing aspects, clock generation, synchronisation
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K999/00PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS dummy group
    • H05K999/99PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS dummy group dummy group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells

Abstract

본 발명의 집적 회로는 내장 자가 테스트 (built-in self-test; BIST) 구성(60)을 갖는다. 이 내장 자가 테스트 구성은 테스트 알고리즘 명령을 저장하는 판독 전용 메모리(ROM)(140)를 포함한다. ROM 논리 회로(410)는 상기 판독 전용 메모리로부터 판독된 명령을 수신하고 상기 명령에 따른 출력 신호들의 그룹을 발생시킨다. BIST 레지스터(420)는 집적 회로의 자가 테스트를 제어하기 위해 상기 논리 회로로부터의 출력 신호들의 그룹을 수신해서 저장한다.

Description

집적 회로 메모리 디바이스의 내장 자가 테스트 구성
본 발명은 집적 회로 디바이스를 테스팅하는 분야에 관한 것으로, 보다 상세히 설명하자면 집적 회로 디바이스의 내장 자가 테스트(BIST) 구성에 관한 것이다.
종래 메모리 디바이스를 테스팅하는 경우, 테스터를 사용하여 RAS, CAS, 및 WE 등의 제어 신호, Ao 내지 An 등의 어드레스 신호 및 데이타를 테스트 중의 디바이스에 공급한다. 테스터에 의해 테스트 중의 디바이스로부터 나온 출력을 샘플하여 디바이스의 패스 또는 페일(pass/fail)을 판단한다. 메모리를 테스팅하는 데는 디바이스의 밀도가 증가할수록 보다 긴 테스터의 시간을 필요로 한다. 이로 인해 테스트 비용이 상승된다. 집적 회로 메모리 디바이스의 용량이 256 Mbit 이상으로 증가하면, 디바이스당 테스팅 시간은 집적 회로 메모리 디바이스의 비용에 있어서 중요한 요인이 된다.
집적 회로 메모리 디바이스를 테스팅함에 있어서 디바이스당 필요로 하는 시간을 줄이는 한 가지 방법으로서, 단일 테스트 데이타 비트를 수개의 셀에 적용하여 단일 테스트 데이타 비트를 수개의 셀에 병렬로 동시에 멀티플렉싱하는 방법이 있다. 그러나, 단일 셀이 동시에 액세스되지 않는 경우에는 실패를 방지할 수 없다. 제한된 병렬화, 즉 동시에 테스트되는 유닛(unit)의 수가 제한되어짐으로써, 높은 테스트 시간이 긴 제조 사이클 시간으로 이어진다. 한 배치(one batch)의 메모리 디바이스를 테스팅하기 위해서는 일부 메모리 디바이스가 사실상 기능 테스트를 받는 동안 대부분의 다른 디바이스는 테스트 받기 위해 큐(queue)에서 대기해야 한다. 한 가지 해결 방안으로서는 보다 많은 수의 테스터를 사용하는 방법이 있지만, 이것은 보다 높은 비용이 들기 때문에 실용적이 아니다. 이로 인해, 테스트된 한 배치의 메모리 디바이스를 고객에게 전달하는 시간은 증가하게 된다. 다른 해결 방안으로서는 테스터에 의한 테스트를 테스트 중의 디바이스에 병렬로 적용시키는 것이 있다. 이러한 방안에 있어서의 문제점은 병렬 리드간의 누화(crosstalk) 때문에 병렬 리드가 종종 양호한 디바이스를 페일나게 하는 요인이 된다는 것이다.
따라서, 메모리 디바이스당 테스터에 많은 시간을 요하지 않으면서 대용량의 메모리 디바이스를 효율적으로 테스트할 수 있는 방법을 필요로 한다.
상기 및 기타 문제점은 내장 자가-테스트(BIST) 구성을 갖는 집적 회로에 의해 해결된다. 내장 자가-테스트(BIST) 구성은 테스트 알고리즘 명령을 저장하는 판독 전용 메모리를 포함한다. 논리 회로가 판독 전용 메모리로부터 판독한 명령을 수신하여 그 명령에 따라 출력 신호의 그룹을 발생시킨다. BIST 레지스터는 집적 회로의 자가 테스트를 제어하기 위해 논리 회로부터 나온 출력 신호의 그룹을 수신 및 기억한다. 패스/페일 비교기 회로는 예상된 데이타 비트를 메모리 어레이에 기록하고 메모리 어레이로부터 판독된 데이타 비트와 비교하여 집적 회로가 테스트에 패스했는지 또는 페일으로 판정됐는지를 결정한다.
도 1 내지 도 4를 참조하면, 내장 자가 테스트(BIST) 구성(60)을 포함한 집적 회로 동적 랜덤 액세스 메모리 디바이스(50)의 블록도가 도시되어 있다. 이 디바이스(50)는 정상 동작 동안 싱크로너스 랜덤 액세스 메모리로서 동작하도록 설계된다. 이와는 다르게, 내장 자가 테스트 구성은 디바이스(50)가 정상 모드로 동작하지 않는 동안에는 때때로 독특한 자가 테스트 모드로 동작한다. 내장 자가 테스트 구성은 모든 테스트 신호가 디바이스에서 내부적으로 발생되도록 설계되며, 자가 테스트를 수행하는 자가 테스트 모드에 디바이스를 두기 위해 단지 간단한 셋업만 취한다. 간단한 셋업에 의해서 내장 자가 테스트 구성은 비용면에서 효율적인 방식으로 메모리 자가 테스트를 수행한다. 이러한 구성은 또한 많은 디바이스가 테스터 리소스(resource)에 구애되지 않고 병렬로 테스트될 수 있게 해준다.
디바이스(50)가 정상 모드에서 동작할 때에는 잘 알려진 싱크로너스 동적 랜덤 액세스 메모리 디바이스와 같이 동작한다. 마이크로프로세서와 같은 디지털 프로세서에 의해 생성되는 로우 및 칼럼 어드레스는 어드레스 버스(A0-A13)를 경유해 이들을 각각 로딩하는 제어 신호 RAS_ 및 CAS_까지 어드레스 버퍼(100)로 타임멀티플렉싱된다. 그 후, 이들은 로우 디코더(200)나 칼럼 디코더(210) 중 어느 하나에 의해 디코딩된다. 제어 신호 RAS_ 및 CAS_는 도시되지는 않았지만 디지털 프로세서에 의해 역시 생성된다.
디지털 프로세서로부터의 기록 인에이블 신호(write enable signal) WE_의 상태에 따라, 데이타는 메모리 어레이(220)의 뱅크에 위치한 저장 셀로 기록되거나 이로부터 판독된다. 메모리 어레이(20)의 뱅크 내로 기록될 데이타는 데이타 버스(DQ0-DQ31)를 경유해 디바이스(50)에 인가된다. 이 인입 데이타는 데이타 버퍼 회로(230)에 버퍼링되고 내부 데이타 버스(230)를 경유하여 덮어 씌어지거나 규정된 시간 간격에서 더 길게 리프레쉬되지 않을 때까지 저장되는 메모리 어레이(220)로 전해진다. 데이타가 메모리(220)에 저장되어 있는 동안, 이 데이타는 에드레싱되고 어레이(220)에서 판독되어 내부 데이타 버스(240)와 데이타 버퍼 회로(230)를 통해 데이타 버스(DQ0-DQ31)로 전해질 수 있다. 이 데이타 버스(DQ0-DQ31)는 마이크로프로세서와 같이 도시되지는 않지만 통상 디지털 프로세서의 데이타 수신 및 송신 터미널에 접속된다.
메모리 디바이스(50)는 싱크로너스 동적 랜덤 액세스 메모리이기 때문에, 시스템에 접속된 디지털 프로세서, 주변 디바이스 및 제어 회로와 동작에 있어서 동기화(synchronizing)를 위해 외부 소스로부터 디바이스에 시스템 클럭 신호 CLK가 인가된다. 시스템 클럭은 디지털 프로세서의 동작을 제어하는 클럭이다. 클릭 신호 CLK는 클럭 버퍼(110)에 인가되고, 이 클럭 버퍼는 정상 동작 중에 메모리 어레이(220)를 동작시키기 위한 내부 클럭 신호 CLK를 출력한다. 이 내부 클럭 신호 CLK는 이와 같은 정상적인 싱크로너스 메모리 동작 동안 어드레스 디코딩 동작, 데이타를 메모리 어레이에 기입하는 동작, 메모리 어레이로부터 데이타를 판독하는 동작을 제어한다.
디지털 프로세서로부터 메모리 디바이스(50)로 인가되는 제어 신호 RAS_, CAS_ 및 WE_는 제어 신호 버퍼(120)에 인가된다 정상 모드 동작 동안, 이들 제어 신호는 제어 버퍼(120)와 제어 버스(125)를 통과해 메모리 어레이(220)의 주 제어 디바이스(130)에 인가된다. 정상 동작 중의 메모리 어레이(220)에서, 이들 제어 신호 RAS_, CAS_ 및 WE_는 내부 시스템 클럭 신호 CLK와 함께 앞서 기술된 바와 같이 어레이(220)의 동작을 제어한다.
정상 모드 동작과 자가 테스트 모드 동작은 메모리 디바이스(50)의 별개의 2개 동작이다. 이들 두 모드는 번갈아 가며 발생한다. 따라서, 디바이스(50)가 정상 모드에서 동작할 때, 우연히 자가 테스트 모드로 들어갈 가능성은 없다. 또한, 디바이스(50)가 액티브 상태의 자가 테스트 모드 상태일 때 우연히 정상 모드로 들어갈 수도 없다. 이들은 이후에 기술될 내장 자가 테스트 구성(60)에 의해 디바이스(50)의 동작에 부과되는 조건들이다.
언급한 바와 같이, 자가 테스트 동작 모드는 정상적인 동작 모드와는 다르다. 자가 테스트 모드는 메모리 디바이스(50)의 파우어 업시에만 진입한다. 특별 신호 조건은 디바이스(50)를 자가 테스트 모드로 두는 때에 인가된다.
이러한 제안된 BIST 계획에서, 자가 테스트 모드로 진입해 실제로 자가 테스트를 진행하기 위해 디바이스에 외부적으로 필요한 것은 단지 DC 신호이다. 다음과 같은 유형의 외부 DC 신호가 인가된다.
a) 멀티플렉싱된 어드레스 핀 중 하나에 과전압(예를 들어, 핀 A4).
b) "0"과 "1" 모두가 접속되도록 하는 CS_ 상의 스위치.
C) 테스트 및 옵션 선택을 위한 어드레스 핀의 나머지에 "0" 또는 "1"의 논리 레벨 제공.
d) 출력 핀 중 하나에서 패스, 페일 검출
e) 자가 테스트 동작의 완성을 확인하기 위한 출력 검출 핀.
상기한 셋업을 위해서는 DC 신호만이 포함된다. 어떠한 복합 타이밍도 필요치 않다. 그리하여 신호의 질을 걱정할 필요는 없다. 디바이스에 대한 신호의 질은 신호가 DC이므로 항상 좋다. 다중 디바이스는 BIST 보드에 놓여질 수 있으며 동시에 자가 테스트가 가능하다. BIST가 BIST 보드 상의 모든 디바이스에 병렬로 적용될 수 있기 때문에 테스트 사이클 타임은 디바이스당 줄어들 수 있다.
도 6은 일단 자가 테스트를 위하여 셋업될 수 있도록 병렬로 상호 접속되는 몇몇 집적 회로를 실장한 구성을 나타내고 있다. 일단 셋업되면 자가 테스트는 일부 또는 모든 디바이스에서 동시에 실행될 수 있다.
한편 자가 테스트 동작에서는 BIST 회로가 CLK, RAS_, CAS_, WE_와 같은 모든 신호, 어드레스 비트 및 데이타 비트의 제어를 떠맡는다. 예를 들어, BIST 어드레스 비트 B_ Ax는 BIST 회로에 의해 발생한다. 자가 테스트 동작 동안, BIST 어드레스 비트는 외부적으로 발생하는 어드레스 비트 Ax를 교체한다. BIST 어드레스 비트 B_ Ax는 어드레스 버퍼 중 우측의 주 회로와 인터페이스 한다.
정상 모드 동작 동안, BIST 어드레스 비트 B_ Ax는 발생되지 않고 무시된다. 만약 BIST 요구가 검출되었다면, 파우어 업 동안 어드레스 라인은 정보를 BIST 구성으로 전달하는데 사용된다. 도 7을 참조하면, 테스트 인에이블된 쉬프트 레지스터(330)는 특정한 테스트가 가능한지의 여부를 결정하는 데이타를 수신하고 저장한다. 데이타는 도 3의 우측에 있는 쉬프트 레지스터에 저장된다. 액티브 자가 테스트 모드 동안, BIST에서 발생된 어드레스 신호는 디바이스를 동작시키기 위해 사용되며 외부에서 인가된 어드레스 신호 Ax는 무시된다.
도 8을 참조하면, 액티브 자가 테스트 동작 동안 어레이 어드레스의 발생을 제어하는 BIST 어드레스 제어 회로(65)의 블록도가 도시되어 있다. 도 9, 10, 11 및 12는 도 8의 어드레스 제어 회로(65)내에 포함된 회로의 개략적인 논리도이다.
BIST 신호는 가능한 한 버퍼에 인접한 주 회로와 인터페이스 하여 종래의 테스트 조건에 유사하게 시뮬레이션(simulation)되도록 한다. 이는 BIST 회로가 가능한 다수의 메모리 디바이스 회로를 테스트할 수 있도록 해준다.
도 13a-13c는 BIST 발생 신호와 주 디바이스 사이의 인터페이스를 도시한다. BIST 발생 신호의 주요 기능은 메모리 디바이스가 수신하는 외부 신호를 교체하는 것이다. 그리하여 BIST 인터페이스에는 BIST 발생 신호 B-Ax와 외부로부터의 외부 신호 Ax 사이를 선택하는 멀티플렉싱 회로가 있다. 어드레스 라인은 상기의 두 경우 외에도 다중 목적을 위해서 사용되며, 또한, 도 13b에서 설명한 바와 같이 파우어 업시에 정보를 BIST 회로로 전달하기 위해 사용된다. 자가 테스트 구성에 의해 발생된 제어 신호 B_PADDIS 및 B_IN_EN는 멀티플렉서가 동작하는 방법을 항상 제어한다.
도 1의 어드레스 버스 A0-A13은 파우어 업 동안 그리고 그후에도 자가 테스트 모드를 위한 특별한 신호 조건을 적용하도록 사용된다. 과전압 신호는 어드레스 버스 A0-A13의 단선을 경유하여 BIST 검출 회로(300)에 인가되며, 이는 대기 자가 테스트 조건에서 자신을 인가함으로써 과전압 조건에 반응한다. 상술한 설명에서 어드레스 리드(A4)는 예의 과전압 리드로 사용된다. BIST 검출기 회로(300)가 스탠바이 상태에 있을 때는, 내장 자가 테스트 구성이 실행되는 특정한 테스트에 관한 정보를 축적함으로써 테스트에 대비하게 된다. 통상적으로, 특정한 테스트는 실행될 수 있는 대규모의 테스트 그룹에서 선택될 것이다. 내장 자가 테스트 구성은 또 다른 입력 신호가 인가될 때까지 자가 테스트 대기 조건이 유지될 것이다. 반면에, 내장 자가 테스트 구성(60)이 액티브 자가 테스트 모드보다는 대기 상태에 있기 때문에 정상 모드에 있다 해도, 데이타는 메모리 어레이(220) 내에 기록되거나 메모리 어레이(220)로부터 판독될 수 있다.
자가 테스트 구성(60)은 리드(135)를 통해서 하이 레벨 신호 CS_를 BIST 검출기 회로(300)에 인가함으로써 스탠바이 모드 상태로부터 액티브 자가 테스트 모드로 들어간다. 내장 자가 테스트 구성(60)과 메모리 디바이스(50)는 신호 CS_가 하이 레벨로 유지되는 한 액티브 자가 테스트 모드에서 동작하고, 그 후에 신호 CS_가 저 레벨이 될 때 정상 동작으로 복귀할 것이다.
도 14를 참조하면, BIST 검출기 회로(300)는 신호 VUPB, 어드레스 버스 A0-A13의 단선으로부터의 과전압 신호 A4 및 제어 신호 CS_를 각각 수신하기 위한 입력 단자(301, 135, 및 303)를 포함한다. 출력 리드(304)는 디바이스(50)가 자가 테스트 모드에서 동작하고 있을 때를 나타내는 내장 자가 테스트 인에이블 신호 BIST_EN을 운반한다. BIST 검출기 회로(300)는 파우어 업 동안에만 BIST 요구를 검출한다. BIST 요구를 검출하는 데에는 파우어 업시에 검출되는 과전압과 이 때에 '0'값을 갖는 신호 CS_를 필요로 한다. 회로(300)가 파우어 업시에 이들 두 상태를 검출할 때, 칩은 BIST 스탠바이 모드 상태 모드가 된다. 회로(300)가 BIST 스탠바이 모드 상태 모드에 있고 신호 CS_가 하이가 될 때, 회로(300)는 자가 테스트 액티브 모드로 들어간다.
도 15는 도 14의 BIST 검출기 회로(300)의 동작에 대한 타이밍도를 나탄내다. 몇 개의 키 신호가 이들의 상호 의존성과 함께 도 15에서 도시되어 있다. BIST 검출기 회로(300)에 인가된 모든 신호는 기본적으로 전압 레벨임에 유의해야 한다. 뒤이어서 설명되는 바와 같이, 어떠한 외부 변동 제어 신호도 액티브 자가 테스트 모드 동안 메모리 디바이스(50)에 인가될 필요는 없다. 테스트의 레파토리를 실행하기 위한 모든 신호가 디바이스(50) 상의 내장 자가 테스트 디바이스(60)에 의해 생성된다.
BIST 검출기 회로(300)의 구성과 동작에 대한 보다 상세한 설명이, 동일 자로 출원되어 계류 중인 특허 출원(TI-22640)에 나타나 있다. 이 특허 출원에서는, BIST 검출기 회로(300)는 엔트리 및 엑시트 제어 회로로 언급된다. 이 특허 출원의 요지는 여기서 참고문헌으로 포함되어 있다.
두 신호, A4와 제어 신호 CS_는 내장 자가 테스트 엔트리를 위해 멀티플렉싱 된다. 신호 A4 또는 그 외 다른 어드레스 비트는 과도 전압으로 멀티플렉싱 된다. 제어 신호 CS_는 BIST 엔트리와 EXIT를 타이밍 맞추는데 사용된다. BIST 요구는 과전압이 검출되는 경우 검출되고 제어 신호 CS_는 이 디바이스가 파우어 업되는 동안 로(low)이다. 과전압이 VUPB의 하강 에지(falling edge)에서 검출되면, 이 디바이스는 오직 BIST 스탠바이 모드 상태 모드가 된다. 이 디바이스는 제어 신호 CS_가 뒤이어 하이가 되면 BIST 액티브 모드가 된다. 이것은 전체 시간 제어가 BIST 액티브 모드에 들어가도록 한다. BIST 동작 동안, CS_가 로가 되면, 이 디바이스는 즉시 BIST를 떠날 것이다. 정상 동작은 CS_가 로일 때 발생한다. 이것은 BIST 액티브 모드가 정상 모드 동작 동안 발생하지 않도록 한다.
BIST 스탠바이 모드 상태 모드에서, 이 디바이스는 정상 모드에 있는 것처럼 동작할 수 있다. 디바이스가 정상 모드에서 동작하고 있는 동안 제어 신호 CS_가 정상 동작함에 주의해야 한다. 제어 신호 CS_가 다르게 기능하는 것은 BIST 모드에서만이다. 디자인 포 테스트(design for test; DFT) 모드는 디바이스가 BIST 스탠바이 모드 상태 모드에 있을 때 실행될 수 있다. BIST 스탠바이 모드 상태에 있는 동안 DFT 모드를 사용하는 방법 중 하나는 BIST 액티브 모드 동작 이전에 어드레스 범위 모드가 시작 및 정지 어드레스를 로드하게 하는 것이다.
이제 도 16-21를 참조하면, 자가 테스트 동작 동안 사용된 어드레스 정보를 저장하기 위한 어드레스 범위 레지스터가 있다. BIST 요구가 검출될 때, 내부 신호 B_SR_LOAD가 리드 A4 상의 과전압 신호의 어드레스를 제외한 어드레스 선 상에 있는 정보에 로드되도록 발생된다. 로드된 정보는 두 세트의 정보를 포함한다. 어드레스 리드 A0-A3, A5-A10 상의 테스트 선택 데이타는 각 특정 테스트가 BIST 액티브 로드에서 실행될 수 있는지에 대해 판정한다. 두 번째로, BIST 동작은 내부 외부 클럭 선택, 풀/서브 어레이 선택 및 인에이블 디스에이블(disable) 출력 선택과 같은 선택 기능을 한다.
도 3에는 내장 자가 테스트 동작의 상이한 부분을 제어하는 특정 신호의 그룹을 생성하는데 사용되는 연속적으로 반복되는 클럭 신호(B_CLK)를 발생시키는 구성을 포함하는 BIST 오실레이터 회로(310)가 도시되어 있다.
도 22는 도 3의 BIST 클럭 발생기 회로(350)의 개략적인 논리도이다. 이것은 BIST 클릭 신호들(B_CLK_A, B_CLK_B 및 B_CLK_C)을 구동시킨다.
액티브 자가 테스트 모드로 들어갈 때, 클럭 신호(B_CLK)가 도 1의 클럭 버퍼 회로(110)에 인가되어서 클럭 버퍼 회로(110)의 제어를 떠맡고, 그 후에 액티브 자가 테스트 모드 중에 메모리 어레이(220)로의 액세스 및 메모리 어레이(220)의 동작 뿐만 아니라 내장 자가 테스트 구성(60)의 일부의 동작을 제어하기 위해 클럭 신호(B_CLK)를 발생시킨다. 초기에, 어드레스 버퍼(100)로부터의 데이타가 내부 어드레스 버스(140)를 경유하여 도 3의 인에이블된 테스트 회로(330)로 전달된다. 예시적 회로(330)는 해당 액티브 자가 테스트 모드 동안에 실행될 특정 테스트 또는 테스트 그룹을 식별하는 데이타를 저장하는 쉬프트 레지스터 구성이다. 예를 들어, 이 데이타는 실행될 각 테스트에 대한 하이 레벨 및 실행되지 않을 각 테스트에 대한 로 레벨일 수 있다. 일단 선택된 테스트 데이타가 인에이블된 테스트 회로(enabled test circuits, 330)에 저장되면, 어드레스 그룹이 어드레스 범위 레지스터(340)에 저장될 수 있다.
도 23을 참조하면, 인에이블된 테스트 회로(330)에 저장된 정보의 표가 도시되어 있다. 도 23에서, 어드레스 비트 위치(A0-A3) 각각은, 그로스 테스트(gross test), 포즈 테스트(pause test), X 마치(X march) 및 Y 마치(Y march)를 나타낸다. 어드레스 비트 포지션(A5-A10) 각각은, 쇼트 디스터브(short disturb), 롱 디스터브(long disturb), 페이지 디스터브(page disturb), 번 인(burn in), 라이트 온 로우(write on row) 및 리드 온 칼럼(read on column)을 나타낸다. 어드레스 비트 위치(A11) 및 뱅크 어드레스(BA0 및 BA1)는 각각 출력 인에이블, 서브 어레이 옵션 및 내부 클럭/외부 클럭 선택을 나타낸다.
BIST 동작에 대해서는 클럭이 필요하다. BIST 회로는 이러한 클럭에 고정 주파수를 제공하는 내부 오실레이터를 갖는다. 클럭 주파수가 필요한 경우에 변할 수 있게 하는 엔지니어링 및 디버그 목적을 위한 외부 클럭 옵션이 내장되어 있다. 파우어 업 동안에 BIST 요구가 검출되는 경우 외부 클럭 또는 내부 클럭을 사용할 것인가의 결정이 로드된다.
상기 언급된 어드레스 범위 레지스터(340)는 테스트 또는 테스트들이 시작되고 종료되는 메모리 어레이(220) 내의 시작 및 정지 어드레스를 결정하는 로우 및 칼럼 어드레스를 각각 수신하고 저장하는 4개의 레지스터 그룹을 포함한다. 그러한 어드레스들은 다비이스(50)를 테스트하는 사람이 심사숙고하여 사용하게 된다. 디폴트 조건(defalt condition)은 로우 어드레스 0 및 칼럼 어드레스 1에서 시작하는 전체 메모리에 걸쳐서 테스트를 시행한다. 따라서, 어드레스 범위 레지스터(340)는 디바이스(50)가 초기에 액티브 자가 테스트 모드에 있게 될 때 경우에 제로(0)로 리세트된다. 그 후에, 필요하다면, 범위 어드레스는 DFT 모드 로드 동작 동안에 저장될 수 있다.
어떤 초기 프로덕션 칩에 대한 프로토타입 디버그(prototype debug) 동안에, 완전한 어레이가 정확하게 작동할 것 같지는 않다. 그러한 환경 하에서, 동작하지 않는 셀이 항상 있어서 BIST 테스트의 실패를 유발하기 때문에 BIST 테스트는 항상 페일이 난다. 이것은 완전히 양호한 부분이 제조될 때까지 "PASS" 신호를 복귀시키게 하는 BIST 논리가 BIST를 전혀 적용시키지 않기 때문에 BIST 논리가 완벽하게 체크될 수 없다는 것을 의미한다. 칩의 디버그 동안에 제2 문제가 발생한다. BIST가 완전한 어레이 테스트에 한정된다면, 어레이의 서브세트는 디버그를 위한 도움 목적으로 사용될 수 없다.
서브 어레이 테스팅은 시작 어드레스가 어떠한 위치에도 있게 하며, 종료 어드레스가 어떤 위치에도 있게 한다. 그리고, 이들은 DFT 모드를 통해서 BIST 어드레스 범위 레지스터에 로드될 수 있다. BIST 테스팅은 시작 위치 및 종료 위치와 동일한 시작 어드레스의 한 어드레스 위치를 포함하는 종료 위치 사이에 인가된다. 어드레스 범위는 BIST 인가 이전에 매시간 변화할 수 있어서, BIST가 반복된 테스팅을 통해서 결함이 없는 영역의 섬에 인가될 수 있게 한다.
도 24 및 도 25를 참조하면, 프로그램 카운터(360)를 포함하는 프로그램 제어 회로가 도시되어 있다. BIST 프로그램 카운터(360)는 테스트 시퀀스를 제어하는 내장 자가 테스트 구성에 포함된다. 액티브 자가 테스트 모드를 시작한 후에, BIST 프로그램 카운터(360)가 신호 B_RESET에 의해 제로 상태로 리세트된다. 이것이, 그 현재 상태가 BIST ROM 레지스터에 의해 공급된 데이타의 상태와 결합되어, BIST 프로그램 카운터(360)의 다음 상태를 결정하는 순차적 논리 배열이다. 상태는 클럭 발생기(350)로부터 인가된 클럭 신호 B_CLK-B에 응답하여 변화한다.
도 26은 도 3에 도시된 BIST ROM 어드레스 디코더(370)의 개략적인 논리도이다. BIST 프로그램 카운터(360)의 상태는 버스(361)에 의해 BIST ROM 어드레스 디코더(370)의 입력에 인가되는 2진 신호들의 그룹에 의해 표현된다. 입력 2진 신호 그룹은 BIST ROM(400)으로부터 데이타의 로우를 선택하기 위해 64 코드 중 1개의 코드로 디코딩된다.
도 27은 도 4의 64 워드 × 12 비트 BIST ROM(400)의 개략적 레이아웃을 도시한다. BIST ROM(400)은 메모리 어레이(220)의 동작성을 결정하는데 사용된 몇몇 상이한 테스트 루틴을 제어하기 위한 명령들의 시퀀스를 저장하는 64 로우 판독 전용 메모리이다. 제안된 BIST 체계는 ROM 내에 저장된 10개의 알고리즘을 포함한다. 각 알고리즘은 전형적으로 일련의 명령들로 구성된다. 10개의 알고리즘은 64 ROM 워드를 취하고, 각 ROM 워드는 12 비트를 갖는다. BIST ROM(400)에 인가된 각 로우 어드레스는 클럭 신호 B_CLK에 응답하여 내부에 저장된 데이타의 로우를 액세스 한다.
알고리즘 내의 제1 명령은 그 테스트가 인에이블되는 지 여부를 결정하기 위한 명령이다. 테스트가 인에이블되는 지 여부는 테스트 선택 정보가 테스트 인에이블된 레지스터 내에 로드될 때의 파우어 업 시에 결정된다. 테스트들 전부 또는 소정의 서브세트가 선택될 수 있다. 테스트 코드의 블럭은 '0' 논리값이 대응하는 테스트 인에이블된 레지스터 내에 로드되는 경우에 스킵(skip) 된다.
대부분의 알고리즘에 있어서, 알고리즘 내의 최종 명령은 '반전된 패턴'에 대해 테스트한다. 전형적인 테스트에서, 2개의 데이타 패턴 ('0' 및 '1')은 수행될 필요가 있다. 이는 각 테스트가 2번 실행되는 것으로 각 패턴에 대해서 한번씩 실행되는 것을 의미한다. 이러한 명령은 현재의 테스트가 정규 패턴(패턴 '0')을 실행하는지를 결정하기 위해 레지스터를 조사한다. 실행 중이라면, 프로그램 카운터는 테스트의 초기로 점프되고, 반전된 패턴으로 테스트를 반복한다. 명령이 반전 패턴 실행을 결정하면, 2개의 데이타 패턴은 이미 실행되었기 때문에 프로그램 카운터를 단순히 1만큼 증분시키고, 다음 테스트로 이동한다.
도 28을 참조하면, BIST ROM(400) 내에 저장된 데이타의 표가 도시되었다. 좌측의 칼럼은 모든 테스트가 완료되었음을 나타내는 명령 이외에도, 실행되도록 선택될 수 있는 테스트를 나타내는 10개의 알고리즘의 명칭 목록이다.
제1 알고리즘 GROSS는 그로스 테스트를 실행시키기 위한 것이다. 4개의 데이타 로우가 존재하는데, 각각은 그로스 테스트에 대한 1개의 명령을 나타낸다. 명령에 대한 어드레스는 좌로부터 2번째 칼럼 내에 16진 코드로 표시된다. 우측 칼럼은 각 명령에 대한 연산 명칭을 나타낸다. 표의 주 블럭은 BIST ROM(400) 내에 저장되는 데이타를 나타낸다. 표 내에는 12개의 칼럼이 존재한다. 표 내에는 각 알고리즘의 시작 및 종료 어드레스를 구획하는 볼드체(bold)의 수평 라인이 있다. 따라서, 알고리즘 GROSS 내의 제4 명령인 어드레스 6진수 3 아래에는 볼드체의 라인이 있다.
알고리즘 GROSS 내의 제4 명령은 점프 낫 테스트 인에이블(jump not test enable; jnte)되어 중지되고, 모든 셀을 0으로 기입하며, 예상 데이타를 갖는 모든 셀을 0으로 판독하고, 미리 반전되지 않은 경우에는 데이타 및 점프를 반전시킨다(divnj). Z1은 점프되는 레이블이다.
도 29를 참조하면, 2가지 중요한 형태의 명령이 존재한다. 제1 형태는 프로그램 제어 명령이다. 이러한 형태의 명령은 프로그램 흐름을 처리한다. 프로그램 제어 명령은 BIST 동작을 제어하기 위해 도입된다. 제2 형태는 어레이의 셀들이 액세스되고 기록 또는 판독되는 방법을 제어하는 어레이 액세스 명령이다. 이들은 기본적으로, BIST ROM 포맷으로 변환되는 테스터 상에 보통 나타나는 동일한 형태의 명령이다. 어레이(220)로부터 패턴을 다시 판독하는 명령은 어레이 액세스 명령의 한 예이다.
명령은 2개 부분으로 나누어진다. 명령의 처음 6 비트는 취해질 동작을 규정하고, 나중의 6 비트는 명령과 관련된 데이타이다.
전체 어레이의 판독과 같은 어레이 액세스 명령에 있어서, 처음 6 비트는 어레이 액세스의 형태, 즉 기록 또는 판독 또는 둘 다인지, 그리고 전체 어레이, 또는 로우 또는 칼럼만이 액세스되는 지 여부를 규정한다. 전체 어레이로부터 판독하기 위하여, Read(비트11), X(비트9) 및 Y(비트8)가 1로 세트된다. 명령(instruction)의 마지막 6 비트는 이용될 타이밍 세트(Tset0, Tset1), 데이터 값(ED) 및 패턴을 포함하여 전체 어레이가 어떤 식으로 읽히는지 그리고 어드레스가 증분될 것인지 아니면 감소될 것인지에 대한 정보를 제공한다.
'테스트 인에이블' 명령과 같은 프로그램 제어 명령의 경우에, 상위 4 비트는 '0'이며, 비트 7 및 비트 6은 프로그램 제어 형태를 결정한다. 마지막 6 비트는 사실상 점프 결정이 이루어질 때 점프될 어드레스를 제공한다.
무조건 점프 명령이 있다. 상위 6 비트에는 '110011', 그리고 하위 6 비트에는 점프할 어드레스.
ROM 내의 마지막 명령(도 28 참조)은 BIST 동작의 종료를 알리는 아이들 명령(idle instruction)이다. 이 명령의 마지막 6 비트는 현 256M의 개정 번호를 보유한다.
현재의 회로를 가지고 프로그램될 수 있는 가능한 명령 조합이 많이 있다. BIST 동작을 위해 새로운 알고리즘이 필요하다면, 그 알고리즘은 단순히 ROM을 재프로그램함으로써 포함될 수 있다. 명령을 구성하는 데 이용될 수 있는 옵션들의 조합은 다음과 같다.
Figure pat00001
도 30과 도 31을 참조하면, ROM 논리 회로(410)에 대한 개략적인 논리도가 도시되어 있다. 각 명령이 BIST ROM(400)으로부터 판독될 때, 데이타는 각 명령 워드의 12 비트 데이타를 디코딩 하는 조합 논리 회로인 ROM 논리 회로(410)의 입력에 인가된다. ROM 논리 회로(410)로부터의 출력 신호는 명령의 실행을 완료하는 데 필요한 주기 동안 데이타가 저장되는 ROM 레지스터 회로(420)의 데이타 입력에 인가된다.
내장 자가 테스트 구성(built-in self-test arrangement, 60)이 액티브 자가 테스트 모드에 놓이면, BIST 프로그램 카운터(360)가 리세트된다. 프로그램 카운터(360)의 이러한 초기 상태는 BIST ROM 어드레스 디코더(370)를 통하여 디코드되어 BIST ROM(400)에 대한 로우 어드레스 신호를 생성한다. 로우 어드레스가 인가된 후 클록 신호에 응답하며, BIST ROM(400)의 선택된 로우로부터 데이타가 판독된다. 선택된 로우로부터 판독된 모든 데이타는 ROM 논리 회로(410)의 입력에 인가된다.
도 30과 도 31은 BIST ROM(400)의 선택된 로우로부터 인가된 데이타의 로우 상의 소망하는 조합 논리 기능을 수행하는 ROM 논리 회로(410)의 예시적이고 개략적인 논리도를 도시한다. 회로(410)는 회로(410)를 통한 논리 처리의 결과로 생기는 출력 신호 그룹을 생성한다. 이 회로로부터 출력 신호 그룹은 ROM 레지스터(420)에 병렬로 인가되어 저장되는데, ROM 레지스터(420)는 그 신호들을 BIST 데이타 버스(421)를 경유하여 패스/페일 비교기 회로(pass/fail comparator circuit, 430)로, 도선 그룹(422)을 경유하여 BIST 타이밍 발생기(440)로, 그리고 프로그램 카운터 입력 버스(423)를 경유하여 BIST 프로그램 카운터(360)로 전송하게 된다.
도 31을 참조하면, 예시적인 ROM 레지스터 회로(420)의 개략적인 논리도가 도시되어 있다. 프로그램 카운터 입력 버스(423) 상에 인가된 데이타는 프로그램 제어 명령이 실행되는 동안에만 프로그램 카운터(360)에 의해 수용된다. BIST 타이밍 발생기에 인가된 데이타는 B_RAS_, B_CAS_및 B_WE_와 같은 자가 테스트 신호의 발생을 제어하는데, 이 자가 테스트 신호는 정상 동작 중의 메모리를 액세스하기 위해 마이크로프로세서에 의해 이용되는 유사한 이름의 제어 신호 RAS_, CAS_ 및 WE_의 기능을 수행한다. BIST 데이타 버스(421)를 경유하여 패스/페일 비교기 회로(430)에 인가되는 신호는 메모리 액세스 명령 및 하나의 데이타 비트를 포함한다.
도 44는 내장 자가 테스트 구성(60) 내에서 이용될 수 있는 예시적인 패스/페일 회로(430)의 개략적인 논리도를 보여준다. 패스/페일 회로(430)는 BIST ROM(400)으로부터의 기록 명령에 응답하여, 제어 신호 및 ROM 레지스터(420)로부터 BIST 데이타 버스(421)를 거쳐 수신된 데이타 비트와 제어 신호에 응함으로써 메모리 어레이(220)의 적어도 하나의 뱅크에 기입되는 데이타 신호 그룹을 연속적으로 발생시킨다. 또한, 패스/페일 회로(430)는 판독 명령에 응답하여, BIST 데이타 버스(421)를 거쳐 제어 신호 및 데이타 비트를 수신하며 메모리 어레이(60)로부터 DQ 버스(431) 상의 데이타를 판독한다. 이 때, BIST 데이타 버스(421)로부터의 데이타 비트는, DQ 버스(431)상의 데이타가 판독되는 어레이 위치(들)에 기입된 선행 데이타 비트의 상태와 일치하도록 처리된다. 처리된 데이타 비트를 예상 데이타 비트(expected data bit)라고 한다. 이 예상 데이타 비트는 메모리 어레이(60)로부터 판독된 데이타와 비교되며, 만일 비교된 데이타가 동일하면 비교 결과는 패스(Pass) 신호이고 비교된 데이타가 동일하지 않으면 비교 결과는 페일(Fail) 신호가 된다. 데이타의 기록 및 판독에 의하여 트래버스된(traversed) 회로 및 저장 셀이 제대로 동작하고 있음을 나타내는 패스 신호는 로 레벨 신호이다. 기록 및 판독된 데이타에 의하여 트래버스된 회로 또는 저장 셀 중의 일부가 오동작하고 있음을 나타내는 페일 신호는 하이 레벨 신호이다.
페일 신호는 리드 B_Pass/Fail을 거쳐 PF 레지스터(432)에 전송되어 PF 레지스터(432)에 저장된다. 이어서, 저장된 페일 신호는 DQ 버퍼 회로(230)를 통하여 메모리 디바이스의 외부 패드로 이송될 수 있다. PF 레지스터(432)는 능동 자가 테스트 모드가 되면 리세트된다. 패스 신호는 로 레벨이므로 무시되고 사실상 폐기되며 PF 레지스터는 테스트 동작을 시작하도록 리세트된다. 디바이스가 동작 가능하다는 가정이 이루어진다. 따라서, 단일 테스트 불량(single test failure)은 중요하면서 유지되는 유일한 정보이다.
도 32를 참조하면, 패스/페일 비교기의 VHDL 언어 기술이 도시된다. VHDL 언어는 오늘날 설계자에 의해 사용되는 논리 회로를 기술하기 위한 표준 언어이다. 체커 보드 데이타(checker board data)용 신호 CKBDI, 교체 데이타용 B_ALTERNATE, 예상 데이타(ED)용 B_RDATA 및 기록 데이타(DAT)용 B_WDATA를 사용하여, 판독 데이타를 기록 및 비교할 것으로 예상되는 데이타가 계산된다. 판독 데이타는 계산된 예상 데이타와 비교되어 테스트가 패스인지 또는 페일인지 여부를 결정한다.
도 33에 기능 표가 제공된다. 어레이(220)의 32 비트는 8 DQ 라인을 사용하는 4 데이타 비트로 압축되었다. 압축 표는 도 33에 도시된다. B_PF_results는 표에 도시한 대응 값에 따라 패스 또는 페일을 제공한다.
내장 자가 테스트(Build In Self Test; BIST)
10.00 BIST의 개관
메모리 기능 테스트시, 다양한 알고리즘을 사용하여 디바이스를 테스트 한다. 테스터는 통상 테스트 알고리즘을 나타내는 테스트 신호를 디바이스에 발생시키도록 사용된다. 그 후, 테스터에 의해 디바이스의 출력은 샘플링되어 패스 또는 페일을 판정한다. 256M SDRAM과 같은 고 밀도 기억 디바이스의 경우, 테스트 시간은 매우 길 것이며, 이로써 테스터 상의 모든 기능 테스트를 수행하는데 실용적이지 못하고 비용도 효율적이지 못하다. BIST 회로는 이러한 테스터를 대신하도록 설계된다. BIST 회로의 역할(도 51, 도 52)은 디바이스에 대한 내부의 테스트 알고리즘과 연관된 모든 테스트 신호를 발생하는 것이다. 테스터를 사용하는 대신, 테스트 하의 디바이스가 특정 전압 조건이 되면 BIST 모드에서 파우어 업되어 그 자신을 테스트할 것이다. BIST 모드에서, BIST 발생 신호는 모든 어드레스 및 데이타 뿐만 아니라 RAS 및 CAS와 같은 제어 신호를 제어한다.
BIST의 이점 : 테스트 비용 절감
BIST 회로는 다음의 구성으로 만들어진다(도 60):
50 ㎒ 주파수를 갖는 오실레이터
A4 상의 과전압 검출기
64 워드 X 12 비트 ROM
6 비트 프로그램 카운터
6 내지 64 디코더
14 비트 X 레지스터, 9 비트 Y 레지스터 및 14 비트 리프레쉬 레지스터
타이밍 발생기
어드레스 범위 카운터
인에이블된 테스트 알고리즘 저장용 쉬프트 레지스터
내부 패턴 데이타 발생기
패스 페일 비교 회로
출력 멀티플렉서
BIST 회로는 실리콘 영역에서 1.9 ㎟를 차지하고, 전체 칩 면적의 약 0.5%를 점유한다. 이는 칩의 최 우측 끝에 위치되고, 어드레스 인터페이스와 같은 임계 속도 인터페이스 논리는 정상적인 동작을 저하시키는 것을 피하기 위해 속도 경로 근처에 놓인다. 제어 논리, ROM 및 다양한 다른 BIST 논리는 실리콘 영역이 칩의 중앙 또는 교차 면적보다 우선 순위가 낮은 칩의 끝에 놓인다(도 61).
10 알고리즘은 256M BIST 체계로 구현되었다. 이들의 요약은 도 62에 도시되었다.
BIST 회로의 동작이 VHDL 코드로 기술되었고 QVHDLsim을 사용하여 시뮬레이션되었다. 전압 검출기와 ROM 위의 오실레이터를 제외한 모든 BIST 회로는 오토로직 2(Autologic 2)를 이용하여 합성되었다.
10.01 BIST 엔트리 및 엑시트(BIST Entry and Exit)
BIST 엔트리와 엑시트 체계는 다음 구비 조건을 충족시키도록 설계되어 있다.
1. BIST가 적은 비용의 BIST 보드와 함께 동작하도록 하는데 필요한 타이밍 없는 간단한 엔트리 및 엑시트 시퀀스.
2. 부주의한 BIST 엔트리 없음.
3. 정상 모드와 BIST 회로 동작 테스트용 판독 및 기록을 위한 BIST 모드 사이를 전환하는 능력.
BIST 동작이 신호 품질에 대해 걱정할 필요 없이, 극히 높은 병렬성을 갖는 간단한 BIST 보드 상에서 실행될 수 있도록 간단한 엔트리와 엑시트 시퀀스를 갖는 것이 중요하다.
BIST 엔트리:
이것을 수행하기 위해, BIST 엔트리는 DC 신호만이 필요하도록 설계되어 있다. BIST로 들어가기 위해, 필요한 모든 것은 파우어 업 동안 A4 상의 과전압과 CS 상의 로(및 선택된 옵션에 따라 다른 핀 상에서의 하이 또는 로)이다. 이는 디바이스를 BIST 스탠바이 모드(도 63)에 있게 할 것이다.
스탠바이 모드에 있는 동안 디바이스가 정상 모드에 있는 것처럼 동작하고 판독, 기록 및 정규 MRS 또는 심지어 DFT 명령을 수행할 수 있다.
CS 핀 상의 상승 에지는 디바이스가 BIST 스탠바이 모드에 있는 동안 BIST 동작을 개시할 것이다.
이는 사용자에게 편리한 시간에 BIST 동작을 개시할 수 있는 기회를 제공하기 때문에, 실제 개시하는 BIST 동작에 대해 과전압 검출로부터 지연시키는 것이 중요하다.
이는 사용자가 DFT 모드를 사용하여 예를 들어, BIST 동작이 시작되기 전에 디바이스가 정상 상태(steady state)로 안정하게 진입할 수 있는 충분한 시간을 제공함으로써, 어드레스 범위를 설정할 수 있게 한다. 이는 또한 사용자가 정상 모드에서 로우를 기록하고, 그 후에 BIST로 들어가 BIST 회로 기능을 점검하기 위해 BIST 모드(또는 그 역) 내의 어레이에 있는 데이타를 다시 판독할 수 있게 한다.
BIST 엑시트:
CS의 하강 에지는 무조건 모든 BIST 동작을 빠져나올 것이고 BIST 모드로 돌아가는 유일한 방법은 파우어 다운 한 다음 과전압으로 다시 파우어 업 하는 것이다.
또한, 부주의한 BIST 엔트리를 방지할 필요가 있다. 이것을 달성하기 위해, 과전압은 오직 VUPB의 하강 에지의 파우어 업시에 검출될 수 있다. 이는 아무 때나 검출될 수 없다. 이것과 파우어 업 동안의 CS 인터록은 디바이스에 BIST 스탠바이 모드로 진입할 수 있는 유일한 기회를 제공한다. 이는 디바이스 동작 동안 부주의한 BIST 엔트리의 기회를 최소화시킨다.
A4에서 과전압이 검출될 때, 이는 B_SR_LOAD 펄스를 발생시킨다. 이 펄스는 다른 13 어드레스 상에서 이용할 수 있는 정보를 쉬프트 레지스터로 로드한다. 이들은 클럭 선택, 어레이 크기 선택 및 출력 인에이블 선택을 위한 정보는 물론, BIST에 있는 동안 테스트가 실행될 정보를 포함한다. 이들에 대한 세부 사항은 B_SHIFT 블럭에서 찾을 수 있다.
BIST 동작을 위한 엔트리 및 엑시트 타이밍 시퀀스는 여기에 요약되어 있다(도 64):
파우어 업 셋업의 예는 예시적인 핀 아웃(도 65)에 대한 것이다.
10.1 BOV
INPUTS: B_OVDETECT,B_DONE,TLBADDRNG,PBCSB_BIST,VUPB
OUTPUTS: B_SR_LOAD,B_IN_EN,B_EXTCLK,B_PADDIS,BIST_EN, BIST_MCEN
# OF CIRCUITS: 1/칩
LOCATION: 칩 우측
이 회로의 기능은 파우어 업 동안에 과전압을 검출하는 것이다. 그 어떤 다른 시간 동안에는 과전압을 검출하지 않는다.
파우어 업 동안 VUPB의 하강 에지에서는 B_OVERDETECT을 충전하기 위해 약 16ns 정도의 펄스 VUPBN이 생성된다. B_OVERDETECT가 하이이고 PBCSB_BIST가 로인 경우, VUPBN의 하강 에지는 과전압 래치(overvoltage latch) OVLATCHB를 로로 설정하게 된다. OVLATCHB 상의 로는 과전압의 검출을 알리며 BIST 스탠바이 모드로 진입한다.
BIST 스탠바이 모드 동안에, PBCSB_BIST가 후속으로 하이가 되는 경우, BIST_EN은 하이가 되어 BIST 동작의 시작을 알리게 된다. PBCSB_BIST가 하이에서 로로 전이함으로써 과전압 래치가 재설정되고 OVLATCHB가 하이로 설정된다. 또한, BIST_EN을 로로 만들어 BIST 엑시트를 알린다.
파우어 업 동안에 과전압이 검출되지 않는 경우, B_OVERDETECT는 로가 되며 BIST 스탠바이 모드로 진입하지 않게 된다.
파우어 업시 과전압이 검출되고 OVLATCHB 래치가 설정되는 경우, B_SR_LOAD 펄스가 발생되어 어드레스 라인 상의 정보를 쉬프트 레지스터에 로드한다. 이 정보는 BIST 모드에서 어떠한 테스트가 수행될 것인가를 결정한다.
BIST 신호 및 외부 신호의 멀티플렉싱을 제어하기 위하여 B_PADDIS 및 B_IN_EN이 사용된다. 정상 동작 상태에서는 외부 신호가 사용된다. 이것은 디바이스가 동작하는 정상 모드이다.
파우어 업시 과전압이 검출되고 디바이스가 BIST 동작을 하려고 하는 경우, B_IN_EN은 하이로 설정되어 어드레스 신호가 BIST 회로에 도달할 수 있도록 한다. 개시 및 종료 어드레스가 BIST 회로 내에 로드되는 TLBADDRNG DFT 모드에서도 B_IN_EN은 하이이다.
BIST 동작 상태에서, 외부 신호는 무시되고 BIST 신호(B_ADDRx)가 사용된다.
2가지 목적을 위하여, BIST 회로에 외부 클럭 신호를 인가하기 위해 B_EXTCLK가 사용된다. 외부 클럭은 외부 클럭 옵션을 위해 필요하다. 또한, DFT 모드 동안 어드레스 범위(TLBADDRNG)에서 로드하기 위해 필요하다.
10.2 BOVBIAS
INPUTS: ESDA4,VUPB
OUTPUTS: B_OVDETECT
# OF CIRCUITS: 1/칩
LOCATION: 우측 코너
BOVBIAS는 과전압 검출기이다. VUPB가 로가 된 후 ESDA4에 과전압 상태가 존재하는 경우, 노드 OV가 충전된다. 이것은 B_OVDETECT를 하이로 설정하게 된다. ESDA4 상에 5.2V보다 높은 전압이 인가되어 있는 경우 과전압이 검출되기에 충분하다.
10.3 BIROSC(도 34)
INPUTS: PB_CLKBIST,BIST_EN,MD_SLFR,B_CLKMUX
OUTPUTS: B_IRCLK,BCLK_EN,B_CLK
# OF CIRCUITS: 1/칩
LOCATION: 칩의 우측 코너
BIROSC는 모든 BIST 동작을 위한 블럭 신호를 발생시키는 주 오실레이터이다. 이것은 이중 모드 오실레이터 회로이다. BIST 모드에서(BIST_EN이 하이인 경우), BIROSC는 고주파수 모드로 동작하며 B_CLK를 BIST 회로에 제공하여 BIST 동작을 동시에 제어한다. 정상 모드에서(BIST_EN이 로인 경우), BIROSC는 저주파수 모드로 동작하며 자기 리프레쉬 모드를 위해 사용되는 저주파수 B_IRCLK를 생성한다. 또한, 이것은 VBB 회로를 위한 저주파수 클럭이다(도 66).
이 회로는 또한 BIST 동작을 위한 내부 및 외부 클럭을 제어하기 위해 사용된다.
BIST 모드에서 디바이스가 파우어 업되고 내부 클럭 옵션이 선택되는 경우, B_CLKMUX는 로로 설정된다. 이것은 BCLK_EN은 하이로 설정하여 디바이스 내에 인가되는 CLK 신호의 제어를 담당한다. 오실레이터는 BIST 동작을 위해 필요한 20ns 클럭을 발생시킨다. 외부적으로 CLK는 로로 되는 것이 필요하다. B_CLKMUX가 하이이고 외부 클럭 옵션이 선택되는 경우, PB_CLKBIST는 BIST용 클럭으로 사용된다.
노드 BNN 및 IRNN은 프로세스 변화를 보상하기 위해 사용됨으로써 보다 일정한 오실레이터 주파수를 보장한다.
10.4 BIRBIT(도 33)
INPUTS: CLK
OUTPUTS: Q
# OF CIRCUITS: 6/칩
LOCATION: 칩의 우측 코너
이 회로는 CLK 주파수를 1/2로 분할하기 위해 사용된다. Q는 CLK의 주파수의 1/2 값을 갖는다.
10.5 BSLFRCLK
INPUTS: B_IRCLK,VUPB
OUTPUTS: SLFR_TIME
# OF CIRCUITS: 1/칩
LOCATION: 칩의 우측 코너
SLFR_TIME는 자가 리프레쉬를 위해, 그리고 VBB 펌프에서 사용되는 클럭이다. 이것은 약 8㎲의 주기로 발진한다.
10.9 BTIMEDRV
INPUTS: B_PCOUNTER(0)
OUTPUTS: B_PCOUNTERS(9:0),B_PCOUNTERDB(9:0)
# OF CIRCUITS: 1/칩
LOCATION: 칩의 우측 코너
BIST 회로 내의 주 카운터로부터 참(true) 및 바(bar) 신호를 발생시킨다. 참 및 바 신호는 B_TGEN(도 47)에 인가되어 타이밍 세트를 발생시킨다.
10.10 BRM(도 27)
INPUTS: B_ROM_ADDR(63:0)
OUTPUTS: B_WORD(11:0)
# OF CIRCUITS: 1/칩
LOCATION: 칩의 우측 코너
BRM은 64개의 ROM 워드를 갖고 있으며, 각 워드는 12비트의 폭을 갖는다. BIST 회로 내의 디코더는 어느 ROM 워드가 판독될 것인가를 결정한다.
10.10.1 GROSS(Zrom) 알고리즘
1. 어레이를 선택된 패턴으로 기록한다.
2. 선택된 패턴이 기록된 것을 확인하기 위하여 어레이를 판독한다.
주:
a) 선택된 패턴은 모두가 0인 패턴, 모두가 1인 패턴 또는 0과 1의 임의의 조합인 패턴이다.
10.10.2 Pause 알고리즘
1. 어레이를 선택된 패턴으로 기록한다.
2. 지정된 시간이 경과하기를 기다린다.
3. 선택된 패턴이 유지되고 있는가를 확인하기 위하여 어레이를 판독한다.
주:
a) 선택된 패턴은 모두가 0인 패턴, 모두가 1인 패턴 또는 0과 1의 임의의 조합인 패턴이다.
10.10.3 Xmarch 알고리즘
1. 어레이를 배경 패턴으로 기록한다.
2. 각 로우에 대해 배경 패턴을 판독하고 그 반전된 패턴을 각 칼럼에 기록한다.
3. 각 로우에 대해 반전된 패턴을 판독하고 그 초기 패턴을 각 칼럼에 기록한다.
4. 어떠한 결함도 발생하지 아니하였는지를 확인하기 위하여 초기 배경 패턴을 판독한다.
주:
a) 배경 패턴은 모두가 0인 패턴, 모두가 1인 패턴 또는 0과 1의 조합인 패턴이다.
10.10.4 Ymarch 알고리즘
1. 어레이를 배경 패턴으로 기록한다.
2. 각 칼럼에 대해 배경 패턴을 판독하고 그 반전된 패턴을 각 로우에 기록한다.
3. 각 칼럼에 대해 반전된 패턴을 판독하고 그 초기 패턴을 각 로우에 기록한다.
4. 어떠한 결함도 발생하지 아니하였는지를 확인하기 위해 초기 배경 패턴을 판독한다.
주:
a) 배경 패턴은 모두가 0인 패턴, 모두가 1인 패턴 또는 0과 1의 조합인 패턴이다.
10.10.5 Sdist 알고리즘
1. 어레이를 배경 패턴으로 기록한다(옵션).
2. 지정된 시간이 경과할 때까지 반복적으로 목표 로우를 디스터브(disturb) 패턴으로 기록한다.
3. 리프레쉬 한다.
4. 어떠한 디스터브 형태의 오류 결함도 발생하지 아니하였는지를 확인하기 위하여 목표 로우에 이웃한 로우를 판독한다.
5. 배경 패턴을 목표 로우로 복귀시킨다.
6, 칩 내 모든 로우를 목표화 하여 반복한다.
주:
a) 디스터브 패턴은 모두가 1인 패턴, 모두가 0인 패턴 또는 1과 0의 임의의 조합인 패턴이다.
b) 배경 패턴은 모두가 0인 패턴, 모두가 1인 패턴 또는 0과 1의 조합인 패턴이다.
c) 단계4 및 단계5는 교환될 수 있다.
10.10.6 Ldist 알고리즘
알고리즘 단계는 Sdist 알고리즘과 동일하다. Ldist 알고리즘은 RASB와 CASB 펄스 사이의 시간을 늘리기 위해 서로 다른 타임 세트를 이용한다.
10.10.7 Pdist 알고리즘
알고리즘 단계는 Sdist 알고리즘과 동일하다. Pdist 알고리즘은 디스터브 패턴을 페이지 모드에 기록한다. 페이지 모드에서 로우는 모든 칼럼들이 로우에 기록될 때까지 활성된 상태로 남는다.
10.10.8 Burnin 알고리즘
1. 선택된 패턴으로 계속해서 어레이를 기록한다.
주:
a) 선택된 패턴은 모두가 0인 패턴, 모두가 1인 패턴 또는 0과 1의 임의의 조합인 패턴이다.
10.10.9 Write 1 Rom 알고리즘
1. 1개의 로우를 선택된 패턴으로 어레이에 기입한다.
주:
a) 선택된 패턴은 모두가 0인 패턴, 모두가 1인 패턴 또는 0과 1의 임의의 조합인 패턴이다.
10.10.10 Read 1 Column 알고리즘
1. 1개의 칼럼을 어레이에서 판독한다.
주:
a) 선택된 패턴은 모두가 0인 패턴, 모두가 1인 패턴 또는 0과 1의 임의의 조합인 패턴이다.
10.10.11 Finish 알고리즘 DONE 플래그(flag)를 참이되도록 세트하고 프로그램 카운터를 비활성화시킨다.
10.11 내지 10.18 BRMO_7에서 BRM56_63
INPUTS: B_ROM_ADDRx(여기서 x는 0에서 63 범위이다).
OUTPUTS: B_WORD0에서 B_WORD11
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
BIST ROM 회로는 각각 8개의 회로로 분할되는데 각 회로는 8개의 워드를 갖는다.
10.19 BROMDRV(도 53)
INPUTS : B_WORD,B_PRECHARGE,B_ROM_WORD
OUTPUTS: B_WORD0..B_WORD11
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
BROMDRV는 ROM 워드의 12 비트에 대한 구동 회로이다. 데이타 라인의 12 비트는 디바이스가 어레이 접근 모드에 있지 않는 경우 BIST 동작 동안 2개의 클럭 사이클마다 한번씩 프리차지된다(도 68).
10.20 BIST(도 51, 52)
INPUTS: BIST_EN,B_EEPRMOPT,TLBADDRNG,PB_CLKBIST,
B_SR_LOAD,B_YSTOPE,B_XSTOPE,B_YSTARTE,B_XSTARTE,
VUPB,TLBMON3,TLBMON2,TLBMON1,TLBROMR,
B_ROM_WORD,B_RASA1,B_RASB1,B_RASC1,B_RASA2,
B_RASB2,B_RASC2,B_CASA1,B_CASB1,B_CASC1,B_CASA2,
B_CASB2,B_CASC2,B_OEA1,B_OEB1,B_OEC1,B_OEA2,B_OEB2,
B_OEC2,B_DMUXA1,B_DMUXB1,B_DMUXC1,B_DMUXA1,
B_DMUXB1,B_DMUXC1,B_YMUXA1,B_YMUXB1,B_YMUXC1,
B_YMUXA1,B_YMUXB1,B_YMUXC1,B_FIXCOUNTA,
B_FIXCOUNTB,B_FIXCOUNTC,B_PERIODA1,
B_PERIODB1,B_PERIODC1,
OUTPUTS: B_DONE,B_OUTPUTEN,B_CLKMUX,B_ROM_PRECHARGE,
B_DQL(23:18),B_RASB,B_CASB,B_WDATA_TIMB,B_WB,
B_PCOUNTER,B_ADDR,B_PF RESULT,B_ROM_ADDR,B_PQ
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
상기의 블럭에서 모든 회로들은 VHDL 코드에서 코딩한 후에 오토로직 2를 사용하여 조합된다. 그것은 8개의 주 블럭을 갖는다.
1. B_CLK_GEN(도 22) : 다른 상(phase)의 보조 클럭을 발생시킨다. 또한 ROM을 위한 프리차지 신호를 발생시킨다.
2. B_ADDRCTL(도 8-12) : 액세스된 셀의 어드레스를 발생시키고 제어한다.
3. B_CROM(도 40) : ROM 내의 테스트 조건을 저장하고, 프로그램 카운터 및 디코더를 유지한다.
4. B_PG_CONTROL(도 24) : 테스트 프로그램의 흐름을 제어한다.
5. B_PASSFAIL : 어레이에 기록된 데이타 패턴을 발생시키고, 패스 페일 비교를 수행한다.
6. B_DQMUX : BIST 신호가 DQ에 나타나도록 멀티플렉싱을 제어한다.
7. B_ADDRNG(도 16-21) : BIST 동작의 시작 및 정지 어드레스를 제어한다.
8. B_TGEN(도 47-50) : 모든 제어, 데이타, 어드레스 신호의 타이밍을 제어하고 발생시킨다.
10.21 B_CLK_GEN
INPUTS: B_CLK,VUPB,B_SR_LOAD,B_DONE,B_ROM_PRE_EN,
OUTPUTS: B_CLK_B,B_RESET,B_CLK_C,B_CLK_A,
B_ROM_PRECHARGE,B_CLK_AD
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
상기의 회로는 BIST 주 클럭 B_CLK를 가지고 2 클럭 사이클에서 그 것 중의 4개의 다른 클럭을 만든다. B_CLK_A의 상승 에지는 프로그램 카운터에 의해 지적된 최신의 명령을 갱신한다. 최신의 명령의 디코딩은 상기의 에지에서 시작한다. B_CLK_AD의 상승 에지는 디코딩된 최신 명령을 수행하는 클럭이다. B_CLK_B의 상승 에지에서, 프로그램 카운터를 취하는 작동이 결정된다. B_CLK_C는 리세트 신호로서 동작한다.
또한 ROM(도 69)을 위한 프리차지 신호도 발생시킨다.
10.22 B_CROM(도 40)
INPUTS: B_CLK_A,B_CLK_C,B_ROM_WORD,TLBROMR,B_RESET,
B_INS_COMPLETED,B_PC_LOAD,B_CLK_B,
B_PC_LO_ADDR,B_RPTINV_STATE
OUTPUTS: B_RPT_N_INV,B_YEN,B_DONE,B_DECR,B_ALTERNATE,
B_INC,B_XEN,B_TIME_SET1,B_XEN,B_TIME_SETO,
B_CKBD,B_CHK_KEY,B_REN,B_READ,B_PAUSE,
B_JUMP,B_CHK_TIMEOUT,B_WRITE,B_JMP_ADDR,
B_ROM_ADDR,B_RDATA,B_WDATA
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
B_CROM은 ROM의 동작을 제어한다. 그것은 디코더, 프로그램 카운터, 및 현재의 명령을 디코딩 하는 B_ROMLOGIC(도 30)으로 구성되어 있다. 프로그램 카운터는 파우어 업 동안에 워드 0을 지적한다. 다음에 BIST 동작에서, PC는 소망하는 명령을 실행하도록 ROM 내의 적절한 워드를 지적할 것이다. 디코더는 ROM(도 70) 내의 64 워드들 중 하나를 지적하는 6 비트 프로그램 카운터를 디코드 한다.
10.23 B_DECODER(도 26)
INPUTS: B_PC_ADDR
OUTPUTS: B_ROM_ADDR
# OF CIRCUITS: 1/칩
LOCATION: 칩의 우측 코너
이는 간단한 6 내지 64 디코더이다. 6 비트는 ROM 내의 64 워드로 디코드 되도록 프로그램으로부터 어드레스를 입력한다.
10.24 B_PC(도 25)
INPUTS: B_PC_LOAD,B_PC_LD_ADDR,B_CLK_B,B_RESET,
B_INS_COMPLETED
OUTPUTS: B_PC_ADDR
# OF CIRCUITS: 1/칩
LOCATION: 칩의 우측 코너
프로그램 카운터는 실행될 ROM 내의 명령을 지적한다. B_CLK_B는 프로그램 카운터를 새로운 값으로 변경하는데 사용된다.
명령의 완료시, 프로그램 카운터는 2 방식으로 변경 가능하다. 이는 1(정상프로그램 흐름)만큼 증분될 수 있거나 ROM(조건적 또는 비조건적 점프)의 64워드 중 임의의 하나로 점프 가능하다.
B_CLK_B의 상승 에지에서, 회로는 B_PC_LOAD 및 B_INS_COMPLETED에 들어가는 두 신호를 고찰할 것이다.
B_PC_LOAD가 하이인 경우, B_PC_LD_ADDR에 나타나는 어드레스로 PC를 로딩하여 점프를 실행할 것이다. B_INS_COMPLETED가 하이인 경우, PC를 1만큼 증분시키고 다음 명령으로 진행할 것이다. B_PC_LD_ADDR 또는 B_INS_COMPLETED 어느 것도 하이가 아닌 경우, 어떠한 작동도 얻어지지 않으며, PC는 그대로 유지될 것이다. B_PC_LOAD 및 B_PC_LD_ADDR는 동시에 하이일 수 없다(도 71).
ROM의 내용을 판독하고 DQ 핀으로 출력하기를 원하는 경우, ROM 판독 DFT 모드가 사용될 수 있다. 디바이스는 과전압으로 파우어 업되고 TLBROMR에 DFT 엔트리를 수행하며, BIST 스탠바이 모드에서는 BIST 모드로 진입하기 위하여 CS가 하이가 되도록 하는 것을 필요로 한다.
외부 클럭은 하나의 ROM 워드로부터 다음 ROM 워드로 이동하는데 사용된다. PC는 2 클럭 사이클마다 즉, B_CLK_B의 모든 상승 에지마다 증가된다. 이는 B_INS_COMPLETED가 DFT TLROMR 모드시 내내 하이에 있도록 강요함으로써 행해진다.
10.25 B_ROMLOGIC(도 30, 31)
INPUTS: B_ROM_WORD,TLBROMR,B_CLK_C,B_CLK_A,B_RESET
OUTPUTS: B_JMP_ADDR,B_DONE,B_CHK_TIMEOUT,B_RPT_N_INV,
B_TIMESET1,B_TIMESET0,B_DECR,B_XEN,B_JUMP,
B_CHK_KEY,B_ALTERNATE,B_REN,B_WRITE,B_PAUSE,
B_READ,B_RDATA,B_WDATA,B_CKBD,B_INC,B_YEN,
B_CLK_ARESET
# OF CIRCUITS: 1/칩
LOCATION: 칩의 우측 코너
B_ROMLOGIC은 명령 워드에 포함된 12 비트의 데이타를 디코드 한다. 명령의 두 가지 주된 형태가 있다. 제1 형태는 프로그램 제어 명령이다. 이러한 형태의 명령은 프로그램 흐름을 처리한다. 그들은 BIST 동작을 제어하도록 도입된다. 제2 형태는 어레이 액세스 명령이며, 그들은 어레이가 테스트되는 방법을 제어한다. 그들은 기본적으로 테스터 상에서 보통 발견되는 명령의 동일 형태이다. 그들은 이경우, BIST 포맷으로 번역된다.
명령은 두 부분으로 분할된다. 명령의 처음 6 비트는 발생될 작동을 정의하며, 마지막 6 비트는 명령에 관련된 데이타이다.
판독 전체 어레이 명령에 있어서, Read(비트 11), X(비트 9) 및 Y(비트 8)은 1로 세트된다. 명령의 마지막 6 비트는 판독 전체 어레이가 달성되는 방법 즉, 타이밍 세트가 사용되는 방법, 데이타 패턴이 사용되는 방법 등에 대한 정보를 제공한다.
프로그램 제어 명령에 있어서, 최상위 4비트는 '0'이고, 비트 7 및 비트 6은 프로그램 제어 명령을 결정한다. 마지막 6 비트는 사실상 점프되도록 결정되는지 여부에 따라 점프되는 어드레스를 제공한다.
무조건의 점프 명령, 최상위 6 비트에 대한 '110011' 및 최하위 6 비트에 대하여 점프되는 어드레스가 존재한다.
ROM 내에 있는 마지막 명령은 BIST 동작의 종료를 알리는 신호에 대한 아이들(idle) 명령이다. 이 명령의 마지막 6 비트는 현행 256M의 개정 번호(revision number)를 보유한다(도 72).
상기 명령은 타이밍 세트 A, 기대 데이타 '0', 참 내부 데이타 패턴 및 DQ 중에서의 동일한 데이타를 이용하여 전체 어레이(인에이블된 X 및 Y 모두)로부터 판독을 수행할 것이다.
가능한 많은 명령의 조합이 현재 회로로 프로그램될 수 있다. BIST를 위해 새로운 알고리즘이 필요하다면, ROM을 간단히 재프로그램함으로써 포함될 수 있다. 명령을 구성하기 위하여 옵션 조합을 이용할 수 있다(도 73).
10.26 B_TGEN
INPUTS: B_READ,B_RESET,B_PAUSE,B_YCARRY_1,B_CLK,B_WRITE,
B_TIME_SETO,B_TIME_SET1,B_INS_COMPLETED,B_REN,
B_OEA1,B_OEA2,B,B_OEB1,B_OEB2,B,B_OEC1,B_OEC2,
B_RASA1,B_RASA2,B_RASB1,B_RASB2,B_RASC1,B_RASC2,
B_CASA1,B_CASA2,B_CASB1,B_CASB2,B_CASC1,B_CASC2,
B_DMUXA1,B_DMUXB1,B_DMUXC1,B_DMUXA1,I_DMUXB1,
B_DMUXC1,B_YMUXA1,B_YMUXB1,B_YMUXC1,
B_YMUXA1,B_YMUXB1,B_YMUXC1,
B_FIXCOUNTA,B_FIXCOUNTB,B_FIXCOUNTC
B_PERIODA1,B_PERIODB1,B_PERIODC1,
OUTPUTS: B_YSELB,B_RASB,B_CASB,B_WB,B_OEB,B_PERIODB,
B_ROM_PRE_EN,B_WDATA_TIMB,B_TIMECNT_REF,
B_PCOUNTER
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
BIST 테스트에 사용된 타이밍 세트는 BIROSC(도34) 블록에서 발생된 주 클럭의 사용을 통해 발생된다. 클럭은 50MHz 클럭이고 타이밍 세트의 해상도는 20ns이다. 카운터는 주 클럭의 상승 에지의 수를 카운트 한다. 제어 타이밍은 카운터의 특정 카운트를 지정하므로써 설정된다. 이하의 예에서, 액티베이트(activate)는 카운트 2로 지정되어 있고, 디액티베이트(deactivate)는 카운트 12로 지정되어 있다(도 74).
3가지 유형의 타이밍 세트 즉, 쇼트, 롱 및 페이지 타이밍 세트가 모두 BIST에서 구현되는 10 알고리즘에서 사용되었다(도 75).
10.27 B_COUNTER10B(도 39)
INPUTS: B_CNTR10_CLK,B_CNTR10_CLR
OUTPUTS: B_CNTR10
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
B_CNTR10_CLK의 상승 에지는 카운터를 1씩 증분시킨다. 그 카운터는 항상 인에이블되어 있다.
10.28 B_COUNTER10A(도 38)
INPUTS: B_CNTR10_CLK,B_CNTR10_EN,B_CNTR10_CLR
OUTPUTS: B_CNTR10
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
B_CNTR10_EN가 하이이면, B_CNTR10_CLK의 상승 에지는 카운터를 1씩 증분시킨다.
10.29 B_ADDRCTL
INPUTS: B_PAUSE,B_PERIODB,B_RESET,B_CLK_AD,B_YEN,B_XEN,
B_REN,B_INC,B_YSELB,BIST_EN,B_DECR,B_SUBARRAY,
B_XADDR_STP,B_YADDR_STP,B_XADDR_STR,
B_YADDR_STR
OUTPUTS: B_YCLR,B_XCLR,B_RCARRY,B_YCARRY,B_XCARRY,
B_YNOCARRYJ,B_YCARRY_1,B_XNOCARRY,
B_LSB_YADDR,B_LSB_XADDR,B_ADDR
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
B_ADDRCTL은 두개의 블록, 즉 모든 어드레스 카운터를 포함하는 B_ADDR_CTR과 어드레스 카운터의 오버플로우(overflow)를 검출하기 위해 제어 신호를 제공하는 B_RESET_EN을 갖는다.
10.30 B_ADDR_CTR
INPUTS: B_SUBARRAY,B_INC,B_DECR,B_ADDRCLK,B_XCLR,
B_YCLR,B_RCLR,B_XEN,B_YEN,B_REN,B_YSELB,
BIST_EN,B_XADDR_STP,B_YADDR_STP,B_XADDR_STR,
B_YADDR_STR
OUTPUTS: B_RCARRY,B_YCARRY,B_XCARRY,B_YNOCARRYJ,
B_YCARRY_1,B_XNOCARRY,B_LSB_YADDR,
B_LSB_XADDR,B_ADDR
# OF CIRCUITS: 1/칩
LOCATION : 칩의 오른쪽 코너
B_ADDR_CTR은 3개의 카운터, 즉 로우 카운터, 칼럼 카운터 및 리프레쉬 카운터를 갖는다. 멀티플렉서는 BIST 동작 동안 어떠한 카운터 값이 B_ADDR 신호로써 사용되는지를 결정한다. 보통의 액세스 시에는 X 카운터와 Y 카운터만이 사용된다. B_YSELB는 칼럼과 로우 어드레스(도 76) 사이에서 선택하기 위해 사용된 신호이다. 리프레쉬 동안 리프레쉬 카운터만이 사용된다.
어드레싱 먹스 시퀀스(addressing mux sequence)는 B_ADDRCLK, B_INC 및 B_YSELB의 조합에 의해 제어된다. B_PERIODB 펄스는 1씩 어드레스 카운터를 증분시키는 B_ADDRCLK을 발생시킨다.
B_YSELB 상의 로는 칼럼 어드레스의 선택을 표시한다. B_YSELB 상의 하이는 로우 어드레스의 선택을 표시한다. B_INC는 인에이블된 어드레스 카운터를 1씩 증분시킬 것이다(도 77).
10.31 B_ROW_CTR(도 46, 55)
INPUTS: B_INC,B_DECR,B_ADDRCLK,B_XCLR,B_XEN,B_XSTART,
B_XSTOP
OUTPUTS: B_CARY,B_XCARRY,B_XNOCARRYJ,B_XADDR
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
X 카운터는 14 비트 카운터이고 이는 현재의 로우 어드레스를 유지한다. 또한, B_DECR의 상태에 따라 전진 및 후진으로 카운트 할 수 있다. B_DECR 상의 로는 전진 카운팅, 즉, B_ADDRCLK의 매 상승 에지마다 카운트 값을 1씩 증분시키는 것을 의미한다. 카운터는 B_XEN에 의해 인에이블 된다.
만약 서브-어레이 옵션이 선택되면, 카운터는 먼저 로드된 개시 어드레스와 함께 시작될 것이다. 일단 정지 어드레스에 이르게 되면 오버플로우가 발생될 것이다.
10.32 B_COL_CTR(도 37)
INPUTS: B_INC,B_DECR,B_ADDRCLK,B_YCLR,B_YEN,B_YSTART,
B_YSTOP
OUTPUTS: B_CARY,B_YCARRY,B_YNOCARRYJ,B_YADDR
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
Y 카운터는 9 비트 카운터이고, 이는 현재의 칼럼 어드레스를 유지한다. 이는 B_DECR의 상태에 따라 전진 및 후진으로 카운트할 수 있다. B_DECR 상의 로는 전진 카운팅, 즉, B_ADDRCLK의 매 상승 에지마다 카운터 값을 1씩 증분시키는 것을 의미한다. 카운터는 B_YEN에 의해 인에이블 된다.
만약 서브-어레이 옵션이 선택되면, 카운터는 먼저 로드된 개시 어드레스와 함께 시작될 것이다. 일단 정지 어드레스에 이르게 되면 오버플로우가 발생될 것이다.
10.33 B_REF_CTR(도 45)
INPUTS: B_ADDRCLK,B_RCLR,B_REN,B_XSTART,B_XSTOP,
OUTPUTS: B_RCARRY,B_RADDR
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
리프레쉬 카운터는 14 비트 카운터이다. 이는 전진 방향으로만 카운트 한다. 카운터 값은, 만약 B_REN이 하이이면 B_ADDRCLK의 매 상승 에지마다 1씩 증분된다. 리프레쉬 카운터는 3가지 디스터브 테스트에만 사용된다. 리프레쉬 명령 동안, 의사 판독(pseudo read)은 인에이블된 모든 로우에 대해서 이루어진다. 이는 어레이를 리프레쉬 하지만, 어떠한 패스/페일 비교도 이루어지지 않는다.
10.34 B_ADDR_RESET_EN(도 35, 36, 54)
INPUTS: B_INC,B_PERIODB,B_XEN,B_YEN,B_REN,B_RCLR,B_REN,
B_X2YLINK,B_RESET,B_CLK_C,B_CLK_AD,B_XCARRY,
B_YCARRY,B_RCARRY,B_PAUSE
OUTPUTS: B_ADDRCLK,B_YENABLE,B_XRESET,B_YRESET,
B_RRESET
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
이 회로는 어드레스 카운터를 증분 또는 감소시키는데 사용되는 클럭(B_ADDRCLK)을 발생시킨다. B_ADDRCLK는 2 방향으로, 즉, INC 명령 중에 또는 어레이 액세스 싸이클의 종료 동안에 발생된다. 리세트 신호(XCLR, YCLR 및 RCLR)는 B_CLK_C의 상승 에지에서 발생된다. 이들은 오버플로우가 발생할 때 카운터를 그것의 초기 상태로 리세트시킨다.
B_X2YLINK는 전체 어레이 테스트를 위해 X 및 Y 레지스터를 함께 결합하는데 사용된다. CARRY 신호는 어레이 액세스 명령의 완료를 알리는데 사용되고 프로그램 카운터로 보내져 다음 명령으로 이동하는 것을 알려 준다.
10.35 B_PG_CONTROL
INPUTS: VUPB,B_RESET,BIST_EN,B_DONE,B_TIMEOUT_CHK,
B_INC,B_XEN,B_XCARRY,B_XNOCARRYJ,B_XCLR,B_YEN,
B_YCARRY,B_YNOCARRYJ,B_YCLR,B_REN,B_RCARRY,
B_CHK_KEY,B_RPT_N_INV,B_JUMP,B_TIMECNT_REF,
B_ADDRU,B_ADDRL,B_CLK_C,B_CLK_A,B_SR_LOAD
OUTPUTS: B_INS_COMPLETED,B_PC_LOAD,B_RPTINV_STATE,
B_SUBARRAY,B_CLKMUX,B_OUTPUTEN
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
이 블럭은 프로그램 카운터를 제어하기 위해 사용되는 회로를 포함한다. 이것은 또한 어떤 테스트를 수행할지에 대한 정보를 유지하는 쉬프트 레지스터를 포함한다.
명령 완료시에, 이 블럭은 프로그램 카운터를 증분시킬지 또는 프로그램 카운터를 새로운 어드레스로 로드할지에 대한 결정을 할 것이다.
10.36 B_SHIFT(도 7)
INPUTS: VUPB,BIST_EN,B_DONE,B_SR_CLK,B_SR_LOAD,
B_ADDRU,B_ADDRL
OUTPUTS: B_LSB_SR,B_SUBARRAY,B_CLKMUX,B_OUTPUTEN
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
B_SHIFT 레지스터는 파우어 업 중에 래치된 데이타를 유지한다. TEXT_EN 명령이 한번 실행될 때마다, 쉬프트 레지스터는 1 자리만큼 우측으로 쉬프트된다. 이 명령은 테스트가 인에이블되는 지를 확인하기 위해 최종 비트를 참조한다(도 78).
10.37 B_ECOMPARE10(도 43)
INPUTS: B_ECMPR10_EN,B_AIN9_0,B_BIN9_0
OUTPUTS: B_ECMPR10_RSLT,B_ECMPR10_RSLTB
# OF CIRCUITS: 1/칩
LOCATION: 칩의 우측 모서리
이것은 간단한 비교기이다. 비교 인에이블 신호가 하이이면, B_ECMPR10_RSLT가 하이일 것이고 2개의 10비트 입력이 동일하면 바 신호는 로일 것이다. 이와 달리, 2개의 입력이 동일하지 않으면, B_ECMPR10_RSLT는 로일 것이다. 비교가 인에이블되지 않으면, 2개의 출력은 입력에 관계 없이 로일 것이다.
10.38 B_PASSFAIL(도 33, 44)
INPUTS: B_RESET,B_CLK,B_RDATA,B_WDATA,B_OEB,
B_ALTERNATE,B_CKBD,B_WRITE,B_LSB_XADDR,
B_LSB_YADDR,B_DQ
OUTPUTS: B_WEVNVAL,B_WODDVAL,B_PF_RESULT,B_DODD,
B_DEVEN
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
이 회로는 어레이에 기록될 내부 데이타 패턴을 발생시킨다. 이것은 또한 패스 페일 비교를 위한 예상 데이타를 발생시킨다. 비교를 위한 타이밍은 B_OEB 타이밍에 의해 제어된다.
10.39 B_DQMUX(도 41,42)
INPUTS: TLBROMR,TLBMON1,TLBMON2,TLBMON3,B_WRITE,
B_WDATA_TIMB,B_ROM_WORD,B_WEVNVAL,B_WODDVAL,
B_RASB,B_CASB,B_WB,B_CLK,B_DODD,B_DEVEN,B_OEB,
B_ADDR
OUTPUTS: B_DQ,B_DQL
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
이 회로는 외부 세계로 나가는 서로 다른 신호들을 멀티플렉싱하는 거대한 멀티플렉서이다. 정상 모드에서는 패스 페일 신호만 외부 세계로 나간다. 다른 3가지 모니터 모드에서는 서로 다른 제어 신호들이 외부 세계로 보내진다(도 79).
10.40 B_ADDRNG
INPUTS: B_EEPRMOPT,PB_CLKBIST,TLBADDRNG,B_ADDR,
B_XSTARTE,B_XSTOPE,B_YSTARTE,B_XSTOPE,
OUTPUTS: B_XADDR_STR,B_XADDR_STP,B_YADDR_STR,B_YADDR_STP
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
이 회로는 서브 어레이 BIST 테스팅을 위한 시작 및 정지 어드레스를 로드시키는데 사용된다. DFT 모드는 이 상태로 들어가는데 이용된다. 이 DFT 모드로 들어가게 될 때, 클럭의 다음 번 4개의 상승 에지들은 X 및 Y 시작 및 정지 어드레스 내에 로드될 것이다(도 80).
10.41 BONEXX
INPUTS: IN
OUTPUTS: OUT
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
이것은 ROM의 '1' 비트이고 BONExx가 하이임을 나타내는 것이다. IN은 '워드라인'(B_ROM_ADDR(x))에 접속된다. OUT은 항상 하이로 프리차지되며 IN이 하이인지 여부에 상관없이 로로 되지 못한다(도 81).
10.42 BZEROXX
INPUTS: IN
OUTPUTS: OUT
# OF CIRCUITS: 1/칩
LOCATION: 칩의 오른쪽 코너
이것은 ROM의 0 비트이고 BONExx가 로임을 나타내는 것이다. IN은 '워드라인'(B_ROM_ADDR(X))에 접속된다. OUT(B_WORD(Y))은 하이로 프리차지되지만, 만일 이 셀이 선택되고 IN이 하이로 되면, OUT은 로로 될 것이다(도 82).
위에서 언급한 것은 내장 자가 테스트 회로를 가지는 예시적인 집적 회로 메모리 디바이스의 구성과 동작을 설명한 것이다. 설명된 구성과 방법은 물론 이로부터 자명한 기타 다른 구성도 첨부된 특허 청구의 범위 내에 포함됨을 고려하여야 할 것이다.
본 발명인 내장 자가 테스트(BIST) 구성을 가지는 집적 회로의 효과로는 메모리 디바이스당 테스터에 많은 시간을 요하지 않으면서 대용량의 메모리 디바이스를 효율적으로 테스트 할 수 있는 것이다.
도 1 내지 도 4는 도 5에서와 같이 위치하는 경우에 내장 자가 테스트 회로가 배열된 집적 회로 메모리 디바이스 블록도를 도시하는 도면.
도 6은 동시 테스트를 위해 실장된 다수의 디바이스를 도시하는 도면.
도 7은 BIST 동작을 위한 테스트 가능 쉬프트 레지스터의 개략적인 논리도.
도 8은 BIST 구성을 위한 어드레스 제어 회로의 블럭도.
도 9 내지 도 12는 도 8의 어드레스 제어 회로에 사용되는 개략적인 논리도.
도 13a 내지 도 13c는 메모리 디바이스의 어드레스 버퍼의 동작을 도시하는 개략도.
도 14는 BIST 검출 회로의 논리도.
도 15는 도 14의 검출기 회로의 동작 조건을 도시하는 타이밍도.
도 16 내지 도 21은 BIST 어드레스 레지스터 회로의 개략적인 논리도.
도 22는 BIST 클럭 발생기 회로의 개략적인 논리도.
도 23은 특정 자가 테스트에 대해 어떤 테스트 동작이 실행 가능한지 여부를 표시하는 데이타를 저장하기 위한 레지스터 위치를 표시하는 표.
도 24 및 도 25는 프로그램 카운터를 포함하는 BIST 프로그램 제어 회로의 개략적인 논리도.
도 26은 BIST ROM 디코더의 개략적인 논리도.
도 27은 테스트 알고리즘 명령을 저장하기 위한 BIST ROM의 개략도.
도 28은 실행될 수 있는 수개의 DRAM 테스트에 대한 동작 순서를 결정하기 위한 BIST ROM 내에 저장된 데이타의 표.
도 29는 BIST ROM의 이격된 칼럼 내에 저장된 비트의 기능을 도시하는 표.
도 30 및 도 31은 ROM 논리 회로 예에 대한 개략적인 논리도.
도 31은 ROM 논리 회로의 개략적인 논리도.
도 32는 패스/페일(Pass/Fail) 비교기의 VHDL 언어 기술(description)의 표.
도 33은 진리표 및 정의.
도 33a는 비스트 내부 리프레쉬 비트(Bist Internal Refresh Bit)의 개략도.
도 34는 내부 리프레쉬 오실레이터(Internal Refresh Oscillator)의 개략도.
도 35는 어드레스 리세트 회로 쉬트 1(Address Reset Circuitry Sheet 1)의 개략도.
도 36은 어드레스 리세트 회로 쉬트 2의 개략도.
도 37은 칼럼 카운터의 개략도.
도 38은 10 비트 카운터 "A"의 개략도.
도 39는 10 비트 카운터 "8"의 개략도.
도 40은 제어 ROM의 개략도.
도 41은 데이타 멀티플렉서(MUX)의 개략도.
도 42는 데이타 멀티플렉서(MUX)의 개략도(도 41의 계속).
도 43은 비교 회로의 개략도.
도 44는 패스 페일 검출 회로의 개략도.
도 45는 리프레쉬 카운터의 개략도.
도 46은 로우(Row) 카운터의 개략도.
도 47은 타이밍 발생기 쉬트 1의 개략도.
도 48은 타이밍 발생기 쉬트 2의 개략도.
도 49는 타이밍 발생기 쉬트 3의 개략도.
도 50은 타이밍 발생기 쉬트 4의 개략도.
도 51은 완전 BIST 논리(full BIST logic)의 개략도.
도 52는 완전 BIST 함수 논리의 개략도.
도 53은 ROM 드라이버 논리의 개략도.
도 54는 어드레스 리세트 인에이블(Address Reset Enable)의 개략도.
도 55는 로우 카운터의 개략도.
도 56은 칼럼(Column) 카운터의 개략도.
도 57은 리프레쉬 카운터의 개략도.
도 58은 10비트 카운터 "A"의 개략도.
도 59는 10비트 카운터 "B"의 개략도.
도 60은 BIST 블럭 및 인터페이스의 도면.
도 61은 BIST 레이아웃 위치의 도면.
도 62는 알고리즘 및 타이밍 세트의 도표.
도 63은 입/출력 상태 천이의 도면.
도 64는 타이밍도.
도 65는 BIST의 핀 아웃 및 키 신호의 도면.
도 66은 클럭 멀티플렉싱의 표.
도 67은 ROM 메모리 맵의 도표.
도 68은 어레이 액세스 및 프로그램 제어를 위한 타이밍 도표.
도 69는 타이밍도.
도 70은 ROM 인터페이스의 블럭도.
도 71은 명령 타이밍도.
도 72는 제어 워드(control words)의 도면.
도 73은 타이밍 세트의 표.
도 74는 타이밍 발생기의 도면.
도 75는 타이밍 세트의 도면.
도 76은 멀티플렉서의 도면.
도 77은 DUT(Device Under Test) 타이밍도.
도 78은 엔트리(entry) 및 테스트 제어를 위한 어드레스 제어 비트의 도표.
도 79는 DQ(데이타/출력) 멀티플렉싱의 도표.
도 80은 어드레스 범위 선택을 나타내는 도면.
도 81은 로 선택(option low)의 ROM 프로그래밍 개략도.
도 82은 하이 선택(option high)의 ROM 프로그래밍 개략도.
도 83은 멀티플렉싱 회로의 도면.
<도면의 주요 부분에 대한 부호의 설명>
50 : 집적 회로 동적 랜덤 액세스 메모리 디바이스
60 : 내장 자가 테스트 구성
100 : 어드레스 버퍼
120 : 제어 신호 버퍼
125 : 제어 버스
200 : 디코더
210 : 칼럼 디코더
220 : 메모리 어레이
230 : 데이타 버퍼 회로
240 : 내부 데이타 버스

Claims (6)

  1. 내장 자가 테스트(Built-In Self Test) 구성을 가진 집적 회로에 있어서,
    어드레스 핀 상의 입력 신호에 응답하여 집적 회로를 스탠바이 모드에 설정하고, 또다른 입력 신호에 응답하여 상기 집적 회로를 자가 테스트 모드에 설정하는 내장 자가 테스트 검출기,
    테스트 알고리즘 명령들을 저장하는 판독 전용 메모리,
    상기 판독 전용 메모리와 상호 접속되어 있고, 상기 판독 전용 메모리로부터 판독된 명령을 수신하고 상기 명령에 좌우되어 출력 신호들의 그룹을 출력 단자에서 발생시키는 논리 회로, 및
    상기 출력 단자와 접속되어 있고, 상기 논리 회로로부터의 상기 출력 신호들의 그룹을 수신해서 저장하는 BIST 레지스터
    를 포함하는 것을 특징으로 하는 집적 회로.
  2. 제1항에 있어서, 상기 내장 자가 테스트 구성이, 상기 BIST 레지스터와 상호 접속되어 있고, 상기 BIST 레지스터에 저장된 신호들을 수신하고, 로우 어드레스 스트로브, 칼럼 어드레스 스트로브 및 기입 인에이블 신호를 발생하는 타이밍 발생 회로를 더 포함하는 것을 특징으로 하는 집적 회로.
  3. 제2항에 있어서, 상기 내장 자가 테스트 구성이, 복수의 입력 단자들의 그룹들, 입력 제어 단자들의 그룹, 및 출력 단자들의 그룹을 가진 멀티플렉서,
    상기 멀티플렉서의 입력 단자들의 제1 그룹을 BIST 레지스터에 상호 접속하고, 상기 BIST 레지스터에 저장된 신호들을 상기 멀티플렉서로 전달하는 제1 버스, 및
    상기 멀티플렉서의 입력 제어 단자들의 그룹을 상호 접속하고, 상기 멀티플렉서로 상기 로우 어드레스 스트로브, 칼럼 어드레스 스트로브, 및 기록 인에이블 신호를 전송하는 제2 버스
    를 더 포함하는 것을 특징으로 하는 집적 회로.
  4. 제2항에 있어서, 상기 내장 자가 테스트 구성이,
    BIST 클럭 신호를 발생하는 오실레이터,
    상기 BIST 클럭 신호에 응답하여 계수용으로 설치된 BIST 프로그램 카운터,
    상기 BIST 프로그램 카운터의 입력 단자들의 그룹을 상기 BIST 레지스터에 상호 접속하고, 상기 BIST 레지스터에 저장된 신호들을 상기 BIST 프로그램 카운터로 전달하는 제3 버스,
    상기 BIST 프로그램 카운터에서의 계수에 응답하여 그 계수를 디코딩하고 상기 판독 전용 메모리의 로우 어드레스를 선택하기 위한 신호를 발생하는 BIST 어드레스 디코더, 및
    상기 판독 전용 메모리의 로우 어드레스 입력들을 상기 BIST 어드레스 디코더에 상호 접속하고, 상기 BIST 어드레스 디코더로부터 디코드된 로우 어드레스를 상기 판독 전용 메모리의 로우 어드레스 입력들로 전달하는 제4버스
    를 더 포함하는 것을 특징으로 하는 집적 회로.
  5. 제4항에 있어서, 상기 BIST 프로그램 카운터가,
    상기 BIST 프로그램 카운터를 소정의 초기 상태로 세팅하기 위한 리세트 신호를 수신하는 리세트 입력,
    상기 BIST 프로그램 카운터에 저장된 카운트 상태를 증분하기 위한 증분 카운터 신호를 수신하는 증분 입력, 및
    상기 BIST 프로그램 카운터의 상태가 상기 BIST 레지스터로부터 전달된 신호들에 의해 표현된 상태로 변화되도록 하는 점프 신호를 수신하는 점프 입력
    을 포함하는 것을 특징으로 하는 집적 회로.
  6. 내장 자가 테스트(BIST) 구성을 가진 집적 회로 메모리 어레이 디바이스에 있어서,
    일련의 어드레스를 수신해서 저장하는 어드레스 버퍼,
    입력 신호들에 응답하여 정상 모드 혹은 자가 테스트 모드 중 어느 하나에서 교대로 상기 메모리 어레이 디바이스의 동작을 제어하는 내장 자가 테스트 검출 회로,
    개시 및 종료 어드레스를 수신 및 저장하기 위해 설치되며, 상기 메모리 어레이 디바이스가 자가 테스트 모드에서 동작하는 동안 상기 메모리 어레이의 자가 테스트 동작을 위한 어드레스 레인지 레지스터, 및
    상기 어드레스 레인지 레지스터 및 상기 어드레스 버퍼와 상호 접속되며, 상기 개시 어드레스로 개시되고 상기 종료 어드레스에서 종료하는 일련의 어드레스들을 상기 어드레스 버퍼에 인가하기 위한 자가 테스트 어드레스 카운터
    를 포함하는 것을 특징으로 하는 집적 회로 메모리 어레이 디바이스.
KR1019970017421A 1996-04-30 1997-04-30 집적회로메모리디바이스의내장자가테스트구성 KR100492205B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US1651696P 1996-04-30 1996-04-30
US60/016516 1996-04-30
US60/016,516 1996-04-30

Publications (2)

Publication Number Publication Date
KR970071846A KR970071846A (ko) 1997-11-07
KR100492205B1 true KR100492205B1 (ko) 2005-09-14

Family

ID=21777529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970017421A KR100492205B1 (ko) 1996-04-30 1997-04-30 집적회로메모리디바이스의내장자가테스트구성

Country Status (5)

Country Link
US (1) US5883843A (ko)
EP (1) EP0805460B1 (ko)
JP (1) JPH1069799A (ko)
KR (1) KR100492205B1 (ko)
DE (1) DE69729771T2 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353563B1 (en) * 1996-04-30 2002-03-05 Texas Instruments Incorporated Built-in self-test arrangement for integrated circuit memory devices
US20020071325A1 (en) * 1996-04-30 2002-06-13 Hii Kuong Hua Built-in self-test arrangement for integrated circuit memory devices
US6014336A (en) * 1997-04-30 2000-01-11 Texas Instruments Incorporated Test enable control for built-in self-test
JPH1186596A (ja) * 1997-09-08 1999-03-30 Mitsubishi Electric Corp 半導体記憶装置
US6061811A (en) * 1997-10-31 2000-05-09 Texas Instruments Incorporated Circuits, systems, and methods for external evaluation of microprocessor built-in self-test
KR100267781B1 (ko) * 1998-03-04 2000-10-16 김영환 테스트 모드를 셋업하기 위한 반도체 소자
JP3298621B2 (ja) 1998-09-02 2002-07-02 日本電気株式会社 組込み自己テスト回路
EP1031994B1 (en) * 1999-02-23 2002-07-24 Taiwan Semiconductor Manufacturing Co., Ltd. Built-in self-test circuit for memory
US6928593B1 (en) * 2000-09-18 2005-08-09 Intel Corporation Memory module and memory component built-in self test
US6629281B1 (en) * 2000-09-26 2003-09-30 International Business Machines Corporation Method and system for at speed diagnostics and bit fail mapping
US6622269B1 (en) * 2000-11-27 2003-09-16 Intel Corporation Memory fault isolation apparatus and methods
US6704894B1 (en) 2000-12-21 2004-03-09 Lockheed Martin Corporation Fault insertion using on-card reprogrammable devices
EP1231608A1 (en) * 2001-02-07 2002-08-14 STMicroelectronics Limited Built-in test circuit and method for an integrated circuit
US6904552B2 (en) 2001-03-15 2005-06-07 Micron Technolgy, Inc. Circuit and method for test and repair
US20020133769A1 (en) * 2001-03-15 2002-09-19 Cowles Timothy B. Circuit and method for test and repair
EP1388150B1 (en) * 2001-04-25 2009-01-14 Nxp B.V. Integrated circuit with self-test device for an embedded non-volatile memory and related test method
DE10125022A1 (de) * 2001-05-22 2002-12-12 Infineon Technologies Ag Dynamischer Speicher und Verfahren zum Testen eines dynamischen Speichers
US7418642B2 (en) * 2001-07-30 2008-08-26 Marvell International Technology Ltd. Built-in-self-test using embedded memory and processor in an application specific integrated circuit
JP2003228997A (ja) * 2002-02-05 2003-08-15 Mitsubishi Electric Corp 半導体記憶装置
JP2003281899A (ja) * 2002-03-22 2003-10-03 Sony Corp 半導体記憶装置とその試験方法
US20040193976A1 (en) * 2003-03-31 2004-09-30 Slaight Thomas M. Method and apparatus for interconnect built-in self test based system management failure monitoring
ITRM20030198A1 (it) * 2003-04-28 2004-10-29 Micron Technology Inc Monitor ad unita' di controllo basata su rom in un
US7509543B2 (en) * 2003-06-17 2009-03-24 Micron Technology, Inc. Circuit and method for error test, recordation, and repair
US7275188B1 (en) 2003-10-10 2007-09-25 Integrated Device Technology, Inc. Method and apparatus for burn-in of semiconductor devices
KR100558492B1 (ko) * 2003-11-14 2006-03-07 삼성전자주식회사 반도체 메모리 장치 및 이 장치의 테스트 패턴 데이터발생방법
CN100369159C (zh) * 2004-07-20 2008-02-13 中兴通讯股份有限公司 一种闪存存储器的检测方法
JP2007064648A (ja) * 2005-08-29 2007-03-15 Nec Electronics Corp 半導体集積回路及びテスト方法
KR100927409B1 (ko) * 2008-04-30 2009-11-19 주식회사 하이닉스반도체 반도체 소자와 그의 구동 방법
US8358548B2 (en) * 2009-10-19 2013-01-22 Avago Technologies Enterprise IP (Singapore) Pte. Ltd. Methods for efficiently repairing embedded dynamic random-access memory having marginally failing cells
KR20130134610A (ko) * 2012-05-31 2013-12-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 테스트 방법
US9256505B2 (en) 2014-03-17 2016-02-09 Avago Technologies General Ip (Singapore) Pte. Ltd. Data transformations to improve ROM yield and programming time
KR102179829B1 (ko) * 2014-07-10 2020-11-18 삼성전자주식회사 런 타임 배드 셀을 관리하는 스토리지 시스템
US10163470B2 (en) * 2015-09-18 2018-12-25 Taiwan Semiconductor Manufacturing Company Ltd. Dual rail memory, memory macro and associated hybrid power supply method
US10600495B2 (en) 2017-06-23 2020-03-24 Texas Instruments Incorporated Parallel memory self-testing
US10656205B2 (en) * 2018-02-01 2020-05-19 Oracle International Corporation Narrow-parallel scan-based device testing
CN117110845B (zh) * 2023-10-23 2024-01-05 上海泰矽微电子有限公司 一种测试模式控制电路、方法及芯片
CN117521588A (zh) * 2024-01-08 2024-02-06 深圳中安辰鸿技术有限公司 预防集成电路的非均匀老化的控制方法及装置和处理芯片

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3072531B2 (ja) * 1991-03-25 2000-07-31 安藤電気株式会社 集積回路試験装置のパターンメモリ回路
JP3474214B2 (ja) * 1992-10-22 2003-12-08 株式会社東芝 論理回路及びこの論理回路を備えたテスト容易化回路
US5617531A (en) * 1993-11-02 1997-04-01 Motorola, Inc. Data Processor having a built-in internal self test controller for testing a plurality of memories internal to the data processor
US5870617A (en) * 1994-12-22 1999-02-09 Texas Instruments Incorporated Systems, circuits and methods for mixed voltages and programmable voltage rails on integrated circuits
US5689466A (en) * 1995-04-07 1997-11-18 National Semiconductor Corporation Built in self test (BIST) for multiple RAMs
KR0152914B1 (ko) * 1995-04-21 1998-12-01 문정환 반도체 메모리장치
US5661729A (en) * 1995-04-28 1997-08-26 Song Corporation Semiconductor memory having built-in self-test circuit
US5661732A (en) * 1995-05-31 1997-08-26 International Business Machines Corporation Programmable ABIST microprocessor for testing arrays with two logical views
US5568437A (en) * 1995-06-20 1996-10-22 Vlsi Technology, Inc. Built-in self test for integrated circuits having read/write memory
US5640509A (en) * 1995-10-03 1997-06-17 Intel Corporation Programmable built-in self-test function for an integrated circuit
US5640404A (en) * 1996-08-05 1997-06-17 Vlsi Technology, Inc. Limited probes device testing for high pin count digital devices

Also Published As

Publication number Publication date
US5883843A (en) 1999-03-16
KR970071846A (ko) 1997-11-07
JPH1069799A (ja) 1998-03-10
DE69729771T2 (de) 2004-12-02
EP0805460B1 (en) 2004-07-07
EP0805460A1 (en) 1997-11-05
DE69729771D1 (de) 2004-08-12

Similar Documents

Publication Publication Date Title
KR100492205B1 (ko) 집적회로메모리디바이스의내장자가테스트구성
US7278078B2 (en) Built-in self-test arrangement for integrated circuit memory devices
US6353563B1 (en) Built-in self-test arrangement for integrated circuit memory devices
US6760865B2 (en) Multiple level built-in self-test controller and method therefor
US5224101A (en) Micro-coded built-in self-test apparatus for a memory array
US6014336A (en) Test enable control for built-in self-test
US6347056B1 (en) Recording of result information in a built-in self-test circuit and method therefor
CN100399473C (zh) 内置自测系统和方法
US5875153A (en) Internal/external clock option for built-in self test
US20030167431A1 (en) Programmable test for memories
KR100480852B1 (ko) 내장형자가테스트장치를이용하여다이나믹랜덤억세스메모리에서서브어레이테스트를위한장치및방법
US6181151B1 (en) Integrated circuit tester with disk-based data streaming
Boutobza et al. Programmable memory BIST
US5991213A (en) Short disturb test algorithm for built-in self-test
US6380730B1 (en) Integrated circuit tester having a program status memory
JPH10170607A (ja) 半導体デバイスのテスト装置
KR100351768B1 (ko) 벡터모듈테이블을사용하는자동테스트장치용메모리아키텍처
JP2002203398A (ja) 不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法
US7519862B2 (en) Software programmable verification tool having a single built-in self-test (BIST) module for testing and debugging multiple memory modules in a device under test (DUT)
US5127010A (en) Pattern generator
US5959912A (en) ROM embedded mask release number for built-in self-test
US5953272A (en) Data invert jump instruction test for built-in self-test
KR100786414B1 (ko) Dut 테스터 데이터 채널 반전 특성 관리 장치
JP2001243797A (ja) 半導体装置及びその試験方法
EP1343174B1 (en) Programmable test for memories

Legal Events

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

Payment date: 20130429

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 12