KR20020025800A - Method for design validation of complex ic - Google Patents

Method for design validation of complex ic Download PDF

Info

Publication number
KR20020025800A
KR20020025800A KR1020010060427A KR20010060427A KR20020025800A KR 20020025800 A KR20020025800 A KR 20020025800A KR 1020010060427 A KR1020010060427 A KR 1020010060427A KR 20010060427 A KR20010060427 A KR 20010060427A KR 20020025800 A KR20020025800 A KR 20020025800A
Authority
KR
South Korea
Prior art keywords
event
design
data
based test
test system
Prior art date
Application number
KR1020010060427A
Other languages
Korean (ko)
Other versions
KR100463735B1 (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 가부시키가이샤 어드밴티스트
Publication of KR20020025800A publication Critical patent/KR20020025800A/en
Application granted granted Critical
Publication of KR100463735B1 publication Critical patent/KR100463735B1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318314Tools, e.g. program interfaces, test suite, test bench, simulation hardware, test compiler, test program languages
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

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

Abstract

PURPOSE: A method for design validation of a complex IC is provided to evaluate and validate the design of a complex IC such as a system-on-a-chip with use of a combination of electronic design automation(EDA) tools and an event based test system with high speed and low cost. CONSTITUTION: The method for design validation of complex IC with use of a combination of electronic design automation (EDA) tools and a design test station at high speed and low cost. The EDA tools and device simulator are linked to the event based test system to execute the original design simulation vectors and testbench and make modifications in the testbench and event based test vectors until satisfactory results are obtained. Because EDA tools are linked with the event based test system, these modifications are captured to generate a final testbench that provides satisfactory results.

Description

복합 IC의 설계 타당성 검사용 방법{METHOD FOR DESIGN VALIDATION OF COMPLEX IC}Method for design validation of composite IC {METHOD FOR DESIGN VALIDATION OF COMPLEX IC}

본 발명은 복합 IC의 설계 타당성 검사(design validation)를 위한 방법에 관한 것으로서, 보다 상세히는, 전자 설계 자동화(EDA: electronic design automation) 도구들과 이벤트 기반의 테스트 시스템의 조합의 사용하에 빠른 속도와 저비용으로 시스템 온 칩 등의 복합 IC의 설계를 평가하고 타당성 검사를 하는 방법에 관한 것이다.FIELD OF THE INVENTION The present invention relates to a method for design validation of a composite IC. More particularly, the present invention relates to a high speed and speed using a combination of electronic design automation (EDA) tools and an event-based test system. It is a method for evaluating and validating the design of a complex IC such as a system on a chip at low cost.

현재, VLSI 설계는 베릴로그(Verilog) 또는 VHDL 과 같은 고급 언어(high-level language)를 사용한 블록과 서브 블록으로 기술되고, 행동(behavioral), 게이트 레벨 베릴로그/ VHDL 시뮬레이터에 의해 시뮬레이트(simulate)된다. 이러한시뮬레이션은 설계가 실리콘 IC로 제작되기 전에 기능성(functionality)과 성능(performance)을 체크하는 것을 목적으로 한다.Currently, VLSI designs are described in blocks and subblocks using high-level languages such as Verilog or VHDL, and simulated by behavioral, gate-level beryllog / VHDL simulators. do. This simulation aims to check the functionality and performance before the design is fabricated into a silicon IC.

완전한 기능적인 검증(verification)없이 설계 에러가 발견되거나 제거되지 않기 때문에, 설계 타당성 검사는 복합 IC 설계에서 가장 중요하고 어려운 작업 중 하나이다. 동시에, 설계 타당성 검사는 제품 개발 사이클에서 절대적으로 필요하다. 오늘날 설계는 사이즈가 크고 시뮬레이션 속도가 늦기 때문에, 칩 레벨 설계 타당성 검사는 오늘날의 도구들과 방법론들로써는 거의 불가능한 작업이다. (M. Keating and P. Bricaud, "Reuse methodology manual for system-on-a-chip design", Kluwer Academic publishers, 0-7923-8175-0, 1998; R. Rajsuman, "System-on-a-Chip: Design and Test", Artech House Publishers Inc. , IBSN 1-58053-107-5, 2000 참조)Design validation is one of the most important and difficult tasks in complex IC design because no design errors are found or eliminated without full functional verification. At the same time, design validation is absolutely necessary in the product development cycle. Today's designs are large and slow to simulate, so chip-level design validation is almost impossible with today's tools and methodologies. (M. Keating and P. Bricaud, "Reuse methodology manual for system-on-a-chip design", Kluwer Academic publishers, 0-7923-8175-0, 1998; R. Rajsuman, "System-on-a-Chip : Design and Test ", Artech House Publishers Inc., IBSN 1-58053-107-5, 2000)

이러한 복합 IC 등의 일례로서 애플리케이션(application)에 관한 모든 기능을 제공하기 위하여 다중 스탠드 어론(stand-alone) VLSI 설계(코어(core))를 묶어 설계된 IC의 일종인 시스템 온 칩(SoC: system-on-a-chip)이 있다. 도 1은 내장된 메모리(12), 마이크로프로세서 코어(14), 세 개의 특정 기능 코어(function-specific core)(16, 18 및 20), PLL(phase lock loop)(22) 및 TAP(test access port)(24)를 구비한 SoC의 일반적 구조의 일례를 도시한다. 이 예에서, 칩 레벨 I/O는 SoC(10)의 외주에서 I/O 패드 프레임(26) 상에 형성된 칩 I/O 패드로서 설치된다. 각각의 코어(12, 14, 16, 및 20)는 패드 프레임 주변에서 상부 금속층 상의 전력 패드를 가진 복수의 I/O 패드를 전형적으로 포함하는 패드 프레임(29)을 포함한다.As an example of such a composite IC, a system on chip (SoC: system-), which is a type of IC designed by combining multiple stand-alone VLSI designs (cores) to provide all functions related to an application. on-a-chip). 1 shows embedded memory 12, microprocessor core 14, three function-specific cores 16, 18 and 20, phase lock loop 22 and test access An example of a general structure of a SoC with port 24 is shown. In this example, the chip level I / O is installed as chip I / O pads formed on the I / O pad frame 26 at the outer circumference of the SoC 10. Each core 12, 14, 16, and 20 includes a pad frame 29 that typically includes a plurality of I / O pads with power pads on the upper metal layer around the pad frame.

설계 타당성 검사는 상술한 SoC(10)의 설계와 같은 임의의 시스템 설계 프로젝트에서 가장 중요한 작업 중 하나이다(R. Rajsuman, "System-on-a-Chip: Design and Test" 참조). 설계 타당성 검사는 시스템이 하도록 예정된 작업을 하는지를 확립하는 것이다. 본질적으로, 설계 타당성 검사는 시스템 동작의 신뢰성을 제공한다. 타당성 검사의 목적은 제품이 예정되어진 대로 작동하는 것(제품이 예정되어진 대로 작동하는지를 조사하는 것)을 증명하는 것이다. 복합 IC의 설계 타당성 검사는 기능 및 타이밍 성능을 포함하는 하드웨어 동작의 타당성 검사로 고려될 수 있다. 오늘날의 기술에서, 이는 광범위한 행동, 로직 및 타이밍 시뮬레이션; 및/또는 에뮬레이션(emulation); 및/또는 하드웨어 프로토타입에 의해 얻어진다.Design validation is one of the most important tasks in any system design project, such as the design of SoC 10 described above (see R. Rajsuman, "System-on-a-Chip: Design and Test"). Design validation checks to establish if the system is doing what it is supposed to do. In essence, design validation checks provide reliability of system operation. The purpose of the feasibility test is to prove that the product works as intended (investigate whether the product works as intended). Design validation of a composite IC can be considered as a validation of hardware operation including functionality and timing performance. In today's technology, this involves extensive behavior, logic and timing simulation; And / or emulation; And / or by hardware prototype.

IC 설계의 초기 단계에서, 명세사항 개발 및 RTL 코딩(coding)과 더불어, 행동 모델이 개발되고, 그 결과 시스템 시뮬레이션을 위한 테스트벤치가 생성될 수 있다. 초기 단계에서는, 통상적으로 시간 RTL 및 기능적 모델들(functional model)을 특정함으로서 테스트 지침(test suite) 및 테스트 케이스(test case)의 좋은 집합들을 개발하는 것을 목적으로 한다. 효율적인 타당성 검사는 EDA 도구 및 시뮬레이션 환경, 다양한 모델의 추상 레벨, 및 테스트벤치의 완전성 및 실험의 질에 의존한다.In the early stages of IC design, in addition to specification development and RTL coding, behavioral models can be developed, resulting in testbenches for system simulation. In the early stages, it is typically aimed at developing good sets of test suites and test cases by specifying time RTL and functional models. Efficient validation depends on the EDA tool and simulation environment, the level of abstraction of the various models, and the integrity of the test bench and the quality of the experiment.

도 2는 상이한 추상 레벨에서 복합 IC 설계를 도시하며, 각 레벨에서 어떤 형태의 검증 방법론이 현재 사용되고 있는지 보여준다. 도 2는 가장 높은 추상 레벨에서 가장 낮은 추상 레벨순으로, 행동 HDL 레벨(41), RTL(레지스터 변환언어(register transfer language)) 레벨(43), 게이트(gate) 레벨(45) 및 물리 설계 레벨(46)을 도시한다. 각 상이한 추상 레벨에 대응하는 검증 방법이 도 2의 블록(48)에 열거되어 있다.2 shows a complex IC design at different levels of abstraction and shows what form of verification methodology is currently used at each level. FIG. 2 shows behavioral HDL level 41, RTL (register transfer language) level 43, gate level 45 and physical design level, from highest abstraction level to lowest abstraction level. 46 is shown. Verification methods corresponding to each of the different levels of abstraction are listed in block 48 of FIG.

설계 타당성 검사 방침(strategy)은 설계 계층(design hierarchy)을 따른다. 먼저 리프 레벨 블록(leaf level block)들의 정확성을 독립적으로 조사한다. 이 블록들의 기능 조사 후, 블록들 간의 인터페이스들의 정확성을 데이터 내용 및 트랜젝션(transaction) 형태의 관점에서 조사한다. 다음 단계는 애플리케이션 소프트웨어 또는 동등한 테스트벤치를 풀 칩 모델(full-chip model) 상에서 동작시키는 것이다. 소프트웨어의 애플리케이션은 소프트웨어의 런타임(runtime) 실행에 의해서만 검증될 수 있기 때문에, 하드웨어 소프트웨어 코시뮬레이션(co-simulation)이 요구된다. 코시뮬레이션은 행동 C/C++ 모델을 사용하거나 또는 인스트럭션 집합 구조(ISA: instruction set architecture) 레벨, 버스 기능 모델(BFM: bus functional model) 레벨에서 행하여질 수 있다.The design validation strategy follows the design hierarchy. First, the accuracy of the leaf level blocks is examined independently. After examining the functionality of these blocks, the accuracy of the interfaces between the blocks is examined in terms of data content and transaction type. The next step is to run the application software or equivalent testbench on a full-chip model. Since the application of the software can only be verified by the runtime execution of the software, hardware software co-simulation is required. Cosimulation can be performed using a behavioral C / C ++ model or at an instruction set architecture (ISA) level, a bus functional model (BFM) level.

