KR20070052877A - Pre-branch pattern generator for test system of semiconductor apparatus - Google Patents

Pre-branch pattern generator for test system of semiconductor apparatus Download PDF

Info

Publication number
KR20070052877A
KR20070052877A KR1020050110647A KR20050110647A KR20070052877A KR 20070052877 A KR20070052877 A KR 20070052877A KR 1020050110647 A KR1020050110647 A KR 1020050110647A KR 20050110647 A KR20050110647 A KR 20050110647A KR 20070052877 A KR20070052877 A KR 20070052877A
Authority
KR
South Korea
Prior art keywords
pattern
branch
true
false
test
Prior art date
Application number
KR1020050110647A
Other languages
Korean (ko)
Other versions
KR100788913B1 (en
Inventor
한교진
김효섭
Original Assignee
주식회사디아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사디아이 filed Critical 주식회사디아이
Priority to KR1020050110647A priority Critical patent/KR100788913B1/en
Publication of KR20070052877A publication Critical patent/KR20070052877A/en
Application granted granted Critical
Publication of KR100788913B1 publication Critical patent/KR100788913B1/en

Links

Images

Classifications

    • 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/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

반도체 장치의 테스트 시스템을 위한 전치 분기 패턴 발생 장치를 제시한다.A pre-branching pattern generator for testing systems of semiconductor devices is presented.

본 발명의 패턴 발생 장치는 전치 분기 방식의 프로그램 언어로 작성된 테스트 패턴 및 각 테스트 패턴의 참 또는 거짓 여부에 따라 분기 위치를 포함하는 패턴 프로그램이 저장되는 패턴 메모리, 패턴 메모리에 저장된 명령 중 판독해야 할 명령을 지정하며, 비교부의 비교 결과에 따라 트루 포인트 또는 폴스 포인트로 분기하여 해당 위치의 명령을 지정하는 프로그램 카운터, 프로그램 카운터가 패턴 메모리의 분기 명령을 지정함에 따라 분기 여부를 판단하고, 분기 명령에 연산 명령이 포함된 경우 연산부로 연산 내용을 제공하기 위한 비교부, 비교부의 요청에 따라 연산 명령을 수행하는 연산부 및 연산부의 수행 결과가 저장되고 연산 결과를 비교부 및 상기 연산부로 제공하는 레지스터 파일을 포함한다.The pattern generating apparatus of the present invention is to be read out of a test pattern written in a pre-branch programming language and a pattern memory in which a pattern program including a branch position is stored according to whether each test pattern is true or false, or an instruction stored in the pattern memory. A command counter that designates an instruction and branches to a true point or a false point according to the comparison result of the comparator, and designates a branch instruction of the pattern memory by the program counter designating a branch instruction of the pattern memory. When a calculation command is included, a comparator for providing the calculation contents to the calculator, a calculator for performing the calculation command at the request of the comparator, and a result of execution of the calculator are stored, and a register file for providing the calculation result to the comparator and the calculator. Include.

본 발명에 의하면 유저 인터페이싱이 용이한 C언어와 같은 고급 언어를 이용하여 테스트 시스템을 위한 패턴 프로그램을 작성하기 때문에 반도체 장치의 테스트를 더욱 간단하고 용이하게 수행할 수 있다.According to the present invention, since a pattern program for a test system is prepared using a high-level language such as C, which facilitates user interface, the semiconductor device can be tested more simply and easily.

반도체, 테스트, 패턴 발생 장치 Semiconductor, test, pattern generator

Description

반도체 장치의 테스트 시스템을 위한 전치 분기 패턴 발생 장치{Pre-Branch Pattern Generator for Test System of Semiconductor Apparatus}Pre-Branch Pattern Generator for Test System of Semiconductor Apparatus

도 1은 일반적인 반도체 장치의 테스트 시스템의 구성도,1 is a configuration diagram of a test system of a general semiconductor device;

도 2는 일반적인 패턴 발생 장치의 구성도,2 is a configuration diagram of a general pattern generator;

도 3은 본 발명에 의한 패턴 발생 장치의 블록도,3 is a block diagram of a pattern generator according to the present invention;

도 4는 도 3에 도시한 프로그램 카운터의 상세 구성도이다.4 is a detailed configuration diagram of the program counter shown in FIG. 3.

<도면의 주요 부분에 대한 부호 설명><Description of the symbols for the main parts of the drawings>

200 : 패턴 발생 장치 210 : 프로그램 카운터200: pattern generator 210: program counter

220 : 패턴 메모리 230 : 비교부220: pattern memory 230: comparison unit

240 : 연산부 250 : 레지스터 파일240: calculator 250: register file

2110 : 멀티플랙서 2120 : 출력 레지스터2110: multiplexer 2120: output register

2130 : 인터럽트 레지스터 2140 : 리턴 레지스터2130: interrupt register 2140: return register

본 발명은 패턴 발생 장치에 관한 것으로, 보다 구체적으로는 반도체 장치의 테스트 시스템을 위한 전치 분기 패턴 발생 장치에 관한 것이다.The present invention relates to a pattern generator, and more particularly to a pre-branch pattern generator for a test system of a semiconductor device.

반도체 장치의 고집적화에 따라 제조 공정은 더욱 엄격해지고, 반도체 장치의 동작 속도는 급속히 빨라지고 있다. 또한, 반도체 장치의 성능은 그 반도체 장치를 사용하는 시스템의 성능을 좌우하고 있으며, 따라서 불량이 없는 반도체 장치의 공급과 이를 위한 불량의 초기 검출은 또 다른 연구과제가 되었다.With high integration of semiconductor devices, manufacturing processes become more stringent, and the operating speed of semiconductor devices is rapidly increasing. In addition, the performance of the semiconductor device depends on the performance of the system using the semiconductor device, and therefore, supplying a semiconductor device without defects and initial detection of defects therefor has become another research subject.

반도체 장치의 테스트 방법 중 하나로, 소정의 알고리즘에 따라 테스트 패턴을 생성하고, 반도체 장치 특히, 메모리 장치에 기록한 데이터를 판독하며, 판독된 데이터를 판정하여 그 결과를 출력하는 패턴 발생 장치를 이용한 테스트 방법을 들 수 있다.A test method using a pattern generator that generates a test pattern according to a predetermined algorithm, reads data written in a semiconductor device, in particular, a memory device, determines the read data, and outputs the result as one of the test methods of the semiconductor device. Can be mentioned.

도 1은 일반적인 반도체 장치의 테스트 시스템의 구성도로서, 패턴 발생 장치를 이용한 테스트 시스템을 나타낸다.1 is a configuration diagram of a test system of a general semiconductor device, and illustrates a test system using a pattern generator.

도시한 것과 같이, 테스트 시스템(100)은 전체적인 동작을 제어하는 제어부(110), 제어부(110)의 제어에 따라 테스트 패턴을 생성하여 출력하는 패턴 발생 장치(120), 패턴 발생 장치(120)에서 생성된 테스트 패턴이 입력되는 입력 드라이버(130), 입력 드라이버(130)를 통해 테스트 보드(160)로 입력된 테스트 패턴에 따른 처리 결과를 입력받는 출력 드라이버(140), 출력 드라이버(140)를 통해 출력되는 신호와 기 설정된 신호를 비교하기 위한 비교부(150)를 구비한다.As shown in the drawing, the test system 100 includes a control unit 110 that controls an overall operation, a pattern generator 120 and a pattern generator 120 that generate and output a test pattern according to the control of the controller 110. The input driver 130 through which the generated test pattern is input, and through the output driver 140 and the output driver 140 that receive processing results according to the test pattern input to the test board 160 through the input driver 130. Comparing unit 150 for comparing the output signal and the predetermined signal is provided.

여기에서, 패턴 발생 장치(120)는 테스트하고자 하는 패턴을 언어 기술적 표 현을 기반으로 기술하여 동작하는 장치로서, 현재는 컴퓨터의 기계어를 이용하여 패턴 발생 장치(120)를 구현하고 있으며, ALPG(Algorithm Language Pattern Generator)가 주로 이용되고 있다.Here, the pattern generator 120 is an apparatus that operates by describing a pattern to be tested based on a language technical expression. Currently, the pattern generator 120 implements the pattern generator 120 using machine language of a computer. Algorithm Language Pattern Generator) is mainly used.

