KR0154790B1 - The method for verifing simulation vector and the method for converting test vector - Google Patents

The method for verifing simulation vector and the method for converting test vector

Info

Publication number
KR0154790B1
KR0154790B1 KR1019950041536A KR19950041536A KR0154790B1 KR 0154790 B1 KR0154790 B1 KR 0154790B1 KR 1019950041536 A KR1019950041536 A KR 1019950041536A KR 19950041536 A KR19950041536 A KR 19950041536A KR 0154790 B1 KR0154790 B1 KR 0154790B1
Authority
KR
South Korea
Prior art keywords
vector
timeset
simulation
time
test
Prior art date
Application number
KR1019950041536A
Other languages
Korean (ko)
Other versions
KR970029048A (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 KR1019950041536A priority Critical patent/KR0154790B1/en
Publication of KR970029048A publication Critical patent/KR970029048A/en
Application granted granted Critical
Publication of KR0154790B1 publication Critical patent/KR0154790B1/en

Links

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/261Functional testing by simulating additional hardware, e.g. fault simulation

Landscapes

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

Abstract

이 발명은 소자 관련 타이밍 정보에 의한 테스트 명세규칙(Test Specification Rule) 정보를 이용하여 시뮬에이션 벡터(Simulation Vector)의 분석 및 검증을 하고, 싸이클 타임 베이스(Cycletime Base)로 시뮬레이션 데이터를 벡터(Test Vector)로 변환화는 시뮬레이션 벡터의 변환 방법과 테스트 벡터로의 변환 방법에 관한 것이다.The present invention analyzes and verifies a simulation vector using test specification rule information based on device-related timing information, and compares simulation data to a cycle time base. ) Is related to the conversion of the simulation vector and the conversion to the test vector.

이 발명이 효과는, 디바이스 관련 타이밍 정보로 만든 테스트 명세규칙 정보로 시뮬레이션 벡터의 분석 및 검증을 통해 설계자의 사용자 에러와 테스트 환경 및 테스터 제약에 의하여 일어날 수 있는 위배를 제거함으로써, 논리소자의 기능을 정확하고 빠르게 검증하고, 또한 싸이클 타임 베이스로 시뮬레이션 데이터를 별도의 데이터 베이스를 만들지 않고, 테스트 명세규칙에 따라 동시에 처리할 수 있는 데이터 구조를 구현하여 최단 시간내에 테스트 벡터로의 변환 방법을 제공할 수 있다.The effect of the present invention is to eliminate the violation of the designer's user error, test environment and tester constraints by analyzing and verifying simulation vectors with test specification rule information made of device-related timing information. It is possible to provide a conversion method to test vectors in the shortest time by implementing a data structure that can be verified quickly and accurately, and can simultaneously process simulation data according to test specification rules without creating a separate database using a cycle time base. have.

Description

시뮬레이션 벡터 검증 방법과 테스트 벡터로의 변환 방법How to verify simulation vectors and convert them to test vectors

제1도는 이 발명의 실시예에 따른 시뮬레이션 벡터의 검증 방법과 테스트 벡터로의 변환 방법에 대한 순서도이고,1 is a flowchart illustrating a method for verifying a simulation vector and converting the test vector to a test vector according to an embodiment of the present invention.

제2도는 이 발명의 실시예에 따른 메인메모리에 구현된 데이터 구조이고,2 is a data structure implemented in a main memory according to an embodiment of the present invention,

제3도는 이 발명의 실시예에 따른 데이터 구조의 이벤트 동작타이밍도이고,3 is an event operation timing diagram of a data structure according to an embodiment of the present invention,

제4도는 이 발명의 실시예에 따른 데이터 구조의 이벤트 상태의 내용이고,4 is the content of an event state of a data structure according to an embodiment of the present invention,

제5도는 이 발명의 실시예에 따른 신호의 상승에지, 하강에지 타임 변화에 따른 동작타이밍도이고,5 is an operation timing diagram according to a rising edge and a falling edge time change of a signal according to an embodiment of the present invention.

제6도는 이 발명의 실시예에 따른 신호의 셋업타임, 홀드타임 위배에 관한 예이고,6 is an example of the setup time, hold time violation of the signal according to an embodiment of the present invention,

제7도는 이 발명의 구체적인 실시예에 따른 테스트 명세규칙의 예이다.7 is an example of a test specification rule according to a specific embodiment of the present invention.

이 발명은 시뮬레이션 벡터의 검증 방법과 테스트 벡터로의 변환 방법에 관한 것으로써, 특히 소자 관련 타이밍 정보에 의한 테스트 명세규칙(Test Specification Rule) 정보를 이용하여 시뮬레이션 벡터(Simulation Vector)의 분석 및 검증을 하고, 싸이클타임 베이스(Cycletime Base) 및 이벤트 드라이븐 베이스(Event Driven Base)로 시뮬리에션 데이터를 테스트 벡터(Test Vector)로 변환하는 시뮬레이션 벡터의 검증방법과 테스트 벡터로의 변환 방법에 관한 것이다.The present invention relates to a method for verifying a simulation vector and a method for converting it to a test vector. In particular, analysis and verification of a simulation vector using test specification rule information based on device-related timing information is performed. The present invention relates to a method of verifying a simulation vector and converting the simulation data into a test vector and converting the simulation data into a test vector using a cycle time base and an event driven base.

일반적으로, 테스트 벡터( Test Vector)는 시뮬레이터에서 검증된 시뮬레이터 벡터(Simulation Vector)를 변환하여 소자 테스터기에서 사용하게 되며, 시뮬레이션 벡터(Simulation Vector)는 LASAR(Teradyne사 제품), Verilog(Cadence사 제품), Quicksim (Mentor Graphics사 제품) 등의 디지탈 시뮬레이션 소프트웨어를 사용하여 만들어 내고 있다.In general, a test vector converts a simulator vector verified in a simulator and is used in a device tester, and a simulation vector is used in Teradyne, Verilog, and Cadence. And digital simulation software such as Quicksim (manufactured by Mentor Graphics).

여기에서, 시뮬레이션 벡터란 시뮬레이터(Simulator)에서의 출력화일(Output File)을 말한다. 또한, 테스트 벡터(Test Vector), 즉 테스터기로 입력되는 입력정보는 타이밍(Timing) 정보와 상태(State) 정보로 이루어지고, 각각의 신호들의 상태와 함께 타임을 규정하는 타임 벡터들의 집합으로써 해석할 수 있다.Here, the simulation vector refers to an output file in the simulator. In addition, a test vector, that is, input information input to the tester, is composed of timing information and state information, and can be interpreted as a set of time vectors defining a time together with states of respective signals. Can be.

다시말하면, 테스트 정보는 타임베이스 싸이클 정보와 상태베이스 벡터정보로 이루어지며, 타임베이스 싸이클 정보는 테스트 과정의 어느한 일부에서 사용되는 관련된 타이밍을 정의하는 일련의 표현들이며, 상태베이스 벡터 정보는 수행될 테스트에 필요한 각각의 신호의 논리상태를 정의하는 일련의 표현들이다.In other words, the test information consists of timebase cycle information and statebase vector information, where the timebase cycle information is a set of representations that define the associated timing used in any part of the test process, and the statebase vector information is performed. A series of expressions that define the logic state of each signal needed for a test.