상이 레벨에서 시뮬레이션 속도의 개략적인 비교가 도 3에 도시되어 있다. 현재, 늦은 코시뮬레이션의 속도 때문에, 에뮬레이션 및/또는 하드웨어 프로토타입이 사용된다. 에뮬레이션은 매우 비싸지만(통상적으로, 에뮬레이션 시스템의 가격은 수 백만 달러정도이다), 에뮬레이션 속도가 코시뮬레이션 속도보다 훨씬 빠르다. 에뮬레이션은 실제적 시스템 속도의 1/100에 근접한다(대략적으로 1,000,000 cycle/sec). FDGA(filed programmable gate array) 또는 ASIC(application specific integrated circuit) 기반의 하드웨어 프로토타입은 실제적 시스템 속도의 1/10에 달하는 빠른 시뮬레이션 속도를 제공하지만, FPGA 또는 ASIC의 제조를 요구하기 때문에 에뮬레이션보다 훨씬 비싸다.A schematic comparison of the simulation speeds at different levels is shown in FIG. 3. Currently, due to the speed of late cosimulation, emulation and / or hardware prototypes are used. Emulation is very expensive (typically, the price of an emulation system is millions of dollars), but the emulation speed is much faster than the co-simulation speed. Emulation is close to 1/100 of the actual system speed (approximately 1,000,000 cycles / sec). Hardware prototypes based on filed programmable gate arrays (FDGAs) or application specific integrated circuits (ASICs) provide fast simulation speeds up to one-tenth of the actual system speed, but are much more expensive than emulation because they require the manufacture of an FPGA or ASIC. .

실리콘을 최초의 시도에서 완전히 기능적(functional)으로 만들려고 하는 기술자들의 최선의 노력에도 불구하고, 불과 80% 정도의 설계들만이 웨이퍼 레벨(wafer level)에서 테스트될 때 올바르게 동작하고, 처음 시스템에 설치되었을 때는 절반 이상이 올바르게 동작하지 않는다. 근본적인 이유는 충분한 양의 실제 애플리케이션 동작(real application run)을 가지고 시스템 레벨 테스트를 할 수 없다는 데 있다. 현재의 기술에서 설계 타당성 검사를 행하는 유일한 수단은 FPGA 또는 ASIC를 이용한 실리콘 프로토타입에 의한 것이다.Despite the best efforts of technicians to make silicon fully functional in the first attempt, only 80% of designs work correctly when tested at the wafer level and are initially installed in the system. More than half do not work correctly. The fundamental reason is the inability to do system level tests with a sufficient amount of real application run. In the current technology, the only means of validating the design is by silicon prototypes using FPGAs or ASICs.

오늘날 제품 개발 사이클의 일례가 도 4에 도시되어 있다. 스테이지(stage)(51)에서, 디자이너들은 설계될 복합 IC의 요구사항들을 세밀히 검토한다. 스테이지(51)에서의 요구사항에 기반하여, 디자이너는 스테이지(52)에서 IC의 명세사항(specifications)을 결정한다. 스테이지(53)의 설계 엔트리(design entry) 프로세스에서, IC는 베릴로그/VHDL 등의 하이레벨 언어를 이용한 블록과 서브블록으로 기술된다. 스테이지(54)에서, 초기 설계 평가는 설계 검증(55) 및 초기 테스트벤치(58)를 사용한 로직/타이밍 시뮬레이션(56)을 통하여 이루어진다. 로직 시뮬레이션 실행의 결과로서, 입력/출력 데이터 파일 또는 VCD(value change dump) 파일(59)이 생성될 것이다. VCD 파일(59)에서 데이터는 시간 길이 또는 지연에 관한 입력 및 출력 이벤트의 열(list), 즉 이벤트 포맷의 데이터이다.One example of a product development cycle today is shown in FIG. 4. At stage 51, designers carefully examine the requirements of the complex IC to be designed. Based on the requirements at stage 51, the designer determines the specifications of the IC at stage 52. In the design entry process of the stage 53, the IC is described in blocks and subblocks using a high level language such as Beryllog / VHDL. At stage 54, initial design evaluation is made through logic / timing simulation 56 using design validation 55 and initial testbench 58. As a result of the logic simulation execution, an input / output data file or a value change dump (VCD) file 59 will be created. The data in the VCD file 59 is a list of input and output events, ie data in event format, with respect to time length or delay.

도 4에 도시된 바와 같이, 설계가 너무 클 때, 실리콘 프로토타입을 생성하고 최종 시스템에서 디버깅(debugging)하는 것은 장시간의 검증 및 코시뮬레이션을 감안하면 오늘날 실용적이고 가능한 유일한 방법이다. 이러한 실리콘 프로토타입 제작, 검증 및 버그 수정 프로세스들은 도 4의 음영부분에 도시되어 있다. 이 프로세스에서, 스테이지(61)의 제조는 실리콘 프로토타입(63)을 얻기 위해서 행하여진다. 얻어진 실리콘 프로토타입(63)은 스테이지(62)에서 에러가 있는지 검사되고, 에러는 디버그 및 검증 테스트(65)에서 디버그 되어진다.As shown in FIG. 4, when the design is too large, creating a silicon prototype and debugging it in the final system is the only practical and possible method available today given long verification and cosimulation. These silicon prototyping, verification and bug fix processes are shown in the shaded portion of FIG. 4. In this process, manufacturing of the stage 61 is performed to obtain the silicon prototype 63. The resulting silicon prototype 63 is checked for errors in stage 62, and the errors are debugged in debug and verification tests 65.

오늘날, 이러한 테스트는 사이클 기반의 테스트 시스템(cycle based test system)인 IC 테스트기를 사용하여 수행되며, 상기 테스트 시스템은 사이클 포맷의 테스트 패턴 데이터에 기반한 테스트 벡터를 생성시키기 위한 구조를 가진다. 사이클 기반의 테스트 시스템(ATE system)은 EDA 환경에서 제조된 테스트벤치(58) 또는 VCD 파일(59)을 직접적으로 이용할 수 없기 때문에, 오늘날 IC 테스트기에 의한 이러한 검증은 불완전하고 부정확한 결과를 가진다. 이벤트 포맷 데이터를 EDA 환경에서 사이클 기반의 테스트 시스템을 위해 사이클 포맷 테스트 패턴 데이터로 변환시키는 것은 시간이 많이 소요되는 일이다.Today, such testing is performed using an IC tester, which is a cycle based test system, which has a structure for generating test vectors based on test pattern data in a cycle format. Since the cycle based test system cannot directly use the test bench 58 or the VCD file 59 manufactured in the EDA environment, such verification by the IC tester today has incomplete and inaccurate results. Converting event format data into cycle format test pattern data for a cycle based test system in an EDA environment is time consuming.

실리콘 프로토타입(63)이 의도된 시스템의 부분으로서 테스트되어질 경우에 실리콘 프로토타입(63)은 인 시스템(in-system) 테스트(67)를 거쳐서 한층 더 타당성 검사된다. 특정한 설계가 셀룰러 폰(cellular phone)에 장착된 칩이라고 가정하면, 칩을 표현하는 실리콘 프로토타입이 휴대폰 기판 위에 장착될 것이고 휴대폰의 의도된 기능과 성능에 기초하여 테스트된다. 인 시스템 타당성 검사동안, 에러와 에러의 원인은 검출될 것이고 설계 버그는 스테이지(69)에서 수정될 것이다.이러한 인 시스템 테스트는 설계된 실리콘 프로토타입 및 실리콘 프로토타입을 실행시키는 애플리케이션 소프트웨어를 가진 시스템 모두를 요구하기 때문에 비쌀 뿐만 아니라 또한 시간이 많이 걸린다.If the silicon prototype 63 is to be tested as part of the intended system, then the silicon prototype 63 is further validated via an in-system test 67. Assuming a particular design is a chip mounted on a cellular phone, a silicon prototype representing the chip will be mounted on the cell phone substrate and tested based on the intended functionality and performance of the cell phone. During the in-system validity check, the error and the cause of the error will be detected and the design bug will be corrected in stage 69. This in-system test will check both the designed silicon prototype and the system with the application software running the silicon prototype. Not only is it expensive because it requires it, it is also time consuming.

도 4의 음영부분(60)에 도시된 실리콘 검증 및 인 시스템 테스트 동안, 설계 에러는 검출되고 이러한 에러의 원인이 판정되며 설계 에러는 설계 기술자들 및 테스트 기술자들 간의 반복적인 작업을 통해 정정된다. 최종 설계(71)에 도달하면, 최종 설계를 위한 로직/시간 시뮬레이션(73)이 새로운 테스트벤치(75)를 사용함으로서 실시된다. 그때, 설계는 실리콘(79)으로 제작될 것이고 제품 테스트가 실리콘(79)에 대해 실행된다.During the silicon verification and in-system test shown in shaded portion 60 of FIG. 4, design errors are detected and the cause of these errors is determined and the design errors are corrected through repetitive work between design engineers and test technicians. Once the final design 71 is reached, the logic / time simulation 73 for the final design is performed by using the new test bench 75. At that time, the design will be made of silicon 79 and a product test is performed on silicon 79.

실리콘 프로토타입에 대한 상술한 프로세스에서, 처음 몇 개의 버그들에 대하여 새로운 실리콘을 실행시키지 않고 앞에서와 동일한 실리콘이 사용될 수 있다. 그러나, 실리콘 프로토타입이 값비싼 작업이기 때문에 실리콘 프로토타입을 사용할 때를 결정하는 것은 중요한 결정이다. 다음의 요소들이 실리콘 프로토타입제작에서 고려되어지는 것들이다.:In the process described above for the silicon prototype, the same silicon as before can be used without running new silicon for the first few bugs. However, deciding when to use a silicon prototype is an important decision because silicon prototypes are an expensive task. The following factors are considered in silicon prototyping:

(1) 검증 및 코시뮬레이션에서 버그 레이트(rate) 감소시키는 것. 기본적인 버그들이 제거되는 경우, 다른 버그들을 검출하기 위해 장시간의 애플리케이션 실행이 요구되어질 것이다. 코시뮬레이션 및 에뮬레이션은 장시간 동안 애플리케이션을 실행시키지 못할 수도 있다.(1) Reducing bug rates in verification and cosimulation. If the underlying bugs are removed, long application execution will be required to detect other bugs. Cosimulation and emulation may not run the application for a long time.

(2) 버그 검출의 어려움. 만약 버그 검출이 버그를 수정하는 시간보다 훨씬 많은 시간이 소모된다면, 그때 실리콘 프로토타입은 매우 유용하다. 왜냐하면 실리콘 프로토타입이 버그를 빨리 찾도록 도울 것이기 때문이다.(2) Difficulty in bug detection. If bug detection takes much more time than fixing a bug, then the silicon prototype is very useful. Because the silicon prototype will help you find bugs quickly.

(3) 버그 검출의 비용(수작업(manual effort), 출시 시간(time-to-market)). 만약 코시뮬레이션 또는 에뮬레이션에서 버그를 검출하는 것이 매우 비싸다면, 그때는 실리콘 프로토타입 제작이 필요하게 된다.(3) The cost of bug detection (manual effort, time-to-market). If detecting bugs in cosimulation or emulation is very expensive, then a silicon prototype is required.

소규모의 설계용으로는, FDGA/LPGA(field programmable gate-array/laser programmable gate-array) 프로토타입이 적합하다. FPGA가 LPGA보다 빠른 속도와 높은 게이트 카운트(gate count)를 제공하는 반면, LPGA는 버그 수정들(fixes)이 재테스트될 수 있도록 재프로그램능력(re-programmability)을 부여한다. FPGA 및 LPGA 모두 ASIC의 게이트 카운트 용량 및 속도에는 모자란다. 따라서 그것들은 보다 작은 블록들에 적합하고, 대형의 복합 IC에는 적합하지 않다.For smaller designs, the FDGA / LPGA (field programmable gate-array / laser programmable gate-array) prototype is suitable. While FPGAs offer faster speeds and higher gate counts than LPGAs, LPGAs offer re-programmability so that bug fixes can be retested. Both FPGAs and LPGAs lack the gate count capacity and speed of ASICs. Thus they are suitable for smaller blocks and not for large complex ICs.