ALPG 패턴 발생 장치는 기계어로 작성된 프로그램을 컴파일러가 이진 파일로 컴파일하여 사용하게 되는데, 컴파일된 이진 파일에는 패턴 흐름 제어 부분, 어드레스 데이터 발생 부분, 타이밍 발생 부분 등이 포함된다. 패턴 흐름 제어 부분의 기계어 명령어에는 예를 들어, NOP(Not operation), JMP(Jump), CAL(Call), RET(Return), SET, HOLD 등이 포함되며, JMP 명령어는 상태에 따른 분기 명령(JST), 인덱스 레지스터의 숫자를 1씩 감소하며 반복하라는 의미의 명령(JIR) 등 다양하게 변형될 수 있다. 또한, 어드레스 데이터 발생 부분은 레지스터들의 비교, 연산 스크램블링 등을 발생하고, 타이밍 발생 부분은 각 패턴 플로우에 따라서 지정된 타이밍을 발생하도록 한다.The ALPG pattern generator is used to compile a program written in machine language into a binary file. The compiled binary file includes a pattern flow control part, an address data generation part, a timing generation part, and the like. The machine instructions of the pattern flow control part include, for example, NOP (Not operation), JMP (Jump), CAL (Call), RET (Return), SET, HOLD, etc. JST), an instruction (JIR) which means to repeat the number of index registers by 1, and the like can be variously modified. In addition, the address data generation portion generates comparison of registers, operation scrambling, and the like, and the timing generation portion generates a specified timing according to each pattern flow.

기계어로 표현한 패턴 프로그램의 일 예를 [표 1]에 나타내었다.An example of a pattern program expressed in machine language is shown in [Table 1].

[표 1]TABLE 1

패턴 흐름 제어부분Pattern flow control part 어드레스 발생부분Address generation part 타이밍 발생부분Timing Generation Part 1One SETSET R0=1,R0 = 1, 22 SETSET A=0,A = 0, 33 SETSET D=1D = 1 44 LAB1 NOPLAB1 NOP /D,          / D, T=ACT   T = ACT 55 NOPNOP T=NOP   T = NOP 66 NOPNOP T=READ   T = READ 77 JMP LAB1(100)JMP LAB1 (100) A=A+R0A = A + R0 T=PRE   T = PRE 88 NOPNOP

[표 1]은 메모리 장치의 읽기 동작을 통한 테스트를 위한 패턴을 나타내며, /D는 한번의 읽기 동작에 따라서 데이터가 한 번씩 변하도록 하는 패턴을 의미하고, 어드레스는 0번째부터 100번째까지 참조된다. 또한, 4라인부터 7라인까지를 반복하면서 루핑하도록 되어 있고, 루핑 횟수는 점프 명령시(7라인)에 판단하도록 되어 있고, 100회 루핑이 완료되면 8라인을 실행하도록 되어 있다.[Table 1] shows the pattern for the test through the read operation of the memory device, / D means the pattern to change the data once according to one read operation, and the address is referenced from 0th to 100th. . In addition, looping is performed while repeating from 4 to 7 lines, the number of loops is determined at the time of the jump command (7 lines), and 8 lines are executed after 100 loops are completed.

도 2는 일반적인 패턴 발생 장치의 구성도이다.2 is a configuration diagram of a general pattern generator.

도시한 것과 같이, 패턴 발생 장치(120)는 프로그램 카운터(1210), 패턴 메모리(1220), 분기 제어부(1230), 루프 인덱스(1240), 비교부(1250), 연산부(1260) 및 레지스터 파일(1270)을 포함한다.As illustrated, the pattern generator 120 may include a program counter 1210, a pattern memory 1220, a branch control unit 1230, a loop index 1240, a comparison unit 1250, an operation unit 1260, and a register file ( 1270).

[표 1]을 참조하여 도 2에 도시한 패턴 발생 장치의 동작을 설명하면 다음과 같다. 먼저, [표 1]에 도시한 것과 같은 패턴 프로그램은 패턴 메모리(1220)에 저장되고, 프로그램 카운터(1210)는 패턴 메모리(1220)에서 판독해야 할 명령을 지정한다. 프로그램 카운터(1210)가 패턴 메모리(1220)의 분기 명령(표 2의 7라인)을 지정하게 되면, 이는 분기 제어부(1230)로 로드되고, 분기 제어부(1230)는 루프 인덱스(1240) 및 비교부(1250)를 참조하여 분기 여부를 결정한다. 아울러, 연산부(1260)는 패턴 메모리(1220)에 저장된 어드레스 데이터 발생부분의 명령어(예를 들어, A=A+R0)를 참조하여 어드레스 증감 등의 연산을 수행한다. 그리고 연산부(1260)의 수행 결과는 레지스터 파일(1270)에 저장된다.Referring to Table 1, the operation of the pattern generator shown in FIG. 2 will be described. First, a pattern program as shown in Table 1 is stored in the pattern memory 1220, and the program counter 1210 designates a command to be read from the pattern memory 1220. When the program counter 1210 specifies the branch instruction (line 7 of Table 2) of the pattern memory 1220, it is loaded into the branch control unit 1230, and the branch control unit 1230 is the loop index 1240 and the comparison unit. 1250, it is determined whether to branch. In addition, the operation unit 1260 performs an operation such as increasing or decreasing an address with reference to an instruction (eg, A = A + R0) of an address data generation portion stored in the pattern memory 1220. In addition, the execution result of the calculator 1260 is stored in the register file 1270.

이와 같이, 현재의 패턴 발생 장치는 분기 여부의 판별 내용이 항상 뒤쪽에 존재하고, 이를 참조하여 루핑을 수행하므로 후치 구조라고 할 수 있다.In this way, the current pattern generator is a post-structure because the content of whether the branch is always present at the rear and performs the looping with reference to this.

그런데, 패턴 프로그램을 기계어로 작성하게 되면 그 내용이 방대하고 복잡 한 단점이 있기 때문에, C언어와 같이 유저 인터페이싱이 용이한 고급 언어 표현으로 패턴을 발생하고자 하는 노력이 시도되었다.However, when the pattern program is written in machine language, its contents have a huge and complicated disadvantage. Therefore, an attempt has been made to generate a pattern with a high-level language expression such as C language, which is easy for user interface.

[표 1]을 고급 언어로 표현하면 [표 2]와 같다.When [Table 1] is expressed in a high-level language, it is shown in [Table 2].

[표 2]TABLE 2

For(R0=0; R0<100; R++) { /D T=ACT T=NOP T=READ A=R0 T=PRE }For (R0 = 0; R0 <100; R ++) {/ D T = ACT T = NOP T = READ A = R0 T = PRE}

[표 2]에서 /D는 읽기 동작을 한번 수행할 때마다 데이터가 한번씩 변화하도록 하는 패턴을 의미한다. 이와 같이, C언어와 같은 고급 언어는 사용자가 쉽게 알아볼 수 있는 장점이 있고, 따라서 테스트 패턴 프로그램을 용이하게 이해할 수 있다. 그러나, 고급 언어로 작성된 패턴 또한 하드웨어상에서 동작하기 위해서는 다시 기계어로 변환하는 과정을 거쳐야 하는데, 이 과정에서 순서가 바뀌거나 컴파일 과정이 복잡해 지는 문제가 발생한다. 왜냐하면, 기계어는 패턴의 분기 위치가 아래쪽에 위치하는 반면, C언어는 패턴의 분기 위치가 앞쪽에 위치하기 때문에, 컴파일 과정에서 상호 호환이 완벽하게 이루어지지 않기 때문이다.In [Table 2], / D means a pattern that changes data once every read operation. As such, a high-level language such as the C language has an advantage that a user can easily recognize, and thus can easily understand the test pattern program. However, patterns written in high-level languages also need to be converted back to machine language in order to operate on hardware, which causes a problem of reordering or complicating the compilation process. This is because the machine language has the branching position of the pattern at the bottom while the C language has the branching position of the pattern at the front, so that the compatibility is not perfect during the compilation process.

즉, C언어와 같은 고급 언어는 유저 인터페이싱이 우수하지만, 이를 기계어로 변환할 때 기계어와 C언어 간의 구조 상의 차이로 인하여 오류가 발생할 수 있기 때문에, 패턴 프로그램 작성시 작업이 어렵고 프로그램 내용이 방대한 기계어를 사용할 수 밖에 없는 문제가 있다.In other words, high-level languages such as C language have excellent user interfacing, but when converting them into machine language, errors may occur due to the difference in structure between machine language and C language. There is a problem that can only be used.

본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로서, 테스트 패턴 프로그램을 분기 위치가 앞쪽에 위치하는 고급 언어로 작성하고, 이의 컴파일시 분기 조건에 따른 분기 위치를 명령어와 함께 병행 기술함으로써, 유저 인터페이싱이 용이한 전치 분기 패턴 발생 장치를 제공하는 데 그 기술적 과제가 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and the user interface is prepared by writing a test pattern program in a high-level language in which a branch position is located in front, and simultaneously describing a branch position according to branch conditions at the time of compilation with instructions. There is a technical problem to provide this easy pre-branching pattern generator.

상술한 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 의한 반도체 장치의 테스트 시스템을 위한 패턴 발생 장치는 테스트 패턴을 생성하여 출력하는 반도체 장치의 테스트 시스템을 위한 패턴 발생 장치로서, 전치 분기 방식의 프로그램 언어로 작성된 테스트 패턴 및 상기 각 테스트 패턴의 참 또는 거짓 여부에 따라 분기 위치를 포함하는 패턴 프로그램이 저장되는 패턴 메모리; 상기 패턴 메모리에 저장된 명령 중 판독해야 할 명령을 지정하며, 비교부의 비교 결과에 따라 트루 포인트 또는 폴스 포인트로 분기하여 해당 위치의 명령을 지정하는 프로그램 카운터; 상기 프로그램 카운터가 상기 패턴 메모리의 분기 명령을 지정함에 따라 분기 여부를 판단하고, 분기 명령에 연산 명령이 포함된 경우 연산부로 연산 내용을 제공하기 위한 비교부; 상기 비교부의 요청에 따라 연산 명령을 수행하는 연산부; 및 상기 연산부의 수행 결과가 저장되고 연산 결과를 상기 비교부 및 상기 연산부로 제공하는 레지스터 파일;을 포함한다.The pattern generator for a test system of a semiconductor device according to an embodiment of the present invention for achieving the above-described technical problem is a pattern generator for a test system of a semiconductor device for generating and outputting a test pattern, A pattern memory for storing a test pattern written in a program language and a pattern program including a branch position according to whether each test pattern is true or false; A program counter for designating a command to be read among the commands stored in the pattern memory, and branching to a true point or a false point according to a comparison result of the comparator to designate a command of a corresponding position; A comparator for determining whether to branch according to the program counter designating a branch instruction of the pattern memory, and for providing calculation contents to a calculation unit when a branch instruction includes a calculation instruction; An operation unit configured to perform an operation command in response to a request of the comparison unit; And a register file that stores an execution result of the operation unit and provides an operation result to the comparison unit and the operation unit.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 보다 구체적으로 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명에 의한 패턴 발생 장치의 블록도이다.3 is a block diagram of a pattern generator according to the present invention.

본 발명에 의한 패턴 발생 장치(200)는 전치 분기 방식의 고급 언어(예를 들어, C 언어)로 작성되어 각 패턴의 참 또는 거짓 여부에 따라 분기 위치가 지정된 패턴 프로그램이 저장되는 패턴 메모리(220), 패턴 메모리(220)에 저장된 명령 중 판독해야 할 명령을 지정하며, 비교부(230)의 비교 결과에 따라 트루 포인트(True Point; TP) 또는 폴스 포인트(False Point; FP)로 분기하여 해당 위치의 명령을 지정하는 프로그램 카운터(210), 프로그램 카운터(210)가 패턴 메모리(220)의 분기 명령을 지정함에 따라 분기 여부를 판단하고, 분기 명령에 연산 명령이 포함된 경우 이를 연산부(240)로 제공하기 위한 비교부(230), 비교부(230)의 요청에 따라 연산 명령을 수행하는 연산부(240) 및 연산부(1260)의 수행 결과가 저장되고 연산 결과를 비교부(230) 및 연산부(240)로 제공하는 레지스터 파일(1270)을 포함한다.The pattern generating apparatus 200 according to the present invention is a pattern memory 220 in which a preprogrammed high-level language (for example, C language) is written and a pattern program in which a branch position is designated according to whether each pattern is true or false is stored. ) Designates a command to be read among the commands stored in the pattern memory 220, and branches to a true point (TP) or a false point (FP) according to the comparison result of the comparator 230. The program counter 210 designating the instruction of the position, the program counter 210 determines whether to branch according to the designation of the branch instruction of the pattern memory 220, and if the operation instruction is included in the branch instruction operation unit 240 In accordance with the request of the comparator 230, the comparator 230 to provide a calculation operation performed by the operation unit 240 and operation unit 1260 is stored and the operation results are stored in the comparator 230 and the operation unit ( Registers provided by Contains file 1270.

여기에서, 패턴 메모리(220)에는 분기를 위한 조건 구문, 예를 들어, IF 구문, IF~ELSE 구문, FOR 구문 등이 전치 분기 구조로 기술되고, 각 조건 구문이 참(True) 또는 거짓(False)인 경우 분기해야 할 패턴 메모리(220)의 위치가 기술되어 있으며, 참 또는 거짓인지에 따라 분기하여 주어진 명령어를 수행하고, 다시 패턴 메모리(220)의 어떤 위치로 분기하여야 하는 지가 순차적으로 기술된 패턴 프로그램이 저장되어 있다.Here, in the pattern memory 220, conditional statements for branching, for example, IF statements, IF-ELSE statements, FOR statements, and the like are described in a pre-branch structure, and each conditional statement is true or false. In this case, the position of the pattern memory 220 to be branched is described, and the position of the pattern memory 220 to be branched according to whether it is true or false to perform a given instruction, and to which position of the pattern memory 220 to be branched sequentially is sequentially described. The pattern program is stored.

이러한 패턴 프로그램의 일 예를 [표 3] 내지 [표 5]에 나타내었다.An example of such a pattern program is shown in [Table 3] to [Table 5].

[표 3]TABLE 3

TPTP FPFP 1One if(Xa<300)if (Xa <300) +1+1 +4+4 22 { T=A{T = A +1+1 +0+0 33 T=R                    T = R +1+1 +0+0 44 X=Xa /D T=P      X = Xa / D T = P +4+4 +0+0 }} ElseElse 55 { T=A{T = A +1+1 +0+0 66 T=R                    T = R +1+1 +0+0 77 X=Xb /D T=P     X = Xb / D T = P +1+1 +0+0 }} 88

[표 4]TABLE 4

TPTP FPFP 1One if(Xa<300)if (Xa <300) +1+1 +2+2 22 { X=Xa T=T0{X = Xa T = T0 +1+1 +0+0 }} 33

[표 5]TABLE 5

TPTP FPFP 1One for(Xa=S0)for (Xa = S0) +2+2 +0+0 22 for(Xa<S6;Xa++)for (Xa <S6; Xa ++) +1+1 +6+6 33 for(Ya=S0)for (Ya = S0) +2+2 44 for(Ya<S6;Ya++)for (Ya <S6; Ya ++) +1+1 +2+2 55 { T=A   {T = A +1+1 66 T=R                     T = R +1+1 77 X=Xa, Y=Ya /D T=P     X = Xa, Y = Ya / D T = P -3-3 }    } 88

[표 3] 내지 [표 5]에서 TP와 FP는 각각 참 또는 거짓인 경우 어드레스 번지의 증가 또는 감소분을 나타내며, 절대번지로 기술하는 것도 가능하다.In Tables 3 to 5, TP and FP represent the increase or decrease of the address address when they are true or false, respectively, and may be described as an absolute address.

먼저, [표 3]은 IF~ELSE 구문을 본 발명에서 사용하기 위한 패턴 프로그램 형식으로 나타낸 것으로, 비교부(230)에서 Xa가 300미만인지 판단하여, 참인 경우에는 어드레스를 1 증가시킨 위치 즉, T에 A를 대입하는 위치로 이동하고, 다시 어드레스를 1 증가시켜 T에 R을 대입하는 위치로 이동하며, 이후 X에 Xa를 대입하고 T에 P를 대입한 다음 어드레스를 4 증가시킨다. 이에 따라, 프로그램 종료를 나타 내는 기호(})를 인식하게 되므로, 읽기 테스트 동작이 종료된다. 한편, 비교부(230)에서 Xa가 300미만인지 판단하여, 거짓인 경우에는 어드레스를 4 증가시킨 위치 즉 ELSE 구문으로 분기하여 이후의 과정을 수행한다.First, [Table 3] shows the IF ~ ELSE syntax in the form of a pattern program for use in the present invention. The comparison unit 230 determines whether Xa is less than 300. It moves to the position where A is substituted for T, increases the address by 1, and moves to the position where R is substituted for T, then X is substituted for X, P is substituted for T, and 4 is increased. Accordingly, since the symbol {} indicating the end of the program is recognized, the read test operation is terminated. On the other hand, the comparison unit 230 determines whether Xa is less than 300, and if false, branches to the position where the address is increased by 4, that is, ELSE syntax, and performs the subsequent process.

[표 4]는 IF 구문을 본 발명에서 사용하기 위한 패턴 프로그램 형식으로 나타낸 것으로, 비교부(230)에서 Xa가 300미만인지 판단하여, 참인 경우에는 어드레스를 1 증가시킨 위치 즉, X에 Xa를 대입하고 T에 T0를 대입하는 위치로 이동한 후 종료하고, 거짓인 경우에는 프로그램이 종료되도록 한다.[Table 4] shows the IF syntax in the form of a pattern program for use in the present invention. If the comparison unit 230 determines whether Xa is less than 300, and if true, the position where the address is increased by one, that is, Xa is added to X. Assign and move to the position where T0 is assigned to T, and exit. If false, the program terminates.

[표 5]는 FOR 구문을 본 발명에서 사용하기 위한 패턴 프로그램 형식으로 나타낸 것으로, 비교부(230)에서 Xa가 S0인지 확인하여 참인 경우에는 어드레스를 2 증가시킨 위치 즉, Ya가 S0인지 확인하는 위치로 이동한다. 이후, 비교부(230)에서 Ya가 S0인지 확인하여 참인 경우에는 어드레스를 2 증가시켜 T에 A를 대입하고, 이어서 T에 R을 대입한 후, X에 Xa를, Y에 Ya를 대입하고 T에 P를 대입하는 위치로 이동한 다음, 어드레스는 3 감소시킨 위치로 이동하여 T=A, T=R, T=P의 과정 즉, 테스트 보드에 대한 읽기 동작을 반복 수행하도록 한다. 그리고, Ya가 S6 미만인지 확인한 결과 거짓인 경우에는 어드레스를 2 감소시킨 위치로 이동하여 Xa가 S6 미만인지 확인하는 위치로 분기하도록 하여, Xa가 S6 미만인 경우에는 연산부(240)에 의해 Xa값을 증가시킨 후 루프를 계속 반복 수행하고, 거짓인 경우에는 루프가 완료된 것으로 판단하여 어드레스를 6 증가시킨 위치로 이동하여 프로그램을 종료한다.[Table 5] shows the FOR syntax in the form of a pattern program for use in the present invention. When the comparison unit 230 checks whether Xa is S0, and if it is true, it checks whether the address is increased by 2, that is, Ya is S0. Go to location. Then, the comparison unit 230 checks whether Ya is S0, and if it is true, increases the address by 2 and substitutes A for T, then substitutes R for T, then substitutes Xa for X and Ya for Y, After moving to the position where P is substituted, the address moves to the position where the address is reduced by 3 to repeat the process of T = A, T = R, T = P, that is, the read operation on the test board. If it is found that Ya is less than S6, and if it is false, the address is moved to the position where the address is reduced by two, and branching is made to the position to confirm whether Xa is less than S6. After increasing, the loop is repeated repeatedly. If false, the loop is determined to be completed, and the program is moved to the position where the address is increased by 6 and terminated.

이와 같이, 본 발명에서는 전치 분기 구조의 고급 언어로 패턴 프로그램을 작성하고, 이때 각 패턴의 수행 결과가 참인지 거짓인지에 따라 분기할 위치가 함께 기술되도록 컴파일을 수행하여, 이러한 패턴 프로그램과 분기 위치를 패턴 메모리(220)에 저장하여 둔다.As described above, in the present invention, a pattern program is created in a high-level language having a transposition branch structure, and at this time, a compilation is performed so that a position to branch is described depending on whether the execution result of each pattern is true or false. Is stored in the pattern memory 220.

그리고, 반도체 장치 테스트시에 프로그램 카운터(210)가 패턴 메모리(220)에 저장된 명령어를 지정하면, 비교부(230)에서 분기 여부 및 분기 위치를 판단하여 프로그램 카운터(210)로 제공하고, 프로그램 카운터(210)는 비교부(230)의 판단 결과를 참조하여 참 또는 거짓인 경우에 따라 패턴 메모리(220)의 특정 위치를 지정하여 선택된 명령어를 테스트 보드로 제공한다. 아울러, 프로그램 카운터(210)에 의해 비교부(230)에 로딩된 명령어가 연산 명령을 포함하는 경우, 이는 연산부(240)에서 수행되고, 그 결과는 레지스터 파일(250)에 저장되어 이후의 비교 및 연산에 참조되게 된다.When the program counter 210 designates a command stored in the pattern memory 220 during the semiconductor device test, the comparator 230 determines whether a branch is present and the branch position, and provides the program counter 210 to the program counter 210. Reference numeral 210 designates a specific location of the pattern memory 220 according to a case in which the comparison unit 230 determines the true or false, and provides the selected command to the test board. In addition, when the instruction loaded into the comparing unit 230 by the program counter 210 includes an operation instruction, this is performed by the calculating unit 240, and the result is stored in the register file 250 so that subsequent comparison and Will be referenced in the operation.

도 4는 도 3에 도시한 프로그램 카운터의 상세 회로도이다.FIG. 4 is a detailed circuit diagram of the program counter shown in FIG. 3.

본 발명에 적용되는 프로그램 카운터(210)는 복수의 데이터 입력 단자(IN_A, IN_B, IN_C, IN_D), 비교 제어 신호 입력 단자(COMPARE), 인터럽트 제어 신호 입력 단자(INTERRUPT), 리턴 제어 신호 입력 단자(RETURN)를 통해 데이터 신호 및 제어 신호를 입력받아 출력 단자(OUT_O)를 통해 어느 하나의 신호를 출력하는 멀티플랙서(2110), 멀티플랙서(2110)의 출력 신호를 일시 저장한 후 출력(PC_OUT)하는 출력 레지스터(2120), 인터럽트 세팅 신호(INT_SET)가 인에이블됨에 따라 트루 포인프 신호(TP)를 저장하고, 인터럽트 명령을 멀티플랙서(2110)의 데이터 입력 단자(IN_C)로 전송하여 출력 단자(OUT_O)를 통해 인터럽트 명령이 출력되도록 하는 인 터럽트 레지스터(2130), 인터럽트 세팅 신호가 인에이블됨에 따라 출력 레지스터(2120)의 출력 신호를 입력받아 저장하고, 리턴 제어 신호가 인에이블됨에 따라 멀티플랙서(2110)의 데이터 입력 단자(IN_D)로 리턴 명령을 제공하여 출려 단자(OUT_O)를 통해 리턴 명령을 출력하는 리턴 레지스터(2140)를 포함한다.Program counter 210 applied to the present invention is a plurality of data input terminals (IN_A, IN_B, IN_C, IN_D), comparison control signal input terminal (COMPARE), interrupt control signal input terminal (INTERRUPT), return control signal input terminal ( The output signal of the multiplexer 2110 and the multiplexer 2110 that receives the data signal and the control signal through the RETURN) and outputs any one signal through the output terminal OUT_O, and then outputs the output signal (PC_OUT). As the output register 2120 and the interrupt setting signal INT_SET are enabled, the true register signal TP is stored, and the interrupt instruction is transmitted to the data input terminal IN_C of the multiplexer 2110 for output. An interrupt register 2130 for outputting an interrupt command through the terminal OUT_O, and receives and stores an output signal of the output register 2120 as the interrupt setting signal is enabled. As the block provides a return instruction to the data input terminal (IN_D) of the multiplexer 2110 and includes a return register (2140) for outputting a return command through the terminal chulryeo (OUT_O).

여기에서, 데이터 입력 단자(IN_A)에는 트루 포인트 신호가 입력되고 데이터 입력 단자(IN_B)에는 폴스 포인트 신호가 입력된다.Here, a true point signal is input to the data input terminal IN_A and a false point signal is input to the data input terminal IN_B.

이러한 프로그램 카운터(210)는 비교 신호에 의해 TP 또는 FP 중 어느 하나의 신호를 출력하기 위한 것으로, 만약 동작 중에 인터럽트 제어 신호 또는 리턴 제어 신호가 발생되면, 인터럽트 신호 또는 리턴 신호를 우선순위가 높은 신호로 취급하여 TP 또는 FP 신호가 아닌 인터럽트 명령 또는 리턴 명령 출력되도록 한다.The program counter 210 is for outputting a signal of either TP or FP by the comparison signal. If an interrupt control signal or a return control signal is generated during operation, the program counter 210 converts the interrupt signal or the return signal into a high priority signal. Treat it as an interrupt command or return command rather than a TP or FP signal.

여기에서, 각 레지스터(2120, 2130, 2140)는 클럭 신호에 동기하여 동작하며, RUN_HOLD 신호는 패턴 진행의 진행 및 중지를 결정하는 신호이다.Here, each of the registers 2120, 2130, and 2140 operates in synchronization with a clock signal, and the RUN_HOLD signal is a signal for determining the progress and stop of pattern progress.

이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, those skilled in the art will appreciate that the present invention can be implemented in other specific forms without changing the technical spirit or essential features thereof. Therefore, the above-described embodiments are to be understood as illustrative in all respects and not as restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

본 발명에 의하면 유저 인터페이싱이 용이한 C언어와 같은 고급 언어를 이용하여 테스트 시스템을 위한 패턴 프로그램을 작성하기 때문에 반도체 장치의 테스트를 더욱 간단하고 용이하게 수행할 수 있다. 또한, 전치 분기 구조의 패턴 발생시 단순한 컴파일만으로 분기 위치를 지정할 수 있기 때문에 하드웨어 변경 없이 적용이 가능할 뿐 아니라, 테스트 장비의 개발, 유지, 보수 및 기능 추가가 용이하고 비용이 절감되는 이점이 있다.According to the present invention, since a pattern program for a test system is prepared using a high-level language such as C, which facilitates user interface, the semiconductor device can be tested more simply and easily. In addition, the branch position can be specified by simple compilation only when the pattern of the pre-branch structure is generated, so that it can be applied without changing hardware, and it is easy to develop, maintain, maintain and add test equipment, and reduce costs.

Claims (6)

테스트 패턴을 생성하여 출력하는 반도체 장치의 테스트 시스템을 위한 패턴 발생 장치로서,A pattern generator for a test system of a semiconductor device for generating and outputting a test pattern, 전치 분기 방식의 프로그램 언어로 작성된 테스트 패턴 및 상기 각 테스트 패턴의 참 또는 거짓 여부에 따라 분기 위치를 포함하는 패턴 프로그램이 저장되는 패턴 메모리;A pattern memory configured to store a test pattern written in a pre-branch programming language and a pattern program including a branch position according to whether each test pattern is true or false; 상기 패턴 메모리에 저장된 명령 중 판독해야 할 명령을 지정하며, 비교부의 비교 결과에 따라 트루 포인트 또는 폴스 포인트로 분기하여 해당 위치의 명령을 지정하는 프로그램 카운터;A program counter for designating a command to be read among the commands stored in the pattern memory, and branching to a true point or a false point according to a comparison result of the comparator to designate a command of a corresponding position; 상기 프로그램 카운터가 상기 패턴 메모리의 분기 명령을 지정함에 따라 분기 여부를 판단하고, 분기 명령에 연산 명령이 포함된 경우 연산부로 연산 내용을 제공하기 위한 비교부;A comparator for determining whether to branch according to the program counter designating a branch instruction of the pattern memory, and for providing calculation contents to a calculation unit when a branch instruction includes a calculation instruction; 상기 비교부의 요청에 따라 연산 명령을 수행하는 연산부; 및An operation unit configured to perform an operation command in response to a request of the comparison unit; And 상기 연산부의 수행 결과가 저장되고 연산 결과를 상기 비교부 및 상기 연산부로 제공하는 레지스터 파일;A register file that stores an execution result of the operation unit and provides an operation result to the comparison unit and the operation unit; 을 포함하는 반도체 장치의 테스트 시스템을 위한 전치 분기 패턴 발생 장치.Pre-branching pattern generator for a test system of a semiconductor device comprising a. 제 1 항에 있어서,The method of claim 1, 상기 패턴 메모리는, 분기를 위한 적어도 하나의 조건 구문, 상기 각 조건 구문이 참 또는 거짓인 경우 분기해야 할 패턴 메모리의 위치, 참 또는 거짓인지에 따라 분기하여 주어진 명령어를 수행한 후 분기해야 할 패턴 메모리의 위치가 기술된 패턴 프로그램을 저장하는 것을 특징으로 하는 반도체 장치의 테스트 시스템을 위한 전치 분기 패턴 발생 장치.The pattern memory may branch according to at least one conditional statement for branching, the position of the pattern memory to branch if each conditional statement is true or false, and perform a given instruction by branching according to whether it is true or false. A pre-branching pattern generator for a test system of semiconductor devices, characterized by storing a pattern program describing the location of the memory. 제 2 항에 있어서,The method of claim 2, 상기 조건 구문은 IF 구문, IF~ELSE 구문, FOR 구문 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 반도체 장치의 테스트 시스템을 위한 전치 분기 패턴 발생 장치.And the conditional phrase includes at least one of an IF statement, an IF ~ ELSE statement, and a FOR statement. 제 1 항에 있어서,The method of claim 1, 상기 프로그램 카운터는 트루 포인트 신호 및 폴스 포인트 신호가 입력되는 데이터 입력 단자, 비교 제어 신호 입력 단자, 인터럽트 제어 신호 입력 단자 및 리턴 제어 신호 입력 단자를 통해 입력되는 신호 중 어느 하나를 출력 단자를 통해 출력하는 멀티플랙서;The program counter outputs any one of a signal input through a data input terminal, a comparison control signal input terminal, an interrupt control signal input terminal, and a return control signal input terminal to which a true point signal and a false point signal are input through an output terminal. Multiplexer; 인터럽트 세팅 신호가 인에이블됨에 따라, 상기 트루 포인트 신호를 저장하고, 인터럽트 제어 신호가 인에이블됨에 따라, 인에이블 신호를 상기 멀티플랙서로 전송하는 인터럽트 명령을 전송하여 출력되도록 하기 위한 인터럽트 레지스터;An interrupt register for storing the true point signal as the interrupt setting signal is enabled and transmitting and outputting an interrupt command for transmitting the enable signal to the multiplexer as the interrupt control signal is enabled; 인터럽트 세팅 신호가 인에이블됨에 따라, 상기 멀티플랙서의 출력 신호를 저장하고, 리턴 명령을 상기 멀티플랙서로 전송하여 출력되도록 하기 위한 리턴 레지스터; 및A return register for storing an output signal of the multiplexer and transmitting a return command to the multiplexer so that the interrupt setting signal is enabled; And 상기 멀티플랙서의 출력 신호를 일시 저장하여 출력하는 출력 레지스터;An output register for temporarily storing and outputting an output signal of the multiplexer; 를 포함하는 것을 특징으로 하는 반도체 장치의 테스트 시스템을 위한 패턴 발생 장치.Pattern generating device for a test system of a semiconductor device comprising a. 제 1 항에 있어서,The method of claim 1, 상기 트루 포인트 및 폴스 포인트는 어드레스 번지의 증가분 또는 감소분인 것을 특징으로 하는 반도체 장치의 테스트 시스템을 위한 패턴 발생 장치.And the true point and the false point are increments or decrements of the address address. 제 1 항에 있어서,The method of claim 1, 상기 트루 포인트 및 폴스 포인트는 어드레스의 절대번지인 것을 특징으로 하는 반도체 장치의 테스트 시스템을 위한 패턴 발생 장치.And the true point and the false point are absolute addresses of addresses.
KR1020050110647A 2005-11-18 2005-11-18 Pre-Branch Pattern Generator for Test System of Semiconductor Apparatus KR100788913B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050110647A KR100788913B1 (en) 2005-11-18 2005-11-18 Pre-Branch Pattern Generator for Test System of Semiconductor Apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050110647A KR100788913B1 (en) 2005-11-18 2005-11-18 Pre-Branch Pattern Generator for Test System of Semiconductor Apparatus

Publications (2)

Publication Number Publication Date
KR20070052877A true KR20070052877A (en) 2007-05-23
KR100788913B1 KR100788913B1 (en) 2007-12-27

Family

ID=38275388

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050110647A KR100788913B1 (en) 2005-11-18 2005-11-18 Pre-Branch Pattern Generator for Test System of Semiconductor Apparatus

Country Status (1)

Country Link
KR (1) KR100788913B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102308990B1 (en) * 2021-07-20 2021-10-06 (주) 에이블리 Apparatus and method for generating semiconductor test pattern

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101136122B1 (en) * 2010-08-11 2012-04-17 한국항공우주산업 주식회사 Break point analysis method for unit test of DSP software

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900002577B1 (en) * 1985-01-31 1990-04-20 가부시기가아샤 히다찌세이사꾸쇼 Test pattern generator
JP3432532B2 (en) * 1992-08-03 2003-08-04 株式会社日立製作所 Data processing device
JP3150611B2 (en) * 1996-03-29 2001-03-26 株式会社東芝 Pattern generator
JP3552184B2 (en) * 1996-10-18 2004-08-11 株式会社アドバンテスト Semiconductor memory test equipment
JPH10161899A (en) * 1996-11-27 1998-06-19 Advantest Corp Sequence control circuit
JP2001148199A (en) * 1999-11-19 2001-05-29 Mitsubishi Electric Corp Self-test circuit built-in semiconductor memory
JP2004021950A (en) * 2002-06-20 2004-01-22 Toshiba Corp Program verification device, program, and program verification method
JP4334285B2 (en) * 2003-06-19 2009-09-30 株式会社アドバンテスト Semiconductor test apparatus and control method thereof
KR20030071600A (en) * 2003-07-16 2003-09-03 쓰리지디코리아 주식회사 Filtering Method and Recorded Medium which can automatically recognize the constituents and pattern of experimental data, Filtering system which can automatically recognize the constituents and pattern of experimental data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102308990B1 (en) * 2021-07-20 2021-10-06 (주) 에이블리 Apparatus and method for generating semiconductor test pattern

Also Published As

Publication number Publication date
KR100788913B1 (en) 2007-12-27

Similar Documents

Publication Publication Date Title
JP4911022B2 (en) Counter control circuit, dynamic reconfiguration circuit, and loop processing control method
US6536031B2 (en) Method for generating behavior model description of circuit and apparatus for logic verification
KR910017301A (en) Control intensive system
EP0241946A2 (en) Information processing system
CN112630622B (en) Method and system for pattern compiling, downloading and testing of ATE (automatic test equipment)
US5018145A (en) IC tester
KR20090129474A (en) Tester and electronic device
JPWO2008114697A1 (en) Test apparatus and electronic device
JP3150611B2 (en) Pattern generator
KR100788913B1 (en) Pre-Branch Pattern Generator for Test System of Semiconductor Apparatus
KR20090129481A (en) Testing apparatus, electronic device and testing method
JPH04236375A (en) Pattern generator
CN115113943A (en) Method, device, equipment and storage medium for determining matching degree of board card and slot position
EP0388077A2 (en) Method of optimizing the execution speed of an interpreted test language
KR100301391B1 (en) Subroutine branch instruction execution method and device
KR20120029983A (en) Memory tester and compiler device which matches a test program
KR102314419B1 (en) Apparatus and method for generating semiconductor test pattern
CN109655643B (en) Testing device and testing circuit board thereof
JP3481689B2 (en) Semiconductor test equipment
KR102308990B1 (en) Apparatus and method for generating semiconductor test pattern
KR20100031808A (en) Method for making and debuging program using virtual platform and appparatus therof
CN118113306A (en) Burning method and device, computer equipment and computer readable storage medium
JPH10319096A (en) Semiconductor testing device
US9557384B2 (en) Testing device
JPH0862303A (en) High speed pattern generator

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: 20121218

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131218

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141218

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151218

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161219

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171218

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181218

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191218

Year of fee payment: 13