CN1347149A - 复合集成电路的设计验证方法 - Google Patents
复合集成电路的设计验证方法 Download PDFInfo
- Publication number
- CN1347149A CN1347149A CN01136071A CN01136071A CN1347149A CN 1347149 A CN1347149 A CN 1347149A CN 01136071 A CN01136071 A CN 01136071A CN 01136071 A CN01136071 A CN 01136071A CN 1347149 A CN1347149 A CN 1347149A
- Authority
- CN
- China
- Prior art keywords
- design
- integrated circuit
- incident
- test
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318314—Tools, e.g. program interfaces, test suite, test bench, simulation hardware, test compiler, test program languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (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)工具和设计测试站的组合体、高速和低成本地验证复合集成电路的设计的方法。EDA工具和器件模拟器与基于事件的测试系统连接,以便执行原始设计模拟向量和测试台并对测试台和基于事件的测试向量进行修改,一直到得到满意的结果为止。由于EDA工具与基于事件的测试系统连接,因此这些修改被捕获,从而产生提供满意结果的最终测试台。
Description
发明领域
本发明涉及一种复合集成电路的设计验证方法,更具体地说,本发明涉及一种利用电子设计自动化(EDA)工具和基于事件的测试系统(event based test system)的组合体,高速和低成本地评估及验证复合(complex)集成电路例如芯片上系统的设计的方法。
背景技术
目前,利用高级语言例如Verilog或VHDL以块或子块的形式来描述VLSI设计,并且利用行为门级(gate-level)Verilog/VHDL模拟器来进行模拟。这种模拟的目的是为了在将设计制作成硅集成电路之前,检查其功能和特性。
设计验证是复合集成电路设计中最重要和困难的任务之一,这是因为没有充分的功能检验,就不能发现和消除设计上的错误。同时,在产品开发的周期中设计验证是绝对必需的。由于目前设计的模拟速度低而尺寸较大,因此利用目前的工具和方法学几乎不可能完成芯片级的设计验证任务(M.Keating and P. Bricaud,“Reusemethodology manual for system-on-a-chip design”,Kluwer AcademicPublishers,0-7923-8175-0,1998;R.Rajsuman,“System-on-a-Chip:Designand Test”,Artech House Publishers Inc.,ISBN 1-58053-107-5,2000).
这种复合集成电路的一个例子是芯片上系统(SoC),该集成电路是通过将多个独立VLSI设计(多个芯)接合在一起以便为应用提供全面的功能性而设计的一种集成电路。图1示出了SoC10的一个普通结构的例子,其包括嵌入式存储器12、微处理器芯14和三个专用芯16、18及20、PLL(锁相环)22和TAP(测试入口)24。在该例中,芯片级I/O是在SoC10外周的I/O焊盘框架26上形成的芯片I/O焊盘28。每个芯12、14、16、18和20都包括一个焊盘框架29,而焊盘框架29在其顶部金属层具有电源焊盘的外周上通常包括多个I/O焊盘。
设计验证是任何系统设计项目例如以上提到的SoC10设计中最重要的任务之一(R.Rajsuman,“System-on-a-Chip:Design and Test”)。设计验证意指证实系统做了其想要做的事。它实质上提供了对系统操作的信任。验证的目的是为了证实产品确实如预想的那样工作(探究其是否如预想的那样工作)。复合集成电路的设计验证可被认为是对硬件操作的验证,其包括功能性和定时性能。在目前的技术中,可利用扩充行为逻辑及定时模拟;和/或模仿;和/或硬件原型来获得该验证。
在集成电路设计以及特殊开发和RTL编码的早期阶段,开发行为模型以便为系统模拟建立测试台。在早期阶段,其目的通常是为了开发一个好的测试序列组,并且确定时间RTL和功能模型的测试事件(cases)。有效的验证取决于测试质量和测试台的完整性、各种模型的抽象级、EDA工具和模拟环境。
图2示出了不同抽象级的复合集成电路设计以及今天在每一级(level)所用的验证方法学类型。从最高到最低抽象级,图2示出了特性HDL级41、RTL(寄存器传递语言)级43、门级45和物理设计级46。图2的方框48中列出了对应于这些不同抽象级的验证方法。
设计验证战略追随设计级别。首先,以独立的方式检查叶级块的正确性。这些块的功能性检查之后,利用交易类型和数据内容检查块与块之间的接口的正确性。下一步骤是在全芯片模型上运行应用软件或等效测试台。由于软件的应用只能通过软件在运行时间被执行来验证,因此需要软件一硬件共模拟。可在指令集结构(ISA)级、总线功能模型(BFM)级或利用行为C/C++模型来进行共模拟。
不同级的模拟速度的近似比较如图3所示。由于共模拟速度较慢,因此目前使用模拟和/或硬件原型。虽然模拟相当昂贵(通常,模拟系统的花费在一百万美元的数量级上),但是模拟速度比共模拟速度要快得多。模拟可接近实际系统速度(大约为1,000,000周期/秒)的1/100。基于FPGA(现场可编程门阵列)或ASIC(专用集成电路)的硬件原型可提供更快的模拟速度,甚至高达实际系统速度的1/10,但是它比模拟更昂贵,这是因为其需要制作FPGA或ASIC。
尽管由工程师进行最佳尝试来得到第一硅全函数(silicon fullfunctional),但是当在晶片级进行测试时只有大约80%的设计工作正确,而且当第一次置于系统中时有超过半数的错误。其主要原因是缺乏具有足量的实际应用运行的系统级测试。目前的技术中可实施该测试的唯一方式是通过利用FPGA或ASIC的硅原型。
目前的产品开发周期的一个例子如图4所示。在阶段51,设计者研究待设计的复合集成电路的需求。根据阶段51的需求,设计者在阶段52确定集成电路的规范。在阶段53的设计入口过程中,利用高级语言例如Verilog/VHDL以块或子块的形式来描述集成电路。在阶段54,通过设计验证55和逻辑/定时模拟56并利用初始测试台58,可进行初始设计评估。实施逻辑模拟的结果是,将建立输入/输出数据文件或VCD(值变更转储)文件59。VCD文件59中的数据是对应于时间长度或延迟即事件格式中的数据的输入和输出事件表。
如图4所示,当设计太大时,建立硅原型并在最后系统中对其进行调试是目前唯一有效的方法,它在与扩充验证和共模拟进行比较时是可行的。在图4的阴影面积60中示出了该硅原型制造、验证和缺陷(bug)定位过程。在该过程中,在阶段61,进行制作以得到硅原型63。在阶段62检查所制得的硅原型63是否有任何错误,并且在调试和验证测试65中消除这些错误。
今天,可利用集成电路测试器来完成该测试,而所述测试器是一种基于循环的测试系统,该系统具有用于根据循环格式中的测试图形数据产生测试向量的结构。由于基于循环的测试系统不能直接利用在EDA环境下所产生的测试台58或VCD文件59,因此由今天的集成电路测试器所进行的验证会产生不完全和不正确的结果。而且将来自EDA环境的事件格式数据转换成用于基于循环的测试系统的循环格式测试图形数据还需要耗费时间。
硅原型63还可通过系统内测试67进行验证,其中硅原型63被当成预定系统的一部分来进行测试。猜想,某一特定的设计是将被安装到蜂窝电话上的芯片,代表芯片的硅原型将安装到蜂窝电话板上并根据蜂窝电话的预定功能和性质进行测试。在系统内验证过程中,将检测错误和发生错误的原因并在阶段69定位设计缺陷。由于该系统内测试需要所设计的芯片的硅原型和具有运行该硅原型的应用软件的系统,因此它不仅花费高而且还耗费时间。
在图4的阴影面积60中的硅验证和系统内测试过程中,发现设计错误并确定产生这些错误的原因,通过设计工程师与测试工程师之间的反复相互配合来校正设计错误。随后将达到最终设计71并利用新的测试台75对最终设计71进行逻辑/定时模拟73。然后在硅79上制作该设计并对硅79实施产品测试77。
在硅原型的前述过程中,相同的硅可用于最初几个缺陷,而无新的硅运行。然而,决定何时用硅原型是一个重要的决定,因为采用硅原型是一种昂贵的主张。在硅原型中要考虑以下因素:
(1)递减验证和共模拟中的缺陷率。当基本缺陷消除时,需要扩展应用运行来发现其它缺陷。扩展时间内共模拟和模拟不能运行应用。
(2)难以发现缺陷。如果发现缺陷所花费的很少时间比定位这些缺陷的时间还要多,那么硅原型是非常有用的,因为它将有助于快速发现缺陷。
(3)发现缺陷的成本(人力、时间一市场)。如果发现共模拟或模拟中的缺陷的成本相当高,那么硅原型就是必需的。
对于较小的设计,FPGA/LPGA(现场可编程门阵列/激光可编程门阵列)原型是合适的。LPGA可重新编程,以便重新测试缺陷定位,同时FPGA比LPGA所提供的速度和门计数都要高。FPGA和LPGA缺乏门计数容量和ASIC的速度,因此它们对于较小的块是有益的,而对于较大的复式芯片是不合适的。
几个FPGA可用于建立一个较大的复合芯片原型,而每个FPGA都执行一部分芯片。在这种情况下,如果缺陷定位要求重新分配芯片,那么需要改变FPGA之间的互连,因此修改可能是复杂的。该难题的部分解决方案是将定制的可编程选择路由(routing)芯片加到互连的FPGA中。有了可编程路由芯片,如果互连改变,则在软件控制下可实施新的路由选择。
在原型设计流程中,研究系统行为之后,被模拟的HDL(Verilog/VHDL)和/或C-程序描述可用于共合成中。类似于共模拟,共合成意指同时开发软件和硬件。共合成的目的是为了产生在实际结构中实施的C-码和硬件。通常,该步骤包括将系统映射在软硬件平台上,而平台包括用于执行软件的一处理器和实现硬件的一系列ASIC。通过利用软件部分的C-码并利用逻辑合成、布置和路由选择来创立硬件部分而产生最终的原型。合成工具将HDL描述/模型转换成作为原型被映射到FPGA或ASIC上的门级网。
以上所述的常规技术中的设计验证方法成本相当高(例如利用硅原型的方法),或速度相当慢(例如利用共模拟的方法)。今天的设计验证方法包括EDA环境与测试器环境之间的不同格式,并因此不能高效和准确地完成设计验证。而且,正如以上所提到的,今天的设计验证方法要求系统内测试,而该测试涉及软硬件以在预定系统内运行设计,并且需要明显的反馈和测试环境与设计环境之间的交互作用,从而导致较长的周转时间。
发明概述
因此,本发明的一个目的是提供一种复合集成电路的设计验证方法,该方法非常有效、成本低并且与以前描述的任何系统都根本不同。
本发明的另一目的是提供一种利用电子设计自动化(EDA)工具和基于事件的测试系统的组合体,高速并准确地评估和验证复合集成电路的设计的方法。
本发明的又一目的是提供一种复合集成电路的设计验证方法,该方法获得从设计入口到模拟和测试台生成的整个环路,借此实现验证设计和校正任何设计错误。
在本发明的第一方面,复合集成电路的验证设计方法包括以下步骤:根据在EDA环境下产生的集成电路设计数据建立原型硅;通过基于事件的测试系统将由集成电路设计数据衍生的测试向量施加到原型硅上,并评估原型硅的响应输出;通过事件测试系统修改测试向量以便从硅原型获得所需的响应输出;以及将所修改的测试向量反馈给EDA环境,以便修改集成电路设计数据,借此校正集成电路设计数据中的设计错误。
该方法还包括通过软件接口使包括模拟器的EDA工具与基于事件的测试系统连接的步骤,以及通过在集成电路设计数据中产生的测试台抽取事件格式数据的步骤。抽取事件格式数据的步骤还包括由模拟器实施测试台并从由模拟器产生的值改变转储文件中抽取事件格式数据的步骤。
该方法还包括以下步骤:将所抽取的事件数据安装到事件测试系统中并利用所抽取的事件数据由基于事件的测试系统产生测试向量,从而将测试向量施加到原型硅上;在来自基于事件的测试系统的修改测试向量基础上建立新的测试台的步骤。
EDA工具包括用于观察和编辑由集成电路设计数据建立的测试台衍生的波形的装置。基于事件的测试系统包括用于观察和编辑从集成电路设计数据建立的测试台中抽取的测试向量波形的装置,以及用于改变施加到原型硅上的测试向量的时钟速率和事件定时数据的装置。
在本发明的第二方面,复合集成电路的验证设计方法使用了器件模型,而不是硅原型。该方法包括以下步骤:根据EDA环境下产生的集成电路设计数据制备待设计的集成电路器件模型;通过基于事件的测试系统将由集成电路设计数据衍生的测试向量施加到器件模型中并评估器件模型的响应输出;通过基于事件的测试系统修改测试向量以便从器件模型获得所需的响应输出;以及将修改的测试向量反馈给EDA环境以便修改集成电路设计数据,借此校正集成电路设计数据中的设计错误。
按照本发明,利用这样一种方法实施设计验证:在该方法中,利用基于事件的测试系统,将集成电路模拟模型与初始模拟测试台与电子设计自动化(EDA)工具一起用于设计验证。为了该目的,EDA工具与器件模拟器连接到基于事件的测试系统中,以便执行原始设计模拟向量和测试台并对测试台和测试向量进行修改,一直到得到满意的结果为止。由于EDA工具与基于事件的测试系统连接,因此这些修改被捕获,从而产生可提供满意结果的最终测试台。结果,无需实施硅原型的系统内测试,即可获得复合集成电路的设计验证。而且,无需用硅原型而用设计模型,即可获得复合集成电路的设计验证。因此,本发明可显著降低成本和缩短周转时间。
附图说明
图1是用于进行设计验证的复合集成电路例如芯片上系统集成电路结构的一个例子的示意图。
图2是与EDA环境下的设计程序所包括的设计层次相对应的验证层次的一个例子的示意图。
图3是表示模拟速度与复合集成电路的设计过程中所包括的不同抽象级之间关系的图表。
图4是包括常规技术下的设计验证过程的复合集成电路的产品开发过程的流程图。
图5是表示本发明的第一实施例中的复合集成电路的设计验证方法的示意图。
图6是表示本发明的第二实施例中的复合集成电路的设计验证方法的示意图。
图7是表示图5和图6实施例中的EDA工具与基于事件的测试系统之间关系的一个例子的示意图。
具体实施方式
在本发明的同一代理人所拥有的以前的专利申请中,美国专利申请Nos.09/406,300和09/340,371“Event based semiconductor testsystem”中描述了基于事件的测试系统,而美国专利申请No.09/428,746“Method and apparatus for SoC design validation”中描述了基于事件的设计验证站。另外,美国专利申请No.09/286,226“Scaling logic for Event Based Test System”中描述了时标技术。所有这些专利申请在此一并作为本文的参考文献。
在本发明中,发明人提供了一个利用基于事件的测试系统进行集成电路设计验证方法的概念。更具体地说,在第一实施例中,描述了一种使用硅原型的设计验证方法,而在第二实施例中,描述了一种不用硅原型的方法。本发明的这两种方法与目前的任何方法相比都更快和更廉价。
本发明倡议,利用基于事件的测试系统(设计测试站(DTS)),使复合集成电路模拟模型与初始模拟测试台和电子设计自动化(EDA)工具一起用于设计验证。为了此目的,将EDA工具与器件模拟器连接到基于事件的测试系统上,以便执行原始设计模拟向量和测试台并对测试台和测试向量进行修改,一直到得到满意的结果为止。由于EDA工具与基于事件的测试系统连接,因此这些修改被捕获,从而产生提供满意结果的最终测试台。由于不同的被修改的测试向量可施加到原型硅或设计模型上,因此无需图4所示的系统内测试即可获得完全的设计验证。
图5示出了本发明第一实施例中的整个验证过程。对于集成电路的全功能验证,在基于事件的测试系统82上,执行在设计模拟(初始测试台58)过程中开发的集成电路级功能向量。这些向量也是事件格式。许多次,通过在Verilog/VHDL模型或集成电路(设计)行为模型上运行软件应用可产生这些事件格式测试向量。这些向量同时或在不同时间运行集成电路的不同部分,然而,需通过综合响应来确定集成电路的整个行为。
通常,在该步骤之后,如图4和图5所示制作硅芯片(硅原型)63。一旦得到该芯片,就将其放在基于事件的测试系统上,并且执行初始测试台的设计模拟向量,以便验证芯片的操作。在基于事件的测试系统中检查该结果,并在基于事件的测试系统中改变/编辑事件,一直到集成电路(预定设计)的所有不正确的操作被校正为止。反馈事件中的这些变化,以便产生新的测试台和测试向量。这些过程之后,制作最终的硅成品,从而产生最终器件。
更具体地说,在图5的例子中,设计测试站(DTS)82是所提供的基于事件的测试系统,以便利用基于由VCD(值变更转储)文件59衍生的事件数据产生的测试向量来测试硅原型63的功能。通过利用初始测试台58在初始设计54上执行设计验证55和模拟56而产生VCD文件59。由于测试台58是以事件格式建立的并且所得到的VCD文件59也是事件格式,因此VCD文件59中的数据可直接用于基于事件的测试系统82,以便测试设计。
通过图5的接口97使EDA工具例如模拟分析/调试85和波形编辑器/观察器86与设计测试站(DTS)82连接。模拟分析/调试的一个例子是VCS by Synopsys and ModelSim by Mentor Graphics。波形编辑器/观察器的一个例子是SIGNALSCAN by Gadence and VirSimby Synopsys。另外,这种接口的一个例子是API(编程应用接口)。
基于事件的测试系统82合并用于编辑和观察波形的软件工具例如VCD波形编辑器/观察器87、事件波形编辑器/观察器88和DUT(测试下的器件)波形编辑器/观察器89。在该例中,编辑器/观察器87和88通过用于彼此通讯和存取公共数据库的API接口97与EDA工具85和86连接。在基于事件的测试系统中,例如,事件可被插入某一特定计时中或者通过事件波形编辑器/观察器88可改变事件的边缘计时。
通过执行测试向量,基于事件的测试系统82产生测试结果文件83,而该文件通过测试台反馈99反馈给EDA设计环境和EDA工具。由于同基于事件的测试系统的速度(在100MHz数量级)相比,模拟速度(在10KHz数量级)要慢得多,因此初始测试台和测试向量的计时被标度。基于事件的测试系统能够编辑事件和定时标度,上面提到的专利申请中描述了该方法和装置。
在基于事件的测试系统上检查这些结果并在基于事件的测试系统(编辑器/观察器87、88和89)上改变/编辑事件,一直到器件(预定设计)的所有不正确操作都被校正为止。事件中的这些变化建立了一个新的测试台81。如上所述,为了得到这个新的测试台和测试向量,包括测试台产生工具95、模拟分析工具85和波形观察器86的EDA工具与基于事件的测试系统连接。该测试方法通过测试台产生工具95能够将所有事件编辑捕获到新的测试向量和测试台81内。
在本发明的前述实施例中,由基于事件的测试系统以比模拟器高的速度例如高10,000倍产生出自测试台58的事件格式测试向量。通过基于事件的测试系统的标度功能可做到这一点,其中事件时钟和事件定时数据被预定因素放大。这样,当硅原型63与事件测试系统连接时,以非常高的速度测试硅原型63。由于与硅原型63有关的数据现在都在事件测试系统中被复制,因此在事件测试系统中可对测试向量和设计中最终的响应或变化进行高速修改。设计结果和测试向量与设计的修改被反馈给EDA工具85、86和测试台81。
这些过程之后,在阶段91制作最终的硅成品,以便产生将在产品测试阶段93进行测试的最终集成电路器件92。在生产测试过程中需要这些测试向量和新的测试台81,以便检测任何制造缺陷。总之,这个新的程序提供了从设计入口到模拟和测试台生成的整个环路,因此可验证设计并校正其中的任何错误。
以上参考图5描述了本发明的第一实施例。在第一实施例中,验证过程包括对应于校正器件操作的测试台的生成。第一实施例的一个局限是为了验证它还需要放到基于事件的测试系统上的物理硅(physical silicon)(硅原型63)。由于需要物理硅,因此第一实施例的过程其成本还是较高的。
因此,在本发明的第二实施例中,通过取消物理硅的需求而改进了第一实施例的基本概念。第二实施例的过程利用初始设计描述和其模拟测试台来产生一个新的测试台和相应的无缺陷的器件模型。该器件模型可用于批量生产,因为它包括器件操作中的所有校正。整个过程如图6所示。
图5和图6的实施例的主要区别是,在图5中,原型硅以及初始测试台被装在基于事件的测试系统上。在图6中,根据初始设计和模拟56及初始测试台58创立器件模型(虚拟DUT)189。器件模型189,而不是物理硅,被放在基于事件的测试系统上。为了本发明的目的,器件模型189既可独立于任何特定的模拟器,也可是某一特定模拟器的依赖物(模拟模型191)。
利用编程应用接口(API)例如图6中的接口187,基于事件的测试系统还可与初始设计过程中使用的模拟机(模拟器)190连接。接口187最好包括标度功能,其中测试向量的时钟速度和事件定时数据可被所需的因素放大。结果,可在基于事件的测试系统182中以较高速度例如100MHz执行测试向量。
在该设置中,基于事件的测试系统包括用Verilog/VHDL描述的设计及其所有逻辑、行为、BFM(总线功能模型)、ISA(指令级结构)和应用测试台。应该注意,这些测试台不局限于Verilog/VHDL;系统也可执行以C/C++描述的测试台,这是因为系统与模拟器连接。图5所示的不同的EDA工具和测试系统工具也可彼此相连。
利用器件模型(初始设计)189及其测试台58,在基于事件的测试系统(设计测试站:DTS)82上检查这些结果。由于整个环境和结果都是事件格式,因此器件操作中的任何不正确操作都会快速地被注意到。由于基于事件的测试系统能够编辑事件和时间标度(如上所述),因此可编辑对应于这些不正确操作的事件,以便校正操作。
当所有不正确操作被校正时,保存器件模型并产生新的测试台和测试向量181。测试台和测试向量产生的过程与图5和图6相同,其中图6的图解被简化了,以避免图表的混乱。这样,软件接口188与图5中的接口97相同,并且通过软件接口188连接EDA工具85、86和事件测试系统工具87、88和89。在某一特定设计被指定给SoC的情况中,可如图6所示,建立多个对应于SoC中的芯的测试结果文件184和测试台文件195。
这个被保存的器件模型可用于硅制作。由于它已经在基于事件的测试系统上被验证过,因此无需再另外验证。为了检查任何制作缺陷,它只需进行正常的生产测试,对于该测试,测试向量也是有用的(在测试台和测试向量产生的步骤中)。
参照图6所描述的程序无需任何用于设计验证的软件原型或模拟。在基于事件的测试系统上使用具有有限模拟的初始设计,以便产生包括器件操作中的所有校正的新的器件模型。该程序还提供了生产测试所必需的相应的新的测试台和测试向量。该程序提供了一个从设计入口和模拟到设计验证的整个环路,而无需物理硅,因此它与现存方法和第一实施例相比,成本相当实际。
图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中具有不同格式的不同软件工具。通过事件观察器222监控和编辑基于事件的测试系统(DTS)82的事件波形。通过VCD写入器220将修改的事件波形转换成VCD。波形转换器210将VCD波形转换成模拟机190的波形。
按照本发明,利用这样的方法进行设计验证:在该方法中,利用基于事件的测试系统,使集成电路模拟模型和初始模拟测试台与电子设计自动化(EDA)工具一起用于设计验证。EDA工具和器件模拟器与基于事件的测试系统连接,以便执行原始设计模拟向量和测试台并对测试台及测试向量进行修改,一直到得到满意的结果为止。由于EDA工具与基于事件的测试系统连接,因此这些修改被捕获,从而产生可提供满意结果的最终测试台。结果,无需进行硅原型的系统内测试,就可获得集成电路的设计验证。另外,无需用硅原型而是用设计模型,就可获得复合集成电路的设计验证。因此,本发明在成本和周转时间上得到显著的缩减。
虽然此处只是专门图示和描述了本发明的优选实施例,但是应该理解,按照上述教导,本发明的许多修改和变型都是可能的并且在所附的权利要求书的范围内,而不脱离本发明的精髓和预定范围。
Claims (19)
1、一种验证复合集成电路(IC)的设计的方法,其中设计过程是在电子设计自动化(EDA)的环境下完成的,该方法包括以下步骤:
根据在EDA环境下产生的集成电路设计数据建立原型硅;
通过基于事件的测试系统将由集成电路设计数据衍生的基于事件的测试向量施加到原型硅上,并评估原型硅的响应输出;
通过事件测试系统修改基于事件的测试向量,以便获得来自原型硅的所需的响应输出;以及
将被修改的基于事件的测试向量反馈给EDA环境,以便修改集成电路设计数据,借此校正集成电路设计数据中的设计错误。
2、如权利要求1所述的验证复合集成电路的设计的方法,其特征在于还包括通过软件接口使包括模拟器的EDA工具与基于事件的测试系统连接的步骤。
3、如权利要求1所述的验证复合集成电路的设计的方法,其特征在于还包括通过在集成电路设计数据中产生的测试台抽取事件格式数据的步骤。
4、如权利要求3所述的验证复合集成电路的设计的方法,其特征在于所述抽取事件格式数据的步骤包括利用模拟器执行测试台并从由模拟器产生的值变更转储文件中抽取事件格式数据的步骤。
5、如权利要求3所述的验证复合集成电路的设计的方法,其特征在于还包括以下步骤:将所抽取的事件数据安装到事件测试系统中并由基于事件的测试系统利用所抽取的事件数据产生基于事件的测试向量,以便将测试向量施加到原型硅上。
6、如权利要求1所述的验证复合集成电路的设计的方法,其特征在于还包括根据修改后的来自基于事件测试系统的基于事件的测试向量,创立新的测试台的步骤。
7、如权利要求1所述的验证复合集成电路的设计的方法,其特征在于所述EDA工具包括用于观察和编辑来自在集成电路设计数据中创立的测试台的波形的装置。
8、如权利要求1所述的验证复合集成电路的设计的方法,其特征在于所述基于事件的测试系统包括用于观察和编辑从在集成电路设计数据中创立的测试台中抽取的基于事件测试向量的波形的装置,以及用于改变施加到原型硅上的基于事件的测试向量的时钟速率和事件定时数据的装置。
9、一种验证复合集成电路(IC)的设计的方法,其中设计过程是在电子设计自动化(EDA)的环境下完成的,该方法包括以下步骤:
根据在EDA环境下产生的集成电路设计数据建立原型硅;
使包括模拟器的EDA工具与基于事件的测试系统连接;
从数据文件中抽取事件格式数据,该数据文件是通过由模拟器执行集成电路设计数据中产生的测试台而建立的;
将所抽取的事件数据安装到事件测试系统中并由基于事件的测试系统利用事件数据产生基于事件的测试向量;
将基于事件的测试向量施加到原型硅上并评估原型硅的响应输出;
通过事件测试系统修改基于事件的测试向量,以便获得来自原型硅的所需的响应输出;以及
将被修改的基于事件的测试向量反馈给EDA工具,以便修改设计数据,借此校正设计数据中的设计错误;
由此无需进行硅原型的系统内测试,即可验证集成电路的设计。
10、一种验证复合集成电路(IC)的设计的方法,其中设计过程是在电子设计自动化(EDA)的环境下完成的,该方法包括以下步骤:
根据在EDA环境下产生的集成电路设计数据制备待设计的集成电路的器件模型;
通过基于事件的测试系统将来自集成电路设计数据的基于事件的测试向量施加到器件模型上,并评估器件模型的响应输出;
通过事件测试系统修改基于事件的测试向量,以便获得来自器件模型的所需的响应输出;以及
将被修改的基于事件的测试向量反馈给EDA环境,以便修改集成电路设计数据,借此校正集成电路设计数据中的设计错误。
11、如权利要求10所述的验证复合集成电路的设计的方法,其特征在于所述器件模型既可依赖于某一特定的模拟器,又可独立于任何模拟器。
12、如权利要求10所述的验证复合集成电路的设计的方法,其特征在于还包括通过软件接口使包括模拟器的EDA工具与基于事件的测试系统连接的步骤。
13、如权利要求10所述的验证复合集成电路的设计的方法,其特征在于还包括通过集成电路设计数据中产生的测试台抽取事件格式数据的步骤。
14、如权利要求13所述的验证复合集成电路的设计的方法,其特征在于所述抽取事件格式数据的步骤包括利用模拟器执行测试台并从模拟器产生的值变更转储文件中抽取事件格式数据的步骤。
15、如权利要求13所述的验证复合集成电路的设计的方法,其特征在于还包括以下步骤:将所抽取的事件数据安装到事件测试系统中并由基于事件的测试系统利用所抽取的事件数据产生基于事件的测试向量,以便将基于事件的测试向量施加到器件模型上。
16、如权利要求10所述的验证复合集成电路的设计的方法,其特征在于还包括根据修改后的来自基于事件测试系统的基于事件的测试向量,创立新的测试台的步骤。
17、如权利要求10所述的验证复合集成电路的设计的方法,其特征在于所述EDA工具包括用于观察和编辑来自在集成电路设计数据中创立的测试台的波形的装置。
18、如权利要求10所述的验证复合集成电路的设计的方法,其特征在于所述基于事件的测试系统包括用于观察和编辑从在集成电路设计数据中创立的测试台中抽取的基于事件测试向量的波形的装置,以及用于改变施加到器件模型上的基于事件的测试向量的时钟速率和事件定时数据的装置。
19、一种验证复合集成电路(IC)的设计的方法,其中设计过程是在电子设计自动化(EDA)的环境下完成的,该方法包括以下步骤:
根据在EDA环境下产生的集成电路设计数据制备待设计的集成电路的器件模型;
使包括模拟器的EDA工具与基于事件的测试系统连接;
从数据文件中抽取事件格式数据,该数据文件是通过由模拟器执行在集成电路设计数据中产生的测试台而建立的;
将所抽取的事件数据安装到事件测试系统中并由基于事件的测试系统利用事件数据产生基于事件的测试向量;
将基于事件的测试向量施加到器件模型上并评估器件模型的响应输出;
通过事件测试系统修改基于事件的测试向量,以便获得来自器件模型的所需的响应输出;以及
将被修改的基于事件的测试向量反馈给EDA工具,以便修改设计数据,借此校正设计数据中的设计错误。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23700100P | 2000-09-29 | 2000-09-29 | |
JP60/237,001 | 2000-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1347149A true CN1347149A (zh) | 2002-05-01 |
CN1303668C CN1303668C (zh) | 2007-03-07 |
Family
ID=22891917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011360712A Expired - Fee Related CN1303668C (zh) | 2000-09-29 | 2001-09-29 | 复合集成电路的设计验证方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7089517B2 (zh) |
JP (1) | JP4058252B2 (zh) |
KR (1) | KR100463735B1 (zh) |
CN (1) | CN1303668C (zh) |
DE (1) | DE10147078A1 (zh) |
TW (1) | TW522322B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1298047C (zh) * | 2003-02-21 | 2007-01-31 | 上海芯华微电子有限公司 | 双极型集成电路设计的有效验证和电网络一致性比较方法 |
CN100369254C (zh) * | 2002-09-26 | 2008-02-13 | 株式会社瑞萨科技 | 半导体集成电路器件 |
CN100463133C (zh) * | 2002-10-24 | 2009-02-18 | 威盛电子股份有限公司 | 自动化集成电路整机测试系统、装置及其方法 |
CN101484881B (zh) * | 2006-07-05 | 2012-08-15 | 艾利森电话股份有限公司 | 用于软件测试的方法和系统 |
CN113589141A (zh) * | 2021-07-16 | 2021-11-02 | 杭州中安电子有限公司 | 一种高速测试向量发生装置 |
CN117007947A (zh) * | 2023-10-07 | 2023-11-07 | 北京象帝先计算技术有限公司 | 生成测试向量的方法、装置、电子设备及存储介质 |
Families Citing this family (35)
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 |
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 |
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 |
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 | 株式会社アドバンテスト | 試験エミュレータ、エミュレーションプログラム、及び半導体デバイス製造方法 |
KR100618859B1 (ko) * | 2004-09-03 | 2006-08-31 | 삼성전자주식회사 | 테스트 벡터 검증 방법 및 이 기능을 실현하는 기록 매체 |
JP4580722B2 (ja) | 2004-09-24 | 2010-11-17 | 株式会社アドバンテスト | 試験シミュレータ及び試験シミュレーションプログラム |
US7509604B1 (en) * | 2004-12-10 | 2009-03-24 | Synopsys, Inc. | Method and apparatus for formally comparing stream-based designs |
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 |
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原型验证方法 |
CN111596200A (zh) * | 2020-05-25 | 2020-08-28 | 上海岱矽集成电路有限公司 | 一种集成电路测试仪 |
JP2023535138A (ja) * | 2020-07-09 | 2023-08-16 | テクトロニクス・インコーポレイテッド | 変換されたシミュレーション波形を用いた電子信号の検証 |
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 |
Family Cites Families (11)
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 |
-
2001
- 2001-08-28 US US09/941,396 patent/US7089517B2/en not_active Expired - Fee Related
- 2001-09-19 TW TW090123092A patent/TW522322B/zh not_active IP Right Cessation
- 2001-09-25 DE DE10147078A patent/DE10147078A1/de not_active Withdrawn
- 2001-09-27 JP JP2001296263A patent/JP4058252B2/ja not_active Expired - Fee Related
- 2001-09-28 KR KR10-2001-0060427A patent/KR100463735B1/ko not_active IP Right Cessation
- 2001-09-29 CN CNB011360712A patent/CN1303668C/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100369254C (zh) * | 2002-09-26 | 2008-02-13 | 株式会社瑞萨科技 | 半导体集成电路器件 |
CN100463133C (zh) * | 2002-10-24 | 2009-02-18 | 威盛电子股份有限公司 | 自动化集成电路整机测试系统、装置及其方法 |
CN1298047C (zh) * | 2003-02-21 | 2007-01-31 | 上海芯华微电子有限公司 | 双极型集成电路设计的有效验证和电网络一致性比较方法 |
CN101484881B (zh) * | 2006-07-05 | 2012-08-15 | 艾利森电话股份有限公司 | 用于软件测试的方法和系统 |
CN113589141A (zh) * | 2021-07-16 | 2021-11-02 | 杭州中安电子有限公司 | 一种高速测试向量发生装置 |
CN117007947A (zh) * | 2023-10-07 | 2023-11-07 | 北京象帝先计算技术有限公司 | 生成测试向量的方法、装置、电子设备及存储介质 |
CN117007947B (zh) * | 2023-10-07 | 2024-03-19 | 北京象帝先计算技术有限公司 | 生成测试向量的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
DE10147078A1 (de) | 2002-06-20 |
JP2002215712A (ja) | 2002-08-02 |
US7089517B2 (en) | 2006-08-08 |
TW522322B (en) | 2003-03-01 |
JP4058252B2 (ja) | 2008-03-05 |
CN1303668C (zh) | 2007-03-07 |
KR20020025800A (ko) | 2002-04-04 |
KR100463735B1 (ko) | 2004-12-29 |
US20020040288A1 (en) | 2002-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1303668C (zh) | 复合集成电路的设计验证方法 | |
US7178115B2 (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 | |
CN112100959A (zh) | 基于eda工具的时序分析方法、装置及存储介质 | |
CN112444731B (zh) | 芯片测试方法、装置、处理器芯片及服务器 | |
US20050273683A1 (en) | Insertion of embedded test in RTL to GDSII flow | |
US6601024B1 (en) | Code translation between hardware design languages | |
CN114325336B (zh) | 基于fpga的面向wgl的芯片测试系统及应用 | |
CN1496527A (zh) | 无须使用逻辑模拟的用于对复杂ic的设计进行校验的方法和装置 | |
TWI474203B (zh) | 模擬電路的方法、積體電路、電腦系統及電腦程式產品 | |
US6898767B2 (en) | Method and apparatus for custom design in a standard cell design environment | |
US10162915B2 (en) | Method and system for emulation of multiple electronic designs in a single testbench environment | |
US8549445B2 (en) | Targeted production control using multivariate analysis of design marginalities | |
JP2003141206A (ja) | Lsiテスト・データのタイミング検証方法およびlsiテスト・データのタイミング検証プログラム | |
Shetty | ASIC design flow and methodology–an overview | |
US8065128B1 (en) | Methods and apparatus for automated testbench generation | |
WO2022212751A1 (en) | Real time view swapping in a mixed signal simulation | |
WO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
Kakoee et al. | Enhancing the testability of RTL designs using efficiently synthesized assertions | |
Rajsuman | Extending EDA environment from design to test | |
US20050137841A1 (en) | Embedding keys into test data | |
Joe et al. | Generation of Two-Cycle Tests for Structurally Similar Circuits | |
Geppert | Design tools for analog and digital ICs | |
Seinauskas | ASIC design flow and test generation capabilities | |
Das et al. | Testing Embedded Cores-Based System-on-a-Chip (SoC)–Test Architecture and Implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070307 Termination date: 20140929 |
|
EXPY | Termination of patent right or utility model |