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

文档序号:18744737发布日期:2019-09-21 02:12阅读:226来源:国知局
用于功能对等检测中的仿真方法与流程

本发明涉及电子电路的计算机辅助设计,并且尤其涉及一种用于功能对等检测的仿真方法。

发明背景

用于设计和制造集成电路的设计流程通常需要许多阶段。首先,设计晶体管级电路并在其上执行电路级仿真以符合规范。随后,使用硬件描述语言(HDL)中的行为代码比如超高速集成电路HDL(VHDL)或Verilog HDL来执行全芯片模拟和/或混合信号电路的行为级仿真。在电路级仿真中,根据晶体管,电容器,电阻器和导线的电路原理图描述所述电路。在所述行为级仿真中,根据电路输入和输出的行为描述所述电路。所述行为代码的准确性可能会影响所述全芯片Verilog行为级仿真的准确性,效率和覆盖范围。为了确保所述行为代码的准确性,需要在行为代码和电路原理图之间执行所述功能对等检测。所述功能对等检测的一种形式是将行为代码的仿真结果与晶体管级电路的仿真结果进行比较。电子设计自动化(EDA)工具通常用于执行功能对等检测。

传统地,电路设计者基于对电路设计功能的工程理解手动创建用于行为级仿真的输入激励,并且在行为级建模中采用逻辑值,导致仿真中输入组合的不完全覆盖和模拟值检测的缺乏。

因此,需要一种仿真方法来自动化功能对等检测过程,提供输入激励的全覆盖,并且在行为级建模和仿真中考虑电路设计的模拟值,并且在行为级仿真和所述电路级仿真之间执行所述模拟值自动比较。



技术实现要素:

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

根据本发明的另一个方面,提供了一种执行功能对等检测的计算机。该计算机包括:配置为执行计算机程序的处理器,和耦合到所述处理器并且配置为存储所述可执行计算机程序的非暂时性计算机可读存储介质。所述计算机程序包括:配置为接收单元列表和该单元列表中单元的模拟设计约束,并且根据该模拟设计约束来生成全覆盖输入激励的输入模块;配置为使用所述全覆盖输入激励根据所述行为代码执行行为级仿真以生成行为级仿真结果的行为级仿真器;和配置为使用所述全覆盖输入激励根据所述电路级网表执行电路级仿真来生成电路级仿真结果的电路级仿真器,并且比较所述行为级仿真结果和所述电路级仿真结果来生成模拟值自动比较的比较报告。

在阅读了在各种不同的附图和图中阐明的优选实施例的详细描述后,本发明这些和其他目标对于那些本领域的普通技术人员将无疑变得显而易见。

附图简要说明

图1是根据本发明的一个实施例的对等检测系统。

图2是图1中对等检测系统采用的行为仿真测试台。

图3是图1中对等检测系统采用的SPICE模板。

图4是图1中对等检测系统采用的仿真方法的流程图。

图5示出了将模拟约束应用到图1中的对等检测系统的行为级仿真的三个实施例。

图6示出了由图1中对等检测系统生成的用于实值自动比较的示例性行为级仿真结果文件。

图7示出了在图1对等检测系统中使用了检测窗口的用于实值自动比较的示例性功能对等检测。

图8示出了由图1对等检测系统生成的用于逻辑值自动比较的示例性行为级仿真结果文件。

图9示出了按照本发明的一个实施例使用检测窗口的用于逻辑值自动比较的示例性功能对等检测。

图10是对等检测系统1采用的功能对等检测方法10的流程图。

图11是根据本发明的一个实施例使用模拟约束用来执行功能对等检测的计算机程序11的示意图。

具体实施方式

如本文中使用的,术语“电路级设计”是指通过电子部件和互联来表示的电路或系统,和术语“电路级仿真”是指对所述电路级设计的所有节点的模拟波形的仿真。所述电路级设计和所述电路级仿真可以分别由电路级网表和具有集成电路加重(SPICE)仿真器的仿真程序来描述和仿真。所述电路级网表包括电路级设计中的电子部件列表和连接这些电子部件的节点列表,并且可以是SPICE网表。所述SPICE仿真器可以是FastSPICE工具比如Spectre XPS,FineSim-Pro,或CustomSim。术语“行为级设计”是指依照所述电路或所述系统的输入激励由输出响应的行为定义的电路或系统,和术语“行为级仿真”是指对所述行为级设计的所有节点数字波形的仿真。所述行为级设计和所述行为级仿真可以分别由硬件描述语言(HDL)比如超高速集成电路HDL(VHDL)和Verilog HDL以及相应的HDL仿真器来建模和仿真。

图1是根据本发明的一个实施例的对等检测系统1。该对等检测系统1包括:对等检测工具10,单元列表12,单元库14,行为级仿真器16和电路级仿真器18。该对等检测系统1利用对等检测工具10来自动化全芯片电路中的模拟和/或混合信号单元的行为级设计和电路级设计之间的功能对等检测,为所述行为级仿真和所述电路级仿真生成所述全覆盖输入激励并且使用来自所述行为级仿真和所述电路级仿真的仿真输出的模拟值来执行功能对等检测。可以从全芯片模拟电路或混合信号电路中提取单元列表12。单元库14可能包括用于所述全芯片电路的行为代码格式和/或SPICE网表格式的标准单元的集合。行为级仿真器16可以是Verilog仿真器以及电路级仿真器18可以是FastSPICE仿真器。