몇 개의 FPGA를 사용하여 대형 복합 칩의 프로토타입을 제작할 수 있는데, 이때 각각의 FPGA는 칩의 일부를 구성한다. 이 경우에, 버그 수정이 칩의 재분할(re-partitioning)을 요구한다면, FPGA들간의 상호연결은 변화를 요구할지도 모르고, 따라서 수정이 복잡할 수도 있다. 이 문제의 부분적인 해결책은 FPGA들을 상호연결하기 위해서 소비자 프로그램가능 경로 설정 칩(custom programmable routing chip)을 추가하는 것이다. 프로그램가능 경로 선택 칩을 사용하는 경우, 만약 상호연결이 바뀐다면, 새로운 경로 선택은 소프트웨어 제어 하에서 행하여질 수 있다.Several FPGAs can be used to prototype large complex chips, with each FPGA forming part of the chip. In this case, if a bug fix requires re-partitioning of the chip, the interconnection between FPGAs may require a change, and the fix may be complicated. Part of the solution to this problem is to add a custom programmable routing chip to interconnect the FPGAs. When using a programmable path selection chip, new path selection can be made under software control if the interconnection changes.

프로토타입 설계 흐름에서, 시스템 행동의 연구 후에, 시뮬레이트된 HDL(베릴로그/VHDL) 및/또는 C-프로그램 기술(description)이 동시 합성(co-synthesis)에서 사용된다. 코시뮬레이션과 유사하게, 동시 합성은 하드웨어와 소프트웨어의 동시 개발을 의미한다. 동시 합성의 목적은 실제 아키텍쳐상에서 실행시킬 C 코드(C-code) 및 하드웨어를 제조하는 것이다. 통상적으로, 이 단계는 시스템을, 하드웨어를 구현할 ASIC의 집합 및 소프트웨어를 시행시키는 프로세서를 포함한 하드웨어-소프트웨어 플랫폼(platform)에 맵핑(mapping)하는 것으로 구성된다. 최종 프로토타입은 하드웨어 구성요소들을 생성하기 위한 경로 선택 (routing), 배치(placement) 및 로직 합성(logic synthesis)을 사용함으로서, 그리고 소프트웨어 부분들의 C 코드를 사용함으로서 생성된다. 합성 도구는 HDL 기술/모델을 프로토타입으로서 ASICs 및 FPGAs에 맵핑되는 게이트 레벨 넷리스트(netlist)로 변환시킨다.In the prototype design flow, after the study of system behavior, simulated HDL (beryllog / VHDL) and / or C-program descriptions are used in co-synthesis. Similar to cosimulation, co-synthesis means the simultaneous development of hardware and software. The goal of co-synthesis is to produce C-code and hardware to run on a real architecture. Typically, this step consists of mapping the system to a hardware-software platform that includes a collection of ASICs to implement the hardware and a processor to implement the software. The final prototype is created by using routing, placement and logic synthesis to create hardware components, and by using C code of software portions. The synthesis tool transforms HDL technology / models into gate-level netlists that map to ASICs and FPGAs as prototypes.

상술한 종래 기술에서 설계 타당성 검사 방법은 비용 면에서 매우 비싸거나(예컨대, 실리콘 프로토타입을 사용한 방법) 속도 면에서 매우 느리다(예컨대, 코시뮬레이션을 사용한 방법). 오늘날 설계 타당성 검사 방법은 EDA 환경과 테스트 환경 사이에서 다른 포맷을 수반하고, 따라서 높은 효율과 높은 정확도로 설계 타당성 검사를 수행할 수 없다. 게다가, 오늘날 설계 타당성 검사 방법은 상술된 바와 같이 의도된 시스템에서 설계를 실행시키기 위한 하드웨어 및 소프트웨어를 포함하는 인 시스템 테스트를 요구하고, 테스트 환경과 설계 환경 사이에 상당한 피드백 및 상호작용을 필요로 하므로, 결과적으로 처리시간이 길어진다.In the above-mentioned prior art, the design validation method is very expensive in terms of cost (e.g., using a silicon prototype) or very slow in speed (e.g., using cosimulation). Today's design validation methods involve different formats between the EDA environment and the test environment, and therefore cannot perform design validation with high efficiency and high accuracy. In addition, today's design validation methods require in-system testing, including hardware and software to run the design on the intended system, as described above, and require significant feedback and interaction between the test environment and the design environment. As a result, the processing time becomes longer.

따라서, 본 발명의 목적은, 상술한 시스템보다 매우 효율적이고 저렴하며 근본적으로 다른 복합 IC의 설계 타당성 검사 방법을 제공하려는 것이다.It is therefore an object of the present invention to provide a method for validating the design feasibility of a complex IC which is much more efficient, cheaper and radically different than the system described above.

본 발명의 다른 목적은, 전자 설계 자동화(EDA) 도구들과 이벤트 기반의 테스트 시스템의 조합을 이용하여 높은 속도 및 정확도로 복합 IC의 설계를 타당성 검사 및 평가하는 방법을 제공하려는 것이다.Another object of the present invention is to provide a method for validating and evaluating the design of a composite IC at high speed and accuracy using a combination of electronic design automation (EDA) tools and an event based test system.

본 발명의 또다른 목적은 설계 엔트리에서부터 시뮬레이션 및 테스트벤치 생성까지 완전한 루프(loop)를 이루어, 설계를 검증하고 설계 에러를 정정할 수 있는 복합 IC의 설계 타당성 검사에 관한 방법을 제공하는 것이다.It is yet another object of the present invention to provide a method for design validation of a composite IC that can perform a complete loop from design entry to simulation and testbench generation to verify the design and correct design errors.

본 발명의 제1 특성에 있어서, 복합 IC의 설계를 타당성 검사하는 방법은 EDA 환경에서 생성된 IC 설계 데이터에 기초하여 프로토타입 실리콘을 만드는 단계; IC 설계 데이터에서 얻어진 테스트 벡터를 이벤트 기반의 테스트 시스템에 의한 프로토타입 실리콘에 인가하고 프로토타입 실리콘의 응답 출력을 평가하는 단계; 실리콘 프로토타입으로부터 바람직한 응답 출력을 얻도록 이벤트 테스트 시스템으로 테스트 벡터들을 수정하는 단계; 및 수정된 테스트 벡터를 EDA 환경으로 피드백하여 IC 설계 데이터를 수정하고 IC 설계 데이터에서 설계 에러를 정정하는 단계를 포함한다.In a first aspect of the invention, a method for validating a design of a composite IC comprises the steps of making a prototype silicon based on IC design data generated in an EDA environment; Applying a test vector obtained from the IC design data to the prototype silicon by an event based test system and evaluating the response output of the prototype silicon; Modifying test vectors with an event test system to obtain a desired response output from the silicon prototype; And feeding back the modified test vector to the EDA environment to modify the IC design data and correct the design error in the IC design data.

본 발명의 방법은, 시뮬레이터를 포함하는 EDA 도구들을 소프트웨어 인터페이스를 통해 이벤트 기반의 테스트 시스템과 연결하는 단계 및 IC 설계 데이터에서 생성된 테스트벤치를 통해 이벤트 포맷 데이터를 추출하는 단계를 더 포함한다. 이벤트 기반의 데이터를 추출하는 단계는 시뮬레이터로 테스트벤치를 실행하고, 시뮬레이터에 의해 생성된 값 변화 덤프 파일(value change dump file)로부터 이벤트포맷 데이터를 추출하는 단계를 더 포함한다.The method further comprises connecting EDA tools including a simulator with an event based test system via a software interface and extracting event format data through a testbench generated from IC design data. Extracting the event-based data further includes executing a testbench with a simulator and extracting event format data from a value change dump file generated by the simulator.

본 발명의 방법은, 추출된 이벤트 데이터를 이벤트 테스트 시스템에 인스톨하고 이벤트 기반의 테스트 시스템에 의해 추출된 이벤트 데이터를 사용하여 테스트 벡터를 생성하고 프로토타입 실리콘에 테스트 벡터를 인가하는 단계, 및 이벤트 기반의 테스트 시스템으로부터 수정된 테스트 벡터에 기초하여 새로운 테스트벤치를 생성하는 단계를 더 포함한다.The method comprises the steps of installing the extracted event data into an event test system, generating a test vector using the event data extracted by the event based test system, and applying the test vector to the prototype silicon, and event based And generating a new test bench based on the modified test vector from the test system of.

EDA 도구들은 IC 설계 데이터에서 생성된 테스트벤치에서 얻은 파형을 관찰 및 편집하는 수단을 포함한다. 이벤트 기반의 테스트 시스템은 IC 설계 데이터에서 생성된 테스트벤치로부터 추출된 테스트 벡터에서 파형을 관찰 및 편집하는 수단 및 프로토타입 실리콘에 적용된 테스트 벡터의 이벤트 타이밍 데이터와 클록 레이트를 변화시키는 수단을 포함한다.EDA tools include a means of viewing and editing waveforms obtained from testbenches generated from IC design data. Event-based test systems include means for observing and editing waveforms in test vectors extracted from testbenches generated from IC design data and means for changing the event timing data and clock rate of the test vectors applied to the prototype silicon.

본 발명의 제2 특성에 있어서, 복합 IC의 설계를 타당성 검사하는 방법은 실리콘 프로토타입보다 디바이스 모델(device model)을 이용했다. 본 방법은, EDA 환경 하에서 생성된 IC 설계 데이터에 기초하여 설계할 IC의 디바이스 모델을 준비하는 단계, IC 설계 데이터로부터 얻어진 테스트 벡터들을 이벤트 기반의 테스트 시스템으로 디바이스 모델에 인가하고 디바이스 모델의 응답 출력을 평가하는 단계, 디바이스 모델로부터 바람직한 응답 출력을 취득하기 위해 이벤트 테스트 시스템으로 테스트 벡터들을 수정하는 단계, 수정된 테스트 벡터를 EDA 환경으로 피드백하여 IC 설계 데이터를 수정하고, IC 설계 데이터에서 설계 에러를 정정하는 단계들을 포함한다.In a second aspect of the invention, a method of validating the design of a composite IC used a device model rather than a silicon prototype. The method comprises preparing a device model of an IC to design based on IC design data generated under an EDA environment, applying test vectors obtained from the IC design data to the device model as an event-based test system and outputting the response of the device model. Estimating the test vectors with the event test system to obtain the desired response output from the device model, feeding back the modified test vectors to the EDA environment to correct the IC design data, and correcting the design errors in the IC design data. Correcting steps.

본 발명에 따르면, 설계 타당성 검사는, IC 시뮬레이션 모델 및 최초의 시뮬레이션 테스트벤치가 전자 설계 자동화(EDA) 도구들과 함께 사용되는 방법을 통해 실시되어 이벤트 기반의 테스트 시스템을 사용한 설계 검증이 이루어진다. 이러한 목적을 위해, EDA 도구들 및 디바이스 시뮬레이터는 이벤트 기반의 테스트 시스템과 연결되어 최초의 설계 시뮬레이션 벡터들 및 테스트 벡터벤치를 실행하고 만족할 만한 결과가 얻어질 때까지 테스트벤치 및 테스트 벡터를 수정한다.In accordance with the present invention, design validation is performed through the method in which the IC simulation model and the first simulation testbench are used with electronic design automation (EDA) tools to perform design validation using an event based test system. For this purpose, EDA tools and device simulators are connected to the event-based test system to run the original design simulation vectors and test vectorbench and modify the testbench and test vector until satisfactory results are obtained.

EDA 도구들이 이벤트 기반의 테스트 시스템과 연결되어 있기 때문에, 이러한 수정들은 만족할 만한 결과를 제공하는 최종 테스트벤치를 생성하도록 캡쳐된다.Because EDA tools are linked with event-based test systems, these modifications are captured to create a final testbench that provides satisfactory results.