또한, 싸이클타임은 기억장치의 연속하는 판독, 기록싸이클의 개시점간의 최소시간간격으로써, 컴퓨터의 성능을 가늠하는 척도가 되며, 즉, 싸이클타임 베이스는 일정한 싸이클타임을 테스터의 최소 간격으로하여 판독하는 것을 말하며, 이벤트 드라이븐 베이스는 일정한 싸이클타임 내에 이벤트가 발생하였을 경우에만을 고려하기 때문에 전체의 변환시간을 줄일 수 있다.In addition, the cycle time is a minimum time interval between successive readings of the storage device and the start point of the recording cycle, which is a measure of the performance of the computer. That is, the cycle time base is read at a constant cycle time at the minimum interval of the tester. Since the event-driven base considers only when an event occurs within a certain cycle time, the overall conversion time can be reduced.

그리고, 종래의 상용 소자테스터의 경우에 테스트 벡터(Test vector)로의 변환을 위해 시뮬레이션 출력 데이터를 데이터베스화가 필요하고, 이 경우에 일련의 단계를 거치게 되며, 여러단계의 데이터베이스화중에서 도중에 수정해야할 필요가 생기면 처음부터 다시 데이터베스화를 해주도록 되어있다.In the case of a conventional commercial device tester, simulation output data is required to be converted to a test vector, and in this case, a series of steps are required. Is generated, it is supposed to be databaseized again from the beginning.

그래서, 데이터베이스화를 위해 메인메모리내에 데이터 구조를 직접 저장하여 한 번의 단계로 데이터베이스화 해주게 되면, 시뮬레이션 벡터의 데이터가 많을 경우에 테스트 벡터로의 변환시간을 줄일 수 있다.Therefore, if the data structure is directly stored in the main memory for the database and the database is processed in one step, the conversion time to the test vector can be reduced when the data of the simulation vector is large.

종래의 시뮬레이션 벡터, 테스트 벡터와 관련된 문제점으로는 시뮬레이션 벡터에서 테스트 벡터로의 변환을 위해 파이프라인(Pipeline) 방식으로 순차적으로 데이터를 처리하여 변환하여 왔는데, 이것은 장시간이 소요되고, 테스트 벡터로 변환시에 별도의 데이터 베이스 저장을 위해 큰 용량의 저장장치가 요구되며, 테스터의 타임셋(Time Set) 제약에 대한 고려가 없었기 때문에 피드백 재변환이 많고, 테스트 벡터로의 변환시 테스터의 타임셋 제약에 기인한 이벤트(Event) 타임변경과 각각의 신호 이벤트(Event)에 대한 정보의 검증이 힘이 들며, 시뮬레이션 벡터의 발생시에 벡터 데이터의 크기가 커지고, 장시간의 시뮬레이션 타임이 소요되는 문제점이 있다.Problems related to the conventional simulation vector and test vector have been processed by converting the data sequentially in a pipeline method for converting the simulation vector to the test vector, which takes a long time and converts the test vector into a test vector. A large amount of storage is required to store a separate database, and there are many feedback reconversions because there is no consideration of the tester's time set constraints, and due to the tester's time set constraints when converting to a test vector. It is difficult to change the event time and verify the information on each signal event, and the size of the vector data increases when the simulation vector is generated, and a long simulation time is required.

그러므로, 이 발명의 목적은 상기한 문제점을 해결하기 위한 것으로, 디바이스 관련 타이밍 정보로 만든 테스트 명세규칙 정보로 시뮬레이션 벡터의 분석 및 검증을 통해 설계자의 사용자에러(Human Error)와 테스트 환경 및 테스터 제약에 의하여 일어날 수 있는 위배를 제거함으로써, 논리소자의 기능을 정확하고 빠르게 검증하고, 또한 싸이클타임 베이스로 시뮬레이션 데이터를 별도의 데이터 베이스를 만들지 않고, 테스트 명세규칙에 따라 동시에 처리할 수 있는 데이터 구조를 구현하여 최단 시간내에 테스트 벡터로의 변환 방법을 제공하기 위한 것이다.Therefore, an object of the present invention is to solve the above-mentioned problems, and the test specification rule information made of device-related timing information is used to analyze the designer's user error, test environment, and tester constraints through analysis and verification of the simulation vector. By eliminating any violations that may occur, the data structure can be verified quickly and accurately, and the data structure can be processed simultaneously according to test specification rules without creating a separate database of cycle data based on the cycle time base. In order to provide a method of converting to a test vector in the shortest time.

상기의 목적을 달성하기 위한 수단으로써, 이 발명의 구성은,As a means for achieving the above object, the configuration of the present invention,

테스트 명세규칙을 읽어들이는 테스트 명세규칙 읽기단계;Reading a test specification rule for reading a test specification rule;

변환하고자 하는 시뮬레이션 벡터를 메인메모리 내에 데이터 구조로 저장하는 데이터 구조 변환단계;A data structure conversion step of storing a simulation vector to be converted into a data structure in a main memory;

상기의 데이터 구조 변환단계의 데이터 구조포맷으로 시뮬레이션 벡터를 읽어들이는 시뮬레이션 벡터 읽기단계;A simulation vector reading step of reading a simulation vector into a data structure format of the data structure converting step;

상기의 시뮬레이션 벡터 읽기단계에서 읽어들인 시뮬레이션 벡터가 마지막 시뮬레이션 벡터인지를 식별자로 확인하고, 마지막 시뮬레이션 벡터일 경우는 프로그램을 종료하지만, 마지막이 아닐 경우는 다음 단계를 실행하는 마지막벡터 확인단계;A final vector checking step of checking whether the simulation vector read in the simulation vector reading step is the last simulation vector as an identifier, and ending the program in the case of the last simulation vector, but executing the next step if not the last;

상기의 마지막이 아닌 시뮬레이션 벡터의 싸이클타임이 종료되었는지 여부를 확인하는 싸이클타임 종료 확인단계;A cycle time end checking step of checking whether or not the cycle time of the non-last simulation vector has ended;

상기의 싸이클타임 종료 확인단계에서 싸이클타임이 종료되지 않은 경우에 이벤트 타임과 상태를 저장하고, 상기의 시뮬레이션 벡터 읽기단계로 되돌아가는 제1이벤트저장단계;A first event storing step of storing an event time and a state when the cycle time is not finished in the cycle time end checking step, and returning to the simulation vector reading step;

상기의 싸이클타임이 종료된 시뮬레이션 벡터를 수신하여 오류가 있으면 프로그램을 종료하고, 오류가 없으면 시뮬레이션 벡터에 포함된 데이터를 처리하는 데이터처리단계;A data processing step of receiving a simulation vector in which the cycle time is ended and ending a program if there is an error, and processing data included in the simulation vector if there is no error;

상기의 데이터 처리단계에서 처리한 시뮬레이션 벡터 데이터를 검증할 것인지, 아니면 테스트 벡터로 변환할 것인지를 결정하는 검증 및 변환 결정단계;A verification and conversion determination step of determining whether to verify the simulation vector data processed in the data processing step or convert the data into a test vector;

상기의 검증 및 변환 결정단계에서 테스트 벡터로의 변환을 결정하였을 경우에, 상기의 데이터 처리단계에서 처리한 시뮬레이션 벡터 데이터에 타임셋 명세규칙에서 설정한 타임셋이 발생했는지를 확인하는 타임셋발생 확인단계;In the case where the conversion to the test vector is determined in the verification and conversion determination step, the timeset generation confirmation for confirming whether or not the timeset set in the timeset specification rule has occurred in the simulation vector data processed in the data processing step. step;

상기의 타입셋 발생 확인단계에서 타임셋이 발생하였을 경우에 타임셋을 처리하는 타임셋 처리단계;A timeset processing step of processing a timeset when a timeset occurs in the typeset occurrence checking step;