将对等检测工具10耦合到单元列表12,单元库14,行为级仿真器16和电路级仿真器18来获取单元列表12,从单元库14获取由行为代码表示的所需标准单元,在行为级仿真器16上执行所述行为级仿真,之后,从单元库14获取SPICE网表,在电路级仿真器18上执行所述电路级仿真并且在电路级仿真器18上比较仿真结果,以及从电路级仿真器18处接收比较报告。对等检测工具10包括输入/输出(IO)配置表100,行为仿真测试台102,SPICE模板104和比较报告106。

IO配置表100包括在单元列表12中每个单元的输入引脚和输出引脚的列表及其设计约束11,并且可以由IO配置表脚本根据单元列表12生成并且通过从输入设备比如键盘、触摸屏、麦克风等接收的用户输入修改。IO配置表100可以用于生成用于所述行为级仿真和所述电路级仿真的输入激励和其他配置文件。设计约束11可以是逻辑值或模拟值。表1和表2示出了IO配置表100的实施例并且分别包括了单元的输入和输出引脚的输入激励约束和输出比较约束。可以组合表1和表2来形成一个IO配置表。

表1

表2

表1示出了当所述引脚被用作输入引脚时所选单元每个引脚的约束。所述引脚的约束包括IO类型、端口类型、实际电压、输入高阈值电压Vih、输入低阈值电压Vil、强制性输入、限制性输入、优先级、周期、未用引脚和电源引脚。表2示出了当所述引脚被用作输出引脚时所选单元每个引脚的约束。所述引脚的约束包括IO类型、端口类型、实际电压、输出高阈值电压Voh、输出低阈值电压Vol、未用引脚、输出负载、“Z”状态检测、“X”“状态检测和仿真精度。

所述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]。仿真精度指定电路级仿真的精度。

尽管未示出,表1和/或2还可以包括指定有效窗口的检测窗口字段,在检测窗口中可以比较所述行为级仿真和所述电路级仿真的仿真结果。

行为仿真测试台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”状态检测选项。

图2是对等检测系统1中采用的行为仿真测试台102,其中行为代码1020包括单元202和单元库200,通过限制性输入222、强制性输入224、优先级226、周期228与Vih/Vil 220生成输入激励1022,并且,监视配置1024包括引脚名称240、IO类型242,port类型244、检测窗口246、Vih/Vil 220、Voh/Vol 248和周期228。图3是对等检测系统1中采用的SPICE模板104,其中行为级仿真结果1040包括信号类型340、信号切换值342和检测窗口246,SPICE网表1042包括单元库300和单元202;以及,SPICE配置1044包括输出负载320,仿真精度322,“Z”状态检测选项324和“X”状态检测选项326。

图4是由对等检测系统1采用的仿真方法4的流程图。该仿真方法4包括步骤S400至步骤S414以使功能对等检测自动化。使用步骤S404至步骤S406来生成IO配置表100,并且使用步骤S408至步骤S414检测功能对等。任何合理的技术变化或步骤调整都在本发明的范围内。步骤S400至步骤S414详述如下:

步骤S400:接收单元列表12;

步骤S402:根据单元列表12生成IO配置表100;

步骤S404:接收单元列表12中的单元的约束;

步骤S406:使用所述约束修改IO配置表100;

步骤S408:根据修改的IO配置表100生成全覆盖输入激励;

步骤S410:使用所述输入激励执行行为级仿真以生成行为级仿真结果1040;

步骤S412:根据修改的IO配置表100执行电路级仿真以生成电路级仿真结果;

步骤S414:比较所述行为级仿真结果1040和所述电路级仿真结果以生成比较报告106。

步骤的顺序不限于图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中每个单元的输出引脚列表的功能对等检测结果。

图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”状态,从而以模拟形式精确地对真实输出信号建模。

图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的模拟值之间的差值在容差内,所以功能对等检测成功。

具体实施方式

图6示出了由对等检测系统1生成的用于实值模型的另一示例性行为级仿真结果1040,其采用检测窗口来检测来自单元的输出引脚的输出信号的模拟值。行为级仿真结果1040可以包含来自行为级仿真的所有输入引脚的输入激励和所有输出引脚的输出值,其中输入激励包含要被馈送到单元的输入引脚的以便进行电路级仿真的全覆盖输入组合,并根据监视配置文件捕获输出值。行为级仿真结果1040可以包含sig_type参数,该sig_type参数指示信号的信号类型是逻辑的或模拟的,其中l指示逻辑值,r指示模拟值。所选择的行指示对于输出信号的模拟值检测的检测窗口设置。检测窗口设置包括检测时间、窗口范围、稳定状态、持续时间、相对容差、和绝对容差。在所选择的行中,检测窗口的检测时间以500ns为中心,窗口范围为在检测时间之前50ns和检测时间之后为50ns。行为级仿真器16可以生成仿真的模拟值作为预期输出,该仿真的模拟值将与处于检测窗口中的10mV的绝对容差或10%的相对容差内且在电路级仿真中持续时间20ns的电路级仿真模拟输出进行比较。还可以使用图6中概述的检测窗口方法检测输出信号的“X”状态和“Z”状态。

