KR20150029213A - 다양한 테스트 패턴을 획득하는 자체 테스트 회로를 포함하는 시스템 온 칩 및 그것의 자체 테스트 방법 - Google Patents
다양한 테스트 패턴을 획득하는 자체 테스트 회로를 포함하는 시스템 온 칩 및 그것의 자체 테스트 방법 Download PDFInfo
- Publication number
- KR20150029213A KR20150029213A KR20130108077A KR20130108077A KR20150029213A KR 20150029213 A KR20150029213 A KR 20150029213A KR 20130108077 A KR20130108077 A KR 20130108077A KR 20130108077 A KR20130108077 A KR 20130108077A KR 20150029213 A KR20150029213 A KR 20150029213A
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- error
- self
- bist
- slave device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/27—Built-in tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/31813—Test pattern generators
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3187—Built-in tests
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31917—Stimuli generation or application of test patterns to the device under test [DUT]
- G01R31/31919—Storing and outputting test patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0401—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1208—Error catch memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/36—Data generation devices, e.g. data inverters
- G11C2029/3602—Pattern generator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/104—Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
본 발명에 따른 오류 액세스 패턴을 사용하여 자체 테스트를 하는 시스템 온 칩은 마스터 장치, 슬레이브 장치, 상기 마스터 장치로부터 상기 슬레이브 장치로 인스트럭션을 전송하는 버스, 그리고 상기 인스트럭션을 수신하여 저장하는 자체 인스트럭션 캡처 회로를 포함하고, 상기 자체 인스트럭션 캡처 회로는 상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생시 상기 인스트럭션을 상기 오류 액세스 패턴으로 정의하여 저장한다.
본 발명에 따른 마스터 장치 및 슬레이브 장치를 포함하는 시스템 온 칩의 자체 테스트 방법은 상기 마스터 장치로부터 상기 슬레이브 장치로 전송되는 인스트럭션을 수신하는 단계, 수신된 상기 인스트럭션을 인스트럭션 버퍼에 저장하는 단계, 상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생 여부를 확인하는 단계, 그리고 상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생시 저장된 상기 인스트럭션을 오류 액세스 패턴으로 정의하는 단계를 포함한다.
본 발명에 따른 마스터 장치 및 슬레이브 장치를 포함하는 시스템 온 칩의 자체 테스트 방법은 상기 마스터 장치로부터 상기 슬레이브 장치로 전송되는 인스트럭션을 수신하는 단계, 수신된 상기 인스트럭션을 인스트럭션 버퍼에 저장하는 단계, 상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생 여부를 확인하는 단계, 그리고 상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생시 저장된 상기 인스트럭션을 오류 액세스 패턴으로 정의하는 단계를 포함한다.
Description
본 발명은 시스템 온 칩에 관한 것으로, 좀 더 구체적으로는 다양한 테스트 패턴을 획득 가능한 자체 테스트 회로를 포함하는 시스템 온 칩 및 그것의 자체 테스트 방법에 관한 것이다.
최근 반도체 공정기술의 발전과 집적도의 증가에 따라 내장된 메모리의 비중이 매우 증가하고 있다. 또한, 내장 메모리를 테스트하기가 매우 복잡하고 어려워지게 되었다. 이에 테스트 용이화 설계(Design For Testability) 기법을 적용한 칩 설계 기법이 도입되었다.
테스트 용이화 설계 기법은 칩 내부에 노드들의 관측 용이도(observability) 와 조절 용이도(controllability)가 향상되도록 설계하는 기법으로서 스캔 기법, 자체 테스트 기법(Built-in Self Test, 이하 BIST) 등이 있다.
특히, 자체 테스트 기법(BIST)은 반도체 자동 검사 장비(Automatic Test Equipment, ATE)와 같은 테스트 장비를 필요로 하지 않는다. 따라서, 칩 내부에서 칩의 동작속도를 검사하여 테스트 수행이 가능하므로 짧은 테스트 소요시간을 요구하는 장점이 있다.
하지만, 실제 로직(logic)이나 메모리 불량의 유형은 매우 다양하다. 제조사와 제조 공정에 따라 불량 발생 유형이 모두 다르다. 따라서, 일반적으로 알려진 테스트 패턴만을 사용하여 자체 테스트 기법(BIST)을 수행하는 경우 불량 유형이 전부 검출되기는 어렵다.
본 발명의 목적은 각각의 칩에 따라 개별적이고 다양한 테스트 패턴을 획득하여 불량 검출 성능을 향상시킬 수 있는 자체 테스트 회로를 포함하는 시스템 온 칩 및 그것의 자체 테스트 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 오류 액세스 패턴을 사용하여 자체 테스트를 하는 시스템 온 칩은 마스터 장치, 슬레이브 장치, 상기 마스터 장치로부터 상기 슬레이브 장치로 인스트럭션을 전송하는 버스, 그리고 상기 인스트럭션을 수신하여 저장하는 자체 인스트럭션 캡처 회로를 포함하고, 상기 자체 인스트럭션 캡처 회로는 상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생시 상기 인스트럭션을 상기 오류 액세스 패턴으로 정의하여 저장한다.
또한, 상기 자체 인스트럭션 캡처 회로는, 상기 인스트럭션을 수신하는 인스트럭션 캡처부, 상기 인스트럭션을 저장하는 인스트럭션 버퍼, 그리고 상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생시 상기 인스트럭션을 상기 오류 액세스 패턴으로 정의하는 자체 인스트럭션 캡처 제어기를 포함할 수 있다.
또한, 시스템 온 칩은 상기 오류 액세스 패턴을 사용하여 상기 슬레이브 장치의 오류를 검사하기 위한 테스트 패턴을 생성하는 자체 테스트 회로를 더 포함할 수 있다.
또한, 상기 자체 테스트 회로는, 상기 인스트럭션 및 상기 오류 액세스 패턴을 저장하는 인스트럭션 버퍼, 상기 오류 액세스 패턴을 사용하여 상기 테스트 패턴을 생성하는 테스트 패턴 생성기, 그리고 상기 테스트 패턴과 상기 테스트 패턴에 대한 상기 슬레이브 장치의 응답 신호를 비교하여 오류 발생 여부를 검출하는 비교기를 포함할 수 있다.
또한, 상기 자체 인스트럭션 캡처 회로는, 상기 인스트럭션을 수신하여 상기 인스트럭션 버퍼에 저장하는 인스트럭션 캡처부, 그리고 상기 슬레이브 장치에 상기 인스트럭션에 의한 오류 발생시 상기 인스트럭션을 상기 오류 액세스 패턴으로 정의하는 자체 인스트럭션 캡처 제어기를 포함하고, 상기 자체 인스트럭션 캡처 제어기는 상기 버스를 통하여 상기 인스트럭션 버퍼를 제어할 수 있다.
또한, 상기 인스트럭션 캡처부는 용량을 줄이기 위해 상기 인스트럭션을 인코딩하는 인스트럭션 인코더를 포함할 수 있다.
또한, 상기 슬레이브 장치는 중앙처리장치, 그래픽처리장치, 메모리 컨트롤러 또는 주변장치 인터페이스 중 적어도 하나를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명에 따른 마스터 장치 및 슬레이브 장치를 포함하는 시스템 온 칩의 자체 테스트 방법은 상기 마스터 장치로부터 상기 슬레이브 장치로 전송되는 인스트럭션을 수신하는 단계, 수신된 상기 인스트럭션을 인스트럭션 버퍼에 저장하는 단계, 상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생 여부를 확인하는 단계, 그리고 상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생시 저장된 상기 인스트럭션을 오류 액세스 패턴으로 정의하는 단계를 포함한다.
또한, 시스템 온 칩의 자체 테스트 방법은 상기 오류 액세스 패턴을 사용하여 상기 슬레이브 장치를 검사하기 위한 테스트 패턴을 생성하는 단계를 더 포함할 수 있다.
또한, 시스템 온 칩의 자체 테스트 방법은 상기 인스트럭션을 수신하는 단계에서, 용량을 줄이기 위해 상기 인스트럭션을 인코딩할 수 있다.
또한, 시스템 온 칩의 자체 테스트 방법은 상기 테스트 패턴을 생성하는 단계에서, 상기 테스트 패턴을 생성하기 위한 형식으로 상기 오류 액세스 패턴을 디코딩할 수 있다.
또한, 시스템 온 칩의 자체 테스트 방법은 상기 테스트 패턴을 상기 슬레이브 장치에 전송하는 단계, 그리고 상기 테스트 패턴과 상기 테스트 패턴에 대한 상기 슬레이브 장치의 응답 신호를 비교하여 오류 발생 여부를 검출하는 단계를 더 포함할 수 있다.
또한, 시스템 온 칩의 자체 테스트 방법의 상기 슬레이브 장치는 중앙처리장치, 그래픽처리장치, 메모리 컨트롤러 또는 주변장치 인터페이스 중 적어도 하나를 포함할 수 있다.
이상과 같은 본 발명의 실시 예에 따르면, 평상시에 다양한 테스트 패턴을 확보하여 자체 테스트에 활용하므로 불량 검출 성능을 향상시킬 수 있는 자체 테스트 회로를 포함하는 시스템 온 칩 및 그것의 자체 테스트 방법을 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 자체 테스트(BIST) 회로를 포함하는 시스템 온 칩을 간략히 보여주는 블록도이다.
도 2는 도 1의 시스템 온 칩을 보여주는 블록도이다.
도 3은 도 2의 시스템 온 칩(100)을 자세히 보여주는 블록도이다.
도 4는 도 3의 시스템 온 칩의 동작 모드를 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 방법을 보여주는 순서도이다.
도 6은 본 발명의 실시 예에 따른 자체 테스트(BIST) 방법을 보여주는 순서도이다.
도 7은 본 발명의 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 방법을 보여주는 순서도이다.
도 8은 본 발명의 다른 실시 예에 따른 자체 테스트(BIST) 방법을 보여주는 순서도이다.
도 9는 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 회로를 포함하는 시스템 온 칩을 보여주는 블록도이다.
도 10은 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 회로를 포함하는 시스템 온 칩을 보여주는 블록도이다.
도 11은 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 회로를 포함하는 시스템 온 칩을 보여주는 블록도이다.
도 12는 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 유닛을 포함하는 시스템 온 칩을 보여주는 블록도이다.
도 13은 본 발명의 또 다른 실시 예에 따른 BIIC/BIST 회로를 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.
도 2는 도 1의 시스템 온 칩을 보여주는 블록도이다.
도 3은 도 2의 시스템 온 칩(100)을 자세히 보여주는 블록도이다.
도 4는 도 3의 시스템 온 칩의 동작 모드를 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 방법을 보여주는 순서도이다.
도 6은 본 발명의 실시 예에 따른 자체 테스트(BIST) 방법을 보여주는 순서도이다.
도 7은 본 발명의 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 방법을 보여주는 순서도이다.
도 8은 본 발명의 다른 실시 예에 따른 자체 테스트(BIST) 방법을 보여주는 순서도이다.
도 9는 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 회로를 포함하는 시스템 온 칩을 보여주는 블록도이다.
도 10은 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 회로를 포함하는 시스템 온 칩을 보여주는 블록도이다.
도 11은 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 회로를 포함하는 시스템 온 칩을 보여주는 블록도이다.
도 12는 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 유닛을 포함하는 시스템 온 칩을 보여주는 블록도이다.
도 13은 본 발명의 또 다른 실시 예에 따른 BIIC/BIST 회로를 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, 시스템 온 칩(System on Chip, SoC)이 본 발명의 특징 및 기능을 설명하기 위한 전자 장치의 한 예로서 사용될 것이다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 또한, 본 발명은 다른 실시 예들을 통해 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고, 관점 및 응용에 따라 수정되거나 변경될 수 있다.
도 1은 본 발명의 실시 예에 따른 자체 테스트(BIST) 회로를 포함하는 시스템 온 칩을 간략히 보여주는 블록도이다. 도 1을 참조하면, 시스템 온 칩(100)은 자체 인스트럭션 캡처(Built-in Instruction Capture, 이하 BIIC) 회로(110) 및 자체 테스트(Built-in Self Test, 이하 BIST) 회로(120)를 포함할 수 있다.
BIIC 회로(110)는 마스터 장치(140)와 메모리 제어부(130) 사이의 인스트럭션(Instruction)을 수신할 수 있다. 마스터 장치(140)는 메모리 제어부(130)에 전송될 인스트럭션(Instruction)을 생성할 수 있다. 인스트럭션(Instruction)은 버스를 통하여 전송될 수 있다. 수신된 인스트럭션(Instruction)에 의하여 메모리(Memory)에서 오류가 발생한 경우, BIIC 회로(110)는 수신된 인스트럭션(Instruction)을 오류 액세스 패턴(Error Access Pattern)으로 저장할 수 있다. 이렇게 저장된 오류 액세스 패턴(Error Access Pattern)은 BIST 회로에서 테스트 패턴(Test Pattern)을 생성하는 데 사용될 수 있다.
BIST 회로(120)는 이미 알려진, BIST 검사를 위한 인스트럭션 세트(Instruction Set)를 저장할 수 있다. BIST 회로(120)는 저장된 인스트럭션 세트(Instruction Set)를 이용하여 테스트 패턴(Test Pattern)을 생성할 수 있다. BIST 회로(120)는 생성된 테스트 패턴(Test Pattern)을 이용하여 메모리(Memory)의 오류를 검사할 수 있다. 도 1에는 예시적으로 메모리(Memory)를 검사하는 경우가 도시되어 있으나, 검사 대상은 메모리(Memory)에 국한되지 않는다.
메모리 제어부(130)는 버스를 통해 마스터 장치(140)로부터의 인스트럭션(Instruction)을 수신하여 메모리(Memory)를 제어할 수 있다. 메모리 제어부(130)는 BIST 회로(130)와 연결되어 테스트 패턴(Test Pattern) 신호를 메모리(Memory)에 전달할 수 있다. 메모리 제어부(130)는 테스트 패턴(Test Pattern) 신호에 대한 응답 신호를 BIST 회로(120)에 전달할 수 있다.
마스터 장치(140)는 슬레이브 장치(Slave Device)에 전송될 인스트럭션(Instruction)을 생성할 수 있다. 도 1에서 슬레이브 장치(Slave Device)는 메모리 제어부(130)이다. 마스터 장치(140)는 중앙처리장치(CPU), 그래픽처리장치(GPU), 메모리 컨트롤러(Memory Controller) 또는 주변장치 인터페이스(Peripheral Device IF) 등일 수 있다. 슬레이브 장치(Slave Device)는 중앙처리장치(CPU), 그래픽처리장치(GPU), 메모리 컨트롤러(Memory Controller) 또는 주변장치 인터페이스(Peripheral Device IF) 등일 수 있다. 마스터 장치(140)는 슬레이브 장치(Slave Device)에 요청하기 위한 인스트럭션(Instruction)을 생성할 수 있다. 슬레이브 장치(Slave Device)는 버스를 통해 수신한 인스트럭션(Instruction)을 처리할 수 있다.
버스는 시스템 온 칩(100)의 각각의 기능 블록들에 신호들을 전달할 수 있다. 예를 들어, 버스는 ASB(ARM System Bus), APB(ARM Peripheral Bus), AHB(ARM High Performance Bus), AXI(Advanced eXtensible Interface) 등을 포함할 수 있다.
메모리(Memory)는 외부 메모리 또는 내부 메모리를 포함할 수 있다. 메모리(Memory)는, 예를 들면, EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), Conductive bridging RAM(CBRAM), FeRAM (Ferroelectric RAM), OUM(Ovonic Unified Memory)라고도 불리는 PRAM(Phase change RAM), 저항성 메모리 (Resistive RAM: RRAM 또는 ReRAM), 나노튜브 RRAM (Nanotube RRAM), 폴리머 RAM(Polymer RAM: PoRAM), 나노 부유 게이트 메모리(Nano Floating Gate Memory: NFGM), 홀로그래픽 메모리 (holographic memory), 분자 전자 메모리 소자(Molecular Electronics Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.
도 2는 도 1의 시스템 온 칩을 보여주는 블록도이다. 도 2를 참조하면, 시스템 온 칩(100)은 BIIC 회로(110) 및 BIST 회로(120)를 포함할 수 있다. 도 2의 실시 예에 따르면 BIST 회로(120)는 인스트럭션 버퍼(124)를 포함할 수 있다. 따라서, BIIC 회로(110)는 별도의 버퍼를 포함하지 않고 BIST 회로(120)의 인스트럭션 버퍼(124)를 활용할 수 있다.
BIIC 회로(110)는 BIIC 제어기(111)와 인스트럭션 캡처부(112)를 포함할 수 있다. BIIC 제어기(111)는 버스를 통해 동작 신호를 수신할 수 있다. BIIC 제어기(111)는 동작 신호에 따라 BIIC 회로(110)의 전반적인 동작을 제어할 수 있다. BIIC 제어기(111)는 인스트럭션 캡처부(112)를 제어할 수 있다.
인스트럭션 캡처부(112)는 마스터 장치(140)와 메모리 제어부(130) 사이의 인스트럭션(Instruction)을 수신할 수 있다. 수신된 인스트럭션(Instruction)은 인스트럭션 버퍼(124)에 저장될 수 있다. 도 2는 BIST 회로(120)의 인스트럭션 버퍼(124)를 활용하는 실시 예를 보여준다. 수신된 인스트럭션(Instruction)에 의하여 메모리(Memory)에서 오류가 발생한 경우, 인스트럭션 캡처부(112)는 다음 인스트럭션(Instruction)의 수신을 중단할 수 있다. 수신된 인스트럭션(Instruction)은 오류 액세스 패턴(Error Access Pattern)으로 정의되어 인스트럭션 버퍼(124)에 저장될 수 있다.
BIST 회로(120)는 BIST 제어기(121), 비교기(122), 테스트 패턴 생성기(123) 및 인스트럭션 버퍼(124)를 포함할 수 있다. BIST 제어기(121)는 버스를 통해 동작 신호를 수신할 수 있다. BIST 제어기(121)는 동작 신호에 따라 BIST 회로(120)의 전반적인 동작을 제어할 수 있다. BIST 제어기(121)는 테스트 패턴 생성기(123) 및 비교기(122)를 제어할 수 있다.
인스트럭션 버퍼(124)는 두 가지 역할을 할 수 있다. 첫째로 인스트럭션 버퍼(124)는 이미 알려진, BIST 검사를 위한 인스트럭션 세트(Instruction Set)를 저장할 수 있다. 인스트럭션 세트(Instruction Set)는 기본적인 BIST 검사를 수행하는데 사용될 수 있다. 둘째로 인스트럭션 버퍼(124)는 BIIC 회로(110)에 의해 수신된 인스트럭션(Instruction)을 임시로 저장할 수 있다. 메모리(Memory)에 오류가 발생한 경우, 임시로 저장되었던 인스트럭션(Instruction)은 오류 액세스 패턴(Error Access Pattern)으로 정의되어 저장될 수 있다.
테스트 패턴 생성기(123)는 BIST 제어기(121)의 지시에 따라 메모리(Memory)를 검사할 테스트 패턴(Test Pattern)을 생성할 수 있다. 테스트 패턴 생성기(123)는 인스트럭션 버퍼(124)에 저장되어 있는 인스트럭션 세트(Instruction Set) 및 오류 액세스 패턴(Error Access Pattern)을 사용하여 테스트 패턴(Test Pattern)을 생성할 수 있다.
비교기(122)는 테스트 패턴 생성기(123)에 의해 생성된 데이터를 BIST 제어기(121)를 통해 수신할 수 있다. 비교기(122)는 테스트 패턴 생성기(123)에 의해 메모리(Memory)로 전송된 데이터를 메모리(Memory)로부터 읽을 수 있다. 비교기(122)는 BIST 제어기(121)로부터 수신한 데이터와 메모리(Memory)로부터 수신한 데이터를 비교할 수 있다. 두 데이터가 서로 다르면 오류가 발생한 것이다. 비교기(122)는 비교 결과에 따라 오류의 발생 여부를 BIST 제어기(121)에 통보할 수 있다.
메모리 제어부(130)는 평상시에 버스를 통해 인스트럭션(Instruction)을 수신하여 메모리(Memory)를 제어할 수 있다. 메모리 제어부(130)는 BIST 검사시에 BIST 회로(130)와 연결되어 테스트 패턴(Test Pattern) 신호를 메모리(Memory)에 전달할 수 있다.
마스터 장치(140)는 슬레이브 장치(Slave Device)에 요청하기 위한 인스트럭션(Instruction)을 생성할 수 있다. 슬레이브 장치(Slave Device)는 버스를 통해 수신한 인스트럭션(Instruction)을 처리할 수 있다. 도 2에서 슬레이브 장치(Slave Device)는 메모리 제어부(130)이다.
이상의 실시 예에 따른 시스템 온 칩(100)은 이미 알려진 오류 패턴 이외에 BIIC 회로(110)를 통하여 제조 공정 등에 의한 칩의 개별적인 오류 패턴을 획득할 수 있다. 그리고 획득된 오류 패턴은 BIST 검사에 활용될 수 있다. 따라서, 본 발명의 실시 예에 따른 시스템 온 칩(100)은 다양한 오류를 검출할 수 있다. 또한, 획득된 다양한 오류 패턴을 다른 칩의 BIST 검사에 활용하면, 칩의 검사 시간과 비용이 절감될 수 있다.
도 3은 도 2의 시스템 온 칩(100)을 자세히 보여주는 블록도이다. 도 3을 참조하면, 평상시에 마스터 장치(140)는 제어 신호(Control Signal), 어드레스(Address) 및 데이터(Data)를 생성할 수 있다. 메모리 컨트롤러(131)는 버스를 통해서 제어 신호(Control Signal), 어드레스(Address) 및 데이터(Data)를 수신할 수 있다. 메모리 컨트롤러(131)는 메모리(160)에 접근하기 위해 제어 신호들(CLK, CS, CA)을 전송할 수 있다. 메모리 컨트롤러(131)는 DQS 신호에 동기화하여 데이터(Data)를 송수신할 수 있다.
BIIC 회로(110)는 BIIC 동작 모드시 버스로부터 메모리 컨트롤러(131)로 전송되는 인스트럭션(Instruction)을 수신할 수 있다. 인스트럭션(Instruction)은 제어 신호(Control Signal), 어드레스(Address) 및 데이터(Data)를 포함할 수 있다. 수신된 인스트럭션(Instruction)은 인스트럭션 인코더(112_1)에 의해 인코딩될 수 있다. 인스트럭션 인코더(112_1)는 인스트럭션(Instruction)을 BIST 회로(120)에서 사용되는 형식으로 인코딩할 수 있다. 인스트럭션(Instruction)을 인코딩하여 저장하면 필요한 저장 용량이 감소할 수 있다. 따라서, 상대적으로 많은 면적을 차지하는 인스트럭션 버퍼(124)의 크기가 감축될 수 있다.
인코딩된 인스트럭션(Instruction)은 제 1 DEMUX(112_2)를 통해 인스트럭션 버퍼(124)에 저장될 수 있다. BIIC 제어기(111)는 인스트럭션 인코더(112_1) 및 제 1 DEMUX(112_2)를 제어할 수 있다. 제 1 DEMUX(112_2)는 쓰기 인덱스(Write Index) 신호에 따라 인코딩된 인스트럭션(Instruction)을 인스트럭션 버퍼(124)의 지정된 위치에 저장할 수 있다.
또한, 다른 실시 예에서 인스트럭션(Instruction)은 인코딩 없이 바로 인스트럭션 버퍼(124)에 저장될 수 있다. 이 경우에는 BIIC 회로(110)는 인스트럭션 인코더(112_1)를 포함하지 않을 수 있다.
수신된 인스트럭션(Instruction)에 의해 오류가 발생한 경우, BIIC 제어기(111)는 제어 인터페이스(150)를 통해 오류 발생 사실을 수신할 수 있다. 오류 발생 사실을 수신한 경우, BIIC 제어기(111)는 새로운 인스트럭션(Instruction)의 수신을 중단할 수 있다. BIIC 제어기(111)는 제어 인터페이스(150)를 통하여 오류를 발생시킨 인스트럭션(Instruction)을 오류 액세스 패턴(Error Access Pattern)으로 정의하여 인스트럭션 버퍼(124)에 저장할 수 있다.
BIST 회로(120)는 BIST 검사 모드시 테스트 패턴(Test Pattern)을 생성하여 메모리(140)를 검사할 수 있다. BIST 검사 모드시 메모리 컨트롤러(131)의 동작은 중단될 수 있다. BIST 제어기(121)는 제어 인터페이스(150)를 통해 인스트럭션 버퍼(124)를 제어할 수 있다. BIST 제어기(121)는 읽기 인덱스(Read Index) 신호를 제 1 MUX(126)에 전송할 수 있다. 제 1 MUX(126)는 읽기 인덱스(Read Index) 신호에 따라 해당하는 인스트럭션 세트(Instruction Set) 또는 오류 액세스 패턴(Error Access Pattern)을 인스트럭션 디코더(125)에 전송할 수 있다. 인스트럭션 디코더(125)는 인스트럭션 세트(Instruction Set) 또는 오류 액세스 패턴(Error Access Pattern)을 테스트 패턴 생성기(123)에서 사용될 형식으로 디코딩할 수 있다.
또한, 다른 실시 예에서 인스트럭션 세트(Instruction Set) 또는 오류 액세스 패턴(Error Access Pattern)이 테스트 패턴 생성기(123)에서 사용될 형식으로 저장된 경우, BIST 회로(120)는 인스트럭션 디코더(125)를 포함하지 않을 수 있다.
테스트 패턴 생성기(123)는 수신된 인스트럭션 세트(Instruction Set) 또는 오류 액세스 패턴(Error Access Pattern)을 사용하여 테스트 패턴(Test Pattern)을 생성할 수 있다. 테스트 패턴(Test Pattern) 신호(CLK, CS, CA, Data, DQS)는 메모리 컨트롤러(131)의 출력 신호와 같은 형식일 수 있다.
비교기(122)는 테스트 패턴 생성기(123)에 의해 생성된 데이터(Data)를 BIST 제어기(121)를 통해 수신할 수 있다. 비교기(122)는 테스트 패턴 생성기(123)에 의해 메모리(160)로 전송된 데이터(Data)를 메모리(160)로부터 읽을 수 있다. 비교기(122)는 BIST 제어기(121)로부터 수신한 데이터(Data)와 메모리(140)로부터 수신한 데이터(Data)를 비교할 수 있다. 두 데이터가 서로 다르면 오류가 발생한 것이다. 비교기(122)는 비교 결과에 따라 오류의 발생 여부를 BIST 제어기(121)에 통보할 수 있다.
BIIC 제어기(111), BIST 제어기(121) 및 인스트럭션 버퍼(124)는 제어 인터페이스(150)를 통해 정보를 교환할 수 있다. 제어 인터페이스(150)는 일종의 버스일 수 있다. 제 2 MUX(132)는 동작 모드에 따라 메모리 컨트롤러(131)의 신호와 BIST 회로(120)의 신호를 선택적으로 메모리(160)에 전송할 수 있다.
도 4는 도 3의 시스템 온 칩의 동작 모드를 보여주는 도면이다. 도 3 및 도 4를 참조하면, 메모리 컨트롤러(131), BIIC 회로(110) 및 BIST 회로(120)는 각각 활성(Enable) 또는 비활성(Disable) 상태일 수 있다. 일반 동작 모드(Normal Operation Mode)시 메모리 컨트롤러(131)만 활성(Enable) 상태일 수 있다. 일반 동작 모드(Normal Operation Mode)시 메모리(160)에서 보통의 읽기/쓰기 동작이 수행될 수 있다.
BIST 검사 모드(BIST Test Mode)시 BIST 회로(120)만 활성(Enable) 상태일 수 있다. BIST 검사 모드(BIST Test Mode)시 BIST 회로(120)는 테스트 패턴(Test Pattern)을 생성하여 메모리(160)의 오류를 검사할 수 있다.
BIIC 동작 모드(Operating BIIC Mode)시 BIST 회로(120)만 비활성(Disable) 상태일 수 있다. 즉, 메모리 컨트롤러(131)와 BIIC 회로(110)는 함께 활성(Enable) 상태일 수 있다. BIIC 동작 모드(Operating BIIC Mode)시 BIIC 회로(110)는 버스와 메모리 컨트롤러(131) 사이의 인스트럭션(Instruction)을 수신하여 오류 액세스 패턴(Error Access Pattern)을 획득할 수 있다. 획득된 오류 액세스 패턴(Error Access Pattern)은 BIST 검사 모드(BIST Test Mode)시 테스트 패턴(Test Pattern) 생성에 사용될 수 있다. 이상의 세 가지 동작 모드 이외의 나머지 경우는 허용되지 않을 수 있다.
도 5는 본 발명의 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 방법을 보여주는 순서도이다. 도 3 내지 도 5를 참조하면, BIIC 회로(110)는 BIIC 방법을 통해서 오류 액세스 패턴(Error Access Pattern)을 획득할 수 있다. 도 5는 수신된 인스트럭션(Instruction)을 인코딩 없이 획득하는 방법을 보여준다.
S110 단계에서, BIIC 회로(110)는 마스터 장치(140)로부터 버스를 통해 메모리 컨트롤러(131)로 전송되는 인스트럭션(Instruction) 정보를 수신할 수 있다. 동작 모드는 BIIC 동작 모드(Operating BIIC Mode)로 설정될 수 있다. 따라서, 메모리 컨트롤러(131)와 BIIC 회로(110)는 활성(Enable) 상태일 수 있다.
S120 단계에서, BIIC 회로(110)는 수신된 인스트럭션(Instruction) 정보를 인스트럭션 버퍼(124)에 저장할 수 있다. BIIC 제어기(111)는 쓰기 인덱스(Write Index)를 제 1 DEMUX(112_2)에 전송할 수 있다. 제 1 DEMUX(112_2)는 쓰기 인덱스(Write Index)에 따라 수신된 인스트럭션(Instruction) 정보를 인스트럭션 버퍼(124)의 지정된 위치에 저장할 수 있다.
S130 단계에서, BIIC 회로(110)는 수신된 인스트럭션(Instruction)에 의한 메모리(160)의 오류 발생 여부를 확인할 수 있다. 오류가 발생하지 않은 경우, S110 단계로 이동하여 BIIC 회로(110)는 다음의 인스트럭션(Instruction) 정보를 수신할 수 있다. 오류가 발생한 경우, S140 단계로 이동한다. 오류가 발생한 경우, BIIC 제어기(111)는 제어 인터페이스(150)를 통해 중앙처리장치(CPU, 미도시)로부터 오류 발생 사실을 수신할 수 있다.
S140 단계에서, 수신된 인스트럭션(Instruction)에 의해 메모리(160)에서 오류가 발생한 경우, BIIC 제어기(111)는 제어 인터페이스(150)를 통하여 인스트럭션 버퍼(124)에 저장된 인스트럭션(Instruction) 정보를 오류 액세스 패턴(Error Access Pattern)으로 정의할 수 있다. 오류 액세스 패턴(Error Access Pattern)은 BIST 검사시 테스트 패턴(Test Pattern)을 생성하기 위해 사용될 수 있다.
이상의 실시 예에 따른 BIIC 방법에 의해 BIIC 회로(110)는 이미 알려진 오류 패턴 이외에 제조 공정 등에 의한 칩의 개별적인 오류 패턴을 획득할 수 있다. 그리고 획득된 오류 패턴은 BIST 검사에 활용될 수 있다. 따라서, 본 발명의 실시 예에 따른 시스템 온 칩(100)은 다양한 오류를 검출할 수 있다. 또한, 획득된 다양한 오류 패턴을 다른 칩의 BIST 검사에 활용하면, 칩의 검사 시간과 비용이 절감될 수 있다.
도 6은 본 발명의 실시 예에 따른 자체 테스트(BIST) 방법을 보여주는 순서도이다. 도 3 내지 도 6을 참조하면, BIST 회로(120)는 도 5의 BIIC 방법에 의해 획득된 오류 액세스 패턴(Error Access Pattern)을 이용하여 BIST 검사를 수행할 수 있다. 도 6은 오류 액세스 패턴(Error Access Pattern)의 디코딩 없이 BIST 검사를 수행하는 방법을 보여준다. 동작 모드는 BIST 검사 모드(BIST Test Mode)로 설정될 수 있다. 따라서, BIST 회로(120)만 활성(Enable) 상태로 될 수 있다.
S210 단계에서, BIST 회로(120)는 인스트럭션 버퍼(124)에 저장된 오류 액세스 패턴(Error Access Pattern)을 로딩할 수 있다. BIST 제어기(121)는 읽기 인덱스(Read Index) 신호를 제 1 MUX(126)에 전송할 수 있다. 제 1 MUX(126)는 읽기 인덱스(Read Index) 신호에 따라 오류 액세스 패턴(Error Access Pattern)을 테스트 패턴 생성기(123)로 전송할 수 있다.
S220 단계에서, 테스트 패턴 생성기(123)는 수신된 오류 액세스 패턴(Error Access Pattern)을 사용하여 테스트 패턴(Test Pattern)을 생성할 수 있다. 생성된 테스트 패턴(Test Pattern) 신호(CLK, CS, CA, Data, DQS)는 제 2 MUX(132)를 통해 메모리(160)로 전송될 수 있다. 테스트 패턴 생성기(123)는 메모리(160)로 전송한 데이터(Data)를 BIST 제어기(121)에도 전송할 수 있다.
S230 단계에서, BIST 회로(120)는 테스트 패턴 생성기(123)에 의해 생성된 테스트 패턴(Test Pattern)에 따라 BIST 검사를 수행할 수 있다. 비교기(122)는 테스트 패턴 생성기(123)에 의해 전송된 데이터(Data)를 메모리(160)로부터 읽을 수 있다. 비교기(122)는 메모리(160)로부터 수신된 데이터(Data)와 BIST 제어기(121)로부터 전송된 원본 데이터(Data)를 비교할 수 있다. 두 데이터가 서로 다르면 오류가 발생한 것이다. 비교기(122)는 오류 발생 여부 결과를 BIST 제어기(121)에 통보할 수 있다.
도 7은 본 발명의 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 방법을 보여주는 순서도이다. 도 3, 도 4 및 도 7을 참조하면, BIIC 회로(110)는 BIIC 방법을 통해서 오류 액세스 패턴(Error Access Pattern)을 획득할 수 있다. 도 7은 수신된 인스트럭션(Instruction)을 인코딩하여 저장 공간을 효율적으로 사용하는 방법을 보여준다.
S310 단계에서, BIIC 회로(110)는 마스터 장치(140)로부터 버스를 통해 메모리 컨트롤러(131)로 전송되는 인스트럭션(Instruction) 정보를 수신할 수 있다. 동작 모드는 BIIC 동작 모드(Operating BIIC Mode)로 설정될 수 있다. 따라서, 메모리 컨트롤러(131)와 BIIC 회로(110)는 활성(Enable) 상태일 수 있다.
S320 단계에서, 인스트럭션 인코더(112_1)는 수신된 인스트럭션(Instruction) 정보를 BIST 회로(120)에서 사용되는 형식으로 인코딩할 수 있다. 수신된 인스트럭션(Instruction) 정보는 인스트럭션 버퍼(124)에 미리 저장되어 있는 인스트럭션 세트(Instruction Set)와 같은 형식으로 인코딩될 수 있다.
S330 단계에서, BIIC 회로(110)는 인코딩된 인스트럭션(Instruction) 정보를 인스트럭션 버퍼(124)에 저장할 수 있다. BIIC 제어기(111)는 쓰기 인덱스(Write Index) 신호를 제 1 DEMUX(112_2)에 전송할 수 있다. 제 1 DEMUX(112_2)는 쓰기 인덱스(Write Index) 신호에 따라 인코딩된 인스트럭션(Instruction) 정보를 인스트럭션 버퍼(124)의 지정된 위치에 저장할 수 있다.
S340 단계에서, BIIC 회로(110)는 수신된 인스트럭션(Instruction)에 의한 메모리(160)의 오류 발생 여부를 확인할 수 있다. 오류가 발생하지 않은 경우, S310 단계로 이동하여 BIIC 회로(110)는 다음의 인스트럭션(Instruction) 정보를 수신할 수 있다. 오류가 발생한 경우, S350 단계로 이동한다. 오류가 발생한 경우, BIIC 제어기(111)는 제어 인터페이스(150)를 통해 중앙처리장치(CPU, 미도시)로부터 오류 발생 사실을 수신할 수 있다.
S350 단계에서, 수신된 인스트럭션(Instruction)에 의해 메모리(160)에서 오류가 발생한 경우, BIIC 제어기(111)는 제어 인터페이스(150)를 통하여 인스트럭션 버퍼(124)에 저장된 인스트럭션(Instruction) 정보를 오류 액세스 패턴(Error Access Pattern)으로 정의할 수 있다. 오류 액세스 패턴(Error Access Pattern)은 BIST 검사시 테스트 패턴(Test Pattern)을 생성하기 위해 사용될 수 있다.
도 8은 본 발명의 다른 실시 예에 따른 자체 테스트(BIST) 방법을 보여주는 순서도이다. 도 3, 도 4 및 도 8을 참조하면, BIST 회로(120)는 도 7의 BIIC 방법에 의해 획득된 오류 액세스 패턴(Error Access Pattern)을 이용하여 BIST 검사를 수행할 수 있다. 도 8은 도 7에서 인코딩된 오류 액세스 패턴(Error Access Pattern)을 디코딩하여 BIST 검사를 수행하는 방법을 보여준다. 동작 모드는 BIST 검사 모드(BIST Test Mode)로 설정될 수 있다. 따라서, BIST 회로(120)만 활성(Enable) 상태로 될 수 있다.
S410 단계에서, BIST 회로(120)는 인스트럭션 버퍼(124)에 저장된 오류 액세스 패턴(Error Access Pattern)을 로딩할 수 있다. BIST 제어기(121)는 읽기 인덱스(Read Index) 신호를 제 1 MUX(126)에 전송할 수 있다. 제 1 MUX(126)는 읽기 인덱스(Read Index) 신호에 따라 오류 액세스 패턴(Error Access Pattern)을 인스트럭션 디코더(125)로 전송할 수 있다.
S420 단계에서, 인스트럭션 디코더(125)는 오류 액세스 패턴(Error Access Pattern)을 테스트 패턴 생성기(123)에서 사용될 형식으로 디코딩할 수 있다. 디코딩된 오류 액세스 패턴(Error Access Pattern)은 테스트 패턴 생성기(123)로 전송될 수 있다.
S430 단계에서, 테스트 패턴 생성기(123)는 수신된 오류 액세스 패턴(Error Access Pattern)을 사용하여 테스트 패턴(Test Pattern)을 생성할 수 있다. 생성된 테스트 패턴(Test Pattern) 신호(CLK, CS, CA, Data, DQS)는 제 2 MUX(132)를 통해 메모리(160)로 전송될 수 있다. 테스트 패턴 생성기(123)는 메모리(160)로 전송한 데이터(Data)를 BIST 제어기(121)에도 전송할 수 있다.
S440 단계에서, BIST 회로(120)는 테스트 패턴 생성기(123)에 의해 생성된 테스트 패턴(Test Pattern)에 따라 BIST 검사를 수행할 수 있다. 비교기(122)는 테스트 패턴 생성기(123)에 의해 전송된 데이터(Data)를 메모리(160)로부터 읽을 수 있다. 비교기(122)는 메모리(160)로부터 수신된 데이터(Data)와 BIST 제어기(121)로부터 전송된 원본 데이터(Data)를 비교할 수 있다. 두 데이터가 서로 다르면 오류가 발생한 것이다. 비교기(122)는 오류 발생 여부 결과를 BIST 제어기(121)에 통보할 수 있다.
도 7 및 도 8에서 본 발명의 다른 실시 예에 따른 BIIC 방법은 수신된 인스트럭션(Instruction)을 인코딩하여 저장할 수 있다. 그리고 BIST 방법은 인코딩되어 저장된 인스트럭션(Instruction)을 디코딩하여 사용할 수 있다. 그래서, 저장 용량은 감소할 수 있다. 따라서, 상대적으로 많은 면적을 차지하는 인스트럭션 버퍼(Instruction Buffer)의 크기는 감축될 수 있다.
도 9는 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 회로를 포함하는 시스템 온 칩을 보여주는 블록도이다. 도 9를 참조하면, BIST 회로(220)는 자체적인 버퍼 메모리를 포함하지 않을 수 있다. 따라서, BIIC 회로(210)는 자체적인 인스트럭션 버퍼(213)를 포함할 수 있다. 시스템 온 칩(200)의 전반적인 동작은 도 2의 시스템 온 칩(100)의 동작과 동일할 수 있다.
BIIC 회로(210)는 BIIC 제어기(211), 인스트럭션 캡처부(212) 및 인스트럭션 버퍼(213)를 포함할 수 있다. BIIC 제어기(211)는 버스를 통해 동작 신호를 수신할 수 있다. BIIC 제어기(211)는 동작 신호에 따라 BIIC 회로(210)의 전반적인 동작을 제어할 수 있다. BIIC 제어기(211)는 인스트럭션 캡처부(212) 및 인스트럭션 버퍼(213)를 제어할 수 있다.
인스트럭션 캡처부(212)는 마스터 장치(240)와 메모리 제어부(230) 사이의 인스트럭션(Instruction)을 수신할 수 있다. 수신된 인스트럭션(Instruction)은 인스트럭션 버퍼(213)에 저장될 수 있다. 메모리(Memory)에서 수신된 인스트럭션(Instruction)에 의하여 오류가 발생한 경우, 인스트럭션 캡처부(212)는 새로운 인스트럭션(Instruction)의 수신을 중단할 수 있다. 수신된 인스트럭션(Instruction)은 오류 액세스 패턴(Error Access Pattern)으로 정의되어 인스트럭션 버퍼(213)에 저장될 수 있다.
인스트럭션 버퍼(213)는 인스트럭션 캡처부(212)에 의해 수신된 인스트럭션(Instruction)을 임시로 저장할 수 있다. 메모리(Memory)에서 수신된 인스트럭션(Instruction)에 의해 오류 발생한 경우, 임시로 저장된 인스트럭션(Instruction)은 오류 액세스 패턴(Error Access Pattern)으로 정의되어 저장될 수 있다. 인스트럭션 버퍼(213)는 BIIC 회로(210)에 포함되어 오류 액세스 패턴(Error Access Pattern) 획득 전용으로 사용될 수 있다.
BIST 회로(220)는 BIST 제어기(221), 비교기(222) 및 테스트 패턴 생성기(223)를 포함할 수 있다. BIST 제어기(221)는 버스를 통해 동작 신호를 수신할 수 있다. BIST 제어기(221)는 동작 신호에 따라 BIST 회로(220)의 전반적인 동작을 제어할 수 있다. BIST 제어기(221)는 테스트 패턴 생성기(223) 및 비교기(222)를 제어할 수 있다.
테스트 패턴 생성기(223)는 BIST 제어기(221)의 지시에 응답하여 메모리(Memory)를 검사할 테스트 패턴(Test Pattern)을 생성할 수 있다. 테스트 패턴 생성기(223)는 인스트럭션 버퍼(213)에 저장되어 있는 오류 액세스 패턴(Error Access Pattern)을 사용하여 테스트 패턴(Test Pattern)을 생성할 수 있다.
비교기(222)는 테스트 패턴 생성기(223)에 의해 메모리(Memory)에 전송된 데이터와 메모리(Memory)로부터 수신된 데이터를 비교할 수 있다. 비교기(222)는 비교 결과에 따라 오류의 발생 여부를 BIST 제어기(221)에 통보할 수 있다.
메모리 제어부(230)는 평상시에 버스로부터 인스트럭션(Instruction)을 수신하여 메모리(Memory)를 제어할 수 있다. 메모리 제어부(230)는 BIST 검사시에 BIST 회로(230)와 연결되어 테스트 패턴(Test Pattern) 신호를 메모리(Memory)에 전달할 수 있다. 또한, 메모리 제어부(230)는 메모리(Memory)로부터 비교기(222)로 데이터를 전달할 수 있다.
마스터 장치(240)는 슬레이브 장치(Slave Device)에 요청하기 위한 인스트럭션(Instruction)을 생성할 수 있다. 슬레이브 장치(Slave Device)는 버스를 통해 수신한 인스트럭션(Instruction)을 처리할 수 있다. 도 9에서 슬레이브 장치(Slave Device)는 메모리 제어부(230)이다.
도 10은 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 회로를 포함하는 시스템 온 칩을 보여주는 블록도이다. 도 10을 참조하면, BIIC 회로(310)는 마스터 장치(340)와 마이크로프로세서(330) 사이의 인스트럭션(Instruction)을 수신할 수 있다. 마스터 장치(340)는 마이크로프로세서(330)에 요청될 인스트럭션(Instruction)을 생성할 수 있다. 마이크로프로세서(330)는 중앙처리장치(CPU) 또는 그래픽처리장치(GPU)일 수 있다. 수신된 인스트럭션(Instruction)에 의해 마이크로프로세서(330)에서 오류가 발생한 경우, BIIC 회로(310)는 수신된 인스트럭션(Instruction)을 오류 액세스 패턴(Error Access Pattern)으로 저장할 수 있다.
BIST 회로(320)는 BIIC 회로(310)에 의해 저장된 오류 액세스 패턴(Error Access Pattern)을 사용하여 테스트 패턴(Test Pattern)을 생성할 수 있다. BIST 회로(320)는 생성된 테스트 패턴(Test Pattern) 신호를 마이크로프로세서(330)에 전송할 수 있다. BIST 회로(320)는 전송된 테스트 패턴(Test Pattern) 신호와 마이크로프로세서(330)로부터의 응답 신호를 비교하여 오류 발생 여부를 검사할 수 있다.
도 11은 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 회로를 포함하는 시스템 온 칩을 보여주는 블록도이다. 도 11을 참조하면, BIIC 회로(410)는 마스터 장치(440)와 주변장치 인터페이스(430) 사이의 인스트럭션(Instruction)을 수신할 수 있다. 주변장치 인터페이스(430)는 카메라 인터페이스(Camera Interface), 비디오 코덱(Video Codec), 그래픽 엔진(Graphic Engine) 등 시스템 온 칩(400) 내에서 특정 기능을 수행하는 장치일 수 있다. 수신된 인스트럭션(Instruction)에 의해 주변장치(Peripheral Device)에서 오류가 발생한 경우, BIIC 회로(410)는 수신된 인스트럭션(Instruction)을 오류 액세스 패턴(Error Access Pattern)으로 저장할 수 있다.
BIST 회로(420)는 BIIC 회로(410)에 의해 저장된 오류 액세스 패턴(Error Access Pattern)을 사용하여 테스트 패턴(Test Pattern)을 생성할 수 있다. BIST 회로(420)는 생성된 테스트 패턴(Test Pattern) 신호를 주변장치 인터페이스(430)에 전송할 수 있다. BIST 회로(420)는 전송된 테스트 패턴(Test Pattern) 신호와 주변장치 인터페이스(430)로부터의 응답 신호를 비교하여 오류 발생 여부를 검사할 수 있다.
도 12는 본 발명의 또 다른 실시 예에 따른 자체 인스트럭션 캡처(BIIC) 유닛을 포함하는 시스템 온 칩을 보여주는 블록도이다. 도 12를 참조하면, BIIC 유닛(512)은 BIST 회로(510)의 일부분으로 포함될 수 있다. BIST 회로(510)는 BIST 제어기(511), BIIC 유닛(512), 인스트럭션 버퍼(513), 테스트 패턴 생성기(514) 및 비교기(515)를 포함할 수 있다.
BIST 제어기(511)는 버스를 통해서 동작 신호를 수신할 수 있다. BIST 제어기(511)는 수신된 동작 신호에 따라 BIST 회로(510)의 전반적인 동작을 제어할 수 있다. BIST 제어기(511)는 BIIC 유닛(512), 인스트럭션 버퍼(513), 테스트 패턴 생성기(514) 및 비교기(515)를 제어할 수 있다.
BIIC 유닛(512)은 마스터 장치(530)와 슬레이브 장치(520) 사이의 인스트럭션(Instruction)을 수신할 수 있다. BIIC 유닛(512)은 수신된 인스트럭션(Instruction)을 인스트럭션 버퍼(513)에 저장할 수 있다. BIIC 유닛(512)은 용량을 줄이기 위해 수신된 인스트럭션(Instruction)을 인코딩할 수 있다. 수신된 인스트럭션(Instruction)에 의해 슬레이브 장치(520)에서 오류가 발생한 경우, BIST 제어기(511)는 수신된 인스트럭션(Instruction)을 오류 액세스 패턴(Error Access Pattern)으로 인스트럭션 버퍼(513)에 저장할 수 있다.
인스트럭션 버퍼(513)는 이미 알려진 인스트럭션 세트(Instruction Set)를 저장할 수 있다. 인스트럭션 버퍼(513)는 BIIC 유닛(512)에 의해 수신된 인스트럭션(Instruction)을 임시로 저장할 수 있다. 수신된 인스트럭션(Instruction)에 의해 슬레이브 장치(520)에서 오류가 발생한 경우, 인스트럭션 버퍼(513)는 수신된 인스트럭션(Instruction)을 오류 액세스 패턴(Error Access Pattern)으로 정의하여 저장할 수 있다.
테스트 패턴 생성기(514)는 BIST 제어기(510)의 지시에 응답하여 슬레이브 장치(520)를 검사할 테스트 패턴(Test Pattern)을 생성할 수 있다. 테스트 패턴 생성기(514)는 인스트럭션 버퍼(513)에 저장되어 있는 인스트럭션 세트(Instruction Set) 및 오류 액세스 패턴(Error Access Pattern)을 사용하여 테스트 패턴(Test Pattern)을 생성할 수 있다.
비교기(515)는 테스트 패턴 생성기(514)에 의해 슬레이브 장치(520)에 전송된 신호와 그 신호에 응답하여 슬레이브 장치(520)로부터 수신된 신호를 비교할 수 있다. 비교기(515)는 비교 결과에 따라 오류의 발생 여부를 BIST 제어기(511)에 통보할 수 있다.
슬레이브 장치(520)는 시스템 온 칩(500)에 포함되어 있는 기능 블록들을 모두 포함할 수 있다. 슬레이브 장치(520)는 중앙처리장치(CPU), 그래픽처리장치(GPU), 메모리 컨트롤러(Memory Controller) 및 주변장치 인터페이스(Peripheral Device IF) 등을 포함할 수 있으며, 이에 국한되지 않는다.
마스터 장치(530)는 슬레이브 장치(520)에 요청할 인스트럭션(Instruction)을 생성할 수 있다. 생성된 인스트럭션(Instruction)은 버스를 통하여 슬레이브 장치(520)로 전송될 수 있다. 마스터 장치(530)는 시스템 온 칩(500)에 포함되어 있는 기능 블록들을 모두 포함할 수 있다. 마스터 장치(530)는 중앙처리장치(CPU), 그래픽처리장치(GPU), 메모리 컨트롤러(Memory Controller) 및 주변장치 인터페이스(Peripheral Device IF) 등을 포함할 수 있으며, 이에 국한되지 않는다.
도 13은 본 발명의 또 다른 실시 예에 따른 BIIC/BIST 회로를 포함하는 컴퓨팅 시스템을 보여주는 블록도이다. 도 13을 참조하면, 컴퓨팅 시스템(1000)은 중앙처리장치(1100), 그래픽처리장치(1200), 메모리 컨트롤러(1300), 주변장치 인터페이스(1400) 및 각 장치에 연결된 BIIC/BIST 회로들(1110, 1210, 1310, 1410)을 포함할 수 있다.
마스터 장치(Master Device)는 슬레이브 장치(Slave Device)로 요청될 인스트럭션(Instruction)을 생성할 수 있다. 마스터 장치(Master Device)는 중앙처리장치(1100), 그래픽처리장치(1200), 메모리 컨트롤러(1300) 및 주변장치 인터페이스(1400) 중 적어도 하나를 포함할 수 있다.
슬레이브 장치(Slave Device)는 버스를 통하여 마스터 장치(Master Device)에 의해 생성된 인스트럭션(Instruction)을 수신할 수 있다. 슬레이브 장치(Slave Device)는 중앙처리장치(1100), 그래픽처리장치(1200), 메모리 컨트롤러(1300) 및 주변장치 인터페이스(1400) 중 적어도 하나를 포함할 수 있다.
중앙처리장치(1100)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 중앙처리장치(1100)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus)를 통하여 메모리(1300) 및 주변장치 인터페이스(1400)와 통신을 수행할 수 있다. 예를 들어, 중앙처리장치(2100)는 주변 구성요소 상호 연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
그래픽처리장치(1200)는 중앙처리장치(1100)의 그래픽 처리 작업을 도울 수 있다. 그래픽처리장치(1200)는 2D 또는 3D 그래픽을 빠르게 처리할 수 있다. 예를 들어, 그래픽처리장치(1200)는 영상 정보 처리, 가속화, 신호 전환, 화면 출력 등의 작업을 처리할 수 있다.
메모리(1300)는 컴퓨팅 시스템(1000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리(1300)는 DRAM, 모바일 DRAM, SRAM, 또는 불휘발성 메모리 장치로 구성될 수 있다.
주변장치 인터페이스(1400)는 컴퓨팅 시스템(1000)과 주변장치들을 연결하기 위해 제공될 수 있다. 예를 들어, 컴퓨팅 시스템(1000)은 입력장치, 출력장치 또는 보조기억장치 등의 주변장치들과 연결될 수 있다.
각각의 BIIC/BIST 회로(1110, 1210, 1310, 1410)는 마스터 장치(Master Device)와 각각의 슬레이브 장치(Slave Device) 사이의 인스트럭션(Instruction)을 수신할 수 있다. 수신된 인스트럭션(Instruction)에 의해 각각의 슬레이브 장치(Slave Device)에서 오류가 발생한 경우, 각각의 BIIC/BIST 회로(1110, 1210, 1310, 1410)는 수신된 인스트럭션(Instruction)을 오류 액세스 패턴(Error Access Pattern)으로 정의하여 저장할 수 있다. 각각의 BIIC/BIST 회로(1110, 1210, 1310, 1410)는 저장된 오류 액세스 패턴(Error Access Pattern)을 사용하여 각각의 슬레이브 장치(Slave Device)를 검사하기 위한 테스트 패턴(Test Pattern)을 생성할 수 있다.
상기 메모리들의 칩과 시스템 온 칩은 각기 혹은 함께 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 칩은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등의 패키지로서 패키지화될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100, 200, 300, 400, 500 : 시스템 온 칩
110, 210, 310, 410 : BIIC 회로
111, 211 : BIIC 제어기
112, 212 : 인스트럭션 캡처부
112_1 : 인스트럭션 인코더 112_2 : 제 1 DEMUX
120, 220, 320, 420, 510 : BIST 회로
121, 221, 511 : BIST 제어기
122, 222, 515 : 비교기
123, 223, 514 : 테스트 패턴 생성기
124, 213, 513 : 인스트럭션 버퍼
125 : 인스트럭션 디코더 126 : 제 1 MUX
130, 230 : 메모리 제어부
131 : 메모리 컨트롤러 132 : 제 2 MUX
140, 240, 340, 440, 530 : 마스터 장치
150 : 제어 인터페이스 160 : 메모리
330 : 마이크로프로세서
430 : IP(Intellectual Property)
512 : BIIC 유닛 520 : 슬레이브 장치
1000 : 컴퓨팅 시스템
1100 : CPU 1200 : GPU
1300 : 메모리 컨트롤러 1400 : 주변장치 인터페이스
1110, 1210, 1310, 1410 : BIIC/BIST 회로
110, 210, 310, 410 : BIIC 회로
111, 211 : BIIC 제어기
112, 212 : 인스트럭션 캡처부
112_1 : 인스트럭션 인코더 112_2 : 제 1 DEMUX
120, 220, 320, 420, 510 : BIST 회로
121, 221, 511 : BIST 제어기
122, 222, 515 : 비교기
123, 223, 514 : 테스트 패턴 생성기
124, 213, 513 : 인스트럭션 버퍼
125 : 인스트럭션 디코더 126 : 제 1 MUX
130, 230 : 메모리 제어부
131 : 메모리 컨트롤러 132 : 제 2 MUX
140, 240, 340, 440, 530 : 마스터 장치
150 : 제어 인터페이스 160 : 메모리
330 : 마이크로프로세서
430 : IP(Intellectual Property)
512 : BIIC 유닛 520 : 슬레이브 장치
1000 : 컴퓨팅 시스템
1100 : CPU 1200 : GPU
1300 : 메모리 컨트롤러 1400 : 주변장치 인터페이스
1110, 1210, 1310, 1410 : BIIC/BIST 회로
Claims (10)
- 마스터 장치;
슬레이브 장치;
상기 마스터 장치로부터 상기 슬레이브 장치로 인스트럭션을 전송하는 버스; 그리고
상기 인스트럭션을 수신하여 저장하는 자체 인스트럭션 캡처 회로를 포함하고,
상기 자체 인스트럭션 캡처 회로는 상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생시 상기 인스트럭션을 오류 액세스 패턴으로 정의하여 저장하는 시스템 온 칩. - 제 1 항에 있어서,
상기 자체 인스트럭션 캡처 회로는,
상기 인스트럭션을 수신하는 인스트럭션 캡처부;
상기 인스트럭션을 저장하는 인스트럭션 버퍼; 그리고
상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생시 상기 인스트럭션을 상기 오류 액세스 패턴으로 정의하는 자체 인스트럭션 캡처 제어기를 포함하는 시스템 온 칩. - 제 1 항에 있어서,
상기 오류 액세스 패턴을 사용하여 상기 슬레이브 장치의 오류를 검사하기 위한 테스트 패턴을 생성하는 자체 테스트 회로를 더 포함하는 시스템 온 칩. - 제 3 항에 있어서,
상기 자체 테스트 회로는,
상기 인스트럭션 및 상기 오류 액세스 패턴을 저장하는 인스트럭션 버퍼;
상기 오류 액세스 패턴을 사용하여 상기 테스트 패턴을 생성하는 테스트 패턴 생성기; 그리고
상기 테스트 패턴과 상기 테스트 패턴에 대한 상기 슬레이브 장치의 응답 신호를 비교하여 오류 발생 여부를 검출하는 비교기를 포함하는 시스템 온 칩. - 제 4 항에 있어서,
상기 자체 인스트럭션 캡처 회로는,
상기 인스트럭션을 수신하여 상기 인스트럭션 버퍼에 저장하는 인스트럭션 캡처부; 그리고
상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생시 상기 인스트럭션을 상기 오류 액세스 패턴으로 정의하는 자체 인스트럭션 캡처 제어기를 포함하고,
상기 자체 인스트럭션 캡처 제어기는 상기 버스를 통하여 상기 인스트럭션 버퍼를 제어하는 시스템 온 칩. - 제 5 항에 있어서,
상기 인스트럭션 캡처부는 용량을 줄이기 위해 상기 인스트럭션을 인코딩하는 인스트럭션 인코더를 포함하는 시스템 온 칩. - 제 6 항에 있어서,
상기 자체 테스트 회로는 상기 오류 액세스 패턴을 상기 테스트 패턴 생성기에서 사용하는 형식으로 디코딩하는 인스트럭션 디코더를 더 포함하는 시스템 온 칩. - 마스터 장치 및 슬레이브 장치를 포함하는 시스템 온 칩의 자체 테스트 방법에 있어서:
상기 마스터 장치로부터 상기 슬레이브 장치로 전송되는 인스트럭션을 수신하는 단계;
상기 수신된 인스트럭션을 인스트럭션 버퍼에 저장하는 단계;
상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생 여부를 확인하는 단계; 그리고
상기 슬레이브 장치에서 상기 인스트럭션에 의한 오류 발생시 저장된 상기 인스트럭션을 오류 액세스 패턴으로 정의하는 단계를 포함하는 시스템 온 칩의 자체 테스트 방법. - 제 8 항에 있어서,
상기 오류 액세스 패턴을 사용하여 상기 슬레이브 장치를 검사하기 위한 테스트 패턴을 생성하는 단계를 더 포함하는 시스템 온 칩의 자체 테스트 방법. - 제 9 항에 있어서,
상기 생성된 테스트 패턴을 상기 슬레이브 장치에 전송하는 단계; 그리고
상기 테스트 패턴과 상기 테스트 패턴에 대한 상기 슬레이브 장치의 응답 신호를 비교하여 오류 발생 여부를 검출하는 단계를 더 포함하는 시스템 온 칩의 자체 테스트 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130108077A KR20150029213A (ko) | 2013-09-09 | 2013-09-09 | 다양한 테스트 패턴을 획득하는 자체 테스트 회로를 포함하는 시스템 온 칩 및 그것의 자체 테스트 방법 |
US14/476,076 US9575861B2 (en) | 2013-09-09 | 2014-09-03 | System on chip including built-in self test circuit and built-in self test method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130108077A KR20150029213A (ko) | 2013-09-09 | 2013-09-09 | 다양한 테스트 패턴을 획득하는 자체 테스트 회로를 포함하는 시스템 온 칩 및 그것의 자체 테스트 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150029213A true KR20150029213A (ko) | 2015-03-18 |
Family
ID=52626752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130108077A KR20150029213A (ko) | 2013-09-09 | 2013-09-09 | 다양한 테스트 패턴을 획득하는 자체 테스트 회로를 포함하는 시스템 온 칩 및 그것의 자체 테스트 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9575861B2 (ko) |
KR (1) | KR20150029213A (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2549280B (en) * | 2016-04-11 | 2020-03-11 | Advanced Risc Mach Ltd | Self-testing in a processor core |
KR102649318B1 (ko) * | 2016-12-29 | 2024-03-20 | 삼성전자주식회사 | 상태 회로를 포함하는 메모리 장치와 그것의 동작 방법 |
US11408934B2 (en) | 2017-12-22 | 2022-08-09 | Nvidia Corporation | In system test of chips in functional systems |
EP3807773B1 (en) | 2018-06-18 | 2024-03-13 | FLC Technology Group Inc. | Method and apparatus for using a storage system as main memory |
TWI677876B (zh) * | 2018-10-12 | 2019-11-21 | 慧榮科技股份有限公司 | 應用於快閃記憶體控制器的編碼器自我測試電路及相關的方法 |
US10930364B2 (en) * | 2018-11-16 | 2021-02-23 | International Business Machines Corporation | Iterative functional test exerciser reload and execution |
WO2021222460A1 (en) * | 2020-04-28 | 2021-11-04 | FLC Technology Group, Inc. | Memory test engine with fully programmable patterns |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3972416B2 (ja) | 1997-06-26 | 2007-09-05 | 株式会社日立製作所 | メモリテストパタン生成回路 |
JP2000030483A (ja) * | 1998-07-15 | 2000-01-28 | Mitsubishi Electric Corp | 大規模メモリ用bist回路 |
JP2000222235A (ja) | 1999-02-03 | 2000-08-11 | Matsushita Electric Ind Co Ltd | マイクロコンピュータのテストパターン自動生成方法 |
US6560740B1 (en) * | 1999-08-03 | 2003-05-06 | Advanced Micro Devices, Inc. | Apparatus and method for programmable built-in self-test and self-repair of embedded memory |
JP2001297598A (ja) | 2000-04-11 | 2001-10-26 | Toshiba Corp | 半導体集積回路装置、及び半導体集積回路装置の自己テスト方法 |
JP2003030000A (ja) | 2001-07-17 | 2003-01-31 | Mitsubishi Electric Corp | 自己診断回路のテストパターン発生回路及び発生方法 |
JP4228604B2 (ja) | 2002-06-26 | 2009-02-25 | ソニー株式会社 | パターン発生回路及び半導体装置並びに半導体装置の試験方法 |
US7325178B2 (en) * | 2003-12-05 | 2008-01-29 | Texas Instruments Incorporated | Programmable built in self test of memory |
JP2005309787A (ja) * | 2004-04-21 | 2005-11-04 | Nec Electronics Corp | 中央演算処理装置及びマイクロコンピュータ |
TWI273427B (en) | 2004-11-09 | 2007-02-11 | Via Tech Inc | Method and related apparatus for configuring lanes of each port |
US7725793B2 (en) * | 2007-03-21 | 2010-05-25 | Advantest Corporation | Pattern generation for test apparatus and electronic device |
JP2008269669A (ja) * | 2007-04-17 | 2008-11-06 | Renesas Technology Corp | 半導体装置及びデータ処理システム |
KR100951513B1 (ko) | 2008-08-13 | 2010-04-09 | 연세대학교 산학협력단 | 프로그래머블 메모리 자체 테스트 회로 생성기 및 그 생성 방법 |
US7941713B2 (en) * | 2008-08-27 | 2011-05-10 | Taiwan Semiconductor Manufacturing Company, Ltd. | Programmable self-test for random access memories |
US20130019130A1 (en) * | 2011-07-15 | 2013-01-17 | Synopsys Inc. | Testing electronic memories based on fault and test algorithm periodicity |
US8509014B2 (en) | 2011-07-20 | 2013-08-13 | Taiwan Semiconductor Manufacturing Company, Ltd. | Mechanisms for built-in self repair of memory devices using failed bit maps and obvious repairs |
US8843674B2 (en) * | 2013-02-26 | 2014-09-23 | Kabushiki Kaisha Toshiba | Semiconductor memory device capable of testing signal integrity |
-
2013
- 2013-09-09 KR KR20130108077A patent/KR20150029213A/ko active IP Right Grant
-
2014
- 2014-09-03 US US14/476,076 patent/US9575861B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20150074459A1 (en) | 2015-03-12 |
US9575861B2 (en) | 2017-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20150029213A (ko) | 다양한 테스트 패턴을 획득하는 자체 테스트 회로를 포함하는 시스템 온 칩 및 그것의 자체 테스트 방법 | |
US9417287B2 (en) | Scheme for masking output of scan chains in test circuit | |
JP3893238B2 (ja) | 半導体記憶装置の不良解析装置 | |
JP2002267721A (ja) | Cpu内蔵ram混載lsiのテスト装置および方法 | |
JP2008269669A (ja) | 半導体装置及びデータ処理システム | |
US20060184848A1 (en) | Semiconductor integrated circuit having test function and manufacturing method | |
KR101228519B1 (ko) | 반도체 메모리 장치, 그것을 포함한 테스트 시스템, 그리고반도체 메모리 장치의 리페어 방법 | |
US20180218778A1 (en) | Embedded Memory Testing with Storage Borrowing | |
WO2021179603A1 (zh) | 控制芯片的测试方法及相关设备 | |
JP2010152939A (ja) | 半導体装置とテスト方法 | |
US7979760B2 (en) | Test system for conducting parallel bit test | |
KR100781973B1 (ko) | 반도체 메모리 장치 및 그의 테스트 방법 | |
JP4408881B2 (ja) | 半導体集積回路 | |
JP2006252702A (ja) | 半導体集積回路装置及びその検査方法 | |
US20210279129A1 (en) | Memory device and test operation thereof | |
JP2017010273A (ja) | 半導体故障検出装置 | |
KR20210058351A (ko) | 테스트 보드 및 이를 포함하는 테스트 시스템 | |
JP2007272982A (ja) | 半導体記憶装置およびその検査方法 | |
JP2010134979A (ja) | 演算処理装置および記憶装置用試験装置の制御方法 | |
JP6154228B2 (ja) | 半導体装置 | |
US7539598B2 (en) | Semiconductor test apparatus and method thereof and multiplexer and method thereof | |
US20100023809A1 (en) | Memory test circuit, semiconductor integrated circuit, and memory test method | |
JP2006349548A (ja) | 組み込み自己検査回路 | |
JP2006277821A (ja) | 半導体集積回路 | |
JP2006286030A (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right |