따라서, 복합 IC의 설계 타당성 검사 타당성 검사는 실리콘 프로토타입을 사용하는 대신에 설계 모델을 사용하여 달성된다. 또한, 복합 IC의 설계 타당성 검사 타당성 검사는 비용과 처리시간을 상당히 단축할 수 있다.Therefore, design validation of the composite IC is accomplished using a design model instead of using a silicon prototype. In addition, design validation of complex ICs can significantly reduce cost and processing time.

도 1은 설계 타당성 검사를 위한 시스템 온 칩(system-on-a chip) IC와 같은 복합 IC에서의 구조의 일례를 도시하는 개략도.1 is a schematic diagram illustrating an example of a structure in a composite IC such as a system-on-a chip IC for design validation.

도 2는 EDA 환경 하의 설계 절차에 관련된 설계 계층(hierarchy)에 대응되는 타당성 검사 계층(validation hierarchy)의 일례를 도시하는 개략도.2 is a schematic diagram illustrating an example of a validation hierarchy corresponding to a design hierarchy associated with a design procedure under an EDA environment.

도 3은 복합 IC에 관한 설계 프로세스에 관련된 시뮬레이션 속도와 다양한 추출 레벨들간의 관계를 도시하는 개략도.3 is a schematic diagram illustrating the relationship between simulation speed and various extraction levels related to the design process for a composite IC.

도 4는 종래 기술 하에서 설계 타당성 검사 프로세서를 포함하는 복합 IC의 제품 개발 프로세스를 도시하는 흐름도.4 is a flow diagram illustrating a product development process of a composite IC including a design validation processor under the prior art.

도 5는 본 발명의 제1 실시예에서 복합 IC에 대한 설계 타당성 검사 방법을 도시하는 개략도.5 is a schematic diagram showing a design feasibility check method for a composite IC in a first embodiment of the present invention.

도 6은 본 발명의 제2 실시예에서 복합 IC에 대한 설계 타당성 검사 방법을 도시하는 개략도.6 is a schematic diagram showing a design feasibility check method for a composite IC in a second embodiment of the present invention.

도 7은 도 5와 도 6의 실시예에서 EDA 도구와 이벤트 기반의 테스트 시스템간의 관계의 일례를 도시하는 개략도.7 is a schematic diagram illustrating an example of a relationship between an EDA tool and an event based test system in the embodiments of FIGS. 5 and 6.

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

82 : 이벤트 기반의 테스트 시스템(설계 테스트 시스템)82: event-based test system (design test system)

85 : 시뮬레이션 분석/디버그85: Simulation Analysis / Debug

86 : 파형 편집기/뷰어86: Waveform Editor / Viewer

87 : VCD 파형 편집기/뷰어87: VCD Waveform Editor / Viewer

88 : 이벤트 파형 편집기/뷰어88: Event Waveform Editor / Viewer

89 : DUT 파형 편집기/뷰어89: DUT Waveform Editor / Viewer

95 ; 테스트벤치(testbench) 생성 도구95; Testbench generation tool

97 : API 인터페이스97: API interface

99 : 테스트벤치 피드백99: testbench feedback

본 발명의 양수인의 선행출원으로서, 이벤트 기반의 테스트 시스템은 미국 특허 출원 제09/406,300호와 제09/340,371호 "이벤트 기반의 반도체 테스트 시스템(Event based semiconductor test system)"에 기술되어 있으며, 이벤트 기반 타당성 검사 스테이션은 미국 특허 출원 제09/428,746 "SoC 설계 타당성 검사를 위한 방법 및 장치(Method and apparatus for SoC design validation)" 에 기술되어 있다. 또한, 시간 스케일링 기술(time scaling technology)은 미국 특허 출원 제 09/286,226 "이벤트 기반의 테스트 시스템에 관한 스케일링 로직(Scaling logic for Event Based Test System)"에 기술되어 있다. 이러한 특허 출원은 모두 본 명세서에서 참고로 하고 있다.As a prior application of the assignee of the present invention, an event based test system is described in US Patent Application Nos. 09 / 406,300 and 09 / 340,371 "Event based semiconductor test system", The base validation station is described in US patent application Ser. No. 09 / 428,746, "Method and apparatus for SoC design validation." Also, time scaling technology is described in US patent application Ser. No. 09 / 286,226, "Scaling logic for Event Based Test System." All of these patent applications are incorporated herein by reference.

본 발명의 발명자들은 이벤트 기반의 테스트 시스템을 사용한 IC설계 타당성 검사 방법을 위한 개념을 제공한다. 보다 구체적으로, 제1 실시예에서는, 실리콘 프로토타입을 이용한 설계 타당성 검사에 관해 기술되어 있으며, 제2 실시예에서는, 실리콘 프로토타입을 사용하지 않은 방법이 기술된다. 본 발명의 두 가지 방법은 현재의 어떤 방법과 비교해도 보다 빠르며 저렴하다.The inventors of the present invention provide a concept for an IC design feasibility check method using an event based test system. More specifically, in the first embodiment, a design validity test using a silicon prototype is described, and in the second embodiment, a method is described in which a silicon prototype is not used. The two methods of the present invention are faster and cheaper than any present method.

본 발명은 이벤트 기반의 테스트 시스템(DTS: design test station)을 사용한 설계 타당성 검사에 관해 EDA 도구들과 함께 IC 시뮬레이션 모델 및 초기 시뮬레이션 테스트벤치가 사용되는 것을 제안한다. 이 목적을 위하여, EDA도구들 및 디바이스 시뮬레이터가 최초 설계 시뮬레이션 벡터들과 테스트벤치를 평가하고 만족할 만한 결과를 얻을 때까지 테스트벤치와 테스트 벡터들 안에서 수정하기 위해 이벤트 기반의 테스트 시스템에 연결되어 있다. EDA도구들이 이벤트 기반의 테스트 시스템과 연결되어 있기 때문에, 이러한 수정들은 만족할 만한 최종 테스트벤치를 생성하도록 캡쳐되어 있다. 다양하게 수정된 테스트 벡터들이 프로토타입 실리콘이나 설계 모델에 적용되어질 수 있기 때문에 완전한 설계 타당성 검사는 도 4에서 도시된 인 시스템 없이도 취득될 수 있다.The present invention proposes the use of an IC simulation model and an initial simulation testbench with EDA tools for design validation using an event based test system (DTS). For this purpose, EDA tools and device simulators are connected to the event-based test system to evaluate the original design simulation vectors and testbench and modify them in the testbench and test vectors until a satisfactory result is obtained. Because EDA tools are linked with event-based test systems, these modifications are captured to create a satisfactory final testbench. Because various modified test vectors can be applied to prototype silicon or design models, complete design validation can be obtained without the phosphorus system shown in FIG.

본 발명의 제1 실시예에서의 완전한 검증 프로세스는 도 5에 도시되어 있다. IC의 모든 기능적 검증을 위해, 설계 시뮬레이션(초기 테스트벤치(58))동안 개발된 IC 레벨 기능적 벡터들은 이벤트 기반의 테스트 시스템(82)에서 실행되어 진다. 이러한 벡터들 또한 이벤트 포맷(format)에 속한다. 빈번히 이러한 이벤트 포맷테스트 벡터들은 IC(설계)의 베릴로그/VHDL 모델이나 행동(behavioral) 모델에서 동작하는 소프트웨어 애플리케이션 의해 생성된다. 이러한 벡터들은 동시에 또는 비동시에 IC의 다른 부분들을 동작시키는 반면, IC의 모든 행동은 조합된 응답에 의해 결정된다.The complete verification process in the first embodiment of the present invention is shown in FIG. For all functional verification of the IC, IC level functional vectors developed during the design simulation (initial testbench 58) are executed in the event based test system 82. These vectors also belong to the event format. Frequently, these event format test vectors are generated by a software application running on an IC (design) beryllog / VHDL model or behavioral model. These vectors operate different parts of the IC simultaneously or at the same time, while all behavior of the IC is determined by the combined response.

통상적으로, 이 단계 후에, 실리콘 칩(실리콘 프로토타입)(63)은 도 4 및 도 5에 도시된 바와 같이 제작되어진다. 이 칩이 한번 사용 가능하게 된 이후에, 이벤트 기반의 테스트 시스템에 설치되고 초기 테스트벤치의 설계 시뮬레이션 벡터들이 칩의 작동을 검증하기 위해 실행된다. 결과들은 이벤트 기반의 테스트 시스템에서 조사되고, 이벤트들은 IC(의도된 설계)의 부정확한 작동들이 수정될 때까지, 변화/편집된다. 이벤트들에서 이러한 변화들은 새로운 테스트벤치와 테스트 벡터들을 생성하기 위해 피드백된다. 이러한 프로세스 후, 최종 실리콘 제조가 최종 디바이스들을 제조하도록 행하여진다.Typically, after this step, the silicon chip (silicon prototype) 63 is fabricated as shown in FIGS. 4 and 5. After the chip is available once, it is installed in an event-based test system and the design simulation vectors of the initial test bench are run to verify the chip's operation. The results are examined in an event based test system and the events are changed / edited until the incorrect behavior of the IC (Intentional Design) is corrected. These changes in the events are fed back to create new testbench and test vectors. After this process, final silicon fabrication is done to fabricate the final devices.

보다 구체적으로, 도 5의 예에서, 설계 테스트 스테이션(DTS)(82)은 VCD(value change dump) 파일(59)로부터 얻어진 이벤트 데이터를 기반으로 제조된 테스트 벡터들을 사용하여 실리콘 프로토타입(63)의 기능을 테스트하기 위해 제공된 이벤트 기반의 테스트 시스템이다. VCD 파일(59)은 초기 테스트벤치(58)를 사용하여 초기 설계(54)에서 설계 검증(55)과 시뮬레이션(56)을 실행함으로서 제조된다. 테스트벤치(58)가 이벤트 포맷에서 생성되고 그 결과의 VCD 파일(59) 또한 이벤트 포맷에 속하며, VCD 파일내의 데이터는 설계를 테스트하기 위하여 이벤트 기반의 테스트 시스템(82)에서 직접 사용될 수 있다.More specifically, in the example of FIG. 5, design test station (DTS) 82 uses silicon prototype 63 using test vectors manufactured based on event data obtained from value change dump (VCD) file 59. An event-based test system provided to test the functionality of the. The VCD file 59 is manufactured by running the design verification 55 and the simulation 56 in the initial design 54 using the initial test bench 58. A testbench 58 is generated in the event format and the resulting VCD file 59 also belongs to the event format, and the data in the VCD file can be used directly in the event based test system 82 to test the design.

도 5에서 시뮬레이션 분석/디버그 및 파형 편집기/뷰어(viewer)(86) 등의 EDA 도구들은 인터페이스를 거쳐 설계 테스트 스테이션(DTS)(89)과 연결되어 있다. 시뮬레이션 분석/디버그의 일례가 멘터 그래픽스(Mentor Graphics)에 의한 시놉시스(Synopsys)와 모델심(ModelSim)에 의한 VCS이다. 파형 편집기/뷰어의 일례는 시놉시스에 의한 케이든스(Cadence)와 버심(VirSim)에 의한 시그날스캔(SIGNALSCAN)이다. 게다가, 인터페이스 등의 일례는 API(programmed application interface)이다.In FIG. 5, EDA tools such as simulation analysis / debug and waveform editor / viewer 86 are connected to a design test station (DTS) 89 via an interface. Examples of simulation analysis / debugs are Synopsys by Mentor Graphics and VCS by ModelSim. Examples of waveform editors / viewers are Cadence by Synopsis and SIGNALSCAN by VirSim. In addition, an example of an interface is an API (programmed application interface).