图8示出了由对等检测系统1在行为级仿真中生成的用于逻辑状态模型的行为级仿真结果1040,其采用检测窗口来检测来自单元的输出引脚的输出信号的逻辑值。检测窗口约束可以定义输出信号的窗口范围,检测时间和稳定状态。图8中,所选择的行指示用于输出信号的逻辑值检测的检测窗口设置。行为级仿真器16可以生成仿真的逻辑值作为预期输出,其将在检测窗口中与利用输出高(HIGH)阈值电压voh和输出低(LOW)阈值电压vol从模拟输出转换的电路级仿真的逻辑状态输出进行比较,如果电路级仿真的逻辑状态输出与预期输出匹配,则在比较报告106中指示输出引脚的逻辑值检测成功,否则,在比较报告106中指示输出引脚的逻辑值检测失败。

图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”。

图10是对等检测系统1采用的功能对等检测方法10的流程图。仿真方法10包括步骤S1000至S1010,以使用模拟值执行自动功能对等检测。步骤S1000和S1002用于获取单元列表12中的单元的模拟约束。步骤S1004至S1010用于使用模拟约束获取行为级仿真结果1040和电路级仿真结果和自动比较行为级仿真结果1040和电路级仿真结果以生成比较报告106。任何合理的技术变化或步骤调整都在本公开的范围内。步骤S1000至S1010详述如下:

步骤S1000:接收单元列表12;

步骤S1002:接收单元列表12中的单元的模拟约束;

步骤S1004:使用模拟约束执行行为级仿真,以生成行为级仿真结果1040;

步骤S1008:根据行为级仿真结果1040执行电路级仿真,以生成电路级仿真结果;

步骤S1010:比较行为级仿真结果1040和电路级仿真结果,以生成比较报告106。

步骤S1000至S1010的细节在前面的段落中进行了解释,这里不再重复。

图11是根据本发明一个实施例的用于使用模拟约束来执行功能对等检测的计算机程序11的示意图。计算机程序11可以由计算机中的处理器执行,并且被存储在计算机中的非暂时性计算机可读存储介质中。非暂时性计算机可读存储介质可以是硬盘驱动器、光盘、随机存取存储器、只读存储器或另一非易失性存储器。

计算机程序11包括功能对等检测工具110,其包括输入模块1100、IO配置表生成模块1102、行为级测试台生成模块1104、电路级模板生成模块1106、行为级仿真器16、和电路级仿真器18。

输入模块1100可以接收单元列表12和单元列表12中的单元的模拟约束112。IO配置表生成模块1102可以根据单元列表12生成IO配置表100并且可以使用模拟约束112来修改IO配置表100。模拟约束112可以包括:用于单元列表12中的单元的输入引脚的IO类型、端口类型、实际电压、输入高阈值电压Vih、输入低阈值电压Vil、强制性输入、限制性输入、优先级、周期、未用引脚、和电源引脚;以及用于单元列表12中的单元的输出引脚的IO类型、端口类型、实际电压、未用引脚、输出负载、“Z”状态检测、“X”状态检测、以及仿真精度。

在一些实施例中,行为级测试台生成模块1104可以根据修改的IO配置表100生成模拟输入激励1022。行为级测试台生成模块1104可以根据单元列表12生成行为代码1020,并且可以根据修改的IO配置表100生成监视配置1024。行为级仿真器16可以使用模拟输入激励1022执行行为级仿真,以生成模拟输出响应作为行为级仿真结果1040。具体地,行为级仿真器可以将输入激励1022应用于由行为代码1020建模的单元,以从监视配置1024中指定的输出引脚捕获输出信号。

电路级模板生成模块1106可以从行为级仿真器16接收行为级仿真结果1040,根据单元列表12生成SPICE网表1042,可以根据修改的IO配置表生成电路级仿真配置1044。电路级仿真器18可以根据SPICE网表1042和电路级仿真配置1044执行电路级仿真,以生成电路级仿真结果,并比较行为级仿真结果1040和电路级仿真结果以用于生成比较报告106。

在前面的段落中对行为级仿真器16和电路级仿真器18的操作进行了解释,这里不再重复。

图1中的对等检测工具10、图4中的仿真方法4、图10中的功能对等检测方法10、和图11中的计算机程序11,可以自动执行功能对等检测过程,提供输入激励的全覆盖,在行为级建模和仿真中考虑电路设计的实际值,和执行行为级仿真结果1040和电路级仿真结果之间的模拟值自动比较以生成比较报告106。

本领域技术人员将容易地观察到,在保留本发明的教导的同时可以对装置和方法进行多种修改和更改。因此,上述公开内容应被解释为仅受所附权利要求的范围和界限的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1