用于功能对等检测中的仿真方法转让专利

申请号 : CN202010818100.0

文献号 : CN111931444B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 廖璐王美李跃平

申请人 : 长江存储科技有限责任公司

摘要 :

本发明涉及一种功能对等检测方法,包括接收单元列表,接收单元列表中的单元的模拟约束以生成全覆盖输入激励;根据行为代码使用全覆盖输入激励执行行为级仿真,以生成模拟输出值的行为级仿真结果;根据电路级网表使用相同的全覆盖输入激励执行电路级仿真,以产生模拟输出值的电路级仿真结果;并比较行为级仿真结果和电路级仿真结果,以生成模拟值自动比较的比较报告。

权利要求 :

1.一种自动化功能对等检测方法,包括:接收单元列表;

接收所述单元列表中的单元的模拟约束;

自动地根据所述模拟约束生成全覆盖输入激励;

使用所述全覆盖输入激励,根据行为级设计的行为代码来执行行为级仿真,以生成行为级仿真结果;

使用所述全覆盖输入激励,根据电路级网表执行电路级仿真,以生成电路级仿真结果;

以及

自动地比较所述行为级仿真结果和所述电路级仿真结果,以生成模拟值自动比较的比较报告,所述比较报告指示所述单元列表中的单元的输出对应的输出信号的输出引脚是否是功能对等的,

其中,所述电路级仿真是指对电路级设计的所有节点的模拟波形的仿真,所述行为级仿真是指对行为级设计的所有节点的数字或模拟波形的仿真,并且其中,所述电路级设计是指通过电子部件和互联来表示的电路或系统,其中,所述行为级设计是指依照所述电路或所述系统的输入激励由输出响应的行为定义的电路或系统。

2.根据权利要求1所述的方法,其中:所述模拟约束是针对所述单元列表中的所述单元的输入引脚的IO类型、端口类型、实际电压、输入高阈值电压、输入低阈值电压、强制性输入、限制性输入、优先级、周期、未用引脚、和电源引脚,或针对所述单元列表中的所述单元的输出引脚的IO类型、端口类型、实际电压、未用引脚、输出负载、和IO类型的更改;和其中,所述全覆盖输入激励包括模拟输入激励。

3.根据权利要求1所述的方法,其中,根据所述模拟约束生成全覆盖输入激励包括:根据所述单元列表生成输入/输出IO配置表;

使用所述模拟约束修改所述IO配置表;和根据所述修改的IO配置表生成全覆盖模拟输入激励,以及其中,使用所述全覆盖输入激励,根据行为级设计的行为代码来执行行为级仿真,以生成行为级仿真结果包括:

使用所述全覆盖模拟输入激励执行所述行为级仿真,以生成模拟输出响应作为所述行为级仿真结果。

4.根据权利要求3所述的方法,还包括:根据所述单元列表生成所述行为代码;和根据所述修改的IO配置表生成监视配置;

其中,使用所述全覆盖模拟输入激励执行所述行为级仿真以生成所述模拟输出响应作为所述行为级仿真结果包括:

将所述全覆盖模拟输入激励应用于由所述行为代码建模的单元,以从所述监视配置指定的输出引脚捕获输出信号。

5.根据权利要求3所述的方法,还包括:根据所述修改的IO配置表生成电路级仿真配置;

其中,根据所述修改的IO配置表执行所述电路级仿真,以生成模拟输出响应作为所述电路级仿真结果,包括:

根据所述电路级网表和所述电路级仿真配置来执行所述电路级仿真,以生成所述电路级仿真结果。

6.根据权利要求1所述的方法,其中:所述单元的所述模拟约束指定来自所述单元的输出引脚的输出信号的检测窗口;和比较所述行为级仿真结果和所述电路级仿真结果,以生成所述比较报告包括:在所述检测窗口中比较所述行为级仿真结果和所述电路级仿真结果。

7.根据权利要求1所述的方法,其中:所述单元的所述模拟约束指定在检测窗口中所述单元的输出信号的容差;

所述输出信号是来自所述单元的输出引脚的输出;和比较所述行为级仿真结果和所述电路级仿真结果以生成所述比较报告包括:在所述检测窗口中确定所述行为级仿真结果中的输出信号和所述电路级仿真结果中的输出信号的差值;和

当所述差值小于所述容差时,在所述比较结果中指示所述输出引脚的功能对等检测成功。

8.根据权利要求7所述的方法,其中所述容差是相对容差或相对容差。

9.根据权利要求1所述的方法,还包括接收所述单元列表中的所述单元的第二约束;

其中所述单元的所述第二约束指定来自所述单元的输出引脚的输出信号是浮动的;和比较所述行为级仿真结果和所述电路级仿真结果以生成所述比较报告包括:当所述行为级仿真结果中的输出信号和所述电路级仿真结果中的输出信号都是浮动的时,在所述比较报告中指示所述引脚的功能对等检测成功。

10.根据权利要求1所述的方法,还包括接收所述单元列表中的所述单元的第二约束;