이벤트 기반의 테스트 시스템(82)은 VCD 파형 편집기/뷰어(87), 이벤트 파형 편집기/뷰어(88)와 DUT(device under test) 파형 편집기/뷰어(89)와 같이 파형을 편집 및 관찰하기 위하여 소프트웨어 도구들을 통합한다. 본 예에서, 편집기/뷰어 (87 및 88)는 다른 하나와 공용의 데이터베이스에 접속하고 통신하기 위하여 API 인터페이스(97)를 거쳐 EDA 도구들(85 및 86)에 연결되어 있다. 이벤트 기반의 테스트 시스템에서, 예를 들면, 어떤 이벤트가 특정한 타이밍에 삽입되거나 또는, 이벤트의 에지 타이밍(edge timing)이 이벤트 파형 편집기/뷰어(88)를 거쳐 변화될지도 모른다.Event-based test system 82 is software for editing and viewing waveforms such as VCD waveform editor / viewer 87, event waveform editor / viewer 88 and device under test waveform editor / viewer 89. Integrate the tools. In this example, editors / viewers 87 and 88 are connected to EDA tools 85 and 86 via API interface 97 to connect to and communicate with a database common to the other. In an event based test system, for example, an event may be inserted at a particular timing, or the edge timing of the event may be changed via the event waveform editor / viewer 88.

테스트 벡터들을 실행함으로서, 이벤트 기반의 테스트 시스템(82)은 테스트벤치 피드백(99)를 거쳐 EDA설계 환경 및 EDA 도구들로 피드백되는 테스트 결과 파일(83)을 제조한다. 시뮬레이션 속도가 이벤트 기반의 테스트 시스템(100MHz대)과 비교하여 많이 느리기 때문에(10KHz대), 초기 테스트벤치 및 테스트 벡터들의 타이밍이 스케일된다. 이벤트 기반의 테스트 시스템은 타이밍의 스케일링(scaling oftiming) 및 이벤트들을 편집할 수 있게 하고, 방식 및 장치는 상술된 특허 출원에 기술되어 있다.By executing the test vectors, the event based test system 82 produces a test result file 83 which is fed back to the EDA design environment and EDA tools via the testbench feedback 99. Since the simulation speed is much slower than the event based test system (at 100 MHz) (at 10 KHz), the timing of the initial test bench and test vectors is scaled. Event-based test systems enable scaling of timing and editing of events, methods and apparatus are described in the patent application described above.

결과들은 이벤트 기반의 테스트 시스템에서 조사되어지고 이벤트들은 디바이스(의도된 설계)의 부정확한 작동들이 수정되어질 때까지 이벤트 기반의 테스트 시스템(편집기/뷰어(87, 88 및 89))에서 변화/편집된다. 이벤트들에서 이러한 변화들은 새로운 테스트벤치(81)를 생성한다. 상술된 바와 같이, 이런 테스트벤치 생성 도구들(95)로 구성된 EDA 도구들, 새로운 테스트벤치 및 테스트 벡터들을 얻기 위하여, 시뮬레이션 분석 도구들(85) 및 파형 뷰어(86)는 이벤트 기반의 테스트 시스템에 연결되어 있다. 이 테스트 방법은 테스트벤치 생성 도구(95)를 지나 새로운 테스트 벡터들 및 테스트벤치로 모든 이벤트 편집들을 캡쳐할 수 있게 한다.Results are examined in an event-based test system and events are changed / edited in the event-based test system (Editors / Viewers 87, 88 and 89) until the incorrect behavior of the device (intentional design) is corrected. . These changes in the events create a new test bench 81. As described above, in order to obtain EDA tools, new testbench and test vectors composed of such testbench generation tools 95, simulation analysis tools 85 and waveform viewer 86 are added to the event-based test system. It is connected. This test method allows the capture of all event edits through the testbench generation tool 95 into new test vectors and the testbench.

본 발명의 상술된 실시예에서, 테스트벤치(58)의 결과로 얻어진 이벤트 포맷 테스트 벡터들은, 예를 들면, 시뮬레이터보다 10,000배 이상 빠르게, 이벤트 기반의 테스트 시스템에 의해 생성된다. 이것은 이벤트 클록 및 이벤트 타이밍 데이터가 선결인자(predetermined factor)에 의해 승산되어지는 이벤트 기반의 테스트 시스템의 스케일링 함수(scaling function)에 의해 행해진다. 따라서, 실리콘 프로토타입(63)이 이벤트 테스트 시스템에 연결될 때, 실리콘 프로토타입(63)이 매우 빠른 속도로 테스트되어진다. 실리콘 프로토타입(63)과 관련된 데이터가 이벤트 테스트 시스템 내에서 즉시 복사된 후, 설계 내에서 테스트 벡터들 및 그 결과의 응답 또는 변화의 수정이 빠른 속도로 이벤트 테스트 시스템 내에서 실시된다. 그 테스트 결과들과 테스트 벡터들 및 설계의 수정이 EDA 도구들(85 및 86) 및 테스트벤치(81)로 피드백된다.In the above-described embodiment of the present invention, the event format test vectors obtained as a result of the test bench 58 are generated by the event based test system, for example 10,000 times faster than the simulator. This is done by a scaling function of the event based test system in which the event clock and event timing data are multiplied by a predetermined factor. Thus, when the silicon prototype 63 is connected to the event test system, the silicon prototype 63 is tested at a very high speed. After data associated with the silicon prototype 63 is immediately copied within the event test system, modifications to the response or change of test vectors and their results within the design are quickly performed within the event test system. The test results and test vectors and modifications of the design are fed back to the EDA tools 85 and 86 and the test bench 81.

이러한 프로세스들 후에, 최종 실리콘 제작은 제품 테스트 단계(93)에서 테스트되어질 최종 IC 디바이스(92)를 제조하기 위해 단계(91)에서 행해진다. 어떤 제조 결함들을 검출하기 위해 이러한 테스트 벡터들과 새로운 테스트벤치(81)는 제조 테스트 (manufacturing test)동안 요구되거나 사용되어진다. 모든, 이 새로운 과정은 설계 엔트리에서부터 완전한 루프를 시뮬레이션과 테스트벤치 생성에 제공하며, 그러므로, 그 점에서 임의의 에러들을 정정하고 설계를 검증하도록 인가한다.After these processes, final silicon fabrication is done in step 91 to manufacture the final IC device 92 to be tested in product test step 93. These test vectors and a new test bench 81 are required or used during the manufacturing test to detect certain manufacturing defects. All this new process provides a complete loop from the design entry to the simulation and testbench generation, thus allowing for correcting any errors and validating the design at that point.

본 발명의 제1 실시예는 도 5에 관해 기술되어 있다. 제1 실시예에서, 검증프로세스는 올바른 디바이스 작동에 부합하는 테스트벤치의 생성을 포함한다. 제1 실시예에서 한가지 제약은 검증을 위하여 이벤트 기반의 테스트 시스템에 장착된 물리적 실리콘(실리콘 프로토타입(63))을 여전히 필요로 한다는 것이다. 물리적 실리콘의 필요성 때문에, 제1 실시예에서의 프로세스는 여전히 고가이다.A first embodiment of the invention is described with respect to FIG. In a first embodiment, the verification process involves the creation of a test bench that conforms to correct device operation. One constraint in the first embodiment is that the physical silicon (silicon prototype 63) still mounted in the event based test system is still required for verification. Because of the need for physical silicon, the process in the first embodiment is still expensive.

따라서, 본 발명의 제2 실시예에서, 제1 실시예에서 기본적 개념이 물리적 실리콘의 필요성을 제거함으로서 향상되어진다. 제2 실시예에서의 프로세스는 버그가 없는 유사 디바이스 모델 및 새로운 테스트벤치를 생성하기 위한 초기 설계 기술 및 그것의 시뮬레이션 테스트벤치를 사용한다. 이 디바이스 모델은 디바이스 작동에서 모든 보정들(corrections)을 포함하기 때문에 대량 제조에 이용될 수 있다. 완결된 프로세스는 도 6에 도시되어 있다.Thus, in the second embodiment of the present invention, the basic concept in the first embodiment is improved by eliminating the need for physical silicon. The process in the second embodiment uses an initial design technique and its simulation testbench to create a bug-free pseudo device model and a new testbench. This device model can be used for high volume manufacturing because it includes all corrections in device operation. The completed process is shown in FIG.

도 5 와 도 6의 큰 차이점은, 도 5에서, 프로토타입 실리콘이 초기 테스트벤치와 더불어 이벤트 기반의 테스트 시스템에 로드(load)되어진다는 점이다. 도 6에서, 한 디바이스 모델(가상 DUT)(189)이 초기 설계 및 시뮬레이션(56) 그리고 초기 테스트벤치(58) 기반 위에서 생성된다. 물리적 실리콘보다, 이 디바이스 모델(189)이 이벤트 기반의 테스트 시스템에 장착되어 있다. 본 발명의 목적을 위하여, 이 디바이스 모델(189)은 어떤 특정 시뮬레이터로부터 독립적이거나, 또는 특정 시뮬레이터에 비독립적(시뮬레이션 모델(191))일 수도 있다.The major difference between FIG. 5 and FIG. 6 is that, in FIG. 5, the prototype silicon is loaded into an event based test system along with the initial test bench. In FIG. 6, a device model (virtual DUT) 189 is created on base of initial design and simulation 56 and initial test bench 58. Rather than physical silicon, this device model 189 is mounted in an event based test system. For the purposes of the present invention, this device model 189 may be independent of any particular simulator, or may be independent of a particular simulator (simulation model 191).

프로그램된 애플리케이션 인터페이스(API)를 사용함으로서, 도 6의 인터페이스(187)와 같이, 이벤트 기반의 테스트 시스템 또한 초기 설계 동안 사용된 시뮬레이션 엔진(시뮬레이터)(190)과 연결되어 있다. 이 인터페이스(187)는 시뮬레이션 엔진(190)으로부터 테스트 벡터들의 클록 레이트 및 이벤트 타이밍 데이터가 소정의 인자에 의해 승산되어질 수 있다는 점에서 오히려 스케일링 함수를 포함하고 있다. 따라서, 테스트 벡터들은, 빠른 속도(예를 들면, 이벤트 기반의 테스트 시스템(82)에서 100MHz)로 동작되어질 수 있다.By using a programmed application interface (API), like the interface 187 of FIG. 6, an event based test system is also connected to the simulation engine (simulator) 190 used during the initial design. This interface 187 rather includes a scaling function in that the clock rate and event timing data of the test vectors from the simulation engine 190 can be multiplied by a predetermined factor. Thus, the test vectors can be operated at high speeds (eg, 100 MHz in the event based test system 82).

이 배열(arrangement)에서, 이벤트 기반의 테스트 시스템은 베릴로그/VHDL 및 그것의 모든 로직, 행동, BFM(bus functional model), ISA(명령 집합 구조) 및 애플리케이션 테스트벤치들에 기술된 설계를 가진다. 이러한 테스트벤치들은 베릴로그/VHDL에 제한되지 않는다는 것이 유의되어야 한다; 테스트벤치들이 시뮬레이터와 연결되어 있기 때문에 시스템은 C/C++에서 기술된 테스트벤치들을 작동할 수 있다. 도 5에 도시된 다양한 EDA도구들과 테스트 시스템 도구들 역시 다른 하나에 연결되어 있다.In this arrangement, the event based test system has the design described in Beryllogue / VHDL and all its logic, behavior, bus functional model (BFM), instruction set structure (ISA) and application testbenches. It should be noted that these test benches are not limited to beryllog / VHDL; Since the testbenches are connected to the simulator, the system can run the testbenches described in C / C ++. The various EDA tools and test system tools shown in FIG. 5 are also connected to the other.