상기의 타임셋 발생 확인단계에서 타임셋이 발생하지 않았거나, 타임셋이 발생하여 상기의 타임셋 처리단계에서 타임셋을 처리한 후에 상기의 시뮬레이션 벡터에서 반복패턴이 발생하였는지를 확인하는 반복패턴 발생 확인단계;Confirmation of occurrence of repetition pattern confirming whether a repetition pattern has occurred in the simulation vector after the timeset has not occurred in the timeset occurrence checking step or a timeset has occurred and the timeset is processed in the timeset processing step. step;

상기의 반복패턴 발생 확인단계에서 반복패턴이 발생하였을 경우에 반복패턴을 처리하는 반복패턴 처리단계;A repeating pattern processing step of processing the repeating pattern when the repeating pattern occurs in the repeating pattern occurrence checking step;

외부에서 클럭을 발생하여 입력하는 클럭발생단계;A clock generation step of generating and inputting a clock externally;

상기의 반복패턴 발생단계에서 반복패턴이 발생하지 않았거나, 반복패턴이 발생하였어도 상기의 반복패턴 처리단계에서 반복패턴을 처리한 후에 상기의 클럭발생단계에서 발생한 클럭에 동기시켜 시뮬레이션 벡터를 테스트 벡터로 변환하여 쓰기하는 테스트 벡터 변환 및 저장단계;Even if the repetitive pattern does not occur or the repetitive pattern occurs in the repetitive pattern generation step, after the repetitive pattern is processed in the repetitive pattern processing step, the simulation vector is synchronized with the clock generated in the clock generation step as a test vector. Converting and writing a test vector;

상기의 검증 및 변환단계에서 검증을 결정하였거나, 또는 변환을 결정하여 상기의 테스트 벡터 변환 및 저장단계에서 처리한 이벤트 수, 마지막 이벤트타임과 상태를 데이터 구조에 저장하고, 상기의 시뮬레이션 벡터 읽기단계로 되돌아가는 제2이벤트 저장단계로 이루어진다.The verification is determined in the verification and conversion step, or the conversion is determined to store the number of events processed in the test vector conversion and storage step, the last event time and state in a data structure, and to read the simulation vector. A second event storing step returns.

상기의 구성에 의한 이 발명의 용이하게 실시할 수 있는 가장 바람직한 실시예를 첨부한 도면을 참조로 설명하면 다음과 같다.Referring to the accompanying drawings, the most preferred embodiment of the present invention can be easily implemented as described above is as follows.

제1도는 이 발명의 실시예에 따른 시뮬레이션 벡터의 확인방법과 테스트 벡터로의 변환방법에 대한 순서도이고,1 is a flowchart illustrating a method of confirming a simulation vector and converting the test vector into a test vector according to an embodiment of the present invention.

제2도는 이 발명의 실시예에 따른 메인메모리에 구현된 데이터 구조이고,2 is a data structure implemented in a main memory according to an embodiment of the present invention,

제3도는 이 발명의 실시예에 따른 데이터 구조의 이벤트 동작타이밍도이고,3 is an event operation timing diagram of a data structure according to an embodiment of the present invention,

제4도는 이 발명의 실시예에 따른 데이터 구조의 이벤트 상태의 내용이고,4 is the content of an event state of a data structure according to an embodiment of the present invention,

제5도는 이 발명의 실시예에 따른 신호의 상승에지, 하강에지 타임 변화에 따른 동작타이밍도이고,5 is an operation timing diagram according to a rising edge and a falling edge time change of a signal according to an embodiment of the present invention.

제6도는 이 발명의 실시예에 따른 신호의 셋업타임, 홀드타임 위배에 관한 예이고,6 is an example of the setup time, hold time violation of the signal according to an embodiment of the present invention,

제7도는 이 발명의 구체적인 실시예에 따른 테스트 명세규칙의 예이다.7 is an example of a test specification rule according to a specific embodiment of the present invention.

첨부한 제1도에 도시되어 있듯이, 이 발명의 실시예에 따른 시뮬레이션 벡터의 검출발법과 테스트 벡터로의 변환방법의 구성은,As shown in FIG. 1, the configuration of the detection method of the simulation vector and the conversion method into the test vector according to the embodiment of the present invention is as follows.

테스트 명세규칙(Test Specification Rule)을 읽어들이는 테스트 명세규칙 읽기단계(10);A test specification rule reading step 10 of reading a test specification rule;

변환하고자 하는 시뮬레이션 벡터(Simulation Vector)를 메인메모리 내에 데이터 구조(Data Structure)로 저장하는 데이터 구조 변환단계(20);A data structure conversion step 20 of storing a simulation vector to be converted as a data structure in a main memory;

상기의 데이터 구조 변환단계(20)의 데이터 구조(Data Structure) 포맷으로 시뮬레이션 벡터(Simulation Vector)를 읽어들이는 시뮬레이션 벡터 읽기단계(30);A simulation vector reading step 30 of reading a simulation vector in a data structure format of the data structure conversion step 20;

상기의 시뮬레이션 벡터 읽기단계(30)에서 읽어들인 세뮬레이션 벡터(Simulation Vector)가 마지막 시뮬레이션 벡터인지를 식별자로 확인하고, 마지막 시뮬레이션 벡터일 경우는 프로그램을 종료하지만, 마지막이 아닐 경우는 다음단계를 실행하는 마지막벡터 확인단계(40);Check whether the simulation vector read in the simulation vector reading step 30 is the last simulation vector as an identifier. If the simulation vector is the last simulation, the program is terminated, but if not, the next step is executed. A final vector checking step 40;

상기의 마지막이 아닌 시뮬레이션 벡터(Simulation Vector)의 싸이클타임(Cycletime)이 종료되었는지 여부를 확인하는 싸이클타임 종료 확인단계(50);A cycle time end checking step (50) of checking whether or not a cycle time of the non-last simulation vector is completed;

상기의 타이클타임 종료 확인단계(50)에서 싸이클타임(Cycletime)이 종료되지 않은 경우에 이벤트(Event) 타임과 상태를 저장하고, 상기의 시뮬레이션 벡터 읽기단계(30)로 되돌아가는 제1이벤트저장단계(60);When the cycle time is not terminated in the cycle time end checking step 50, the event time and state are stored, and the first event storage is returned to the simulation vector reading step 30. Step 60;

상기의 싸이클타임(Cycletime)이 종료된 시뮬레이션 벡터(Simulation Vector)를 수신하여 오류가 있으면 프로그램을 종료하고, 오류가 없으면 시뮬레이션 벡터에 포함된 데이터를 처리하는 데이터 처리단계(70);A data processing step (70) of receiving a simulation vector in which the cycle time is terminated and terminating a program if there is an error, and processing data included in the simulation vector if there is no error;

상기의 데이터 처리단계(70)에서 처리한 시뮬레이션 벡터(Simulation Vector)데이타를 검증할 것인지, 아니면 테스트 벡터(Test Vector)로 변환할 것인지를 결정하는 검증 및 변환 결정단계(80);A verification and conversion determining step (80) of determining whether to simulate simulation vector data processed in the data processing step 70 or converting the simulation vector data into a test vector;

상기의 검증 및 결정단계(80)에서 테스트벡터(Test Vector)로의 변환을 결정하였을 경우에, 상기의 데이터 처리단계(70)에서 처리한 시뮬레이션 벡터(Simulation Vector) 데이터에 타임셋 명세규칙(Timeset Sepecification Rule)에서 설정한 타임셋(Timeset)이 발생했는지를 확인하는 타임셋 발생 확인단계(90);When the conversion to the test vector is determined in the verification and determination step 80, a timeset specification rule is included in the simulation vector data processed in the data processing step 70. A timeset generation checking step 90 for checking whether a timeset set in a rule) has occurred;