其中所述单元的所述第二约束指定来自所述单元的输出引脚的输出信号由多个信号源驱动;和

比较所述行为级仿真结果和所述电路级仿真结果以生成所述比较报告包括:当所述行为级仿真结果中的输出信号和所述电路级仿真结果中的输出信号都由多个信号源驱动时,在所述比较报告中指示所述输出引脚的功能对等检测成功。

11.一种用于自动化对等检测的装置,包括:输入模块,被配置为接收单元列表和所述单元列表中单元的模拟设计约束;

行为级测试台生成模块,被配置为自动地根据所述模拟设计约束生成全覆盖输入激励;

行为级仿真器,被配置为使用所述全覆盖输入激励,根据行为级设计的行为代码来执行行为级仿真,以生成行为级仿真结果;和电路级仿真器,被配置为使用所述全覆盖输入激励,根据电路级网表执行电路级仿真,以生成电路级仿真结果,以及自动地比较所述行为级仿真结果和所述电路级仿真结果以生成模拟值自动比较的比较报告,所述比较报告指示所述单元列表中的单元的输出对应的输出信号的输出引脚是否是功能对等的,其中,所述电路级仿真是指对电路级设计的所有节点的模拟波形的仿真,所述行为级仿真是指对行为级设计的所有节点的数字或模拟波形的仿真,并且其中,所述电路级设计是指通过电子部件和互联来表示的电路或系统,其中,所述行为级设计是指依照所述电路或所述系统的输入激励由输出响应的行为定义的电路或系统。

12.根据权利要求11所述的装置,其中所述模拟设计约束是针对所述单元列表中的所述单元的输入引脚的IO类型、端口类型、实际电压、输入高阈值电压、输入低阈值电压、强制性输入、限制性输入、优先级、周期、未用引脚、和电源引脚,或针对所述单元列表中的单元的输出引脚的IO类型、端口类型、实际电压、未用引脚、输出负载、和IO类型的更改;

其中,所述全覆盖输入激励包括模拟输入激励。

13.根据权利要求11所述的装置,其中:所述装置还包括输入/输出IO配置表生成模块,被配置为根据所述单元列表生成IO配置表,和使用所述模拟设计约束修改所述IO配置表;

所述行为级测试台生成模块还被配置为根据所述修改的IO配置表生成全覆盖模拟输入激励;和

所述行为级测试台生成模块被配置为使用所述全覆盖模拟输入激励执行所述行为级仿真,以生成模拟输出响应作为所述行为级仿真结果。

14.根据权利要求13所述的装置,其中:所述行为级测试台生成模块被配置为根据所述单元列表生成所述行为代码,和根据所述修改的IO配置表生成监视配置;和所述行为级仿真器被配置为将所述全覆盖模拟输入激励应用于由所述行为代码建模的所述单元,以捕获来自所述监视配置中指定的输出引脚的输出信号。

15.根据权利要求13所述的装置,其中:所述电路级模板生成模块还被配置为根据所述修改的IO配置表生成电路级仿真配置;

所述电路级仿真器被配置为根据所述电路级网表和所述电路级仿真配置执行所述电路级仿真,以生成所述电路级仿真结果。

16.根据权利要求11所述的装置,其中:所述单元的所述模拟设计约束指定来自所述单元的输出引脚的输出信号的检测窗口;

所述电路级仿真器被配置为在所述检测窗口中比较所述行为级仿真结果和所述电路级仿真结果。

17.根据权利要求11所述的装置,其中:所述单元的所述模拟设计约束指定在检测窗口中所述单元的输出信号的容差;

所述输出信号是来自所述单元的输出引脚的输出;和所述电路级仿真器被配置为在所述检测窗口中确定所述行为级仿真结果中的输出信号和所述电路级仿真结果中的输出信号的差值,和当所述差值小于所述容差时,在所述比较报告中指示所述输出引脚的功能对等检测成功。

18.根据权利要求11所述的装置,其中:所述输入模块还被配置为接收所述单元列表中的所述单元的第二约束,所述单元的所述第二约束指定来自所述单元的输出引脚的输出信号是浮动的;和所述电路级仿真器被配置为当所述行为级仿真结果中的输出信号和所述电路级仿真结果中的输出信号都是浮动的时,在所述比较报告中指示所述输出引脚的功能对等检测成功。

19.根据权利要求11所述的装置,其中:所述输入模块还被配置为接收所述单元列表中的所述单元的第二约束,所述单元的所述第二约束指定来自所述单元的输出引脚的输出信号由多个信号源驱动;和所述电路级仿真器被配置为当所述行为级仿真结果中的输出信号和所述电路级仿真结果中的输出信号都由多个信号源驱动时,在所述比较报告中指示所述引脚的功能对等检测成功。

说明书 :

用于功能对等检测中的仿真方法

[0001] 本申请是申请日为2019年5月9日、申请号为201980000895.X,发明名称为“用于功能对等检测中的仿真方法”的发明专利的分案申请。
发明领域
[0002] 本发明涉及电子电路的计算机辅助设计,并且尤其涉及一种用于功能对等检测的仿真方法。
[0003] 发明背景
[0004] 用于设计和制造集成电路的设计流程通常需要许多阶段。首先,设计晶体管级电路并在其上执行电路级仿真以符合规范。随后,使用硬件描述语言(HDL)中的行为代码比如
超高速集成电路HDL(VHDL)或Verilog HDL来执行全芯片模拟和/或混合信号电路的行为级
仿真。在电路级仿真中,根据晶体管,电容器,电阻器和导线的电路原理图描述所述电路。在
所述行为级仿真中,根据电路输入和输出的行为描述所述电路。所述行为代码的准确性可
能会影响所述全芯片Verilog行为级仿真的准确性,效率和覆盖范围。为了确保所述行为代
码的准确性,需要在行为代码和电路原理图之间执行所述功能对等检测。所述功能对等检
测的一种形式是将行为代码的仿真结果与晶体管级电路的仿真结果进行比较。电子设计自
动化(EDA)工具通常用于执行功能对等检测。
[0005] 传统地,电路设计者基于对电路设计功能的工程理解手动创建用于行为级仿真的输入激励,并且在行为级建模中采用逻辑值,导致仿真中输入组合的不完全覆盖和模拟值
检测的缺乏。
[0006] 因此,需要一种仿真方法来自动化功能对等检测过程,提供输入激励的全覆盖,并且在行为级建模和仿真中考虑电路设计的模拟值,并且在行为级仿真和所述电路级仿真之
间执行所述模拟值自动比较。

发明内容

[0007] 根据本发明的一个方面,功能对等检测方法包括:接收单元列表中单元的模拟设计约束;根据该模拟设计约束生成全覆盖输入激励;使用该全覆盖输入激励根据所述行为
代码执行行为级仿真以生成行为级仿真结果;使用该全覆盖输入激励根据所述电路级网表
执行电路级仿真以生成电路级仿真结果;并且比较所述行为级仿真结果和所述电路级仿真
结果以生成模拟值自动比较的比较报告。
[0008] 根据本发明的另一个方面,提供了一种执行功能对等检测的计算机。该计算机包括:配置为执行计算机程序的处理器,和耦合到所述处理器并且配置为存储所述可执行计
算机程序的非暂时性计算机可读存储介质。所述计算机程序包括:配置为接收单元列表和
该单元列表中单元的模拟设计约束,并且根据该模拟设计约束来生成全覆盖输入激励的输
入模块;配置为使用所述全覆盖输入激励根据所述行为代码执行行为级仿真以生成行为级
仿真结果的行为级仿真器;和配置为使用所述全覆盖输入激励根据所述电路级网表执行电
路级仿真来生成电路级仿真结果的电路级仿真器,并且比较所述行为级仿真结果和所述电
路级仿真结果来生成模拟值自动比较的比较报告。
[0009] 在阅读了在各种不同的附图和图中阐明的优选实施例的详细描述后,本发明这些和其他目标对于那些本领域的普通技术人员将无疑变得显而易见。
[0010] 附图简要说明
[0011] 图1是根据本发明的一个实施例的对等检测系统。
[0012] 图2是图1中对等检测系统采用的行为仿真测试台。
[0013] 图3是图1中对等检测系统采用的SPICE模板。
[0014] 图4是图1中对等检测系统采用的仿真方法的流程图。
[0015] 图5示出了将模拟约束应用到图1中的对等检测系统的行为级仿真的三个实施例。
[0016] 图6示出了由图1中对等检测系统生成的用于实值自动比较的示例性行为级仿真结果文件。
[0017] 图7示出了在图1对等检测系统中使用了检测窗口的用于实值自动比较的示例性功能对等检测。
[0018] 图8示出了由图1对等检测系统生成的用于逻辑值自动比较的示例性行为级仿真结果文件。
[0019] 图9示出了按照本发明的一个实施例使用检测窗口的用于逻辑值自动比较的示例性功能对等检测。
[0020] 图10是对等检测系统1采用的功能对等检测方法10的流程图。
[0021] 图11是根据本发明的一个实施例使用模拟约束用来执行功能对等检测的计算机程序11的示意图。

具体实施方式

[0022] 如本文中使用的,术语“电路级设计”是指通过电子部件和互联来表示的电路或系统,和术语“电路级仿真”是指对所述电路级设计的所有节点的模拟波形的仿真。所述电路
级设计和所述电路级仿真可以分别由电路级网表和具有集成电路加重(SPICE)仿真器的仿
真程序来描述和仿真。所述电路级网表包括电路级设计中的电子部件列表和连接这些电子
部件的节点列表,并且可以是SPICE网表。所述SPICE仿真器可以是FastSPICE工具比如
Spectre XPS,FineSim‑Pro,或CustomSim。术语“行为级设计”是指依照所述电路或所述系
统的输入激励由输出响应的行为定义的电路或系统,和术语“行为级仿真”是指对所述行为
级设计的所有节点数字波形的仿真。所述行为级设计和所述行为级仿真可以分别由硬件描
述语言(HDL)比如超高速集成电路HDL(VHDL)和Verilog HDL以及相应的HDL仿真器来建模
和仿真。
[0023] 图1是根据本发明的一个实施例的对等检测系统1。该对等检测系统1包括:对等检测工具10,单元列表12,单元库14,行为级仿真器16和电路级仿真器18。该对等检测系统1利
用对等检测工具10来自动化全芯片电路中的模拟和/或混合信号单元的行为级设计和电路
级设计之间的功能对等检测,为所述行为级仿真和所述电路级仿真生成所述全覆盖输入激
励并且使用来自所述行为级仿真和所述电路级仿真的仿真输出的模拟值来执行功能对等
检测。可以从全芯片模拟电路或混合信号电路中提取单元列表12。单元库14可能包括用于
所述全芯片电路的行为代码格式和/或SPICE网表格式的标准单元的集合。行为级仿真器16
可以是Verilog仿真器以及电路级仿真器18可以是FastSPICE仿真器。
[0024] 将对等检测工具10耦合到单元列表12,单元库14,行为级仿真器16和电路级仿真器18来获取单元列表12,从单元库14获取由行为代码表示的所需标准单元,在行为级仿真
器16上执行所述行为级仿真,之后,从单元库14获取SPICE网表,在电路级仿真器18上执行
所述电路级仿真并且在电路级仿真器18上比较仿真结果,以及从电路级仿真器18处接收比
较报告。对等检测工具10包括输入/输出(IO)配置表100,行为仿真测试台102,SPICE模板
104和比较报告106。
[0025] IO配置表100包括在单元列表12中每个单元的输入引脚和输出引脚的列表及其设计约束11,并且可以由IO配置表脚本根据单元列表12生成并且通过从输入设备比如键盘、
触摸屏、麦克风等接收的用户输入修改。IO配置表100可以用于生成用于所述行为级仿真和
所述电路级仿真的输入激励和其他配置文件。设计约束11可以是逻辑值或模拟值。表1和表
2示出了IO配置表100的实施例并且分别包括了单元的输入和输出引脚的输入激励约束和
输出比较约束。可以组合表1和表2来形成一个IO配置表。
[0026] 表1
[0027]
[0028]
[0029] 表2
[0030]
[0031]
[0032] 表1示出了当所述引脚被用作输入引脚时所选单元每个引脚的约束。所述引脚的约束包括IO类型、端口类型、实际电压、输入高阈值电压Vih、输入低阈值电压Vil、强制性输
入、限制性输入、优先级、周期、未用引脚和电源引脚。表2示出了当所述引脚被用作输出引
脚时所选单元每个引脚的约束。所述引脚的约束包括IO类型、端口类型、实际电压、输出高
阈值电压Voh、输出低阈值电压Vol、未用引脚、输出负载、“Z”状态检测、“X”“状态检测和仿
真精度。
[0033] 所述IO类型指示引脚是输入型、输出型或输入/输出型。所述端口类型指定引脚的输入/输出型的端口类型是输入型或输出型,并且对于所述引脚的所述输入型或所述输出
型,与引脚的IO类型相同。所述输入类型的实际电压指定是否在所述行为级仿真中采用具
有输入高阈值电压Vih与输入低阈值电压Vil的模拟值作为输入激励;输出类型的实际电压
指定是否对所述电路级仿真中具有输出高阈值电压Voh或输出低阈值电压Vol的输出执行
实值自动比较,如果设置所述输出类型的实际电压被为“是”,则对等检测工具10可以在电
路级仿真中对输出信号都应用逻辑值检测和模拟值检测;如果设置所述实际电压为“否”,
则所述对等检查工具10可以在所述电路级仿真中对所述输出信号仅应用逻辑值检测。Vih
指定输入高阈值电压的模拟值;Vil指定输入低阈值电压的模拟值;Vol指定输出高阈值电
压的模拟值;并且Vol指定输出低阈值电压的模拟值。如果使用所述实际电压,当被提供时
则Vih,Vil,Voh或Vol是所述指定的模拟值,当未被提供时则是默认模拟值,默认模拟值为
电源电压或接地电压。所述强制性输入指定是否将指定引脚的输入信号设置为逻辑值1,逻
辑值0,多驱动状态或浮动状态(分别由“1”,“0”,“X”,“Z”表示,),或在逻辑值1和0之间交替
所述输入信号(由“m”表示)。所述限制性输入指定引脚的输入信号对另一个引脚的另一输
入信号的依赖性。例如,在表1中,引脚en_vpen上的输入信号取决于引脚en_vpe上输入信号
的反转。所述优先级指定扫描序列的顺序,并且在一些实施例中,“1”表示扫描序列中的最
后输入信号,以及当未指定其优先级时,扫描序列中的输入信号的顺序可以是任意的。例
如,在表1中,引脚en_vpe,en_use1[2:0]和vgsw上的输入信号分别是扫描序列中的最后一
个,倒数第二个和倒数第三个信号,并且其他输入信号可以在扫描序列中以任意顺序排列。
周期指定输入激励组合的持续时间。例如,在表1中,输入激励将以交替方式输入en_vpe引
脚持续100ns的时间。未用引脚和电源引脚分别指定未进行使用的引脚和用于提供电源的
输入引脚。例如,在表1中,pchr_n引脚未使用,因此将其置于高阻抗负载并且因此不会对其
以及引脚v2x,vdd,vssx,vss电源检查功能对等。输出负载指定连接到输出引脚的输出负
载。例如,在表2中,引脚out_vgsv[2:0]的输出负载为1f。“Z”状态检测和“X”状态检测分别
指定在电路级仿真中是否检查输出引脚上的信号的多驱动状态和浮动状态。例如,在表2
中,针对多驱动状态和浮动状态两者检测引脚out_vgsv[2:0]。仿真精度指定电路级仿真的
精度。
[0034] 尽管未示出,表1和/或2还可以包括指定有效窗口的检测窗口字段,在检测窗口中可以比较所述行为级仿真和所述电路级仿真的仿真结果。
[0035] 行为仿真测试台102可以是用于为Verilog仿真建立仿真环境的Verilog测试台文件,并且类似地,SPICE模板104可以是用于为XPS仿真和检测功能对等建立仿真环境的XPS
模板文件。比较报告106是描述在单元列表12中每一个单元输出引脚的功能对等性并且由
电路级仿真器108生成的报告文件。行为仿真测试台102包括行为代码1020,输入激励1022
和监视配置1024。SPICE模板104包括行为级仿真结果1040,SPICE网表1042和SPICE配置
1044。行为代码1020和SPICE网表1042可以分别地由行为代码脚本和SPICE网表脚本根据单
元列表12和单元库14生成。输入激励1022,监视配置1024和SPICE配置1044可以由输入激励
脚本,监视配置脚本和SPICE配置脚本根据IO配置表100来分别生成。行为级仿真结果1040
可以由行为级仿真器16来生成,并且可以是test.vec文件,其包含所有输入引脚的所述输
入激励和来自行为级仿真的所有输出引脚的输出值。输入激励1022包括馈送到单元的输入
引脚的全覆盖输入组合。监视配置1024包括要捕获的单元的输入和输出信号的列表。SPICE
配置1044包括含有仿真精度的SPICE仿真参数,“Z”状态检测选项和“X”状态检测选项。
[0036] 图2是对等检测系统1中采用的行为仿真测试台102,其中行为代码1020包括单元202和单元库200,通过限制性输入222、强制性输入224、优先级226、周期228与Vih/Vil 220
生成输入激励1022,并且,监视配置1024包括引脚名称240、IO类型242,port类型244、检测
窗口246、Vih/Vil220、Voh/Vol 248和周期228。图3是对等检测系统1中采用的SPICE模板
104,其中行为级仿真结果1040包括信号类型340、信号切换值342和检测窗口246,SPICE网
表1042包括单元库300和单元202;以及,SPICE配置1044包括输出负载320,仿真精度322,
“Z”状态检测选项324和“X”状态检测选项326。
[0037] 图4是由对等检测系统1采用的仿真方法4的流程图。该仿真方法4包括步骤S400至步骤S414以使功能对等检测自动化。使用步骤S404至步骤S406来生成IO配置表100,并且使
用步骤S408至步骤S414检测功能对等。任何合理的技术变化或步骤调整都在本发明的范围
内。步骤S400至步骤S414详述如下:
[0038] 步骤S400:接收单元列表12;
[0039] 步骤S402:根据单元列表12生成IO配置表100;
[0040] 步骤S404:接收单元列表12中的单元的约束;
[0041] 步骤S406:使用所述约束修改IO配置表100;
[0042] 步骤S408:根据修改的IO配置表100生成全覆盖输入激励;
[0043] 步骤S410:使用所述输入激励执行行为级仿真以生成行为级仿真结果1040;
[0044] 步骤S412:根据修改的IO配置表100执行电路级仿真以生成电路级仿真结果;
[0045] 步骤S414:比较所述行为级仿真结果1040和所述电路级仿真结果以生成比较报告106。
[0046] 步骤的顺序不限于图4。在步骤S400中,对等检测工具10接收全芯片模拟或混合信号电路的单元列表12,并且在步骤S402中,对等检测工具10生成包括单元列表12中每个单
元的引脚的IO配置表100。电路设计者可以将仿真约束输入到IO配置表100中来生成用于单
元列表12中每个单元的输入引脚的输入激励1022。具体地,该对等检测工具10在步骤S404
中接收单元列表12中的单元的约束,并且在步骤S406中在IO配置表100中写入该约束来修
改IO配置表100。所述约束可以如表1和表2中讨论的可以是逻辑值或模拟值。随后,在步骤
S408中,对等检测工具10根据修改的IO配置表100为每个单元的每个输入引脚生成全覆盖
输入激励来提供输入激励1022。对等检测工具10还可以根据单元列表12提取行为代码1020
并且根据IO配置表100来生成监视配置1024。在步骤S410中,行为级仿真器16使用输入立即
执行行为级仿真,通过将所述输入激励应用到由行为代码建模的单元来捕获在监视配置中
指定的所有输入信号和输出信号,并将所捕捉的输入和输出信号存储为行为级仿真结果
1040,以生成行为级仿真结果1040。图6中提供了行为级仿真结果1040的示例。在步骤S412
中,对等检测工具10根据修改的IO配置表100和行为级仿真结果1040执行电路级仿真来生
成电路级仿真结果。此外,对等检测工具10根据单元列表12提取SPICE网表1042并且根据修
改的IO配置表100生成SPICE配置1044,以及电路级仿真器18根据行为级仿真结果1040,
SPICE网表1042和SPICE配置1044执行电路级仿真来以生成所述电路级仿真结果。具体地,
电路级仿真器18可以从行为级仿真结果1040获取所述电路级仿真的输入激励,从而保持所
述行为级仿真和所述电路级仿真之间的输入激励的一致性。在步骤S414中,电路级仿真器
18比较行为级仿真结果1040和所述电路级仿真结果来生成比较报告106。电路级仿真器18
可以确定来自行为级仿真结果1040和所述电路级仿真结果的对应输出信号是否一致,如果
一致,则在比较报告106中指出输出对应的输出信号的输出引脚是功能对等的;以及如果不
一致,则在比较报告106中指出所述输出引脚不是功能对等的。在一些实施例中,电路级仿
真器18可以在检测窗口中比较相应的输出信号,并且其细节将在图6中讨论。在其他实施例
中,所述电路级仿真器可以通过确定它们是否都处于Z状态或都是浮动的来比较相应的输
出信号来检测它们的对等性,如果是,则在比较报告106中指示所述输出引脚的功能对等检
测成功;如果不是,则在比较报告106中指示所述输出引脚的功能对等检测失败。在其他实
施例中,电路级仿真器18可以通过确定它们是否多处于X状态或都是多驱动来比较相应的
输出信号来检测对等,如果是,则在比较报告106中指示所述输出引脚的功能对等检测成
功,如果不是,则在比较报告106中指示所述输出引脚的功能对等检测失败。比较报告106可
以包括单元列表12中每个单元的输出引脚列表的功能对等检测结果。
[0047] 图5示出了通过将模拟约束应用于对等检测系统1的行为级仿真的三个实施例,描绘了与逻辑状态模型相比采用模拟值模型的益处。所述模拟值模型也称为实值模型。单元
列表12可以包含单晶体管电路50,多驱动电路52和多驱动电路54。可以使用逻辑约束和/或
模拟约束来仿真所述单元。所述模拟约束可以是所述单元的输入信号的输入电压限制,并
且对等检测工具10可以根据所述输入信号的输入电压限制来生成模拟输入激励。所述输入
信号的输入电压限制可以是所述输入高阈值电压Vih或所述输入低阈值电压Vil。对于单晶
体管电路50,当在逻辑状态模型中使用逻辑约束时,当将逻辑“1”输入晶体管M1的输入引脚
IN时,输出引脚OUT呈现逻辑“1”;然而当在实值模型中使用模拟约束时,首先使用所述输入
高阈值电压Vih将输入激励转换为6V,然后将其输入晶体管M1的输入引脚IN来在输出引脚
OUT处生成5V‑VT,从而以模拟形式反映所述输出信号的实值。对于多驱动电路52,当在所述
逻辑状态模型中使用逻辑约束时,输出引脚OUT仅呈现逻辑“1”,尽管不同的模拟电压水平
和/或输入信号的不同组合被分别地施加到在不同电路块中的晶体管M1和M2的输入引脚
IN2以及输入引脚IN1。例如,所述输出引脚OUT针对将逻辑“1”输入到引脚IN1、将逻辑“1”输
入到输入引脚IN2、将逻辑“0”输入到IN1引脚、将逻辑“1”输入到输入引脚IN2、并将逻辑“1”
输入到引脚IN1、将逻辑“0”输入到输入引脚IN2的所有情况生成逻辑“1”,尽管这三种情况
在现实生活中会表现出不同的输出行为,但是电路设计人员无法区分这些不同的情况。当
在实值模型中采用模拟约束时,晶体管M1可以使用6V的模拟信号输入,晶体管M2可以使用
7V的模拟信号输入,取决于输入引脚IN1和输入引脚IN2中的哪一个或两者被施加了模拟信
号,输出引脚OUT可以提供6V(最小输出),7V(最大输出),6.5V(平均输出)或“X”状态(冲突
输出),从而以模拟形式精确地对真实输出信号建模。对于多驱动电路54,当在逻辑状态模
型中使用逻辑约束时,输出引脚OUT简单地呈现逻辑“1”,尽管不同的模拟电压电平和/或输
入信号的不同组合分别施加到晶体管M1,M2,M3的输入引脚IN1,IN2,IN3;然而在实值模型
中采用模拟约束时,可以使用6V的模拟信号输入晶体管M1,可以使用7V的模拟信号输入晶
体管M2并且可以使用8V的模拟信号输入晶体管M3,取决于输入引脚IN1,IN2,IN3中的哪一
个施加了模拟信号,输出引脚OUT可以交付6V,7V,8V或“X”状态,从而以模拟形式精确地对
真实输出信号建模。
[0048] 图7示出了针对实值模型在对等检测系统1中使用检测窗口的一个示例性功能对等检测,其中左上图示出了行为级输出信号70,右上图示出了电路级输出信号72,下图示出
了行为级输出信号70和电路级输出信号72的功能对等检测。如前段所述,单元列表12中的
单元的约束可以指定来从该单元的输出引脚的输出信号的检测窗口,并且该检测窗口可以
被结合到行为级输出信号70和电路级输出信号72的比较中来考虑电路级输出信号72的过
渡时间Tset。与行为级仿真不同,所述电路级输出信号72采用有限的过渡时间Tset以过渡
到稳定状态。如图7中阐明的那样,电路级仿真器18可以跳过所述过渡持续时间Tset并且在
比较窗口Tchk内比较行为级输出信号70和电路级输出信号72来为对等检测获取一个准确
的比较结果。在一些实施例中,所述单元的约束可以进一步指定在检测窗口中单元的输出
信号的容差。该容差可以是相对容差abstol或绝对容差reltol。电路级仿真器18可以确定
在检测窗口Tchk中行为级输出信号70和电路级输出信号72之间的差值是否在该容差内,如
果在,在比较报告106中指示所述输出引脚的功能对等检测成功,如果不在,则在比较报告
106中指示所述输出引脚的功能对等性检查失败。在图7中所示的实施例中,由于在检测窗
口Tchk内行为级输出信号70的模拟值与电路级输出信号72的模拟值之间的差值在容差内,
所以功能对等检测成功。
[0049] 具体实施方式
[0050] 图6示出了由对等检测系统1生成的用于实值模型的另一示例性行为级仿真结果1040,其采用检测窗口来检测来自单元的输出引脚的输出信号的模拟值。行为级仿真结果
1040可以包含来自行为级仿真的所有输入引脚的输入激励和所有输出引脚的输出值,其中
输入激励包含要被馈送到单元的输入引脚的以便进行电路级仿真的全覆盖输入组合,并根
据监视配置文件捕获输出值。行为级仿真结果1040可以包含sig_type参数,该sig_type参
数指示信号的信号类型是逻辑的或模拟的,其中l指示逻辑值,r指示模拟值。所选择的行指
示对于输出信号的模拟值检测的检测窗口设置。检测窗口设置包括检测时间、窗口范围、稳
定状态、持续时间、相对容差、和绝对容差。在所选择的行中,检测窗口的检测时间以500ns
为中心,窗口范围为在检测时间之前50ns和检测时间之后为50ns。行为级仿真器16可以生
成仿真的模拟值作为预期输出,该仿真的模拟值将与处于检测窗口中的10mV的绝对容差或
10%的相对容差内且在电路级仿真中持续时间20ns的电路级仿真模拟输出进行比较。还可
以使用图6中概述的检测窗口方法检测输出信号的“X”状态和“Z”状态。
[0051] 图8示出了由对等检测系统1在行为级仿真中生成的用于逻辑状态模型的行为级仿真结果1040,其采用检测窗口来检测来自单元的输出引脚的输出信号的逻辑值。检测窗
口约束可以定义输出信号的窗口范围,检测时间和稳定状态。图8中,所选择的行指示用于
输出信号的逻辑值检测的检测窗口设置。行为级仿真器16可以生成仿真的逻辑值作为预期
输出,其将在检测窗口中与利用输出高(HIGH)阈值电压voh和输出低(LOW)阈值电压vol从
模拟输出转换的电路级仿真的逻辑状态输出进行比较,如果电路级仿真的逻辑状态输出与
预期输出匹配,则在比较报告106中指示输出引脚的逻辑值检测成功,否则,在比较报告106
中指示输出引脚的逻辑值检测失败。
[0052] 图9示出了在对等检测系统1中使用检测窗口的用于逻辑状态模型的示例性功能对等检测,其中左上图示出了行为级输出信号90,右上图示出了电路级输出信号92,右下图
示出了电路级输出信号92的数字转换92',左下图示出了行为级输出信号90和转换的电路
级输出信号92'的功能对等检测。行为级输出信号90是可以处于逻辑电平“0”或逻辑电平
“1”的数字信号。电路级输出信号92是模拟信号,其可以从第一模拟值(例如0.2V)上升到第
二模拟值(例如6V),反之亦然。可以将电路级输出信号92输出到行为级仿真器16,并且利用
监视配置1024中指定的输出高阈值电压voh和输出低阈值电压vol将电路级输出信号92转
换为数字化电路级输出信号92'。结果,数字化电路级输出信号92'可以处于逻辑电平“0”或
逻辑电平“1”,并且可以与行为级输出信号90进行比较。可以在检测窗口Tchk中比较行为级
输出信号90的值和数字化电路级输出信号92'的值。行为级仿真器16可以在检测窗口Tchk
中确定行为级输出信号90与数字化电路级输出信号92'的值是否存在差值,如果是,则在比
较报告106中指示输出引脚的功能对等检测失败,如果不是,则在比较报告106中指示输出
引脚的功能对等检测成功。在如图9所示的实施例中,功能对等检测是成功的,因为行为级
输出信号90和数字化电路级输出信号92'在检测窗口Tchk中都处于逻辑电平“1”。
[0053] 图10是对等检测系统1采用的功能对等检测方法10的流程图。仿真方法10包括步骤S1000至S1010,以使用模拟值执行自动功能对等检测。步骤S1000和S1002用于获取单元
列表12中的单元的模拟约束。步骤S1004至S1010用于使用模拟约束获取行为级仿真结果
1040和电路级仿真结果和自动比较行为级仿真结果1040和电路级仿真结果以生成比较报
告106。任何合理的技术变化或步骤调整都在本公开的范围内。步骤S1000至S1010详述如
下:
[0054] 步骤S1000:接收单元列表12;
[0055] 步骤S1002:接收单元列表12中的单元的模拟约束;
[0056] 步骤S1004:使用模拟约束执行行为级仿真,以生成行为级仿真结果1040;
[0057] 步骤S1008:根据行为级仿真结果1040执行电路级仿真,以生成电路级仿真结果;
[0058] 步骤S1010:比较行为级仿真结果1040和电路级仿真结果,以生成比较报告106。
[0059] 步骤S1000至S1010的细节在前面的段落中进行了解释,这里不再重复。
[0060] 图11是根据本发明一个实施例的用于使用模拟约束来执行功能对等检测的计算机程序11的示意图。计算机程序11可以由计算机中的处理器执行,并且被存储在计算机中
的非暂时性计算机可读存储介质中。非暂时性计算机可读存储介质可以是硬盘驱动器、光
盘、随机存取存储器、只读存储器或另一非易失性存储器。
[0061] 计算机程序11包括功能对等检测工具110,其包括输入模块1100、IO配置表生成模块1102、行为级测试台生成模块1104、电路级模板生成模块1106、行为级仿真器16、和电路
级仿真器18。
[0062] 输入模块1100可以接收单元列表12和单元列表12中的单元的模拟约束112。IO配置表生成模块1102可以根据单元列表12生成IO配置表100并且可以使用模拟约束112来修
改IO配置表100。模拟约束112可以包括:用于单元列表12中的单元的输入引脚的IO类型、端
口类型、实际电压、输入高阈值电压Vih、输入低阈值电压Vil、强制性输入、限制性输入、优
先级、周期、未用引脚、和电源引脚;以及用于单元列表12中的单元的输出引脚的IO类型、端
口类型、实际电压、未用引脚、输出负载、“Z”状态检测、“X”状态检测、以及仿真精度。
[0063] 在一些实施例中,行为级测试台生成模块1104可以根据修改的IO配置表100生成模拟输入激励1022。行为级测试台生成模块1104可以根据单元列表12生成行为代码1020,
并且可以根据修改的IO配置表100生成监视配置1024。行为级仿真器16可以使用模拟输入
激励1022执行行为级仿真,以生成模拟输出响应作为行为级仿真结果1040。具体地,行为级
仿真器可以将输入激励1022应用于由行为代码1020建模的单元,以从监视配置1024中指定
的输出引脚捕获输出信号。
[0064] 电路级模板生成模块1106可以从行为级仿真器16接收行为级仿真结果1040,根据单元列表12生成SPICE网表1042,可以根据修改的IO配置表生成电路级仿真配置1044。电路
级仿真器18可以根据SPICE网表1042和电路级仿真配置1044执行电路级仿真,以生成电路
级仿真结果,并比较行为级仿真结果1040和电路级仿真结果以用于生成比较报告106。
[0065] 在前面的段落中对行为级仿真器16和电路级仿真器18的操作进行了解释,这里不再重复。
[0066] 图1中的对等检测工具10、图4中的仿真方法4、图10中的功能对等检测方法10、和图11中的计算机程序11,可以自动执行功能对等检测过程,提供输入激励的全覆盖,在行为
级建模和仿真中考虑电路设计的实际值,和执行行为级仿真结果1040和电路级仿真结果之
间的模拟值自动比较以生成比较报告106。
[0067] 本领域技术人员将容易地观察到,在保留本发明的教导的同时可以对装置和方法进行多种修改和更改。因此,上述公开内容应被解释为仅受所附权利要求的范围和界限的
限制。