디바이스 모델(초기 설계)(189) 및 그것의 테스트벤치들을 사용하므로서, 그 결과들은 이벤트 기반의 테스트 시스템(DTS)(82)에서 조사된다. 전체 환경과 결과들이 이벤트 포맷 하에 있으므로, 디바이스 작동에서 임의의 부정확한 동작은 빠르게 지적되어 진다. 이벤트 기반의 테스트 시스템은 상술된 바와 같이 이벤트들과 타임 스케일링을 편집할 수 있기 때문에, 이 부정확한 작동에 부합하는 이벤트들은 작동을 정정하기 위해 편집된다.Using the device model (initial design) 189 and its test benches, the results are examined in an event based test system (DTS) 82. Since the entire environment and results are under the event format, any incorrect behavior in device operation can be quickly pinpointed. Since an event based test system can edit events and time scaling as described above, events that conform to this incorrect operation are edited to correct the operation.

모든 부정확한 동작들이 정정될 때, 디바이스 모델은 저장되고, 새로운 테스트벤치들과 테스트 벡터들(181)이 생성된다. 테스트벤치 및 테스트 벡터 생성의 과정은 도 5 및 도 6의 기술에서와 같으며 도 6에 도시된 도해는 난잡함을 피하기 단순화 되어있다. 그러므로, 소프트웨어 인터페이스(188)는 도 5의 인터페이스(97)와 같고, EDA 도구들(85, 86) 및 이벤트 테스트 시스템 도구들(87, 88, 89)은 소프트웨어 인터페이스를 통해 연결된다. 특정 설계가 SoC에 지시된 경우, 소정의 테스트 결과 파일(184) 및 테스트벤치 파일들이 도 6에 도시된 바와 같이 SoC의 코어들에 부합하게 생성될 수 있다.When all incorrect operations are corrected, the device model is saved and new testbenches and test vectors 181 are generated. The process of testbench and test vector generation is the same as in the techniques of FIGS. 5 and 6 and the illustration shown in FIG. 6 is simplified to avoid clutter. Thus, the software interface 188 is the same as the interface 97 of FIG. 5, and the EDA tools 85, 86 and the event test system tools 87, 88, 89 are connected via a software interface. If a particular design is indicated to the SoC, certain test result files 184 and testbench files may be generated to conform to the cores of the SoC as shown in FIG.

이 저장된 디바이스 모델은 실리콘 제작을 위해 사용된다. 이미 이벤트 기반의 테스트 시스템에 대해 타당성 검사되어졌기 때문에, 더 이상의 타당성 검사를 요구하지 않는다. 임의의 제작 결함들을 조사하기 위해서, (테스트벤치 및 테스트 벡터 생성 단계 동안) 테스트 벡터들이 이용 가능한 정규 제조 테스트만을 요구한다.This stored device model is used for silicon fabrication. Since the event-based test system has already been validated, no further validation is required. In order to investigate any fabrication defects, the test vectors only require regular manufacturing tests that are available (during the testbench and test vector generation phase).

도 6의 참조로 기술된 과정은 어떤 하드웨어 프로토타입이나 설계 타당성 검사를 위한 에뮬레이션(emulation)을 요구하지 않는다. 한정된 시뮬레이션을 가진 초기 설계는 디바이스 작동에서 모든 보정들을 포함하는 새로운 디바이스를 생성하기 위해 이벤트 기반의 테스트 시스템에서 사용된다. 이 과정은 또한 제조 테스트에 필요에 부합한 새로운 테스트벤치들과 테스트 벡터들을 제공한다. 이 과정은 물리적 실리콘의 요구 없이 설계 엔트리 및 시뮬레이션으로부터 설계 타당성 검사까지 완전한 루프를 제공하고, 따라서, 기존의 방식들과 제1 실시예와 비교하여 비용 면에서 매우 효율적이다.The process described with reference to FIG. 6 does not require any hardware prototype or emulation for design validation. Initial designs with finite simulations are used in event-based test systems to create new devices that include all corrections in device operation. The process also provides new testbenches and test vectors to meet manufacturing needs. This process provides a complete loop from design entry and simulation to design validation without the need for physical silicon, and thus is very cost effective compared to existing approaches and the first embodiment.

도 7은 EDA 시뮬레이션 엔진과 이벤트 기반의 테스트 시스템간의 관계의 일례를 도시한다. 본 예에서, 시뮬레이션 엔진(시뮬레이터)(190)은 파형 변환기(210)와 API 인터페이스(212)를 포함한다. 파형 변환기(210)는 시뮬레이터에 의한 파형 관찰을 허용한다. API 인터페이스(212)는 다른 포맷들 간을 연결시키기 위해 제공된다.7 illustrates an example of a relationship between an EDA simulation engine and an event based test system. In this example, the simulation engine (simulator) 190 includes a waveform converter 210 and an API interface 212. Waveform converter 210 allows waveform observation by a simulator. API interface 212 is provided to connect between different formats.

이벤트 기반의 테스트 시스템(설계 테스트 스테이션: DTS)(82)은 VCD 컴파일러(218),이벤트 뷰어(222) 및 VCD 기록기(220)를 포함한다. VCD 컴파일러(218)는 VCD 데이터를 이벤트 기반의 테스트 시스템(82)에 의해 사용되도록 이벤트 데이터로 변환시킨다. 이벤트 뷰어(222) 및 VCD 기록기(220)는 이벤트 기반의 테스트 벡터들을 관찰하고 수정하기 위한 도 5에서 VCD 뷰어/편집기(87) 및 이벤트 편집기/뷰어(88)에 부합한다. 스케쥴러(216)는 이벤트 테스트 시스템(82)과 시뮬레이터(190) 사이의 작업들 및 통신을 운영하고 제어하기 위해 제공된다.The event-based test system (design test station: DTS) 82 includes a VCD compiler 218, an event viewer 222, and a VCD writer 220. The VCD compiler 218 converts the VCD data into event data for use by the event based test system 82. Event viewer 222 and VCD writer 220 correspond to VCD viewer / editor 87 and event editor / viewer 88 in FIG. 5 for observing and modifying event based test vectors. Scheduler 216 is provided to operate and control the tasks and communications between event test system 82 and simulator 190.

API 인터페이스(212)는 다양한 소프트웨어 도구들을 시뮬레이터 엔진(190)에서 다른 포맷들 및 이벤트 기반의 테스트 시스템(82)과 연결한다. 이벤트 기반의 테스트 시스템(DTS)(82)에서 이벤트 파형은 이벤트 뷰어(222)를 거쳐 관찰되고 편집된다. 수정된 이벤트 파형은 VCD 기록기(220)에 의해 VCD로 변환된다. 파형 변환기(210)는 VCD의 파형을 시뮬레이션 엔진(190)의 파형으로 변환시킨다.The API interface 212 connects various software tools with other formats and event-based test system 82 in the simulator engine 190. In the event-based test system (DTS) 82, the event waveform is observed and edited via the event viewer 222. The modified event waveform is converted to VCD by the VCD recorder 220. The waveform converter 210 converts the waveform of the VCD into the waveform of the simulation engine 190.

본 발명에 따르면, 설계 타당성 검사는, 이벤트 기반의 테스트 시스템을 사용한 설계 타당성 검사에 대해 전자 설계 자동화(EDA) 도구와 함께 IC 시뮬레이션 모델 및 초기 시뮬레이션 테스트벤치가 사용된 방법을 거쳐 실시된다. EDA 도구들 및 디바이스 시뮬레이터는 초기 설계 시뮬레이션 벡터들 및 테스트벤치를 실행시키고 만족할 만한 결과물을 얻을 때까지 테스트벤치 및 테스트 벡터들을 수정하기 위해 이벤트 기반의 테스트 시스템에 연결되어 있다. EDA 도구들이 이벤트 기반의 테스트 시스템과 연결되었기 때문에, 이러한 수정들이 만족할 만한 결과물들을 제공하는 최종 테스트벤치를 생성하기 위해 캡쳐된다. 따라서, IC의 설계 타당성 검사는 실리콘 프로토타입의 인 시스템(in-system) 테스트를 실시하지 않고 설계 모델을 사용함으로서 취득된다. 게다가, 복합 IC의 설계 타당성 검사는 실리콘 프로토타입을 변형하지 않고 단지 설계 모델을 사용함으로서 취득된다. 그러므로, 본 발명은 비용과 반환 시간에서 상당한 절감을 취득할 수 있다.In accordance with the present invention, design validation is performed via a method in which IC simulation models and initial simulation testbenches are used with electronic design automation (EDA) tools for design validation using event-based test systems. EDA tools and device simulators are connected to event-based test systems to run initial design simulation vectors and testbenches and modify testbenches and test vectors until satisfactory results are obtained. Because EDA tools are associated with an event-based test system, these modifications are captured to create a final testbench that provides satisfactory results. Thus, the design feasibility check of the IC is obtained by using the design model without performing in-system testing of the silicon prototype. In addition, the design validation of the composite IC is obtained by using only the design model without modifying the silicon prototype. Therefore, the present invention can achieve significant savings in cost and return time.

바람직한 실시예만이 본 명세서에 특정하게 예시되고 설명되었지만, 본 발명의 사상과 의도된 범위를 벗어나지 않으면서도 상술된 원리의 견지에서 그리고 첨부된 특허청구범위의 범주 내에서 본 발명에 대한 여러 가지 변형과 변경이 가능하다는 것은 명백하다.Although only the preferred embodiments have been specifically illustrated and described herein, various modifications to the invention can be made in light of the above-described principles and within the scope of the appended claims without departing from the spirit and intended scope of the invention. It is clear that changes are possible.

Claims (19)

전자 설계 자동화(EDA: electronic design automation) 환경 하에서 설계 프로세스가 수행되는 복합 집적 회로의 설계를 타당성 검사(validation)하는 방법에 있어서,A method of validating a design of a complex integrated circuit in which a design process is performed under an electronic design automation (EDA) environment, 상기 EDA 환경 하에서 생성된 IC 설계 데이터를 기반으로 한 프로토타입(prototype) 실리콘을 제조하는 단계;Fabricating prototype silicon based on IC design data generated under the EDA environment; 이벤트 기반의 테스트 시스템에 의하여 상기 IC 설계 데이터로부터 추출된 이벤트 기반의 테스트 벡터를 상기 프로토타입 실리콘에 적용하고, 상기 프로토타입 실리콘의 응답 출력을 평가하는 단계;Applying an event-based test vector extracted from the IC design data to the prototype silicon by an event-based test system and evaluating the response output of the prototype silicon; 상기 실리콘 프로토타입으로부터 소정의 응답 출력을 획득하기 위해, 상기 이벤트 테스트 시스템에 의해 상기 이벤트 기반의 테스트 벡터들을 수정하는 단계; 및Modifying the event based test vectors by the event test system to obtain a predetermined response output from the silicon prototype; And 상기 IC 설계 데이터를 수정하기 위해 상기 수정된 이벤트 기반의 테스트 벡터를 상기 EDA 환경으로 피드백하여, 상기 IC 설계 데이터에서 설계 에러를 정정하는 단계Feeding back the modified event-based test vector to the EDA environment to correct the IC design data, correcting a design error in the IC design data. 를 포함하는 복합 집적 회로의 설계 타당성 검사 방법.Design feasibility check method of a composite integrated circuit comprising a. 제1항에 있어서,The method of claim 1, 시뮬레이터를 포함한 EDA 도구들을 소프트웨어 인터페이스를 통한 이벤트 기반의 테스트 시스템과 연결하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.Connecting the EDA tools, including the simulator, to the event-based test system via a software interface. 제1항에 있어서,The method of claim 1, 상기 IC 설계 데이터에서 생성된 테스트벤치(testbench)를 통해서 이벤트 포맷 데이터를 추출하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.And extracting event format data through a testbench generated from the IC design data. 제3항에 있어서,The method of claim 3, 상기 이벤트 데이터를 추출하는 단계는, 상기 시뮬레이터에 의해 상기 테스트벤치를 추출하는 단계와 상기 시뮬레이터에 의해 생성된 값 변환 덤프 파일(value change dump file)로부터 이벤트 포맷 데이터를 추출하는 단계를 포함하는 복합 집적 회로의 설계 타당성 검사 방법.Extracting the event data may include extracting the test bench by the simulator and extracting event format data from a value change dump file generated by the simulator. Method of design validation of the circuit. 제3항에 있어서,The method of claim 3, 상기 이벤트 테스트 시스템에 상기 추출된 이벤트 데이터를 인스톨하는 단계, 및Installing the extracted event data in the event test system, and 상기 테스트 벡터를 상기 프로토타입 실리콘에 적용하기 위해 상기 이벤트 기반의 테스트 시스템에 의해 상기 추출된 이벤트 데이터를 이용하여 이벤트 기반의 테스트 벡터를 생성하는 단계Generating an event based test vector using the extracted event data by the event based test system to apply the test vector to the prototype silicon. 를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.Design feasibility check method for a composite integrated circuit further comprising. 제1항에 있어서,The method of claim 1, 상기 이벤트 기반의 테스트 시스템으로부터 상기 수정된 이벤트 기반의 테스트 벡터에 기반한 새로운 테스트벤치를 생성하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.And generating a new testbench based on the modified event-based test vector from the event-based test system. 제1항에 있어서,The method of claim 1, 상기 EDA 도구들은 상기 IC 설계 데이터에서 생성된 테스트벤치로부터 얻어진 파형을 관찰 및 편집하기 위한 수단을 포함하는 복합 집적 회로의 설계 타당성 검사 방법.And the EDA tools include means for observing and editing waveforms obtained from testbenches generated from the IC design data. 제1항에 있어서,The method of claim 1, 상기 이벤트 기반의 테스트 시스템은 상기 IC 설계 데이터에서 생성된 테스트벤치로부터 추출된 이벤트 기반의 테스트 벡터의 파형을 관찰 및 편집하기 위한 수단, 및 상기 프로토타입 실리콘에 적용된 상기 이벤트 기반의 테스트 벡터의 클록 레이트 및 이벤트 타이밍 데이터를 변화시키는 수단을 포함하는 복합 집적 회로의 설계 타당성 검사 방법.The event based test system includes means for observing and editing the waveform of an event based test vector extracted from a test bench generated from the IC design data, and a clock rate of the event based test vector applied to the prototype silicon. And means for varying event timing data. 설계 프로세서가 전자 설계 자동화(EDA) 하에서 실시되는 복합 집적회로(IC)의 설계 타당성 검사 방법에 있어서,In the design feasibility test method of a composite integrated circuit (IC) in which a design processor is implemented under electronic design automation (EDA), 상기 EDA 환경 하에서 생성된 IC 설계 데이터에 기반한 프로토타입 실리콘을 제조하는 단계;Fabricating prototype silicon based on IC design data generated under the EDA environment; 상기 시뮬레이터를 포함한 EDA 도구들을 상기 이벤트 기반의 테스트 시스템에 연결하는 단계;Coupling EDA tools including the simulator to the event based test system; 상기 시뮬레이터에 의해 상기 IC 설계 데이터에서 생성된 테스트벤치를 실행한 결과로 나온 데이터 파일로부터 이벤트 포맷 데이터를 추출하는 단계;Extracting event format data from a data file resulting from executing a test bench generated from the IC design data by the simulator; 상기 이벤트 테스트 시스템에 상기 추출된 이벤트 데이터를 인스톨하고, 상기 이벤트 기반의 테스트 시스템에 의해 상기 이벤트 데이터를 이용하는 이벤트 기반의 테스트 벡터를 발생시키는 단계;Installing the extracted event data in the event test system and generating an event-based test vector using the event data by the event-based test system; 상기 프로토타입 실리콘에 상기 이벤트 기반의 테스트 벡터들을 적용하고, 상기 프로토타입 실리콘의 응답 출력을 평가하는 단계;Applying the event-based test vectors to the prototype silicon and evaluating the response output of the prototype silicon; 상기 실리콘 프로토타입으로부터의 소정 응답 출력을 얻기 위하여 상기 이벤트 테스트 시스템에 의해 상기 이벤트 기반의 테스트 벡터들을 수정하는 단계; 및Modifying the event based test vectors by the event test system to obtain a predetermined response output from the silicon prototype; And 상기 설계 데이터를 수정하기 위해 상기 EDA 환경에 상기 수정된 이벤트 기반의 테스트 벡터들을 피드백하여, 상기 IC 설계 데이터에서 설계 에러들을 정정하는 단계Feeding back the modified event-based test vectors to the EDA environment to correct the design data, correcting design errors in the IC design data. 를 포함하며,Including; 상기 실리콘 프로토타입의 인 시스템을 실행하지 않고 상기 IC의 설계의 타당성 검사하는 복합 집적 회로의 설계 타당성 검사 방법.A design validation method of a composite integrated circuit for validating the design of the IC without executing the in-system of the silicon prototype. 설계 프로세스가 전자 설계 자동화(EDA) 환경 하에서 실행되는 복합 집적 회로(IC)의 설계를 타당성 검사하는 방법에 있어서,A method of validating a design of a complex integrated circuit (IC) in which the design process runs under an electronic design automation (EDA) environment, 상기 EDA 환경 하에서 생성된 IC 설계 데이터에 기반하여 설계될 IC의 디바이스 모델을 준비하는 단계;Preparing a device model of an IC to be designed based on IC design data generated under the EDA environment; 이벤트 기반의 테스트 시스템에 의해 상기 IC 설계 데이터로부터 얻어진 이벤트 기반의 테스트 벡터들을 상기 디바이스 모델에 적용하고, 상기 디바이스 모델의 응답 출력을 평가하는 단계;Applying event-based test vectors obtained from the IC design data by the event-based test system to the device model and evaluating the response output of the device model; 상기 디바이스 모델로부터 소정의 응답 출력들을 얻기 위해 상기 이벤트 테스트 시스템에 의해 상기 이벤트 기반의 테스트 벡터들을 수정하는 단계; 및Modifying the event based test vectors by the event test system to obtain certain response outputs from the device model; And 상기 IC 설계 데이터를 수정하기 위해 상기 EDA 환경에 상기 수정된 이벤트 기반의 테스트 벡터들을 피드백하여, 상기 IC 설계 데이터에서 설계 에러들을 정정하는 단계Feeding back the modified event-based test vectors to the EDA environment to correct the IC design data, correcting design errors in the IC design data. 를 포함하는 복합 집적 회로의 설계 타당성 검사 방법.Design feasibility check method of a composite integrated circuit comprising a. 제10항에 있어서,The method of claim 10, 상기 디바이스 모델은 특정 시뮬레이터에 종속하거나, 또는 임의의 시뮬레이터에 독립적인 복합 집적 회로의 설계 타당성 검사 방법.And said device model is dependent on a particular simulator or independent of any simulator. 제10항에 있어서,The method of claim 10, 시뮬레이터를 포함하는 EDA 도구들을 소프트웨어 인터페이스를 통하여 상기 이벤트 기반의 테스트 시스템과 연결하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.Connecting the EDA tools including a simulator to the event-based test system via a software interface. 제10항에 있어서,The method of claim 10, 상기 IC 설계 데이터에서 생성된 테스트벤치를 통하여 이벤트 포맷 데이터를 추출하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.And extracting event format data through a test bench generated from the IC design data. 제13항에 있어서,The method of claim 13, 상기 이벤트 포맷 데이터를 추출하는 상기 단계는, 상기 시뮬레이터에 의해 상기 테스트벤치를 실행하는 단계와, 상기 시뮬레이터에 의해 생성된 값 변환 덤프 파일로부터 상기 이벤트 포맷 데이터를 추출하는 단계를 포함하는 복합 집적 회로의 설계 타당성 검사 방법.The extracting of the event format data may include executing the test bench by the simulator and extracting the event format data from a value conversion dump file generated by the simulator. Design validation method. 제13항에 있어서,The method of claim 13, 상기 이벤트 테스트 시스템에 상기 추출된 이벤트 데이터를 인스톨하고, 상기 디바이스 모델에 상기 이벤트 기반의 테스트 벡터들을 적용하기 위하여 상기 이벤트 기반의 테스트 시스템에 의해 상기 추출된 이벤트 데이터를 이용하여 이벤트 기반의 테스트 시스템을 발생시키는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.In order to install the extracted event data in the event test system and apply the event-based test vectors to the device model, an event-based test system is used by using the extracted event data by the event-based test system. The design validation method of the composite integrated circuit further comprising the step of generating. 제10항에 있어서,The method of claim 10, 상기 이벤트 기반의 테스트 시스템으로부터 상기 수정된 이벤트 기반의 테스트 벡터를 기반으로 하여 새로운 테스트벤치를 생성하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.And generating a new testbench based on the modified event-based test vector from the event-based test system. 제10항에 있어서,The method of claim 10, 상기 EDA 도구들은 상기 IC 설계 데이터에서 생성된 상기 테스트벤치로부터 얻은 파형을 관찰 및 편집하기 위한 수단을 포함하는 복합 집적 회로의 설계 타당성 검사 방법.And the EDA tools comprise means for observing and editing waveforms obtained from the test bench generated from the IC design data. 제10항에서,In claim 10, 상기 이벤트 기반의 테스트 시스템은 상기 IC 설계 데이터에서 생성된 테스트벤치로부터 추출된 이벤트 기반의 테스트 벡터들의 파형들을 관찰 및 편집하는 수단, 및 상기 디바이스 모델에 적용된 상기 이벤트 기반의 테스트 벡터들의 클록 레이트 및 이벤트 타이밍 데이터를 변화시키는 수단을 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.The event-based test system includes means for observing and editing waveforms of event-based test vectors extracted from a testbench generated from the IC design data, and a clock rate and an event of the event-based test vectors applied to the device model. And a means for varying timing data. 설계 프로세스가 전자 설계 자동화(EDA) 환경 하에서 실행되는 복합 집적 회로(IC)의 설계를 타당성 검사하는 방법에 있어서,A method of validating a design of a complex integrated circuit (IC) in which the design process runs under an electronic design automation (EDA) environment, 상기 EDA 환경 하에서 생성된 IC 설계 데이터에 기반하여 설계될 IC의 디바이스 모델을 준비하는 단계;Preparing a device model of an IC to be designed based on IC design data generated under the EDA environment; 시뮬레이터를 포함한 EDA 도구들을 상기 이벤트 기반의 테스트 시스템에 연결시키는 단계;Coupling EDA tools including a simulator to the event based test system; 상기 시뮬레이터에 의해 상기 IC 설계 데이터에서 생성된 테스트벤치를 실행한 결과로 얻어진 데이터 파일로부터 이벤트 포맷 데이터를 추출하는 단계;Extracting event format data from a data file obtained as a result of executing a test bench generated from the IC design data by the simulator; 상기 이벤트 테스트 시스템에 상기 추출된 이벤트 데이터를 인스톨하고, 상기 이벤트 기반의 테스트 시스템에 의해 상기 이벤트 데이터를 이용하여 이벤트 기반의 테스트 벡터들을 발생시키는 단계;Installing the extracted event data in the event test system, and generating event-based test vectors using the event data by the event-based test system; 상기 이벤트 기반의 테스트 벡터를 상기 디바이스 모델에 적용하고, 상기 디바이스 모델의 응답 출력을 평가하는 단계;Applying the event-based test vector to the device model and evaluating a response output of the device model; 상기 디바이스 모델로부터 소정의 응답 출력을 얻기 위하여 상기 이벤트 테스트 시스템에 의해 상기 이벤트 기반의 테스트 벡터들을 수정하는 단계; 및Modifying the event based test vectors by the event test system to obtain a predetermined response output from the device model; And 상기 설계 데이터를 수정하기 위해 상기 EDA 도구들에 상기 수정된 이벤트 기반의 테스트 벡터들을 피드백하여, 상기 설계 데이터에서 설계 에러들을 정정하는 단계Feeding back the modified event-based test vectors to the EDA tools to correct the design data, correcting design errors in the design data. 를 포함하는 복합 집적 회로의 설계 타당성 검사 방법.Design feasibility check method of a composite integrated circuit comprising a.
KR10-2001-0060427A 2000-09-29 2001-09-28 Method for design validation of complex ic KR100463735B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US23700100P 2000-09-29 2000-09-29
US60/237,001 2000-09-29

Publications (2)

Publication Number Publication Date
KR20020025800A true KR20020025800A (en) 2002-04-04
KR100463735B1 KR100463735B1 (en) 2004-12-29

Family

ID=22891917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0060427A KR100463735B1 (en) 2000-09-29 2001-09-28 Method for design validation of complex ic

Country Status (6)

Country Link
US (1) US7089517B2 (en)
JP (1) JP4058252B2 (en)
KR (1) KR100463735B1 (en)
CN (1) CN1303668C (en)
DE (1) DE10147078A1 (en)
TW (1) TW522322B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005078584A1 (en) * 2003-12-16 2005-08-25 Logic Mill Technology, Llc Performance improvement apparatus for hardware-assisted verification using massive memory and compilation avoidance and its verification method using the same
KR100618859B1 (en) * 2004-09-03 2006-08-31 삼성전자주식회사 Method and storage media for verifying test vectors
CN111596200A (en) * 2020-05-25 2020-08-28 上海岱矽集成电路有限公司 Integrated circuit tester

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165231B2 (en) * 2000-12-18 2007-01-16 Yardstick Research, Llc Method and system for incremental behavioral validation of digital design expressed in hardware description language
US20030005396A1 (en) * 2001-06-16 2003-01-02 Chen Michael Y. Phase and generator based SOC design and/or verification
GB0121990D0 (en) * 2001-09-11 2001-10-31 Beach Solutions Ltd Emulation system & method
US7627462B2 (en) * 2001-11-27 2009-12-01 Arm Limited Hardware simulation using a test scenario manager
US7099813B2 (en) * 2002-04-09 2006-08-29 Arm Limited Simulating program instruction execution and hardware device operation
TWI261297B (en) * 2002-05-01 2006-09-01 Via Tech Inc Chip manufacturing process capable of testing efficiency in advance and its test method
US20040032412A1 (en) * 2002-08-13 2004-02-19 Odom Brian Keith Generating a graphical program based on a timing diagram
JP4776861B2 (en) * 2002-09-26 2011-09-21 ルネサスエレクトロニクス株式会社 Semiconductor device
CN100463133C (en) * 2002-10-24 2009-02-18 威盛电子股份有限公司 System, equipment and method for automatic testing IC complete device
CN1298047C (en) * 2003-02-21 2007-01-31 上海芯华微电子有限公司 Validity verification of bipolar integrated circuit design and electric network consistency comparison method
US7580037B1 (en) * 2003-09-05 2009-08-25 Altera Corporation Techniques for graphical analysis and manipulation of circuit timing requirements
JP2005128692A (en) * 2003-10-22 2005-05-19 Matsushita Electric Ind Co Ltd Simulator and simulation method
US7171428B1 (en) * 2003-12-12 2007-01-30 Emc Corporation Testing system with database-generic front end
US7225416B1 (en) * 2004-06-15 2007-05-29 Altera Corporation Methods and apparatus for automatic test component generation and inclusion into simulation testbench
JP4080464B2 (en) * 2004-07-14 2008-04-23 松下電器産業株式会社 Verification vector generation method and electronic circuit verification method using the same
US7373631B1 (en) * 2004-08-11 2008-05-13 Altera Corporation Methods of producing application-specific integrated circuit equivalents of programmable logic
JP4558405B2 (en) 2004-08-17 2010-10-06 株式会社アドバンテスト Test emulator, emulation program, and semiconductor device manufacturing method
JP4580722B2 (en) 2004-09-24 2010-11-17 株式会社アドバンテスト Test simulator and test simulation program
US7260800B1 (en) * 2004-12-10 2007-08-21 Synopsys, Inc. Method and apparatus for initial state extraction
JP4820560B2 (en) * 2005-03-07 2011-11-24 株式会社アドバンテスト Test apparatus, test method, electronic device production method, test simulator, and test simulation method
US7496464B2 (en) * 2006-03-21 2009-02-24 Mediatek Usa Inc. Validation system with flow control capability
US7386827B1 (en) * 2006-06-08 2008-06-10 Xilinx, Inc. Building a simulation environment for a design block
EP1876532A1 (en) * 2006-07-05 2008-01-09 Telefonaktiebolaget LM Ericsson (publ) A method and a system for testing software modules in a telecommunication system
WO2008109481A2 (en) 2007-03-05 2008-09-12 Intrinsity, Inc. Generating test benches for pre-silicon validation of retimed complex ic designs against a reference design
US8161496B2 (en) * 2007-07-31 2012-04-17 Microsoft Corporation Positive and negative event-based testing
US8413103B2 (en) * 2009-03-13 2013-04-02 Synopsys, Inc. Execution monitor for electronic design automation
US8543953B2 (en) * 2012-01-04 2013-09-24 Apple Inc. Automated stimulus steering during simulation of an integrated circuit design
US9195575B2 (en) * 2013-05-17 2015-11-24 Coherent Logix, Incorporated Dynamic reconfiguration of applications on a multi-processor embedded system
US20170351796A1 (en) * 2016-06-06 2017-12-07 Prateek Sikka Method for improving the runtime performance of multi-clock designs on fpga and emulation systems
US20180129758A1 (en) * 2016-11-08 2018-05-10 Prateek Sikka Method for improving runtime performance of multi-clock designs on fgpa and emulation systems using iterative pipelining
US10289779B2 (en) 2017-04-18 2019-05-14 Raytheon Company Universal verification methodology (UVM) register abstraction layer (RAL) traffic predictor
DE102017117322A1 (en) * 2017-07-31 2019-01-31 Infineon Technologies Ag Method for producing a semiconductor component by means of computer-aided design of test scenarios
US10796051B1 (en) * 2019-04-30 2020-10-06 Cadence Design Systems, Inc. Adaptive model interface for a plurality of EDA programs
CN110865936B (en) * 2019-10-31 2022-09-30 中国人民解放军战略支援部队信息工程大学 White box plug FPGA prototype verification method oriented to integrated circuit safety function
CN115803642A (en) * 2020-07-09 2023-03-14 特克特朗尼克公司 Automatically assisted circuit verification
CN113589141A (en) * 2021-07-16 2021-11-02 杭州中安电子有限公司 High-speed test vector generating device
US11733295B2 (en) * 2021-09-13 2023-08-22 International Business Machines Corporation Methods and systems for identifying flaws and bugs in integrated circuits, for example, microprocessors
CN117007947B (en) * 2023-10-07 2024-03-19 北京象帝先计算技术有限公司 Method, device, electronic equipment and storage medium for generating test vector

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371851A (en) * 1989-04-26 1994-12-06 Credence Systems Corporation Graphical data base editor
US5619512A (en) * 1993-11-08 1997-04-08 Nippondenso Co., Ltd. Integrated circuit having self-testing function
US5740086A (en) * 1996-01-11 1998-04-14 Advantest Corp. Semiconductor test system linked to cad data
US5903475A (en) * 1996-07-18 1999-05-11 Lsi Logic Corporation System simulation for testing integrated circuit models
US6066608A (en) * 1996-09-23 2000-05-23 The Procter & Gamble Company Liquid personal cleansing composition which contain a lipophilic skin moisturing agent comprised of relatively large droplets
US6006022A (en) * 1996-11-15 1999-12-21 Microsystem Synthesis, Inc. Cross-linked development and deployment apparatus and method
KR19980067783A (en) * 1997-02-12 1998-10-15 야마우치 신지 Emulation Device
US6370675B1 (en) * 1998-08-18 2002-04-09 Advantest Corp. Semiconductor integrated circuit design and evaluation system using cycle base timing
US6061283A (en) * 1998-10-23 2000-05-09 Advantest Corp. Semiconductor integrated circuit evaluation system
US6668331B1 (en) * 2000-03-24 2003-12-23 Advantest Corp. Apparatus and method for successively generating an event to establish a total delay time that is greater than can be expressed by specified data bits in an event memory
US6651204B1 (en) * 2000-06-01 2003-11-18 Advantest Corp. Modular architecture for memory testing on event based test system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005078584A1 (en) * 2003-12-16 2005-08-25 Logic Mill Technology, Llc Performance improvement apparatus for hardware-assisted verification using massive memory and compilation avoidance and its verification method using the same
KR100618859B1 (en) * 2004-09-03 2006-08-31 삼성전자주식회사 Method and storage media for verifying test vectors
CN111596200A (en) * 2020-05-25 2020-08-28 上海岱矽集成电路有限公司 Integrated circuit tester

Also Published As

Publication number Publication date
KR100463735B1 (en) 2004-12-29
JP2002215712A (en) 2002-08-02
US20020040288A1 (en) 2002-04-04
CN1303668C (en) 2007-03-07
TW522322B (en) 2003-03-01
JP4058252B2 (en) 2008-03-05
CN1347149A (en) 2002-05-01
DE10147078A1 (en) 2002-06-20
US7089517B2 (en) 2006-08-08

Similar Documents

Publication Publication Date Title
KR100463735B1 (en) Method for design validation of complex ic
KR100936855B1 (en) Manufacturing method and apparatus to avoid prototype-hold in asic/soc manufacturing
US7490307B2 (en) Automatic generating of timing constraints for the validation/signoff of test structures
Riesgo et al. Design methodologies based on hardware description languages
US6195776B1 (en) Method and system for transforming scan-based sequential circuits with multiple skewed capture events into combinational circuits for more efficient automatic test pattern generation
US7925940B2 (en) Enhancing speed of simulation of an IC design while testing scan circuitry
EP1093619B1 (en) System and method for identifying finite state machines and verifying circuit designs
US20020173942A1 (en) Method and apparatus for design validation of complex IC without using logic simulation
US7437701B1 (en) Simulation of a programming language specification of a circuit design
Sohofi et al. Assertion-based verification for system-level designs
CN116663462A (en) Assertion verification method, assertion verification platform, electronic device and readable storage medium
Abdelatty et al. Fault: Open-source EDA’s missing DFT toolchain
Shetty ASIC design flow and methodology–an overview
Kakoee et al. Enhancing the testability of RTL designs using efficiently synthesized assertions
Das et al. Implementation of a testing environment for digital IP cores
US20030126570A1 (en) Systems and methods for realizing integrated circuits
Geppert Design tools for analog and digital ICs
Bombieri et al. A TLM Design for Verification Methodology
Oliveira et al. Development of an 8-bit microcontroller using system-on-a-chip methodology
Chang et al. Overview of the SOC Design Process
Bhatnagar Asic Design Methodology
Das et al. Altera Max Plus II Development Environment in Fault Simulation and Test Implementation of Embedded: Cores-Based Sequential Circuits
Hekmatpour et al. An Integrated Methodology for SoC Design, Verification, and Application Development
Deo Automated test data development for semi-custom ICs: An ideal approach to fast development
KR20050118107A (en) Dynamic-verification-based verification apparatus achieving high verification performance and verification efficiency, and the verification methodology using the same

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee