CN101689216A - 压缩型电路仿真输出 - Google Patents

压缩型电路仿真输出 Download PDF

Info

Publication number
CN101689216A
CN101689216A CN200980000241A CN200980000241A CN101689216A CN 101689216 A CN101689216 A CN 101689216A CN 200980000241 A CN200980000241 A CN 200980000241A CN 200980000241 A CN200980000241 A CN 200980000241A CN 101689216 A CN101689216 A CN 101689216A
Authority
CN
China
Prior art keywords
circuit
signal
emulation
main signal
relationships
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
Application number
CN200980000241A
Other languages
English (en)
Other versions
CN101689216B (zh
Inventor
A·拉比诺维特施
M·施罗弗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synopsys Inc
Original Assignee
Synopsys Inc
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 Synopsys Inc filed Critical Synopsys Inc
Publication of CN101689216A publication Critical patent/CN101689216A/zh
Application granted granted Critical
Publication of CN101689216B publication Critical patent/CN101689216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

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

Abstract

描述用于对电路进行仿真的计算机系统的实施例。在仿真的第一模式期间,计算机系统在文件中存储与电路的一部分关联的主要信号和在主要信号与辅助信号之间的电路关系,其中主要信号独立于电路的部分中的门输出,并且辅助信号由电路的部分中的门驱动。另外,在仿真的第二模式期间,计算机系统将信号之间附加关系的动态改变存储到文件,其中信号可以包括主要信号、辅助信号或者二者。

Description

压缩型电路仿真输出
技术领域
本发明的实施例涉及电路仿真器。具体而言,本发明的实施例涉及一种用于减少电路仿真输出文件的大小的方法和装置。
背景技术
在设计电路期间例行使用仿真。为了有助于调试电路设计,电路仿真器经常将用于设计参数的仿真值或者波形导出到可以随后由后处理工具和/或调试工具使用的外部文件。
现有电路仿真器的一个问题在于它们通常将所有仿真值或者波形导出到外部文件。因而,外部文件的大小可能很大,这会不利地影响性能(比如电路仿真时间)并且增加与仿真关联的开销。
因此,需要一种在实现仿真结果后处理和/或电路调试之时减少外部文件的大小而无上述问题的装置和技术。
发明内容
本发明的一个实施例提供一种用于对电路进行仿真的计算机系统。在仿真的第一模式期间,计算机系统在文件中存储与电路的一部分关联的主要信号和在主要信号与辅助信号之间的电路关系,其中主要信号独立于电路的部分中的门输出,并且辅助信号由电路的部分中的门驱动。另外,在仿真的第二模式期间,计算机系统将信号之间附加关系的动态改变存储到文件,其中信号可以包括主要信号、辅助信号或者二者。
在一些实施例中,动态改变包括事件,该事件指示附加关系的时间转变。这些事件可以与调试应用相关联。例如,事件可以包括:强制至少一个信号具有预定波形(比如固定值)和/或中断强制至少一个信号具有预定值。此外,事件可以包括将信号设置成彼此相同和/或中断将信号设置成彼此相同
在一些实施例中,计算机系统针对不同于附加关系有改变时的时间基于存储到文件的主要信号和电路关系中的一项或者多项来生成辅助信号之一。例如,生成辅助信号可以涉及到使用优先级排队来评估电路关系。注意,可以在完成仿真之后生成辅助信号。另外注意,可以使用与用来执行仿真的应用分离的应用来生成辅助信号。
在一些实施例中,电路关系包括电路的部分中的门电路拓扑。另外,电路的部分中的至少一个门可以具有关联延迟。
在一些实施例中,第一模式有助于相对于在文件包括主要信号和辅助信号时的大小而言减少文件的大小。另外,第一模式可以有助于进行比在主要信号和辅助信号被存储到文件时更快的仿真。
在一些实施例中,仿真包括Verilog仿真。另外,仿真可以包括对用超高速集成电路硬件描述语言(VHDL)指定的电路进行仿真。
在一些实施例中,电路的部分包括整个电路。
另一实施例提供一种可以由计算机系统执行的用于对电路进行仿真的方法。这一方法可以包括至少一些前述操作。
另一实施例提供一种用于与计算机系统结合使用的计算机程序产品。这一计算机程序产品可以包括与至少一些前述操作对应的指令。
另一实施例提供一种配置成对电路进行仿真的集成电路。在仿真的第一模式期间,集成电路被配置成在文件中存储与电路的一部分关联的主要信号和在主要信号与辅助信号之间的电路关系,其中主要信号独立于电路的部分中的门输出,并且辅助信号由电路的部分中的门驱动。另外,在仿真的第二模式期间,集成电路被配置成将信号之间附加关系的动态改变存储到文件,其中信号可以包括主要信号、辅助信号或者二者。
附图说明
图1是示出了对根据本发明一个实施例的集成电路进行设计和制作的各种操作的流程图。
图2是示出了根据本发明一个实施例的电路的框图。
图3是示出了根据本发明一个实施例的用于对电路进行仿真的方法的流程图。
图4是示出了根据本发明一个实施例的计算机系统的框图。
图5是示出了根据本发明一个实施例的数据结构的框图。
注意,相似标号在附图中通篇指代对应部分。
具体实施方式
呈现以下描述以使本领域技术人员能够实现和利用本发明,并且在特定应用及其要求的背景下提供该描述。本领域技术人员将容易清楚对公开的实施例的各种修改,并且这里限定的一般原理可以适用于其他实施例和应用而不脱离本发明的精神和范围。因此,本发明不旨在限于所示实施例而是将被赋予以与这里公开的原理和特征一致的最广范围。
描述计算机系统、方法、集成电路和用于与计算机系统一起使用的计算机程序产品(即软件)的实施例。这些系统、集成电路、软件和过程可以用来对电路进行仿真并且可以有助于调试电路。具体而言,在仿真期间,与电路的一部分关联的主要信号以及在与电路的部分关联的主要信号与辅助信号之间的电路关系可以输出到文件(具体而言,可以存储主要信号在时间间隔期间的多个时间的仿真值)。这些主要信号可以独立于电路的部分中的门输出,并且辅助信号可以由电路的部分中的门驱动。另外,电路关系可以包括电路的部分中的门电路拓扑。
此外,在仿真期间,当有信号(比如主要信号和/或辅助信号)之间附加关系的动态改变时,此信息可以输出到文件。这些动态改变可以包括如下事件(比如与调试应用关联的事件),这些事件指示附加关系的时间转变。例如,事件可以包括:强制至少一个信号具有预定波形(比如固定值);中断强制至少一个信号具有预定值;将信号设置成彼此相同;和/或中断将信号设置成彼此相同。
在完成仿真之后,存储到文件的主要信号和电路关系中的一项或者多项可以用来针对不同于附加关系有改变时的时间生成辅助信号之一。例如,生成辅助信号可以涉及到使用优先级排队来评估电路关系。注意,可以使用与用来进行仿真的应用分离的应用来生成辅助信号。这一分离的应用可以包括:后处理应用、波形查看器和/或调试工具。
通过将主要信号和电路表示存储到文件(并且通过不将辅助信号存储到文件),这一技术有助于相对于当存储主要信号和辅助信号时的大小而言减少文件的大小。文件大小的这一减少使用更少的系统资源(比如存储器)并且有助于进行更快的仿真,这二者均可以减少与仿真关联的开销。
在以下讨论中,仿真可以包括Verilog仿真。另外,仿真可以包括对用超高速集成电路硬件描述语言(VHDL)指定的电路进行仿真。另外,在一些实施例中,仿真可以由集成电路进行,该集成电路比如是配置成执行仿真的现场可编程门阵列(FPGA)。
注意,仿真技术可以实施为单独软件应用或者实施为另一应用(如电路仿真器)中的程序模块或者子例程。另外,软件应用可以被配置成在计算机上执行,该计算机比如是:个人计算机、膝上型计算机、服务器、工作站、大型机或者能够操控计算机可读数据的其他设备。注意,计算机可以在一个位置处或者可以分布于多个位置,比如经由网络(比如因特网或者内部网)来通信的计算系统。因而,可以本地(比如在计算机上)和/或远程(例如在经由网络来接入的另一计算机或者服务器上)存储与仿真关联的信息。
现在描述设计和制作集成电路或者芯片的实施例。图1是示出了设计和制作集成电路时的各种操作的的流程图100。这一过程从使用在电子设计自动化(EDA)软件(112)的设计过程期间实现的产品思想(110)的生成开始。当设计定稿时,可以交付(tap-out)它(134)。在交付之后,制作(136)半导体管芯并且执行封装和组装过程(138),这些过程最终获得成品芯片(140)。
使用EDA软件(112)的设计过程包括下文描述的操作114-132。注意,这一设计流程描述仅用于示例目的。本描述并非意在限制本发明。例如,实际集成电路设计可以要求设计者在与这里描述的序列不同的序列中执行设计操作。
在系统设计(114)期间,设计者描述将要实施的功能。他们也可以执行“如果-怎么样”(what-if)的规划以精化功能并且检验成本。注意,硬件-软件架构划分可以出现在这一阶段。可以在这一阶段使用的来自加州芒廷维尤市Synopsys公司的示例性EDA软件产品包括:产品。
然后,在逻辑设计和功能验证(116)期间,编写用于电路中的模块的VHDL或者Verilog代码,并且检验该设计的功能准确性。具体而言,检验该设计以保证它产生正确输出。可以在这一阶段使用的来自加州芒廷维尤市Synopsys公司的示例性EDA软件产品包括:
Figure A20098000024100093
Figure A20098000024100094
产品。
接着,在合成和测试设计(118)期间,将VHDL/Verilog转译成网表。可以针对目标技术优化这一网表。此外,可以设计和实施测试以检验成品芯片。可以在这一阶段使用的来自加州芒廷维尤市Synopsys公司的示例性EDA软件产品包括:
Figure A20098000024100095
Figure A20098000024100096
Figure A20098000024100097
Figure A20098000024100098
产品。
另外,在网表验证(120)期间,检验网表与定时约束的相符性和与VHDL/Verilog源码的对应性。可以在这一阶段使用的来自加州芒廷维尤市Synopsys公司的示例性EDA软件产品包括:
Figure A20098000024100099
Figure A200980000241000910
产品。
另外,在设计规划(122)期间,构造和分析用于芯片的整个平面图以便进行定时和顶级布线。可以在这一阶段使用的来自加州芒廷维尤市Synopsys公司的示例性EDA软件产品包括:
Figure A20098000024100101
和IC
Figure A20098000024100102
产品。
此外,在物理实施(124)期间,发生布置(对电路元件的定位)和布线(对电路元件的连接)。可以在这一阶段使用的来自加州芒廷维尤市Synopsys公司的示例性EDA软件产品包括:
Figure A20098000024100103
Figure A20098000024100104
产品。
然后,在分析和提取(126)期间,在晶体管级验证电路功能,这允许精化。可以在这一阶段使用的来自加州芒廷维尤市Synopsys公司的示例性EDA软件产品包括:
Figure A20098000024100106
Figure A20098000024100107
产品。
接着,在物理验证(128)期间,检验设计以保证制造、电气问题、平板印刷问题和电路的正确性。可以在这一阶段使用的来自加州芒廷维尤市Synopsys公司的示例性EDA软件产品包括
Figure A20098000024100108
产品。
另外,在分辨率增强(130)期间,执行对布局的几何形状操控以改进设计的可制造性。可以在这一阶段使用的来自加州芒廷维尤市Synopsys公司的示例性EDA软件产品包括:
Figure A20098000024100109
Figure A200980000241001010
产品。
此外,在掩模数据预备(132)期间,提供用于产生掩模以产生成品芯片的“交付”数据。可以在这一阶段使用的来自加州芒廷维尤市Synopsys公司的示例性EDA软件产品包括
Figure A200980000241001012
系列产品。
可以在一个或者多个上述阶段期间利用本发明的实施例。具体而言,在一些实施例中,可以在系统设计(114)和/或逻辑设计和功能验证(116)期间利用本发明。
现在描述用于对电路进行仿真的系统、设备和过程的实施例。图2呈现了图示电路200的框图。这一电路包括逻辑门210,这些逻辑门包括一个或者多个晶体管,比如AND(与)门。具体而言,通常存在限定门类型的数个等效方式。例如,在Verilog中可以将AND门指定如下:‘and g1(o,i1,i2);’‘assign o=i1&i2;’以及‘always_comb o=i1&i2.’在以下讨论中,将通过合成工具映射成门的所有Verilog构造视为门。
注意,向逻辑门210-1和210-2的输入是主要信号212,而向逻辑门210-3的输入和逻辑门210-3的输出是辅助信号214,即这些信号由一个或者多个逻辑门驱动,因此可以基于电路200中的主要信号212和在主要信号212与辅助信号214之间的电路关系来生成。在一些实施例中,电路关系包括电路200的至少部分的门电路拓扑。另外,电路关系可以包括与逻辑门210之一关联的延迟。
另外注意,逻辑门210布置成两个级别216,其中逻辑门210-1和210-2处于级别216-1,而逻辑门210-3处于级别216-2。如下文进一步所述,这些级别216限定为了根据主要信号212确定辅助信号214而可以对逻辑门210进行评估的顺序。
在电路仿真器对电路200(或者电路200的一部分)进行仿真期间,可以利用辅助信号214对主要信号212的依赖性来改进仿真性能和/或减少对计算机系统资源的使用。具体而言,主要信号212和电路关系可以存储到文件,比如外部文件。例如,主要信号212在时间间隔期间的多个时间的仿真值可以存储到文件。由于这一文件更小(因为未存储辅助信号214),因此使用的存储器更少并且存储器操作更少。这可以减少对与开发包括该电路的集成电路关联的开销有影响的仿真时间。
在一个示例性实施例中,文件大小减少为1/3(相对于包括主要信号212和辅助信号214的文件),而仿真时间减少为1/2.5(相对于其中将主要信号212和辅助信号214输出到文件的仿真)。
许多电路仿真器包括比如集成调试工具这样的特征。例如,编译电路仿真器可以包括内核中的调试工具或者应用。这一调试工具可以用来强制比如主要信号212之一和/或辅助信号214之一这样的给定信号在另一时间间隔期间等于预定值或者波形。通常,这一时间间隔由如下时间事件表征,在这些事件中有与电路200关联的信号的附加关系的动态改变。例如,第一事件可以指示转变成强制信号(如主要信号212-1)具有预定值(比如固定值),而第二事件可以指示中断该强制。其他事件可以包括:将两个或者更多信号(可以是主要信号212和/或辅助信号214)设置成彼此相同和/或中断将信号设置成彼此相同。因而,在两个时间事件限定的其他时间间隔期间,有一个或者多个信号的连续赋值。
为了支持这一功能,电路仿真器可以将一个或者多个时间事件的出现存储到文件。此外,电路仿真器可以存储在其他时间间隔期间用于信号(可以是主要信号212和/或辅助信号214)的一个或者多个预定值或者波形。
为了支持对电路200中的任意信号的用户请求(例如在波形查看、调试和/或生成统计期间),在仿真之后,电路仿真器和/或另一应用(可以是独立应用或者在另一应用中的程序模块或者子例程)可以用来针对不同于附加关系有改变时的一个或者多个时间(即在时间间隔期间)基于存储到文件的主要信号212和电路关系中的一项或者多项来生成一个或者多个辅助信号214。此外,对于强制的给定信号(即对于在其他时间间隔期间的时间),可以使用预定值或者波形。
因此,在一些实施例中,在其他时间间隔期间,可以既不直接地(如果给定信号是主要信号212之一)也不间接地(比如为了确定辅助信号214之一)使用文件中存储的主要信号212。然而,在其中有在其他时间间隔期间对给定信号的连续赋值的一些实施例中,比如当给定信号等于另一信号时,可以使用存储的主要信号212之一(如果给定信号等于存储的主要信号212之一)。
在一些实施例中,生成一个或者多个辅助信号214可以涉及到使用优先级排队来评估电路关系。另外,如级别216所示,可以通过使用电路200(比如平板门(flat-gate)电路)的门网络级别化(levelized)表示来更高效地执行生成。
注意,由于该生成可以依赖于时间事件(具体而言,对于给定信号,没有在其他时间间隔期间的生成),当编译电路仿真器时和/或在仿真期间通常不能计算辅助信号214。
在一些实施例中,电路200包括更少或者更多的组件。另外,两个或者更多组件可以组合成单个组件和/或可以改变一个或者多个组件的位置。
现在描述用于对电路进行仿真的方法的实施例。图3呈现了示出了可以由计算机系统执行的用于对电路进行仿真的方法300的流程图。在仿真的第一模式期间,计算机系统在文件中存储与电路的一部分关联的主要信号和在主要信号与辅助信号之间的电路关系(310),其中主要信号独立于电路的部分中的门输出,而辅助信号由电路的部分中的门驱动。另外,在仿真的第二模式期间,计算机系统将信号之间附加关系的动态改变存储到文件(312),其中信号可以包括主要信号、辅助信号或者二者。
在一些实施例中,计算机系统可选地针对不同于附加关系有改变时的时间基于存储到文件的主要信号和电路关系中的一项或者多项来生成辅助信号之一(314)。
注意,在方法300的一些实施例中可以有更多或者更少的操作。另外,可以改变操作的顺序和/或可以将两个或者更多操作组合成单个操作。
现在描述对电路进行仿真的计算机系统的实施例。图4呈现了示出了计算机系统400的框图。计算机系统400包括:一个或者多个处理器410、通信接口412、用户接口414和将这些组件耦合在一起的一个或者多个信号线路422。注意,一个或者多个处理单元410可以支持并行处理和/或多线程化操作,通信接口412可以具有持久通信连接,而一个或者多个信号线路422可以构成通信总线。另外,用户接口414可以包括:显示器416、键盘418和/或指示器420(如鼠标)。
计算机系统400中的存储器424可以包括易失性存储器和/或非易失性存储器。具体而言,存储器424可以包括:ROM、RAM、EPROM、EEPROM、闪存、一个或者多个智能卡、一个或者多个磁盘存储设备和/或一个或者多个光学存储设备。存储器424可以存储操作系统426,该操作系统包括用于处理各种基本系统服务的过程(或者指令集),这些服务用于执行依赖于硬件的任务。存储器424也可以在通信模块428中存储过程(或者指令集)。这些通信过程可以用于与一个或者多个计算机和/或服务器(包括相对于计算机系统400位于远程的计算机和/或服务器)通信。
存储器424也可以包括多个程序模块(指令集),这些程序模块(指令集)包括:重建模块430(或者指令集)、电路仿真模块432(或者指令集)、可选后处理模块446(或者指令集)、可选波形查看器模块448(或者指令集)和/或可选调试模块450(或者指令集)。另外,电路仿真模块432可以包括:仿真器模块434(或者指令集)和/或强制模块436(或者指令集)。
仿真器模块434可以进行对一个或者多个电路438(或者这些电路的部分)如电路A440-1或者电路B440-2的仿真。在这些仿真期间,仿真器模块434可以将与一个或者多个电路438关联的主要信号和电路表示输出到一个或者多个输出文件442。另外,如果有与一个或者多个电路438关联的在主要信号和/或辅助信号之间的一个或者多个附加关系的一个或者多个动态改变,则此信息也可以存储到一个或者多个输出文件442。
在给定仿真之后,重建模块430可以基于一个或者多个输出文件442中的信息来生成与一个或者多个电路438关联的可选辅助信号444。另外,一个或者多个输出文件442中的主要信号和/或可选辅助信号444可以由其他应用使用,这些应用比如是:可选后处理模块446(用于收集与信号关联的统计)、可选波形查看器模块448(用于查看信号)和/或可选调试模块450(用于调试电路438之一)。
可以用以下语言实施存储器424中的各种模块中的指令:高级过程语言、面向对象编程语言和/或汇编或者机器语言。注意,编程语言可以被编译或者解译、例如可配置或者被配置成由一个或者多个处理单元410执行。
虽然将计算机系统400图示为具有多个分立项,但是图4旨在于作为对可以存在于计算机系统400中的各种特征的功能描述而不是这里所述实施例的结构示意图。在实践中并且如本领域普通技术人员认识到的那样,计算机系统400的功能可以分布于大量服务器或者计算机,其中各组服务器或者计算机执行功能的特定子集。在一些实施例中,计算机系统400的一些或者所有功能可以实施于一个或者多个专用集成电路(ASIC)、FPGA和/或一个或者多个数字信号处理器(DSP)中。
计算机系统400可以包括更少组件或者更多组件。另外,两个或者更多组件可以组合成单个组件和/或可以改变一个或者多个组件的位置。在一些实施例中,如本领域中所知,可以更多地用硬件而更少地用软件或者更少地用硬件而更多地用软件实施计算机系统400的功能。
现在讨论可以在计算机系统400中使用的数据结构的实施例。图5呈现了示出了数据结构500的框图。这一数据结构可以包括输出文件510。给定的输出文件(如输出文件510-1)可以包括:输出文件510-1中的条目对应的仿真512-1;一个或者多个电路514-1(或者电路的部分);作为一个或者多个时间间隔期间的时间的函数的一个或者多个主要信号516-1;与附加关系的动态改变关联并且与一个或者多个其他时间间隔关联的可选事件518-1;在一个或者多个其他时间间隔期间出现的一个或者多个强制信号520-1和/或可以用来根据一个或者多个主要信号516-1来生成一个或者多个辅助信号的电路关系522-1(比如一个或者多个电路514-1的一部分中的门电路拓扑)。
注意,在数据结构500的一些实施例中可以有更少或者更多的组件。另外,两个或者更多组件可以组合成单个组件和/或可以改变一个或者多个组件的位置。
仅出于示例和描述的目的已经呈现对本发明实施例的前文描述。本意并非让它们穷举本发明或者使本发明限于公开的形式。因而,本领域技术人员将清楚许多修改和变化。此外,本意并非让上述公开内容限制本发明。本发明的范围由所附权利要求书限定。

Claims (23)

1.一种用于对电路进行仿真的方法,包括:
在所述仿真的第一模式期间,在文件中存储与所述电路的一部分关联的主要信号和在主要信号与辅助信号之间的电路关系,其中所述主要信号独立于所述电路的所述部分中的门输出,并且其中所述辅助信号由所述电路的所述部分中的门驱动;并且
在所述仿真的第二模式期间,将信号之间附加关系的动态改变存储到所述文件,其中所述信号可以包括主要信号、辅助信号或者二者。
2.根据权利要求1所述的方法,其中所述动态改变包括事件,所述事件指示所述附加关系的时间转变。
3.根据权利要求2所述的方法,其中所述事件与调试应用相关联。
4.根据权利要求2所述的方法,其中所述事件包括强制所述信号中的至少一个信号具有预定波形。
5.根据权利要求4所述的方法,其中所述预定波形包括固定值。
6.根据权利要求4所述的方法,其中所述事件包括中断强制所述信号中的至少一个信号具有预定值。
7.根据权利要求6所述的方法,其中所述预定波形包括固定值。
8.根据权利要求2所述的方法,其中所述事件包括将所述信号设置成彼此相同。
9.根据权利要求8所述的方法,其中所述事件包括中断将所述信号设置成彼此相同。
10.根据权利要求1所述的方法,还包括针对不同于所述附加关系有改变时的时间基于存储到所述文件的所述主要信号和所述电路关系中的一项或者多项来生成所述辅助信号之一。
11.根据权利要求10所述的方法,其中在完成所述仿真之后生成所述辅助信号。
12.根据权利要求10所述的方法,其中使用与用来执行所述仿真的应用分离的应用来生成所述辅助信号。
13.根据权利要求10所述的方法,其中生成所述辅助信号涉及使用优先级排队来评估所述电路关系。
14.根据权利要求1所述的方法,其中所述电路关系包括所述电路的所述部分中的门电路拓扑。
15.根据权利要求14所述的方法,其中所述电路的所述部分中的至少一个门具有关联延迟。
16.根据权利要求1所述的方法,其中所述第一模式有助于相对于在所述文件包括所述主要信号和所述辅助信号时的大小而言减少所述文件的大小。
17.根据权利要求1所述的方法,其中所述第一模式有助于进行比在所述主要信号和所述辅助信号被存储到所述文件时更快的仿真。
18.根据权利要求1所述的方法,其中所述仿真包括Verilog仿真。
19.根据权利要求1所述的方法,其中所述仿真包括对用超高速集成电路硬件描述语言(VHDL)指定的电路进行仿真。
20.根据权利要求1所述的方法,其中所述电路的所述部分包括整个电路。
21.一种用于与计算机系统结合使用的计算机程序产品,所述计算机程序产品包括计算机可读存储介质和嵌入于其中用于配置所述计算机系统以对电路进行仿真的计算程序机制,所述计算机程序机制包括:
用于在所述仿真的第一模式期间在文件中存储与所述电路的一部分关联的主要信号和在主要信号与辅助信号之间的电路关系的指令,其中所述主要信号独立于所述电路的所述部分中的门输出,并且其中所述辅助信号由所述电路的所述部分中的门驱动;以及
用于在所述仿真的第二模式期间将信号之间附加关系的动态改变存储到所述文件的指令,其中所述信号可以包括主要信号、辅助信号或者二者。
22.一种配置成对电路进行仿真的集成电路,包括:
在所述仿真的第一模式期间,所述集成电路被配置成在文件中存储与所述电路的一部分关联的主要信号和在主要信号与辅助信号之间的电路关系,其中所述主要信号独立于所述电路的所述部分中的门输出,并且其中所述辅助信号由所述电路的所述部分中的门驱动;并且
在所述仿真的第二模式期间,所述集成电路被配置成将信号之间附加关系的动态改变存储到所述文件,其中所述信号可以包括主要信号、辅助信号或者二者。
23.一种计算机系统,包括:
处理器;
存储器;
程序模块,其中所述程序模块存储于所述存储器中并且被配置成由所述处理器执行以对电路进行仿真,所述程序模块包括:
用于在所述仿真的第一模式期间在文件中存储与所述电路的一部分关联的主要信号和在主要信号与辅助信号之间的电路关系的指令,其中所述主要信号独立于所述电路的所述部分中的门输出,并且其中所述辅助信号由所述电路的所述部分中的门驱动;以及
用于在所述仿真的第二模式期间将信号之间附加关系的动态改变存储到所述文件的指令,其中所述信号可以包括主要信号、辅助信号或者二者。
CN2009800002413A 2008-04-02 2009-03-09 压缩型电路仿真输出 Active CN101689216B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/060,984 2008-04-02
US12/060,984 US8706467B2 (en) 2008-04-02 2008-04-02 Compact circuit-simulation output
PCT/US2009/036495 WO2009123828A2 (en) 2008-04-02 2009-03-09 Compact circuit-simulation output

Publications (2)

Publication Number Publication Date
CN101689216A true CN101689216A (zh) 2010-03-31
CN101689216B CN101689216B (zh) 2013-09-18

Family

ID=40942428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009800002413A Active CN101689216B (zh) 2008-04-02 2009-03-09 压缩型电路仿真输出

Country Status (4)

Country Link
US (1) US8706467B2 (zh)
CN (1) CN101689216B (zh)
TW (1) TWI474203B (zh)
WO (1) WO2009123828A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270262A (zh) * 2011-08-23 2011-12-07 复旦大学 集成电路仿真模拟波形压缩和解压缩方法及装置
CN107533473A (zh) * 2015-05-04 2018-01-02 美商新思科技有限公司 用于仿真的高效波形生成
WO2023193547A1 (zh) * 2022-04-08 2023-10-12 华为技术有限公司 用于生成和存储电路仿真过程中的波形数据的方法、电子设备和存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024168B2 (en) * 2008-06-13 2011-09-20 International Business Machines Corporation Detecting X state transitions and storing compressed debug information
US9286424B1 (en) * 2015-05-04 2016-03-15 Synopsys, Inc. Efficient waveform generation for emulation
US10120965B2 (en) * 2015-09-30 2018-11-06 Synopsys, Inc. Waveform based reconstruction for emulation
US9684746B2 (en) 2015-10-13 2017-06-20 Synopsys, Inc. Signal reconstruction in sequential logic circuitry
CN116796672A (zh) 2016-11-11 2023-09-22 美商新思科技有限公司 用于仿真的基于波形的重构

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2859962A (en) * 1955-04-15 1958-11-11 Honeywell Regulator Co Capstan for electrostatic tape drives
JPS63145549A (ja) * 1986-12-09 1988-06-17 Hitachi Ltd 論理回路シミユレ−シヨン方法
DE69030953D1 (de) * 1990-03-08 1997-07-24 Ibm Hardware-Simulator
US5023486A (en) * 1990-03-30 1991-06-11 Atmel Corporation Logic output control circuit for a latch
US5378934A (en) * 1990-09-12 1995-01-03 Hitachi, Ltd. Circuit having a master-and-slave and a by-pass
JP2788820B2 (ja) * 1991-08-30 1998-08-20 三菱電機株式会社 シミュレーション装置
JP2763985B2 (ja) * 1992-04-27 1998-06-11 三菱電機株式会社 論理シミュレーション装置
US5953519A (en) * 1995-06-12 1999-09-14 Fura; David A. Method and system for generating electronic hardware simulation models
GB2303230B (en) * 1995-07-13 1998-08-12 Advanced Risc Mach Ltd Digital circuit simulation
US5905883A (en) * 1996-04-15 1999-05-18 Sun Microsystems, Inc. Verification system for circuit simulator
US5841967A (en) * 1996-10-17 1998-11-24 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US6389379B1 (en) * 1997-05-02 2002-05-14 Axis Systems, Inc. Converification system and method
US6031386A (en) * 1997-10-31 2000-02-29 Sandia Corporation Apparatus and method for defect testing of integrated circuits
US6212665B1 (en) * 1998-03-27 2001-04-03 Synopsys, Inc. Efficient power analysis method for logic cells with many output switchings
JP3171167B2 (ja) * 1998-05-29 2001-05-28 日本電気株式会社 消費電力計算装置及び方法
JP2000029920A (ja) * 1998-07-13 2000-01-28 Mitsubishi Electric Corp シミュレーション装置、シミュレーション方法およびシミュレーションプログラムを記録した媒体
JP2000137798A (ja) * 1998-11-04 2000-05-16 Canon Inc 画像入出力装置、画像入出力方法および画像処理システム
JP2000357183A (ja) * 1999-06-16 2000-12-26 Matsushita Electric Ind Co Ltd 遅延ライブラリ表現方法、遅延ライブラリ生成方法、および遅延ライブラリを用いた遅延計算方法
JP2001147948A (ja) * 1999-11-19 2001-05-29 Matsushita Electric Ind Co Ltd セルの遅延時間計算方法及び半導体集積回路のレイアウト最適化方法
JP2001208803A (ja) * 2000-01-24 2001-08-03 Advantest Corp 半導体集積回路の故障シミュレーション方法および故障シミュレータ
JP4174167B2 (ja) * 2000-04-04 2008-10-29 株式会社アドバンテスト 半導体集積回路の故障解析方法および故障解析装置
US6985840B1 (en) * 2000-07-31 2006-01-10 Novas Software, Inc. Circuit property verification system
US6539341B1 (en) * 2000-11-06 2003-03-25 3Com Corporation Method and apparatus for log information management and reporting
US6965606B2 (en) * 2001-01-26 2005-11-15 Exar Corporation Method and apparatus for byte rotation
US6957403B2 (en) * 2001-03-30 2005-10-18 Syntest Technologies, Inc. Computer-aided design system to automate scan synthesis at register-transfer level
JP2002318829A (ja) * 2001-04-19 2002-10-31 Matsushita Electric Ind Co Ltd 回路シミュレーション方法および回路シミュレーション装置、ならびに、回路シミュレーションプログラムおよびそのプログラムを記録したコンピュータ読取可能な記録媒体
US6653860B2 (en) * 2001-08-10 2003-11-25 Lattice Semiconductor Corporation Enhanced macrocell module having expandable product term sharing capability for use in high density CPLD architectures
JP3803283B2 (ja) * 2001-11-21 2006-08-02 株式会社半導体理工学研究センター 集積回路のテストのための圧縮テストプランの生成、テスト系列生成およびテスト
US20030125918A1 (en) * 2002-01-02 2003-07-03 International Business Machines Corporation VHDL technology library method for efficient customization of chip gate delays
US6650142B1 (en) * 2002-08-13 2003-11-18 Lattice Semiconductor Corporation Enhanced CPLD macrocell module having selectable bypass of steering-based resource allocation and methods of use
US20040260527A1 (en) * 2003-06-19 2004-12-23 Stanculescu Alexandru G. Compact and effective representation of simulation results
US20040267489A1 (en) * 2003-06-24 2004-12-30 Frederic Reblewski Data compaction and pin assignment
TWI261160B (en) * 2003-10-09 2006-09-01 Ip First Llc Method and apparatus for fine tuning clock signals of an integrated circuit
US20060004557A1 (en) * 2004-07-01 2006-01-05 Synopsys, Inc. System and method for reducing size of simulation value change files
US7340700B2 (en) * 2005-05-27 2008-03-04 Lsi Logic Corporation Method for abstraction of manufacturing test access and control ports to support automated RTL manufacturing test insertion flow for reusable modules
US7464354B2 (en) * 2005-12-08 2008-12-09 International Business Machines Corporation Method and apparatus for performing temporal checking
US7925899B2 (en) * 2005-12-29 2011-04-12 Intel Corporation Method, system, and apparatus for runtime power estimation
US7478346B2 (en) * 2006-01-26 2009-01-13 Springsoft Usa, Inc. Debugging system for gate level IC designs
US8249471B2 (en) * 2009-03-31 2012-08-21 Brother Kogyo Kabushiki Kaisha Image forming apparatus having waste toner detecting mechanism

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270262A (zh) * 2011-08-23 2011-12-07 复旦大学 集成电路仿真模拟波形压缩和解压缩方法及装置
CN107533473A (zh) * 2015-05-04 2018-01-02 美商新思科技有限公司 用于仿真的高效波形生成
CN107533473B (zh) * 2015-05-04 2021-03-02 美商新思科技有限公司 用于仿真的高效波形生成
WO2023193547A1 (zh) * 2022-04-08 2023-10-12 华为技术有限公司 用于生成和存储电路仿真过程中的波形数据的方法、电子设备和存储介质

Also Published As

Publication number Publication date
US20090254331A1 (en) 2009-10-08
WO2009123828A2 (en) 2009-10-08
US8706467B2 (en) 2014-04-22
TW201003444A (en) 2010-01-16
CN101689216B (zh) 2013-09-18
TWI474203B (zh) 2015-02-21
WO2009123828A3 (en) 2009-11-26

Similar Documents

Publication Publication Date Title
CN101689216B (zh) 压缩型电路仿真输出
CN102687114B (zh) 具有行为特征的硬件设计的并发仿真
US10354042B2 (en) Selectively reducing graph based analysis pessimism
US20070276645A1 (en) Power modelling in circuit designs
CN102782651B (zh) 硬件设计的混合式并发及串行逻辑仿真
CN101796520A (zh) 用于序向单元的贴近布局的方法和设备
US11176305B2 (en) Method and system for sigma-based timing optimization
CN103150440A (zh) 一种模块级电路网表仿真方法
CN113901745A (zh) 芯片测试方法、装置、电子设备及计算机可读存储介质
US10002225B2 (en) Static timing analysis with improved accuracy and efficiency
CN111581899A (zh) 良率参数文件和门级网表的生成方法以及芯片的开发流程
US10990735B2 (en) System and method for generating a cluster-based power architecture user interface
Ahuja et al. Power estimation methodology for a high-level synthesis framework
US10430535B2 (en) Verification support program medium, verification support method, and information processing device for verification of a circuit
US10162915B2 (en) Method and system for emulation of multiple electronic designs in a single testbench environment
CN102855147A (zh) 用于局部重配置模拟的方法和系统
US11275877B2 (en) Hardware simulation systems and methods for reducing signal dumping time and size by fast dynamical partial aliasing of signals having similar waveform
CN102542098B (zh) 一种fpga互连线延时获取方法及其系统
CN107784185A (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
CN101794328B (zh) 针对门输出负载的快速且准确的估计
CN101826120A (zh) 使用随机变量的串扰时延分析
US8555228B2 (en) Tool for glitch removal
JP2008243092A (ja) マルチサイクルパス検出装置、マルチサイクルパス検出方法及びマルチサイクルパス検出プログラム
CN112613257A (zh) 验证方法、装置、电子设备和计算机可读存储介质
CN201607731U (zh) 用于序向单元的电路设计的设备

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