상기의 타임셋 발생 확인단계(90)에서 타임셋(Timeset)이 발생하였을 경우에 타임셋을 처리하는 타임셋 처리단계(100);A timeset processing step (100) for processing a timeset when a timeset occurs in the timeset occurrence checking step (90);

상기의 타임셋 발생 확인단계(90)에서 타임셋이 발생하지 않았거나, 타임셋이 발생하여 상기의 타임셋 처리단계(100)에서 타임셋을 처리한후에, 상기의 시뮬레이션 벡터(SimulationVector)에서 반복패턴이 발생하였는지를 확인하는 반복패턴 발생 확인단계(110);After the timeset has not occurred in the timeset occurrence checking step 90 or the timeset has occurred and the timeset has been processed in the timeset processing step 100, the repetition pattern in the simulation vector (SimulationVector) A repeating pattern occurrence checking step 110 for checking whether the error has occurred;

상기의 반복패턴 발생 확인단계(110)에서 반복패턴이 발생하였을 경우에 반복패턴을 처리하는 반복패턴 처리단계(120);A repeating pattern processing step 120 for processing the repeating pattern when the repeating pattern occurs in the repeating pattern occurrence checking step 110;

외부에서 클럭을 발생하여 입력하는 클럭발생단계(130);A clock generation step 130 for generating and inputting a clock externally;

상기의 반복패턴 발생단계(110)에서 반복패턴이 발생하지 않았거나, 반복패턴이 발생하였어도 상기의 반복패턴 처리단계(120)에서 반복패턴을 처리한 후에, 상기의 클럭발생단계(130)에서 발생한 클럭에 동기시켜 시뮬레이션 벡터(Simulation Vector)를 테스트 벡터(Test Vector)로 변환하여 쓰기하는 테스트 벡터 변환 및 저장단계(140);Even if the repeating pattern did not occur in the repeating pattern generating step 110 or the repeating pattern occurred, after the repeating pattern was processed in the repeating pattern processing step 120, the clock generating step 130 occurred. A test vector conversion and storage step 140 of converting a simulation vector into a test vector and writing in synchronization with a clock;

상기의 검증 및 변환단계(80)에서 검증을 결정하였거나, 또는 변환을 결정하여 상기의 테스트 벡터 변환 및 저장단계(140)에서 처리한 이벤트 수, 마지막 이벤트타임과 상태를 데이터 구조(Data Structure)에 저장하고, 상기의 시뮬레이션 벡터 읽기단계(30)로 되돌아가는 제2이벤트저장단계(150)로 이루어진다.The verification is determined in the verification and conversion step 80, or the conversion is determined and the number of events, the last event time and state processed in the test vector conversion and storage step 140 are stored in the data structure. And a second event storage step 150 to return to the simulation vector reading step 30.

또한, 상기의 데이터 구조(Data Structure)의 구성은, 헤터(Header)(11), 다수의 노드(12, 13, 14, 15)와 메모리(Memory)(21, 22, 23, 24), 타임셋 테이블(Timeset Table)(31, 32, 33, 34)로 이루어지며, 헤더(1)는 처음인 제1노드(12), 마지막인 제N노드(15)와 연결되지만, 제1노드(12)는 제2노드(13), 제1메모리(21)와 연결되고, 제1메모리(21)는 제1타임셋 테이블(31)과 연결되고, 또한 제1메모리(21)는 제2메모리(22), 제3메모리(23)와 서로 연결되는 구성이 반복적으로 다수로 이루어지며, 상기의 메모리(21)는 신호명, 이벤트에 해당하는 타임과 상태, 마지막 이벤트의 타임과 상태, 입/출력 신호 포인터, 입력과 출력의 정의 테스트 명세규칙 정보, 타임셋 테이블 포인터, 현재의 이벤트 수의 내용 등을 저장하게 된다.In addition, the structure of the above-described data structure includes a header 11, a plurality of nodes 12, 13, 14, 15, memory 21, 22, 23, 24, and time. It consists of a set table (Timeset Table) (31, 32, 33, 34), the header (1) is connected to the first node first 12, the last node N (15), but the first node 12 ) Is connected to the second node 13 and the first memory 21, the first memory 21 is connected to the first timeset table 31, and the first memory 21 is connected to the second memory ( 22) A plurality of configurations connected to the third memory 23 are repeatedly formed, and the memory 21 has a signal name, a time and state corresponding to an event, a time and state of a last event, and an input / output signal. Pointers, input and output definitions Store test specification rule information, timeset table pointers, and the contents of the current event count.

상기의 구성에 의한 이 발명의 실시예에 따른 시뮬레이션 검증방법과 테스트 벡터로의 변환방법의 작용은 다음과 같다.The operation of the simulation verification method and the conversion method to the test vector according to the embodiment of the present invention by the above configuration is as follows.

하드디스크의 메모리 내의 기억장소에 도달하여 그 내용을 얻는데 요구되는 평균시간인 엑세스타임을 최소로 하기 위하여 싸이클타임 베이스(Cycletime Base)와 신호 이벤트(Signal Event) 발생 중심의 처리가 가능한 데이터 구조를 메인메모리(Main Memory) 상에 구현한 제2도의 데이터 구조는 각 항목이 격납되어 있는 포인터를 가지고 있는 리스트인 연결 리스트(Linked List)를 기본으로하여 처리가 가장 어려운 양방향 신호의 액세스가 용이한 구조이고, 또한 타임셋 발생을 위한 타임셋 테이블도 가지고 있는 데이터 구조이다. 즉, 메인메모리에 구현된 데이터 구조는, 헤더, 다수의노드, 다수의 메모리, 다수의타임셋 테이블로 이루어지며, 헤더는 제1노드, 마지막 제N노드와 연결되고, 제1노드는 제2노드, 제1메모리와 연결되고, 제1메모리는 제1타임셋 테이블과 연결되고, 제2메모리, 제3메모리와 서로 연결되는 다수의 반복적인 구성으로 이루어지며, 상기의 메모리는 신호명, 이벤트에 해당하는 타임과 상태, 마지막 이벤트의 타입과 상태, 입/출력 신호포이터, 입력과 출력의 정의, 테스트 명세규칙 정보, 타임셋테이블 포인터, 현재의 이벤트 수의 내용등이 포함되어 있는데, 시뮬레이션 벡터를 테스트 벡터로 변환하기 쉽도록 되어 있고, 한 번에 데이터베이스를 구축할 수 있다. 또한 메모리(21)간에 서로 데이터를 주고 받을 수 있는 양방향 처리가 가능한 구조가 된다.In order to minimize the access time, which is the average time required to reach a storage location in the memory of the hard disk and to obtain its contents, a data structure capable of processing the cycle time base and signal event-oriented processing is main. The data structure of FIG. 2 implemented on the main memory is based on a linked list, which is a list of pointers in which each item is stored. It is also a data structure that contains a timeset table for generating a timeset. That is, the data structure implemented in the main memory includes a header, a plurality of nodes, a plurality of memories, a plurality of timeset tables, a header is connected to the first node, the last Nth node, and the first node is the second node. Nodes are connected to the first memory, the first memory is connected to the first timeset table, and consists of a plurality of repetitive configurations are connected to each other and the second memory, the third memory, the memory is a signal name, an event It contains the corresponding time and state, the type and state of the last event, input and output signal pointers, input and output definitions, test specification rule information, timeset table pointers, and the contents of the current event number. It is easy to convert to a test vector, and you can build a database in one step. In addition, it becomes a structure capable of bi-directional processing that can exchange data between the memory 21.

또한 신호 이벤트(Signal Event) 데이터 저장 과정은 제3도를 따르는데, 이벤트(Event)가 발생한 신호의 이벤트(Event) 수와 타임, 상태를 해당 신호 정보에 저장하고, 양방향 신호와 관계가 있는 이벤트(Event)이면 해당 신호가 가리키는 신호로 액세스하여 입출력을 결정한다.In addition, the process of storing the signal event data follows FIG. 3, which stores the event number, time, and state of the signal in which the event occurred, in the corresponding signal information, and the event related to the bidirectional signal. If (Event), I / O is determined by accessing the signal indicated by the signal.

이 과정을 거쳐 읽어들이는 신호 이벤트(Event) 타임이 싸이클 타임을 초과할 때가지 진행한 후 싸이클내에서 일어난 데이터를 처리해 나간다. 신호정보에는 또한 테스트 명세규칙을 저장하게 되는데 이 명세규칙에 의해 대부부의 데이터 처리를 관장하게 된다. 테스트 명세규칙(Test Specification Rule)의 예를 보이면 제7도와 같다.This process proceeds until the signal event time to be read exceeds the cycle time, and then processes the data that occurred in the cycle. The signal information also stores test specification rules, which govern most data processing. An example of a test specification rule is shown in FIG.

제7도를 참조로하여, REMOVE는 테스터에서 만들 수 없는 의도하지 않은 스파이크(Spike)성 펄스를 제거할 때 또는 점검할 때 쓰인다. 여기에서 10은 펄스폭이 10ns인 것을 의미한다. TIME_GEN은 명세규칙의 상승에지(Rising Edge), 하강에지(Falling Edge) 타임을 점검하지 않고 타임셋 테이블로 액세스하여 자동으로 현재의 타임셋의 발생 및 등록을 한다. 여기에서 허용한계 타임(Tolerance Time)과 입출력 할당 방향은 타임셋 발생에 많은 융통성을 제공하게 된다.Referring to FIG. 7, REMOVE is used to remove or check unintended spike-like pulses that cannot be made by the tester. Here 10 means that the pulse width is 10 ns. TIME_GEN automatically generates and registers the current timeset by accessing the timeset table without checking the rising edge and falling edge times of the specification rule. Here, the tolerance time and I / O allocation direction provides a great deal of flexibility in timeset generation.

제5도에서 상승에지(Rising Edge), 하강에지(Falling Edge) 타임의 변화는 테스터의 타임셋 증가로 나타나는데, 이에 대해서는 허용한계 타임을 상승에지(Rising Edge), 하강에지(Falling Edge) 타임의 변화분 타임으로 수정해서 타임셋의 증가를 막을 수 있다. 이로 인한 기능의 오동작 여부는 해당 신호에 대한 셋업타임(Setup Time), 홀드타임(Hold Time) 위배 점검으로 검증이 가능하다.In FIG. 5, the change of the rising edge and falling edge time is indicated by the increase of the tester's time set. For this, the allowable time limit is set to the rising edge and falling edge time. You can modify the incremental time to prevent an increase in the timeset. The malfunction of the function can be verified by checking the setup time and hold time violation of the signal.

즉, 셋업타임(Setup Time), 홀드타임(Hold Time)만큼 허용한계 타임 범위를 가져갈 수 있다. 또한 입출력 할당방향으로 싸이클 타임내 입출력이 일어날 경우 동작에 영향을 주지 않는 싸이클 한계 내로 이벤트(Event)를 할당함으로써 추가적 타임셋을 줄일 뿐 아니라 변환을 용이하게 해준다. 또한 셋업타임(Setup Time), 홀드타임(Hold Time) 위배 점검으로 검증이 가능하다.That is, the allowable time range can be taken as much as the setup time and the hold time. In addition, when an I / O occurs in cycle time in the I / O allocation direction, an event is allocated within a cycle limit that does not affect the operation, thereby reducing the additional timeset and facilitating conversion. It can also be verified by checking for setup time and hold time violations.

제6도는 데이터 신호를 왼쪽으로 할당했을 경우의 셋업타임(Setup Time), 홀드타임(Hold Time)의 위배가 없다는 것을 보이고 있다. 명세규칙의 비교시작타임, 비교정지타임은 윈도우 비교로 윈도우내 출력신호의 안정성 여부를 확인하며, 상승에지(Rising Edge), 하강에지(Falling Edge) 타임으로는 입력신호 이벤트(Event)의 명세규칙을 확인한다. 또한 테스트 환경을 고려한 셋업타임(Setup Time), 홀드타임(Hold Time) 명세규칙으로 테스트중인 소자(DUT:Device Under Test) 상에서 일어날 수 있는 오동작을 확인할 수 있는 셋업타임(Setup Time), 홀드타임(Hold Time) 위배 검증을 한다.6 shows that there is no violation of the setup time and hold time when the data signal is allocated to the left. The comparison start time and the comparison stop time of the specification rule confirm the stability of the output signal in the window by comparing the windows.The specification rule of the input signal event is the rising edge and falling edge time. Check. In addition, the setup time and hold time specification rules considering the test environment may include setup time and hold time (DUT) to identify malfunctions that may occur on the device under test (DUT). Hold Time) Check for violations.

셋업타임(Setup Time), 홀드타임(Hold Time) 검증은 기준신호의 이벤트(Event)가 로우논리에서 하이논리로 바뀌거나, 하이논리에서 로우논리로 바뀔 때를 기준으로하여 셋업타임(Setup Time), 홀드타임(Hold Time) 타임에 대한 각각의 신호의 위배 여부를 점검한다.Setup Time and Hold Time verification is based on when the event of the reference signal changes from low logic to high logic or from high logic to low logic. Check each signal against the Hold Time time.

다음은 제6도에 대한 셋업타임(Setup Time), 홀드타임(Hold Time) 위배점검에 대한 테스트 명세규칙의 예를 보이고 있다.The following is an example of a test specification rule for the setup time and hold time violation check for FIG.

상기의 REF_SIGNAL은 신호명 IN2이고, REF_EVENT는 이벤트가 하이논리인 것을 보이고 있고, SPEC_TIME은 명세규칙 타임이 50ns이고, SIGNAL_DEF은 신호명이 IN1이고, SIGNAL_DEF는 DATA가 신호명이며, 제6도에서 셋업타임(71, 73), 홀드타임(72, 74)을 가질 때, (A)는 50ns로 정해진 셋업타임과 홀드타임이 위배 상태인 것을 보이고 있고, (C)는 50ns로 정해진 셋업타임과 홀드타임이 위배 상태가 아닌 것을 보이고 있다. 즉, (C)는 왼쪽으로 이동하여 위배 상태에서 벗어나고 있는 것을 보이고 있다.REF_SIGNAL is the signal name IN2, REF_EVENT shows the event is high logic, SPEC_TIME is the specification rule time is 50ns, SIGNAL_DEF is the signal name is IN1, SIGNAL_DEF is the signal name and DATA is the signal name. , 73), when the hold time (72, 74), (A) shows that the setup time and hold time set to 50ns is in violation, (C) the setup time and hold time set to 50ns is in violation Is not showing. That is, (C) is shown moving away from the violation state to the left.

그리고, 더미클럭(Dummy Clock) 신호의 발생 및 이에 대한 셋업타임(Setup Time), 홀드타임(Hold Time) 점검을 가능하게 함으로써, 시뮬레이션 벡터 발생시에 이벤트(Event)가 가장 많은 클럭을 제외한 신호를 저장하게 되면, 시뮬레이션 타임 및 데이터 저장 크기 그리고 변환타임을 효율적으로 줄일 수 있다.In addition, by generating a dummy clock signal, and checking the setup time and hold time thereof, it is possible to store a signal except the clock having the most event when a simulation vector is generated. This effectively reduces simulation time, data storage size and conversion time.

특히 비디오 신호와 관련한 집적회로에 그 효과가 크다. 상기의 클럭발생은 비복귀제로(NRZ:None Return to Zero), 복귀제로(RZ:Return to Zero), 복귀원(RO:Return to One) 포맷으로 하게 되며, 셋업타임(Setup Time), 홀드타임(Hold Time) 점검기준 이벤트(Event)는 각각의 싸이클, 싸이클 중간, 홀수 싸이클, 짝수싸이클 등으로 사용자가 지정할 수 있고, 발생한 이벤트가 상기의 셋업타임 또는 홀드타임을 위배했을 경우에, 이벤트를 왼쪽 또는 오른쪽으로 이동함으로써 위배로부터 벗어나게 되고, 결국 테스트 벡터로의 변환을 통해서 실제로 소자를 테스트할 경우에 발생할 수 있는 오류를 방지하게 된다.In particular, the effect is great for integrated circuits related to video signals. The clock is generated in non-return zero (NRZ: Return to Zero), return to zero (RZ), and return to one (RO) formats, and includes setup time and hold time. (Hold Time) The check criteria event can be specified by the user for each cycle, the middle of the cycle, the odd cycle, the even cycle, and the like. If the event occurred violates the setup time or hold time, the event is left. Or by moving to the right, you deviate from the violation and eventually convert to a test vector to avoid errors that may occur when you actually test the device.

제1도는 상기한 방법을 통해 원하는 모든 수행을 별도의 데이터 베이스 저장이 없이 동시에 처리하여 최단의 타임으로 시뮬레이션 벡터에 충실하고, 목표 테스터에 맞는 테스트 벡터로 빠른 변환을 하기 위한 기본 순서도이다.FIG. 1 is a basic flow chart for processing all desired performances at the same time through the above-described method without saving a separate database, thereby faithfully performing the simulation vector in the shortest time and quickly converting the test vector to the target tester.

먼저 테스트 명세규칙을 읽어들이고, 다음에 변환하고자 하는 시뮬레이션 벡터를 읽어들인 후에 상기의 데이터 구조의 형태로 변화하여 데이터베이스를 구축하고, 다음부터 계속 시뮬레이션 벡터를 읽어들이면서 그 시뮬리이션 벡터가 마지막 벡터인지를 식별자로 확인하고, 마지막 벡터일 경우는 프로그램을 종료하지만 마지막이 아닐 경우는 시뮬레이션 벡터가 각각의 싸이클타임이 종료되었는지를 확인하며, 각각의 싸이클타임이 종료되지 않은 경우에 이벤트 타임과 상태를 저장하고, 상기의 시뮬레이션 벡터를 읽어들이는 단계로 되돌아가며, 또한 데이터처리단계는 각각의 싸이클 타임이 종료된 시뮬레이션 벡터를 수신하여 오류가 있으면 프로그램을 종료하고, 오류가 없으면 시뮬레이션 벡터에 포함된 데이터의 포맷, 양방향 할당방향 등을 처리한다.First, the test specification rules are read, and then the simulation vector to be converted is converted, and then the data structure is converted into the data structure to build a database. Then, the simulation vector is continuously read, and the simulation vector is the last vector. Acknowledgment is confirmed by the identifier. If it is the last vector, the program is terminated, but if it is not last, the simulation vector checks whether each cycle time has ended. If each cycle time is not finished, the event time and status are displayed. It returns to the step of storing and reading the simulation vector, and the data processing step receives the simulation vector at the end of each cycle time and terminates the program if there is an error, and if there is no error, the data contained in the simulation vector. Format, bidirectional allocation direction, etc. And Lee.

그리고나서, 상기와 같이 처리되고 있는 시뮬레이션 벡터를 검증할 것인지 아니면 테스트 벡터로 변환할 것인지를 결정하고서, 만일 시뮬레이션 벡터의 검증을 결정하면, 바로 제2이벤트 저장단계로 가게되지만, 테스트벡터로 변환을 결정하게 되면, 데이터 처리된 시뮬레이션 벡터에 타임셋이 발생했는지를 확인하며, 타임셋이 발생하였을 경우에 타임셋을 처리하고, 다음으로 타임셋이 발생하지 않았거나, 타임셋이 발생하여 상기의 타임셋 처리단계에서 타임셋을 처리한 후에, 상기의 시뮬레이션 벡터에서 반복패턴이 발생하였는지를 확인하고, 반복패턴이 발생하였을 경우에 반복패턴을 처리하고, 또한 외부에서 클럭을 수신하여, 반복패턴이 발생하지 않았거나, 반복패턴이 발생하였으면 반복패턴을 처리한 후에, 상기의 클럭에 동기시켜 시뮬레이션 벡터를 테스트 벡터로 변환 및 저장을 하고, 상기와 같이 처리한 이벤트 수, 마지막 이벤트 타입과 상태를 데이터 구조에 저장하고, 상기의 시뮬레이션 벡터를 읽어들이는 단계로 되돌아가게 된다. 실제로는 상기의 시뮬리이션 벡터의 검증방법과 테스트 벡터로의 변환방법은 별도로 수행할 수 있다.Then, it is decided whether to verify the simulation vector being processed as described above or convert it to a test vector, and if the verification of the simulation vector is determined, the process goes directly to the second event storage step. If it is determined, it is checked whether a timeset has occurred in the data processed simulation vector, and if the timeset has occurred, the timeset is processed, and then the timeset has not occurred, or a timeset has occurred, and thus the time is generated. After processing the timeset in the set processing step, it is checked whether a repeating pattern has occurred in the simulation vector, and when the repeating pattern occurs, the repeating pattern is processed, and a clock is received from the outside, so that the repeating pattern does not occur. If a repetitive pattern has not occurred, or after the repetitive pattern is processed, the clock is synchronized with the above clock. The conversion and stores the vector in the test vector, and the number of the event processing as described above, and stores the event type and the last state in the data structure, the reading of the simulation vectors will go back to step In practice, the verification method of the simulation vector and the conversion method to the test vector can be performed separately.

그리고, 제3도는 싸이클 타임이 100ns인 이벤트 발생의 예이고, 제4도는 제3도의 두 싸이클 영역들(41과 42, 43과 44, 45와 46)의 내용을 설명하고 있으며, 제3도와 제4의 (a)는 입력인 클럭의 이벤트로써, 제1클럭영역은 이벤트의 수가 2이고, 타임은 50ns과 100ns이고, 상태는 0과 1로 표현되고, 마지막 타임과 상태는 처음의 상태를 보면 모두 0인 것을 보이고 있고, 제2클럭 영역은 이벤트의 수가 2이고, 타임은 150ns과 200ns이고, 상태는 0과 1로 나타나고, 마지막 타임은 100ns이고, 마지막 상태는 0으로 나타난다. 여기서는 마지막 타임과 마지막 상태는 현재 실행하기 이전의 타입과 상태를 의미한다. 즉, 바로 이전의 타임과 상태를 저장함으로써, 다음 실행을 위한 기준이 된다.FIG. 3 is an example of event occurrence with a cycle time of 100 ns. FIG. 4 illustrates the contents of the two cycle regions 41 and 42, 43 and 44, 45 and 46 of FIG. 4 (a) is an input clock event, the first clock region has two events, the time is 50ns and 100ns, the states are represented by 0 and 1, and the last time and state are the first states. It is shown that all are 0, the second clock area is the number of events 2, the time is 150ns and 200ns, the state is represented by 0 and 1, the last time is 100ns, the last state is represented by 0. Here, last time and last state refer to the type and state before the current execution. In other words, by storing the previous time and state, it becomes a reference for the next execution.

