KR20020025800A - 복합 ic의 설계 타당성 검사용 방법 - Google Patents

복합 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
English (en)
Other versions
KR100463735B1 (ko
Inventor
야모또히로아끼
라주스맨로취트
Original Assignee
가부시키가이샤 어드밴티스트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 어드밴티스트 filed Critical 가부시키가이샤 어드밴티스트
Publication of KR20020025800A publication Critical patent/KR20020025800A/ko
Application granted granted Critical
Publication of KR100463735B1 publication Critical patent/KR100463735B1/ko

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

빠른 속도와 낮은 비용으로 전자 설계 자동화(EDA: electronic design automation) 도구들과 설계 테스트 스테이션(design test station)의 조합을 사용한 복합 IC(complex IC)의 설계 타당성 검사(design validation)를 위한 방법이 개시된다. EDA 도구들 및 디바이스 시뮬레이터는 이벤트(event) 기반의 테스트 시스템에 연결되어 최초의 설계 시뮬레이션 벡터들과 테스트벤치(testbench)를 실행하고, 만족할 만한 결과를 얻을 때까지 테스트벤치와 이벤트 기반의 테스트 벡터들(event based test vectors)에서 수정을 한다. EDA 도구들이 이벤트 기반의 테스트 시스템과 연결되어 있기 때문에, 이러한 수정들이 캡쳐되어 만족할 만한 결과를 제공하는 최종 테스트벤치를 생성한다.

Description

복합 IC의 설계 타당성 검사용 방법{METHOD FOR DESIGN VALIDATION OF COMPLEX IC}
본 발명은 복합 IC의 설계 타당성 검사(design validation)를 위한 방법에 관한 것으로서, 보다 상세히는, 전자 설계 자동화(EDA: electronic design automation) 도구들과 이벤트 기반의 테스트 시스템의 조합의 사용하에 빠른 속도와 저비용으로 시스템 온 칩 등의 복합 IC의 설계를 평가하고 타당성 검사를 하는 방법에 관한 것이다.
현재, VLSI 설계는 베릴로그(Verilog) 또는 VHDL 과 같은 고급 언어(high-level language)를 사용한 블록과 서브 블록으로 기술되고, 행동(behavioral), 게이트 레벨 베릴로그/ VHDL 시뮬레이터에 의해 시뮬레이트(simulate)된다. 이러한시뮬레이션은 설계가 실리콘 IC로 제작되기 전에 기능성(functionality)과 성능(performance)을 체크하는 것을 목적으로 한다.
완전한 기능적인 검증(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 참조)
이러한 복합 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)을 포함한다.
설계 타당성 검사는 상술한 SoC(10)의 설계와 같은 임의의 시스템 설계 프로젝트에서 가장 중요한 작업 중 하나이다(R. Rajsuman, "System-on-a-Chip: Design and Test" 참조). 설계 타당성 검사는 시스템이 하도록 예정된 작업을 하는지를 확립하는 것이다. 본질적으로, 설계 타당성 검사는 시스템 동작의 신뢰성을 제공한다. 타당성 검사의 목적은 제품이 예정되어진 대로 작동하는 것(제품이 예정되어진 대로 작동하는지를 조사하는 것)을 증명하는 것이다. 복합 IC의 설계 타당성 검사는 기능 및 타이밍 성능을 포함하는 하드웨어 동작의 타당성 검사로 고려될 수 있다. 오늘날의 기술에서, 이는 광범위한 행동, 로직 및 타이밍 시뮬레이션; 및/또는 에뮬레이션(emulation); 및/또는 하드웨어 프로토타입에 의해 얻어진다.
IC 설계의 초기 단계에서, 명세사항 개발 및 RTL 코딩(coding)과 더불어, 행동 모델이 개발되고, 그 결과 시스템 시뮬레이션을 위한 테스트벤치가 생성될 수 있다. 초기 단계에서는, 통상적으로 시간 RTL 및 기능적 모델들(functional model)을 특정함으로서 테스트 지침(test suite) 및 테스트 케이스(test case)의 좋은 집합들을 개발하는 것을 목적으로 한다. 효율적인 타당성 검사는 EDA 도구 및 시뮬레이션 환경, 다양한 모델의 추상 레벨, 및 테스트벤치의 완전성 및 실험의 질에 의존한다.
도 2는 상이한 추상 레벨에서 복합 IC 설계를 도시하며, 각 레벨에서 어떤 형태의 검증 방법론이 현재 사용되고 있는지 보여준다. 도 2는 가장 높은 추상 레벨에서 가장 낮은 추상 레벨순으로, 행동 HDL 레벨(41), RTL(레지스터 변환언어(register transfer language)) 레벨(43), 게이트(gate) 레벨(45) 및 물리 설계 레벨(46)을 도시한다. 각 상이한 추상 레벨에 대응하는 검증 방법이 도 2의 블록(48)에 열거되어 있다.
설계 타당성 검사 방침(strategy)은 설계 계층(design hierarchy)을 따른다. 먼저 리프 레벨 블록(leaf level block)들의 정확성을 독립적으로 조사한다. 이 블록들의 기능 조사 후, 블록들 간의 인터페이스들의 정확성을 데이터 내용 및 트랜젝션(transaction) 형태의 관점에서 조사한다. 다음 단계는 애플리케이션 소프트웨어 또는 동등한 테스트벤치를 풀 칩 모델(full-chip model) 상에서 동작시키는 것이다. 소프트웨어의 애플리케이션은 소프트웨어의 런타임(runtime) 실행에 의해서만 검증될 수 있기 때문에, 하드웨어 소프트웨어 코시뮬레이션(co-simulation)이 요구된다. 코시뮬레이션은 행동 C/C++ 모델을 사용하거나 또는 인스트럭션 집합 구조(ISA: instruction set architecture) 레벨, 버스 기능 모델(BFM: bus functional model) 레벨에서 행하여질 수 있다.
상이 레벨에서 시뮬레이션 속도의 개략적인 비교가 도 3에 도시되어 있다. 현재, 늦은 코시뮬레이션의 속도 때문에, 에뮬레이션 및/또는 하드웨어 프로토타입이 사용된다. 에뮬레이션은 매우 비싸지만(통상적으로, 에뮬레이션 시스템의 가격은 수 백만 달러정도이다), 에뮬레이션 속도가 코시뮬레이션 속도보다 훨씬 빠르다. 에뮬레이션은 실제적 시스템 속도의 1/100에 근접한다(대략적으로 1,000,000 cycle/sec). FDGA(filed programmable gate array) 또는 ASIC(application specific integrated circuit) 기반의 하드웨어 프로토타입은 실제적 시스템 속도의 1/10에 달하는 빠른 시뮬레이션 속도를 제공하지만, FPGA 또는 ASIC의 제조를 요구하기 때문에 에뮬레이션보다 훨씬 비싸다.
실리콘을 최초의 시도에서 완전히 기능적(functional)으로 만들려고 하는 기술자들의 최선의 노력에도 불구하고, 불과 80% 정도의 설계들만이 웨이퍼 레벨(wafer level)에서 테스트될 때 올바르게 동작하고, 처음 시스템에 설치되었을 때는 절반 이상이 올바르게 동작하지 않는다. 근본적인 이유는 충분한 양의 실제 애플리케이션 동작(real application run)을 가지고 시스템 레벨 테스트를 할 수 없다는 데 있다. 현재의 기술에서 설계 타당성 검사를 행하는 유일한 수단은 FPGA 또는 ASIC를 이용한 실리콘 프로토타입에 의한 것이다.
오늘날 제품 개발 사이클의 일례가 도 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), 즉 이벤트 포맷의 데이터이다.
도 4에 도시된 바와 같이, 설계가 너무 클 때, 실리콘 프로토타입을 생성하고 최종 시스템에서 디버깅(debugging)하는 것은 장시간의 검증 및 코시뮬레이션을 감안하면 오늘날 실용적이고 가능한 유일한 방법이다. 이러한 실리콘 프로토타입 제작, 검증 및 버그 수정 프로세스들은 도 4의 음영부분에 도시되어 있다. 이 프로세스에서, 스테이지(61)의 제조는 실리콘 프로토타입(63)을 얻기 위해서 행하여진다. 얻어진 실리콘 프로토타입(63)은 스테이지(62)에서 에러가 있는지 검사되고, 에러는 디버그 및 검증 테스트(65)에서 디버그 되어진다.
오늘날, 이러한 테스트는 사이클 기반의 테스트 시스템(cycle based test system)인 IC 테스트기를 사용하여 수행되며, 상기 테스트 시스템은 사이클 포맷의 테스트 패턴 데이터에 기반한 테스트 벡터를 생성시키기 위한 구조를 가진다. 사이클 기반의 테스트 시스템(ATE system)은 EDA 환경에서 제조된 테스트벤치(58) 또는 VCD 파일(59)을 직접적으로 이용할 수 없기 때문에, 오늘날 IC 테스트기에 의한 이러한 검증은 불완전하고 부정확한 결과를 가진다. 이벤트 포맷 데이터를 EDA 환경에서 사이클 기반의 테스트 시스템을 위해 사이클 포맷 테스트 패턴 데이터로 변환시키는 것은 시간이 많이 소요되는 일이다.
실리콘 프로토타입(63)이 의도된 시스템의 부분으로서 테스트되어질 경우에 실리콘 프로토타입(63)은 인 시스템(in-system) 테스트(67)를 거쳐서 한층 더 타당성 검사된다. 특정한 설계가 셀룰러 폰(cellular phone)에 장착된 칩이라고 가정하면, 칩을 표현하는 실리콘 프로토타입이 휴대폰 기판 위에 장착될 것이고 휴대폰의 의도된 기능과 성능에 기초하여 테스트된다. 인 시스템 타당성 검사동안, 에러와 에러의 원인은 검출될 것이고 설계 버그는 스테이지(69)에서 수정될 것이다.이러한 인 시스템 테스트는 설계된 실리콘 프로토타입 및 실리콘 프로토타입을 실행시키는 애플리케이션 소프트웨어를 가진 시스템 모두를 요구하기 때문에 비쌀 뿐만 아니라 또한 시간이 많이 걸린다.
도 4의 음영부분(60)에 도시된 실리콘 검증 및 인 시스템 테스트 동안, 설계 에러는 검출되고 이러한 에러의 원인이 판정되며 설계 에러는 설계 기술자들 및 테스트 기술자들 간의 반복적인 작업을 통해 정정된다. 최종 설계(71)에 도달하면, 최종 설계를 위한 로직/시간 시뮬레이션(73)이 새로운 테스트벤치(75)를 사용함으로서 실시된다. 그때, 설계는 실리콘(79)으로 제작될 것이고 제품 테스트가 실리콘(79)에 대해 실행된다.
실리콘 프로토타입에 대한 상술한 프로세스에서, 처음 몇 개의 버그들에 대하여 새로운 실리콘을 실행시키지 않고 앞에서와 동일한 실리콘이 사용될 수 있다. 그러나, 실리콘 프로토타입이 값비싼 작업이기 때문에 실리콘 프로토타입을 사용할 때를 결정하는 것은 중요한 결정이다. 다음의 요소들이 실리콘 프로토타입제작에서 고려되어지는 것들이다.:
(1) 검증 및 코시뮬레이션에서 버그 레이트(rate) 감소시키는 것. 기본적인 버그들이 제거되는 경우, 다른 버그들을 검출하기 위해 장시간의 애플리케이션 실행이 요구되어질 것이다. 코시뮬레이션 및 에뮬레이션은 장시간 동안 애플리케이션을 실행시키지 못할 수도 있다.
(2) 버그 검출의 어려움. 만약 버그 검출이 버그를 수정하는 시간보다 훨씬 많은 시간이 소모된다면, 그때 실리콘 프로토타입은 매우 유용하다. 왜냐하면 실리콘 프로토타입이 버그를 빨리 찾도록 도울 것이기 때문이다.
(3) 버그 검출의 비용(수작업(manual effort), 출시 시간(time-to-market)). 만약 코시뮬레이션 또는 에뮬레이션에서 버그를 검출하는 것이 매우 비싸다면, 그때는 실리콘 프로토타입 제작이 필요하게 된다.
소규모의 설계용으로는, FDGA/LPGA(field programmable gate-array/laser programmable gate-array) 프로토타입이 적합하다. FPGA가 LPGA보다 빠른 속도와 높은 게이트 카운트(gate count)를 제공하는 반면, LPGA는 버그 수정들(fixes)이 재테스트될 수 있도록 재프로그램능력(re-programmability)을 부여한다. FPGA 및 LPGA 모두 ASIC의 게이트 카운트 용량 및 속도에는 모자란다. 따라서 그것들은 보다 작은 블록들에 적합하고, 대형의 복합 IC에는 적합하지 않다.
몇 개의 FPGA를 사용하여 대형 복합 칩의 프로토타입을 제작할 수 있는데, 이때 각각의 FPGA는 칩의 일부를 구성한다. 이 경우에, 버그 수정이 칩의 재분할(re-partitioning)을 요구한다면, FPGA들간의 상호연결은 변화를 요구할지도 모르고, 따라서 수정이 복잡할 수도 있다. 이 문제의 부분적인 해결책은 FPGA들을 상호연결하기 위해서 소비자 프로그램가능 경로 설정 칩(custom programmable routing chip)을 추가하는 것이다. 프로그램가능 경로 선택 칩을 사용하는 경우, 만약 상호연결이 바뀐다면, 새로운 경로 선택은 소프트웨어 제어 하에서 행하여질 수 있다.
프로토타입 설계 흐름에서, 시스템 행동의 연구 후에, 시뮬레이트된 HDL(베릴로그/VHDL) 및/또는 C-프로그램 기술(description)이 동시 합성(co-synthesis)에서 사용된다. 코시뮬레이션과 유사하게, 동시 합성은 하드웨어와 소프트웨어의 동시 개발을 의미한다. 동시 합성의 목적은 실제 아키텍쳐상에서 실행시킬 C 코드(C-code) 및 하드웨어를 제조하는 것이다. 통상적으로, 이 단계는 시스템을, 하드웨어를 구현할 ASIC의 집합 및 소프트웨어를 시행시키는 프로세서를 포함한 하드웨어-소프트웨어 플랫폼(platform)에 맵핑(mapping)하는 것으로 구성된다. 최종 프로토타입은 하드웨어 구성요소들을 생성하기 위한 경로 선택 (routing), 배치(placement) 및 로직 합성(logic synthesis)을 사용함으로서, 그리고 소프트웨어 부분들의 C 코드를 사용함으로서 생성된다. 합성 도구는 HDL 기술/모델을 프로토타입으로서 ASICs 및 FPGAs에 맵핑되는 게이트 레벨 넷리스트(netlist)로 변환시킨다.
상술한 종래 기술에서 설계 타당성 검사 방법은 비용 면에서 매우 비싸거나(예컨대, 실리콘 프로토타입을 사용한 방법) 속도 면에서 매우 느리다(예컨대, 코시뮬레이션을 사용한 방법). 오늘날 설계 타당성 검사 방법은 EDA 환경과 테스트 환경 사이에서 다른 포맷을 수반하고, 따라서 높은 효율과 높은 정확도로 설계 타당성 검사를 수행할 수 없다. 게다가, 오늘날 설계 타당성 검사 방법은 상술된 바와 같이 의도된 시스템에서 설계를 실행시키기 위한 하드웨어 및 소프트웨어를 포함하는 인 시스템 테스트를 요구하고, 테스트 환경과 설계 환경 사이에 상당한 피드백 및 상호작용을 필요로 하므로, 결과적으로 처리시간이 길어진다.
따라서, 본 발명의 목적은, 상술한 시스템보다 매우 효율적이고 저렴하며 근본적으로 다른 복합 IC의 설계 타당성 검사 방법을 제공하려는 것이다.
본 발명의 다른 목적은, 전자 설계 자동화(EDA) 도구들과 이벤트 기반의 테스트 시스템의 조합을 이용하여 높은 속도 및 정확도로 복합 IC의 설계를 타당성 검사 및 평가하는 방법을 제공하려는 것이다.
본 발명의 또다른 목적은 설계 엔트리에서부터 시뮬레이션 및 테스트벤치 생성까지 완전한 루프(loop)를 이루어, 설계를 검증하고 설계 에러를 정정할 수 있는 복합 IC의 설계 타당성 검사에 관한 방법을 제공하는 것이다.
본 발명의 제1 특성에 있어서, 복합 IC의 설계를 타당성 검사하는 방법은 EDA 환경에서 생성된 IC 설계 데이터에 기초하여 프로토타입 실리콘을 만드는 단계; IC 설계 데이터에서 얻어진 테스트 벡터를 이벤트 기반의 테스트 시스템에 의한 프로토타입 실리콘에 인가하고 프로토타입 실리콘의 응답 출력을 평가하는 단계; 실리콘 프로토타입으로부터 바람직한 응답 출력을 얻도록 이벤트 테스트 시스템으로 테스트 벡터들을 수정하는 단계; 및 수정된 테스트 벡터를 EDA 환경으로 피드백하여 IC 설계 데이터를 수정하고 IC 설계 데이터에서 설계 에러를 정정하는 단계를 포함한다.
본 발명의 방법은, 시뮬레이터를 포함하는 EDA 도구들을 소프트웨어 인터페이스를 통해 이벤트 기반의 테스트 시스템과 연결하는 단계 및 IC 설계 데이터에서 생성된 테스트벤치를 통해 이벤트 포맷 데이터를 추출하는 단계를 더 포함한다. 이벤트 기반의 데이터를 추출하는 단계는 시뮬레이터로 테스트벤치를 실행하고, 시뮬레이터에 의해 생성된 값 변화 덤프 파일(value change dump file)로부터 이벤트포맷 데이터를 추출하는 단계를 더 포함한다.
본 발명의 방법은, 추출된 이벤트 데이터를 이벤트 테스트 시스템에 인스톨하고 이벤트 기반의 테스트 시스템에 의해 추출된 이벤트 데이터를 사용하여 테스트 벡터를 생성하고 프로토타입 실리콘에 테스트 벡터를 인가하는 단계, 및 이벤트 기반의 테스트 시스템으로부터 수정된 테스트 벡터에 기초하여 새로운 테스트벤치를 생성하는 단계를 더 포함한다.
EDA 도구들은 IC 설계 데이터에서 생성된 테스트벤치에서 얻은 파형을 관찰 및 편집하는 수단을 포함한다. 이벤트 기반의 테스트 시스템은 IC 설계 데이터에서 생성된 테스트벤치로부터 추출된 테스트 벡터에서 파형을 관찰 및 편집하는 수단 및 프로토타입 실리콘에 적용된 테스트 벡터의 이벤트 타이밍 데이터와 클록 레이트를 변화시키는 수단을 포함한다.
본 발명의 제2 특성에 있어서, 복합 IC의 설계를 타당성 검사하는 방법은 실리콘 프로토타입보다 디바이스 모델(device model)을 이용했다. 본 방법은, EDA 환경 하에서 생성된 IC 설계 데이터에 기초하여 설계할 IC의 디바이스 모델을 준비하는 단계, IC 설계 데이터로부터 얻어진 테스트 벡터들을 이벤트 기반의 테스트 시스템으로 디바이스 모델에 인가하고 디바이스 모델의 응답 출력을 평가하는 단계, 디바이스 모델로부터 바람직한 응답 출력을 취득하기 위해 이벤트 테스트 시스템으로 테스트 벡터들을 수정하는 단계, 수정된 테스트 벡터를 EDA 환경으로 피드백하여 IC 설계 데이터를 수정하고, IC 설계 데이터에서 설계 에러를 정정하는 단계들을 포함한다.
본 발명에 따르면, 설계 타당성 검사는, IC 시뮬레이션 모델 및 최초의 시뮬레이션 테스트벤치가 전자 설계 자동화(EDA) 도구들과 함께 사용되는 방법을 통해 실시되어 이벤트 기반의 테스트 시스템을 사용한 설계 검증이 이루어진다. 이러한 목적을 위해, EDA 도구들 및 디바이스 시뮬레이터는 이벤트 기반의 테스트 시스템과 연결되어 최초의 설계 시뮬레이션 벡터들 및 테스트 벡터벤치를 실행하고 만족할 만한 결과가 얻어질 때까지 테스트벤치 및 테스트 벡터를 수정한다.
EDA 도구들이 이벤트 기반의 테스트 시스템과 연결되어 있기 때문에, 이러한 수정들은 만족할 만한 결과를 제공하는 최종 테스트벤치를 생성하도록 캡쳐된다.
따라서, 복합 IC의 설계 타당성 검사 타당성 검사는 실리콘 프로토타입을 사용하는 대신에 설계 모델을 사용하여 달성된다. 또한, 복합 IC의 설계 타당성 검사 타당성 검사는 비용과 처리시간을 상당히 단축할 수 있다.
도 1은 설계 타당성 검사를 위한 시스템 온 칩(system-on-a chip) IC와 같은 복합 IC에서의 구조의 일례를 도시하는 개략도.
도 2는 EDA 환경 하의 설계 절차에 관련된 설계 계층(hierarchy)에 대응되는 타당성 검사 계층(validation hierarchy)의 일례를 도시하는 개략도.
도 3은 복합 IC에 관한 설계 프로세스에 관련된 시뮬레이션 속도와 다양한 추출 레벨들간의 관계를 도시하는 개략도.
도 4는 종래 기술 하에서 설계 타당성 검사 프로세서를 포함하는 복합 IC의 제품 개발 프로세스를 도시하는 흐름도.
도 5는 본 발명의 제1 실시예에서 복합 IC에 대한 설계 타당성 검사 방법을 도시하는 개략도.
도 6은 본 발명의 제2 실시예에서 복합 IC에 대한 설계 타당성 검사 방법을 도시하는 개략도.
도 7은 도 5와 도 6의 실시예에서 EDA 도구와 이벤트 기반의 테스트 시스템간의 관계의 일례를 도시하는 개략도.
<도면의 주요 부분에 대한 부호의 설명>
82 : 이벤트 기반의 테스트 시스템(설계 테스트 시스템)
85 : 시뮬레이션 분석/디버그
86 : 파형 편집기/뷰어
87 : VCD 파형 편집기/뷰어
88 : 이벤트 파형 편집기/뷰어
89 : DUT 파형 편집기/뷰어
95 ; 테스트벤치(testbench) 생성 도구
97 : API 인터페이스
99 : 테스트벤치 피드백
본 발명의 양수인의 선행출원으로서, 이벤트 기반의 테스트 시스템은 미국 특허 출원 제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)"에 기술되어 있다. 이러한 특허 출원은 모두 본 명세서에서 참고로 하고 있다.
본 발명의 발명자들은 이벤트 기반의 테스트 시스템을 사용한 IC설계 타당성 검사 방법을 위한 개념을 제공한다. 보다 구체적으로, 제1 실시예에서는, 실리콘 프로토타입을 이용한 설계 타당성 검사에 관해 기술되어 있으며, 제2 실시예에서는, 실리콘 프로토타입을 사용하지 않은 방법이 기술된다. 본 발명의 두 가지 방법은 현재의 어떤 방법과 비교해도 보다 빠르며 저렴하다.
본 발명은 이벤트 기반의 테스트 시스템(DTS: design test station)을 사용한 설계 타당성 검사에 관해 EDA 도구들과 함께 IC 시뮬레이션 모델 및 초기 시뮬레이션 테스트벤치가 사용되는 것을 제안한다. 이 목적을 위하여, EDA도구들 및 디바이스 시뮬레이터가 최초 설계 시뮬레이션 벡터들과 테스트벤치를 평가하고 만족할 만한 결과를 얻을 때까지 테스트벤치와 테스트 벡터들 안에서 수정하기 위해 이벤트 기반의 테스트 시스템에 연결되어 있다. EDA도구들이 이벤트 기반의 테스트 시스템과 연결되어 있기 때문에, 이러한 수정들은 만족할 만한 최종 테스트벤치를 생성하도록 캡쳐되어 있다. 다양하게 수정된 테스트 벡터들이 프로토타입 실리콘이나 설계 모델에 적용되어질 수 있기 때문에 완전한 설계 타당성 검사는 도 4에서 도시된 인 시스템 없이도 취득될 수 있다.
본 발명의 제1 실시예에서의 완전한 검증 프로세스는 도 5에 도시되어 있다. IC의 모든 기능적 검증을 위해, 설계 시뮬레이션(초기 테스트벤치(58))동안 개발된 IC 레벨 기능적 벡터들은 이벤트 기반의 테스트 시스템(82)에서 실행되어 진다. 이러한 벡터들 또한 이벤트 포맷(format)에 속한다. 빈번히 이러한 이벤트 포맷테스트 벡터들은 IC(설계)의 베릴로그/VHDL 모델이나 행동(behavioral) 모델에서 동작하는 소프트웨어 애플리케이션 의해 생성된다. 이러한 벡터들은 동시에 또는 비동시에 IC의 다른 부분들을 동작시키는 반면, IC의 모든 행동은 조합된 응답에 의해 결정된다.
통상적으로, 이 단계 후에, 실리콘 칩(실리콘 프로토타입)(63)은 도 4 및 도 5에 도시된 바와 같이 제작되어진다. 이 칩이 한번 사용 가능하게 된 이후에, 이벤트 기반의 테스트 시스템에 설치되고 초기 테스트벤치의 설계 시뮬레이션 벡터들이 칩의 작동을 검증하기 위해 실행된다. 결과들은 이벤트 기반의 테스트 시스템에서 조사되고, 이벤트들은 IC(의도된 설계)의 부정확한 작동들이 수정될 때까지, 변화/편집된다. 이벤트들에서 이러한 변화들은 새로운 테스트벤치와 테스트 벡터들을 생성하기 위해 피드백된다. 이러한 프로세스 후, 최종 실리콘 제조가 최종 디바이스들을 제조하도록 행하여진다.
보다 구체적으로, 도 5의 예에서, 설계 테스트 스테이션(DTS)(82)은 VCD(value change dump) 파일(59)로부터 얻어진 이벤트 데이터를 기반으로 제조된 테스트 벡터들을 사용하여 실리콘 프로토타입(63)의 기능을 테스트하기 위해 제공된 이벤트 기반의 테스트 시스템이다. VCD 파일(59)은 초기 테스트벤치(58)를 사용하여 초기 설계(54)에서 설계 검증(55)과 시뮬레이션(56)을 실행함으로서 제조된다. 테스트벤치(58)가 이벤트 포맷에서 생성되고 그 결과의 VCD 파일(59) 또한 이벤트 포맷에 속하며, VCD 파일내의 데이터는 설계를 테스트하기 위하여 이벤트 기반의 테스트 시스템(82)에서 직접 사용될 수 있다.
도 5에서 시뮬레이션 분석/디버그 및 파형 편집기/뷰어(viewer)(86) 등의 EDA 도구들은 인터페이스를 거쳐 설계 테스트 스테이션(DTS)(89)과 연결되어 있다. 시뮬레이션 분석/디버그의 일례가 멘터 그래픽스(Mentor Graphics)에 의한 시놉시스(Synopsys)와 모델심(ModelSim)에 의한 VCS이다. 파형 편집기/뷰어의 일례는 시놉시스에 의한 케이든스(Cadence)와 버심(VirSim)에 의한 시그날스캔(SIGNALSCAN)이다. 게다가, 인터페이스 등의 일례는 API(programmed application interface)이다.
이벤트 기반의 테스트 시스템(82)은 VCD 파형 편집기/뷰어(87), 이벤트 파형 편집기/뷰어(88)와 DUT(device under test) 파형 편집기/뷰어(89)와 같이 파형을 편집 및 관찰하기 위하여 소프트웨어 도구들을 통합한다. 본 예에서, 편집기/뷰어 (87 및 88)는 다른 하나와 공용의 데이터베이스에 접속하고 통신하기 위하여 API 인터페이스(97)를 거쳐 EDA 도구들(85 및 86)에 연결되어 있다. 이벤트 기반의 테스트 시스템에서, 예를 들면, 어떤 이벤트가 특정한 타이밍에 삽입되거나 또는, 이벤트의 에지 타이밍(edge timing)이 이벤트 파형 편집기/뷰어(88)를 거쳐 변화될지도 모른다.
테스트 벡터들을 실행함으로서, 이벤트 기반의 테스트 시스템(82)은 테스트벤치 피드백(99)를 거쳐 EDA설계 환경 및 EDA 도구들로 피드백되는 테스트 결과 파일(83)을 제조한다. 시뮬레이션 속도가 이벤트 기반의 테스트 시스템(100MHz대)과 비교하여 많이 느리기 때문에(10KHz대), 초기 테스트벤치 및 테스트 벡터들의 타이밍이 스케일된다. 이벤트 기반의 테스트 시스템은 타이밍의 스케일링(scaling oftiming) 및 이벤트들을 편집할 수 있게 하고, 방식 및 장치는 상술된 특허 출원에 기술되어 있다.
결과들은 이벤트 기반의 테스트 시스템에서 조사되어지고 이벤트들은 디바이스(의도된 설계)의 부정확한 작동들이 수정되어질 때까지 이벤트 기반의 테스트 시스템(편집기/뷰어(87, 88 및 89))에서 변화/편집된다. 이벤트들에서 이러한 변화들은 새로운 테스트벤치(81)를 생성한다. 상술된 바와 같이, 이런 테스트벤치 생성 도구들(95)로 구성된 EDA 도구들, 새로운 테스트벤치 및 테스트 벡터들을 얻기 위하여, 시뮬레이션 분석 도구들(85) 및 파형 뷰어(86)는 이벤트 기반의 테스트 시스템에 연결되어 있다. 이 테스트 방법은 테스트벤치 생성 도구(95)를 지나 새로운 테스트 벡터들 및 테스트벤치로 모든 이벤트 편집들을 캡쳐할 수 있게 한다.
본 발명의 상술된 실시예에서, 테스트벤치(58)의 결과로 얻어진 이벤트 포맷 테스트 벡터들은, 예를 들면, 시뮬레이터보다 10,000배 이상 빠르게, 이벤트 기반의 테스트 시스템에 의해 생성된다. 이것은 이벤트 클록 및 이벤트 타이밍 데이터가 선결인자(predetermined factor)에 의해 승산되어지는 이벤트 기반의 테스트 시스템의 스케일링 함수(scaling function)에 의해 행해진다. 따라서, 실리콘 프로토타입(63)이 이벤트 테스트 시스템에 연결될 때, 실리콘 프로토타입(63)이 매우 빠른 속도로 테스트되어진다. 실리콘 프로토타입(63)과 관련된 데이터가 이벤트 테스트 시스템 내에서 즉시 복사된 후, 설계 내에서 테스트 벡터들 및 그 결과의 응답 또는 변화의 수정이 빠른 속도로 이벤트 테스트 시스템 내에서 실시된다. 그 테스트 결과들과 테스트 벡터들 및 설계의 수정이 EDA 도구들(85 및 86) 및 테스트벤치(81)로 피드백된다.
이러한 프로세스들 후에, 최종 실리콘 제작은 제품 테스트 단계(93)에서 테스트되어질 최종 IC 디바이스(92)를 제조하기 위해 단계(91)에서 행해진다. 어떤 제조 결함들을 검출하기 위해 이러한 테스트 벡터들과 새로운 테스트벤치(81)는 제조 테스트 (manufacturing test)동안 요구되거나 사용되어진다. 모든, 이 새로운 과정은 설계 엔트리에서부터 완전한 루프를 시뮬레이션과 테스트벤치 생성에 제공하며, 그러므로, 그 점에서 임의의 에러들을 정정하고 설계를 검증하도록 인가한다.
본 발명의 제1 실시예는 도 5에 관해 기술되어 있다. 제1 실시예에서, 검증프로세스는 올바른 디바이스 작동에 부합하는 테스트벤치의 생성을 포함한다. 제1 실시예에서 한가지 제약은 검증을 위하여 이벤트 기반의 테스트 시스템에 장착된 물리적 실리콘(실리콘 프로토타입(63))을 여전히 필요로 한다는 것이다. 물리적 실리콘의 필요성 때문에, 제1 실시예에서의 프로세스는 여전히 고가이다.
따라서, 본 발명의 제2 실시예에서, 제1 실시예에서 기본적 개념이 물리적 실리콘의 필요성을 제거함으로서 향상되어진다. 제2 실시예에서의 프로세스는 버그가 없는 유사 디바이스 모델 및 새로운 테스트벤치를 생성하기 위한 초기 설계 기술 및 그것의 시뮬레이션 테스트벤치를 사용한다. 이 디바이스 모델은 디바이스 작동에서 모든 보정들(corrections)을 포함하기 때문에 대량 제조에 이용될 수 있다. 완결된 프로세스는 도 6에 도시되어 있다.
도 5 와 도 6의 큰 차이점은, 도 5에서, 프로토타입 실리콘이 초기 테스트벤치와 더불어 이벤트 기반의 테스트 시스템에 로드(load)되어진다는 점이다. 도 6에서, 한 디바이스 모델(가상 DUT)(189)이 초기 설계 및 시뮬레이션(56) 그리고 초기 테스트벤치(58) 기반 위에서 생성된다. 물리적 실리콘보다, 이 디바이스 모델(189)이 이벤트 기반의 테스트 시스템에 장착되어 있다. 본 발명의 목적을 위하여, 이 디바이스 모델(189)은 어떤 특정 시뮬레이터로부터 독립적이거나, 또는 특정 시뮬레이터에 비독립적(시뮬레이션 모델(191))일 수도 있다.
프로그램된 애플리케이션 인터페이스(API)를 사용함으로서, 도 6의 인터페이스(187)와 같이, 이벤트 기반의 테스트 시스템 또한 초기 설계 동안 사용된 시뮬레이션 엔진(시뮬레이터)(190)과 연결되어 있다. 이 인터페이스(187)는 시뮬레이션 엔진(190)으로부터 테스트 벡터들의 클록 레이트 및 이벤트 타이밍 데이터가 소정의 인자에 의해 승산되어질 수 있다는 점에서 오히려 스케일링 함수를 포함하고 있다. 따라서, 테스트 벡터들은, 빠른 속도(예를 들면, 이벤트 기반의 테스트 시스템(82)에서 100MHz)로 동작되어질 수 있다.
이 배열(arrangement)에서, 이벤트 기반의 테스트 시스템은 베릴로그/VHDL 및 그것의 모든 로직, 행동, BFM(bus functional model), ISA(명령 집합 구조) 및 애플리케이션 테스트벤치들에 기술된 설계를 가진다. 이러한 테스트벤치들은 베릴로그/VHDL에 제한되지 않는다는 것이 유의되어야 한다; 테스트벤치들이 시뮬레이터와 연결되어 있기 때문에 시스템은 C/C++에서 기술된 테스트벤치들을 작동할 수 있다. 도 5에 도시된 다양한 EDA도구들과 테스트 시스템 도구들 역시 다른 하나에 연결되어 있다.
디바이스 모델(초기 설계)(189) 및 그것의 테스트벤치들을 사용하므로서, 그 결과들은 이벤트 기반의 테스트 시스템(DTS)(82)에서 조사된다. 전체 환경과 결과들이 이벤트 포맷 하에 있으므로, 디바이스 작동에서 임의의 부정확한 동작은 빠르게 지적되어 진다. 이벤트 기반의 테스트 시스템은 상술된 바와 같이 이벤트들과 타임 스케일링을 편집할 수 있기 때문에, 이 부정확한 작동에 부합하는 이벤트들은 작동을 정정하기 위해 편집된다.
모든 부정확한 동작들이 정정될 때, 디바이스 모델은 저장되고, 새로운 테스트벤치들과 테스트 벡터들(181)이 생성된다. 테스트벤치 및 테스트 벡터 생성의 과정은 도 5 및 도 6의 기술에서와 같으며 도 6에 도시된 도해는 난잡함을 피하기 단순화 되어있다. 그러므로, 소프트웨어 인터페이스(188)는 도 5의 인터페이스(97)와 같고, EDA 도구들(85, 86) 및 이벤트 테스트 시스템 도구들(87, 88, 89)은 소프트웨어 인터페이스를 통해 연결된다. 특정 설계가 SoC에 지시된 경우, 소정의 테스트 결과 파일(184) 및 테스트벤치 파일들이 도 6에 도시된 바와 같이 SoC의 코어들에 부합하게 생성될 수 있다.
이 저장된 디바이스 모델은 실리콘 제작을 위해 사용된다. 이미 이벤트 기반의 테스트 시스템에 대해 타당성 검사되어졌기 때문에, 더 이상의 타당성 검사를 요구하지 않는다. 임의의 제작 결함들을 조사하기 위해서, (테스트벤치 및 테스트 벡터 생성 단계 동안) 테스트 벡터들이 이용 가능한 정규 제조 테스트만을 요구한다.
도 6의 참조로 기술된 과정은 어떤 하드웨어 프로토타입이나 설계 타당성 검사를 위한 에뮬레이션(emulation)을 요구하지 않는다. 한정된 시뮬레이션을 가진 초기 설계는 디바이스 작동에서 모든 보정들을 포함하는 새로운 디바이스를 생성하기 위해 이벤트 기반의 테스트 시스템에서 사용된다. 이 과정은 또한 제조 테스트에 필요에 부합한 새로운 테스트벤치들과 테스트 벡터들을 제공한다. 이 과정은 물리적 실리콘의 요구 없이 설계 엔트리 및 시뮬레이션으로부터 설계 타당성 검사까지 완전한 루프를 제공하고, 따라서, 기존의 방식들과 제1 실시예와 비교하여 비용 면에서 매우 효율적이다.
도 7은 EDA 시뮬레이션 엔진과 이벤트 기반의 테스트 시스템간의 관계의 일례를 도시한다. 본 예에서, 시뮬레이션 엔진(시뮬레이터)(190)은 파형 변환기(210)와 API 인터페이스(212)를 포함한다. 파형 변환기(210)는 시뮬레이터에 의한 파형 관찰을 허용한다. API 인터페이스(212)는 다른 포맷들 간을 연결시키기 위해 제공된다.
이벤트 기반의 테스트 시스템(설계 테스트 스테이션: DTS)(82)은 VCD 컴파일러(218),이벤트 뷰어(222) 및 VCD 기록기(220)를 포함한다. VCD 컴파일러(218)는 VCD 데이터를 이벤트 기반의 테스트 시스템(82)에 의해 사용되도록 이벤트 데이터로 변환시킨다. 이벤트 뷰어(222) 및 VCD 기록기(220)는 이벤트 기반의 테스트 벡터들을 관찰하고 수정하기 위한 도 5에서 VCD 뷰어/편집기(87) 및 이벤트 편집기/뷰어(88)에 부합한다. 스케쥴러(216)는 이벤트 테스트 시스템(82)과 시뮬레이터(190) 사이의 작업들 및 통신을 운영하고 제어하기 위해 제공된다.
API 인터페이스(212)는 다양한 소프트웨어 도구들을 시뮬레이터 엔진(190)에서 다른 포맷들 및 이벤트 기반의 테스트 시스템(82)과 연결한다. 이벤트 기반의 테스트 시스템(DTS)(82)에서 이벤트 파형은 이벤트 뷰어(222)를 거쳐 관찰되고 편집된다. 수정된 이벤트 파형은 VCD 기록기(220)에 의해 VCD로 변환된다. 파형 변환기(210)는 VCD의 파형을 시뮬레이션 엔진(190)의 파형으로 변환시킨다.
본 발명에 따르면, 설계 타당성 검사는, 이벤트 기반의 테스트 시스템을 사용한 설계 타당성 검사에 대해 전자 설계 자동화(EDA) 도구와 함께 IC 시뮬레이션 모델 및 초기 시뮬레이션 테스트벤치가 사용된 방법을 거쳐 실시된다. EDA 도구들 및 디바이스 시뮬레이터는 초기 설계 시뮬레이션 벡터들 및 테스트벤치를 실행시키고 만족할 만한 결과물을 얻을 때까지 테스트벤치 및 테스트 벡터들을 수정하기 위해 이벤트 기반의 테스트 시스템에 연결되어 있다. EDA 도구들이 이벤트 기반의 테스트 시스템과 연결되었기 때문에, 이러한 수정들이 만족할 만한 결과물들을 제공하는 최종 테스트벤치를 생성하기 위해 캡쳐된다. 따라서, IC의 설계 타당성 검사는 실리콘 프로토타입의 인 시스템(in-system) 테스트를 실시하지 않고 설계 모델을 사용함으로서 취득된다. 게다가, 복합 IC의 설계 타당성 검사는 실리콘 프로토타입을 변형하지 않고 단지 설계 모델을 사용함으로서 취득된다. 그러므로, 본 발명은 비용과 반환 시간에서 상당한 절감을 취득할 수 있다.
바람직한 실시예만이 본 명세서에 특정하게 예시되고 설명되었지만, 본 발명의 사상과 의도된 범위를 벗어나지 않으면서도 상술된 원리의 견지에서 그리고 첨부된 특허청구범위의 범주 내에서 본 발명에 대한 여러 가지 변형과 변경이 가능하다는 것은 명백하다.

Claims (19)

  1. 전자 설계 자동화(EDA: electronic design automation) 환경 하에서 설계 프로세스가 수행되는 복합 집적 회로의 설계를 타당성 검사(validation)하는 방법에 있어서,
    상기 EDA 환경 하에서 생성된 IC 설계 데이터를 기반으로 한 프로토타입(prototype) 실리콘을 제조하는 단계;
    이벤트 기반의 테스트 시스템에 의하여 상기 IC 설계 데이터로부터 추출된 이벤트 기반의 테스트 벡터를 상기 프로토타입 실리콘에 적용하고, 상기 프로토타입 실리콘의 응답 출력을 평가하는 단계;
    상기 실리콘 프로토타입으로부터 소정의 응답 출력을 획득하기 위해, 상기 이벤트 테스트 시스템에 의해 상기 이벤트 기반의 테스트 벡터들을 수정하는 단계; 및
    상기 IC 설계 데이터를 수정하기 위해 상기 수정된 이벤트 기반의 테스트 벡터를 상기 EDA 환경으로 피드백하여, 상기 IC 설계 데이터에서 설계 에러를 정정하는 단계
    를 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  2. 제1항에 있어서,
    시뮬레이터를 포함한 EDA 도구들을 소프트웨어 인터페이스를 통한 이벤트 기반의 테스트 시스템과 연결하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  3. 제1항에 있어서,
    상기 IC 설계 데이터에서 생성된 테스트벤치(testbench)를 통해서 이벤트 포맷 데이터를 추출하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  4. 제3항에 있어서,
    상기 이벤트 데이터를 추출하는 단계는, 상기 시뮬레이터에 의해 상기 테스트벤치를 추출하는 단계와 상기 시뮬레이터에 의해 생성된 값 변환 덤프 파일(value change dump file)로부터 이벤트 포맷 데이터를 추출하는 단계를 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  5. 제3항에 있어서,
    상기 이벤트 테스트 시스템에 상기 추출된 이벤트 데이터를 인스톨하는 단계, 및
    상기 테스트 벡터를 상기 프로토타입 실리콘에 적용하기 위해 상기 이벤트 기반의 테스트 시스템에 의해 상기 추출된 이벤트 데이터를 이용하여 이벤트 기반의 테스트 벡터를 생성하는 단계
    를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  6. 제1항에 있어서,
    상기 이벤트 기반의 테스트 시스템으로부터 상기 수정된 이벤트 기반의 테스트 벡터에 기반한 새로운 테스트벤치를 생성하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  7. 제1항에 있어서,
    상기 EDA 도구들은 상기 IC 설계 데이터에서 생성된 테스트벤치로부터 얻어진 파형을 관찰 및 편집하기 위한 수단을 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  8. 제1항에 있어서,
    상기 이벤트 기반의 테스트 시스템은 상기 IC 설계 데이터에서 생성된 테스트벤치로부터 추출된 이벤트 기반의 테스트 벡터의 파형을 관찰 및 편집하기 위한 수단, 및 상기 프로토타입 실리콘에 적용된 상기 이벤트 기반의 테스트 벡터의 클록 레이트 및 이벤트 타이밍 데이터를 변화시키는 수단을 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  9. 설계 프로세서가 전자 설계 자동화(EDA) 하에서 실시되는 복합 집적회로(IC)의 설계 타당성 검사 방법에 있어서,
    상기 EDA 환경 하에서 생성된 IC 설계 데이터에 기반한 프로토타입 실리콘을 제조하는 단계;
    상기 시뮬레이터를 포함한 EDA 도구들을 상기 이벤트 기반의 테스트 시스템에 연결하는 단계;
    상기 시뮬레이터에 의해 상기 IC 설계 데이터에서 생성된 테스트벤치를 실행한 결과로 나온 데이터 파일로부터 이벤트 포맷 데이터를 추출하는 단계;
    상기 이벤트 테스트 시스템에 상기 추출된 이벤트 데이터를 인스톨하고, 상기 이벤트 기반의 테스트 시스템에 의해 상기 이벤트 데이터를 이용하는 이벤트 기반의 테스트 벡터를 발생시키는 단계;
    상기 프로토타입 실리콘에 상기 이벤트 기반의 테스트 벡터들을 적용하고, 상기 프로토타입 실리콘의 응답 출력을 평가하는 단계;
    상기 실리콘 프로토타입으로부터의 소정 응답 출력을 얻기 위하여 상기 이벤트 테스트 시스템에 의해 상기 이벤트 기반의 테스트 벡터들을 수정하는 단계; 및
    상기 설계 데이터를 수정하기 위해 상기 EDA 환경에 상기 수정된 이벤트 기반의 테스트 벡터들을 피드백하여, 상기 IC 설계 데이터에서 설계 에러들을 정정하는 단계
    를 포함하며,
    상기 실리콘 프로토타입의 인 시스템을 실행하지 않고 상기 IC의 설계의 타당성 검사하는 복합 집적 회로의 설계 타당성 검사 방법.
  10. 설계 프로세스가 전자 설계 자동화(EDA) 환경 하에서 실행되는 복합 집적 회로(IC)의 설계를 타당성 검사하는 방법에 있어서,
    상기 EDA 환경 하에서 생성된 IC 설계 데이터에 기반하여 설계될 IC의 디바이스 모델을 준비하는 단계;
    이벤트 기반의 테스트 시스템에 의해 상기 IC 설계 데이터로부터 얻어진 이벤트 기반의 테스트 벡터들을 상기 디바이스 모델에 적용하고, 상기 디바이스 모델의 응답 출력을 평가하는 단계;
    상기 디바이스 모델로부터 소정의 응답 출력들을 얻기 위해 상기 이벤트 테스트 시스템에 의해 상기 이벤트 기반의 테스트 벡터들을 수정하는 단계; 및
    상기 IC 설계 데이터를 수정하기 위해 상기 EDA 환경에 상기 수정된 이벤트 기반의 테스트 벡터들을 피드백하여, 상기 IC 설계 데이터에서 설계 에러들을 정정하는 단계
    를 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  11. 제10항에 있어서,
    상기 디바이스 모델은 특정 시뮬레이터에 종속하거나, 또는 임의의 시뮬레이터에 독립적인 복합 집적 회로의 설계 타당성 검사 방법.
  12. 제10항에 있어서,
    시뮬레이터를 포함하는 EDA 도구들을 소프트웨어 인터페이스를 통하여 상기 이벤트 기반의 테스트 시스템과 연결하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  13. 제10항에 있어서,
    상기 IC 설계 데이터에서 생성된 테스트벤치를 통하여 이벤트 포맷 데이터를 추출하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  14. 제13항에 있어서,
    상기 이벤트 포맷 데이터를 추출하는 상기 단계는, 상기 시뮬레이터에 의해 상기 테스트벤치를 실행하는 단계와, 상기 시뮬레이터에 의해 생성된 값 변환 덤프 파일로부터 상기 이벤트 포맷 데이터를 추출하는 단계를 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  15. 제13항에 있어서,
    상기 이벤트 테스트 시스템에 상기 추출된 이벤트 데이터를 인스톨하고, 상기 디바이스 모델에 상기 이벤트 기반의 테스트 벡터들을 적용하기 위하여 상기 이벤트 기반의 테스트 시스템에 의해 상기 추출된 이벤트 데이터를 이용하여 이벤트 기반의 테스트 시스템을 발생시키는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  16. 제10항에 있어서,
    상기 이벤트 기반의 테스트 시스템으로부터 상기 수정된 이벤트 기반의 테스트 벡터를 기반으로 하여 새로운 테스트벤치를 생성하는 단계를 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  17. 제10항에 있어서,
    상기 EDA 도구들은 상기 IC 설계 데이터에서 생성된 상기 테스트벤치로부터 얻은 파형을 관찰 및 편집하기 위한 수단을 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  18. 제10항에서,
    상기 이벤트 기반의 테스트 시스템은 상기 IC 설계 데이터에서 생성된 테스트벤치로부터 추출된 이벤트 기반의 테스트 벡터들의 파형들을 관찰 및 편집하는 수단, 및 상기 디바이스 모델에 적용된 상기 이벤트 기반의 테스트 벡터들의 클록 레이트 및 이벤트 타이밍 데이터를 변화시키는 수단을 더 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
  19. 설계 프로세스가 전자 설계 자동화(EDA) 환경 하에서 실행되는 복합 집적 회로(IC)의 설계를 타당성 검사하는 방법에 있어서,
    상기 EDA 환경 하에서 생성된 IC 설계 데이터에 기반하여 설계될 IC의 디바이스 모델을 준비하는 단계;
    시뮬레이터를 포함한 EDA 도구들을 상기 이벤트 기반의 테스트 시스템에 연결시키는 단계;
    상기 시뮬레이터에 의해 상기 IC 설계 데이터에서 생성된 테스트벤치를 실행한 결과로 얻어진 데이터 파일로부터 이벤트 포맷 데이터를 추출하는 단계;
    상기 이벤트 테스트 시스템에 상기 추출된 이벤트 데이터를 인스톨하고, 상기 이벤트 기반의 테스트 시스템에 의해 상기 이벤트 데이터를 이용하여 이벤트 기반의 테스트 벡터들을 발생시키는 단계;
    상기 이벤트 기반의 테스트 벡터를 상기 디바이스 모델에 적용하고, 상기 디바이스 모델의 응답 출력을 평가하는 단계;
    상기 디바이스 모델로부터 소정의 응답 출력을 얻기 위하여 상기 이벤트 테스트 시스템에 의해 상기 이벤트 기반의 테스트 벡터들을 수정하는 단계; 및
    상기 설계 데이터를 수정하기 위해 상기 EDA 도구들에 상기 수정된 이벤트 기반의 테스트 벡터들을 피드백하여, 상기 설계 데이터에서 설계 에러들을 정정하는 단계
    를 포함하는 복합 집적 회로의 설계 타당성 검사 방법.
KR10-2001-0060427A 2000-09-29 2001-09-28 복합 ic의 설계 검증 방법 KR100463735B1 (ko)

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 (ko) 2002-04-04
KR100463735B1 KR100463735B1 (ko) 2004-12-29

Family

ID=22891917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0060427A KR100463735B1 (ko) 2000-09-29 2001-09-28 복합 ic의 설계 검증 방법

Country Status (6)

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

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 (ko) * 2004-09-03 2006-08-31 삼성전자주식회사 테스트 벡터 검증 방법 및 이 기능을 실현하는 기록 매체
CN111596200A (zh) * 2020-05-25 2020-08-28 上海岱矽集成电路有限公司 一种集成电路测试仪

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 (ja) * 2002-09-26 2011-09-21 ルネサスエレクトロニクス株式会社 半導体装置
CN100463133C (zh) * 2002-10-24 2009-02-18 威盛电子股份有限公司 自动化集成电路整机测试系统、装置及其方法
CN1298047C (zh) * 2003-02-21 2007-01-31 上海芯华微电子有限公司 双极型集成电路设计的有效验证和电网络一致性比较方法
US7580037B1 (en) * 2003-09-05 2009-08-25 Altera Corporation Techniques for graphical analysis and manipulation of circuit timing requirements
JP2005128692A (ja) * 2003-10-22 2005-05-19 Matsushita Electric Ind Co Ltd シミュレータ及びシミュレーション方法
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 (ja) * 2004-07-14 2008-04-23 松下電器産業株式会社 検証ベクタ生成方法およびこれを用いた電子回路の検証方法
US7373631B1 (en) * 2004-08-11 2008-05-13 Altera Corporation Methods of producing application-specific integrated circuit equivalents of programmable logic
JP4558405B2 (ja) 2004-08-17 2010-10-06 株式会社アドバンテスト 試験エミュレータ、エミュレーションプログラム、及び半導体デバイス製造方法
JP4580722B2 (ja) 2004-09-24 2010-11-17 株式会社アドバンテスト 試験シミュレータ及び試験シミュレーションプログラム
US7260800B1 (en) * 2004-12-10 2007-08-21 Synopsys, Inc. Method and apparatus for initial state extraction
JP4820560B2 (ja) * 2005-03-07 2011-11-24 株式会社アドバンテスト 試験装置、試験方法、電子デバイスの生産方法、試験シミュレータ、及び試験シミュレーション方法
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 (de) * 2017-07-31 2019-01-31 Infineon Technologies Ag Verfahren zur Herstellung eines Halbleiterbauelementes mittels computergestütztem Entwurf von Testszenarien
US10796051B1 (en) * 2019-04-30 2020-10-06 Cadence Design Systems, Inc. Adaptive model interface for a plurality of EDA programs
CN110865936B (zh) * 2019-10-31 2022-09-30 中国人民解放军战略支援部队信息工程大学 一种面向集成电路安全功能的白盒插桩fpga原型验证方法
CN115803642A (zh) * 2020-07-09 2023-03-14 特克特朗尼克公司 自动协助电路验证
CN113589141A (zh) * 2021-07-16 2021-11-02 杭州中安电子有限公司 一种高速测试向量发生装置
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 (zh) * 2023-10-07 2024-03-19 北京象帝先计算技术有限公司 生成测试向量的方法、装置、电子设备及存储介质

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 (ko) * 1997-02-12 1998-10-15 야마우치 신지 에뮬레이션장치
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 (ko) * 2004-09-03 2006-08-31 삼성전자주식회사 테스트 벡터 검증 방법 및 이 기능을 실현하는 기록 매체
CN111596200A (zh) * 2020-05-25 2020-08-28 上海岱矽集成电路有限公司 一种集成电路测试仪

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100463735B1 (ko) 복합 ic의 설계 검증 방법
KR100936855B1 (ko) Asic/soc 제조시에 프로토타입-홀드를 방지하기위한 제조 방법 및 장치
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 (zh) 断言验证方法、断言验证平台、电子设备及可读存储介质
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 (ko) 검증 성능과 검증 효율성을 높이는 동적검증 기법 방식의검증 장치 및 이를 이용한 검증 방법론

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