제3도와 제4도의 (b)는 출력인 제어단자로써, 제1영역에서 이벤트의 수는 1이고 타임은 35ns이고, 상태는 1이고, 마지막 타임과 마지막 상태는 0인 것을 보이고 있고, 제2영역에서는 이벤트의 수가 0이므로, 즉 이벤트가 없으므로 타임과 상태는 의미를 갖지 못하며, 마지막 타임은 35ns이고, 마지막 상태는 0으로 나타나 있다.3 (b) are control terminals which are outputs. In the first region, the number of events is 1, the time is 35ns, the state is 1, the last time and the last state are 0. In the region, since the number of events is zero, that is, there are no events, the time and state have no meaning, the last time is 35ns, and the last state is represented by zero.

제3도와 제4도의 (c)는 입력과 출력으로 모두 사용되는 데이터로써, 제1영역에서는 이벤트의 수가 2이고, 타임은 35ns, 100ns이고, 상태는 0과 1로 나타나고, 마지막 타임과 상태는 모두 0이고, 제2영역에서는 이벤트의 수가 0, 즉 이벤트가 없으므로 타임과 상태는 모두 의미가 없고, 마지막 타임은 100ns이고, 마지막 상태는 1로 나타나 있다. 제5도는 20ns에서 상승에지가 발생하고, 180ns에서 하강에지, 다시 250ns에서 상승에지가, 372ns에서 하강에지가 발생하고 있는 것을 보이고 있다.3c and 4c are data used for both input and output. In the first area, the number of events is 2, the time is 35ns and 100ns, the status is represented by 0 and 1, and the last time and status are All of them are 0, and in the second area, the number of events is zero, that is, there are no events, so both the time and state are meaningless, the last time is 100ns, and the last state is represented by 1. 5 shows that rising edge occurs at 20ns, falling edge at 180ns, rising edge at 250ns, and falling edge at 372ns.

결국 일정한 싸이클타임을 기준으로하여 이벤트가 발생하는 경우만을 의미가 있는 것으로 하고, 타임셋 및 반복되는 패턴을 처리하게 되면, 전체의 변환시간을 줄일 수 있게 된다.As a result, it is assumed that only an event occurs based on a certain cycle time, and when the timeset and the repeated pattern are processed, the overall conversion time can be reduced.

그러므로 상기와 같이 동작하는 이 발명의 효과는, 디바이스 관련 타이밍 정보로 만든 테스트 명세규칙 정보로 시뮬레이션 벡터의 분석 및 검증을 통해 설계자의 사용자에러와 테스트 환경 및 테스터 제약에 의하여 일어날 수 있는 위배를 제거함으로써, 논리소자의 기능을 정확하고 빠르게 검증하고, 또한 싸이클타임 베이스로 시뮬레이션 데이터를 별도의 데이터 베이스를 만들지 않고, 테스트 명세규칙에 따라 동시에 처리할 수 있는 데이터 구조를 구현하여 최단 시간내에 테스트 벡터로의 변환 방법을 제공할 수 있다.Therefore, the effect of the present invention operating as described above, by eliminating the violation that can be caused by the designer's user error, test environment and tester constraints through the analysis and verification of the simulation vector with the test specification rule information made of device-related timing information. In addition, it is possible to verify the function of logic devices quickly and accurately, and to implement a data structure that can simultaneously process simulation data according to test specification rules without creating a separate database on a cycle time basis. A conversion method can be provided.

Claims (8)

테스트 명세규칙을 읽어들이는 테스트 명세규칙 읽기단계; 변환하고자 하는 시뮬에이션 벡터를 메인메모리 내에 데이터 구조로 저장하는 데이터 구조 변환단계; 상기의 데이터 구조 변환단계의 데이터 구조 포맷으로 시뮬레이션 벡터를 읽어들이는 시뮬레이션 벡터 읽기단계; 상기의 시뮬레이션 벡터 읽기단계에서 읽어들인 시뮬레이션 벡터가 마지막 시물레이션 벡터인지를 식별자로 확인하고, 마지막 시뮬레이션 벡터일 경우는 프로그램을 종료하지만, 마지막이 아닐 경우는 다음단계를 실행하는 마지막벡터 확인단계; 상기의 마지막이 아닌 시뮬레이션 벡터의 싸이클 타임이 종료되었는지 여부를 확인하는 싸이클타임 종료 확인단계; 상기의 싸이클타임 종료 확인단계에서 싸이클타임이 종료되지 않은 경우에 이벤트 타임과 상태를 저장하고, 상기의 시률레이션 벡터 읽이단계로 되돌아가는 제1이벤트 저장단계; 상기의 싸이클타임이 종료된 시뮬레이션 벡터를 수신하여 오류가 있으면 프로그램을 종료하고, 오류가 없으면 시뮬레이션 벡터에 포함된 데이타를 처리하는 데이타처리단계; 상기의 데이터 처리단계에서 처리한 시뮬레이션 벡터 데이터를 검증할 것인지, 아니면 테스트 벡터로 변환할 것인지를 결정하는 검증 및 변환 결정단계; 상기의 검증 및 변환 결정단계에서 테스트 백터로의 변환을 결정하였을 경우에, 상기의 데이터 처리단계에서 처리한 시뮬레이션 벡터 데이터에 타임셋 명세규칙에서 설정한 타임셋이 발생했는지를 확인하는 타임셋 발생 확인단계; 상기의 타임셋 발생 확인단계에서 타임셋이 발생하였을 경우에 타임셋을 처리하는 타임셋 처리단계; 상기의 타임셋 발생 확인단계에서 타임셋이 발생하지 않았거나, 타임셋이 발생하여 상기의 타임셋 처리단계에서 타임셋을 처리한 후에, 상기의 시뮬레이션 벡터에서 반복패턴이 발생하였는지를 확인하는 반복패턴 발행 확인단계; 상기의 반복패턴 발생 확인단계에서 반복패턴이 발생하였을 경우에 반복패턴을 처리하는 반복패턴 처리단계; 외부에서 클럭을 발생하여 입력하는 클럭발생단계; 상기의 반복패턴 발생단계에서 반복패턴이 발생하지 않았거나, 반복패턴이 발생하였어도 상기의 반복패턴 처리단계에서 반복패턴을 처리한 후에, 상기의 클럭발생단계에서 발생한 클럭에 동기시켜 시뮬레이션 벡터를 테스트 벡터로 변환하여 쓰기하는 테스트 벡터 변환 및 저장단계; 상기의 검증 및 변환단계에서 검증을 결정하였거나, 또는 변환을 결정하여 상기의 테스트 벡터 변환 및 저장단계에서 처리한 이벤트 수, 마지막 이벤트타임과 상태를 데이터 구조에 저장하고, 상기의 시뮬레이션 벡터 읽기단계로 되돌아가는 제2이벤트저장단계로 이루어지는 것을 특징으로 하는 시뮬레이션 벡터 검증방법과 테스트 벡터로의 변환방법.Reading a test specification rule for reading a test specification rule; A data structure conversion step of storing a simulation vector to be converted into a data structure in a main memory; A simulation vector reading step of reading a simulation vector in a data structure format of the data structure converting step; A final vector checking step of checking whether the simulation vector read in the simulation vector reading step is the last simulation vector as an identifier, and ending the program if it is the last simulation vector, but executing the next step if not the last; A cycle time end checking step of checking whether the cycle time of the non-last simulation vector has ended; A first event storing step of storing an event time and a state when the cycle time is not finished in the cycle time end checking step, and returning to the step of reading the initialization vector; A data processing step of receiving a simulation vector in which the cycle time is ended and ending a program if there is an error, and processing data included in the simulation vector if there is no error; A verification and conversion determination step of determining whether to verify the simulation vector data processed in the data processing step or convert the data into a test vector; In the case where the conversion to the test vector is determined in the verification and conversion determination step, a timeset generation check is performed to confirm whether or not the timeset set in the timeset specification rule has occurred in the simulation vector data processed in the data processing step. step; A timeset processing step of processing a timeset when a timeset occurs in the timeset occurrence checking step; Issuing a repetition pattern to check whether a repetition pattern has occurred in the simulation vector after the timeset has not occurred in the timeset occurrence checking step or after the timeset has been generated and the timeset has been processed in the timeset processing step. Confirmation step; A repeating pattern processing step of processing the repeating pattern when the repeating pattern occurs in the repeating pattern occurrence checking step; A clock generation step of generating and inputting a clock externally; Even if a repeating pattern does not occur in the repeating pattern generating step or a repeating pattern occurs, after processing the repeating pattern in the repeating pattern processing step, the simulation vector is synchronized with the clock generated in the clock generating step. Converting and writing a test vector and converting the data into writing; The verification is determined in the verification and conversion step, or the conversion is determined to store the number of events processed in the test vector conversion and storage step, the last event time and state in a data structure, and to read the simulation vector. And a second event storing step of returning. 헤더, 다수의 노드, 메모리, 타임셋 테이블로 이루어지며, 제1헤더는 제1노드와 제N노드와 연결되고, 제1노드는 제2노드, 제1메모리와 연결되고, 제1메모리는 제1타임셋 테이블과 연결되고, 제1메모리는 제2메모리, 제3메모리와 서로 연결되는 구성이 반복적으로 다수로 이루어지는 것을 특징으로 하는 메인메모리에 구현된 데이터 구조.The first header is connected to the first node and the Nth node, the first node is connected to the second node and the first memory, and the first memory is made up of the first memory. 1. The data structure implemented in the main memory, wherein the first memory is repeatedly connected to the second memory and the third memory. 제2항에 있어서, 상기의 메모리는 신호명, 이벤트에 해당하는 타임과 상태, 마지막 이벤트의 타임과 상태, 입/출력 신호포인터, 입력과 출력의 정의, 테스트 명세규칙 정보, 타임셋테이블 포인터, 현재의 이벤트 수의 내용을 저장하고 있는 것을 특징으로 하는 메인메모리에 구현된 데이터 구조.The memory of claim 2, wherein the memory includes a signal name, a time and state corresponding to an event, a time and state of a last event, an input / output signal pointer, an input and output definition, test specification rule information, a timeset table pointer, and a current A data structure implemented in main memory which stores the contents of the number of events in. 제1항에 있어서, 상기의 데이터 처리단계는, 싸이클 타임 베이스 및 신호 이벤트 중심 베이스의 신호 이벤트 처리를 위해 포맷 및 양방향 할당을 처리하는 것을 특징으로 하는 시뮬레이션 벡터의 검증 방밥과 테스트 벡터로의 변환 방법.The method of claim 1, wherein the data processing step includes processing a format and a bidirectional allocation for signal event processing of a cycle time base and a signal event center base. . 제1항에 있어서, 상기의 클럭발생 단계는, 싸이클 중간, 홀수싸이클, 짝수싸이클을 사용자가 임의로 지정할 수 있는 것을 특징으로 하는 시뮬레이션 벡터 검증방법 및 테스트 벡터로의 변환 방법.The method of claim 1, wherein the clock generation step includes a user-specified arbitrari cycle, odd cycle, and even cycle. 제2항에 있어서, 상기의 타임셋 처리단계는, 테스트 명세규칙에 따라 테스터의 제한된 타임셋 증가를 줄이는 것을 특징으로 하는 시뮬레이션 벡터의 검증방법과 테스트 벡터로의 변환방법.3. The method of claim 2, wherein the timeset processing step reduces the limited timeset increase of the tester according to the test specification rules. 제2항에 있어서, 상기의 반복패턴 처리단계는, 더미클럭신호의 발생 및 그에 대한 셋업타임, 홀드타임 점검을 가능하게하여 시뮬레이션의 계산타임과 저장의 크기를 줄이는 것을 특징으로 하는 시뮬레이션 벡터의 검증방법과 테스트 벡터로의 변환방법.The verification of the simulation vector according to claim 2, wherein the repetitive pattern processing step enables generation of dummy clock signals and checks of setup time and hold time thereof, thereby reducing simulation time and storage size. Method and how to convert to a test vector. 제1항에 있어서, 상기의 데이터 구조 변환 및 저장 단계는, 별도의 데이터 베이스 저장구조를 만들지 않고, 모든 이벤트 처리를 직접 처리하여 저장할 수 있는 것을 특징으로 하는 시뮬레이션 벡터 검증방법과 테스트 벡터로의 변환 방법.The method of claim 1, wherein the converting and storing of the data structure comprises processing and storing all event processing directly without creating a separate database storage structure. Way.
KR1019950041536A 1995-11-15 1995-11-15 The method for verifing simulation vector and the method for converting test vector KR0154790B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950041536A KR0154790B1 (en) 1995-11-15 1995-11-15 The method for verifing simulation vector and the method for converting test vector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950041536A KR0154790B1 (en) 1995-11-15 1995-11-15 The method for verifing simulation vector and the method for converting test vector

Publications (2)

Publication Number Publication Date
KR970029048A KR970029048A (en) 1997-06-26
KR0154790B1 true KR0154790B1 (en) 1998-11-16

Family

ID=19434261

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950041536A KR0154790B1 (en) 1995-11-15 1995-11-15 The method for verifing simulation vector and the method for converting test vector

Country Status (1)

Country Link
KR (1) KR0154790B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249891B1 (en) * 1998-07-02 2001-06-19 Advantest Corp. High speed test pattern evaluation apparatus
KR20210051756A (en) 2019-10-31 2021-05-10 정순원 Car air purifier

Also Published As

Publication number Publication date
KR970029048A (en) 1997-06-26

Similar Documents

Publication Publication Date Title
US6083269A (en) Digital integrated circuit design system and methodology with hardware
US6885983B1 (en) Method for automatically searching for functional defects in a description of a circuit
US5105374A (en) Circuit simulator
US20050066297A1 (en) System and method for correlated process pessimism removal for static timing analysis
US5768159A (en) Method of simulating AC timing characteristics of integrated circuits
US7243322B1 (en) Metastability injector for a circuit description
US6604227B1 (en) Minimal level sensitive timing abstraction model capable of being used in general static timing analysis tools
Cherry Pearl: A CMOS timing analyzer
US5400270A (en) Simulator for conducting timing analysis of a circuit
US6718523B2 (en) Reduced pessimism clock gating tests for a timing analysis tool
US6910194B2 (en) Systems and methods for timing a linear data path element during signal-timing verification of an integrated circuit design
CN112069763A (en) Method for correcting circuit
US20070150218A1 (en) Timing analysis apparatus and method of timing analysis
US6581197B1 (en) Minimal level sensitive timing representative of a circuit path
US7747972B2 (en) Methods and apparatuses for timing analysis of electronic circuits
US6745376B2 (en) Several improvements for timing diagrams
JPH04246776A (en) Method and device for organizing and analyzing timing information
KR0154790B1 (en) The method for verifing simulation vector and the method for converting test vector
US6237117B1 (en) Method for testing circuit design using exhaustive test vector sequence
US6505149B1 (en) Method and system for verifying a source-synchronous communication interface of a device
US6598191B1 (en) Verification of asynchronous boundary behavior
US6629289B2 (en) Timing verifying system in which waveform slew is considered
US5715170A (en) Apparatus for forming input data for a logic simulator
US6006027A (en) Method and apparatus for event simulation
US20030018462A1 (en) Multi-clock system simulation

Legal Events

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

Payment date: 20090615

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee