CN115470748A - 一种芯片仿真加速方法、装置、电子设备及存储介质 - Google Patents
一种芯片仿真加速方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115470748A CN115470748A CN202211026233.XA CN202211026233A CN115470748A CN 115470748 A CN115470748 A CN 115470748A CN 202211026233 A CN202211026233 A CN 202211026233A CN 115470748 A CN115470748 A CN 115470748A
- Authority
- CN
- China
- Prior art keywords
- file
- simulation
- post
- netlist
- register
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请涉及一种芯片仿真加速方法、装置、电子设备及存储介质,属于集成电路领域。该方法包括:获取综合网表、SDC约束文件和库文件;在完成物理布局布线之前,基于综合网表、SDC约束文件和库文件,模拟得到后仿真所需的SDF文件;根据SDF文件、综合网表进行后仿真模拟。该方法通过在完成物理布局布线之前,基于综合网表、SDC约束文件和库文件,提前模拟得到SDF文件,以便提前开展后仿真的调试和准备工作。提前开展后仿真,就意味着设计问题可能被提前发现,提前解决,也可以降低芯片开发的风险,也降低了因为设计问题导致流片时间推迟的风险。
Description
技术领域
本申请属于集成电路领域,具体涉及一种芯片仿真加速方法、装置、电子设备及存储介质。
背景技术
根据芯片前后端开发流程,在设计人员将RTL(Register Transfer Level,寄存器传输级)代码完成之后,会由前端设计流程团队编写时序约束SDC(Synopsys DesignConstraints,设计约束文件)文件,然后进行综合(synthesis)工作,得到综合网表(netlist)。综合工作完成之后,再由验证团队完成物理布局布线(Place Route,PR)工作以及完成时序收敛(timing closure)相关操作,最终生成用于流片(tapeout)的GDS11文件(是一个数据库文件格式),同时提供最终的后仿网表(post_netlist)与SDF(StandardDelay Format,标准延时格式)文件,验证团队需要根据此后仿网表、SDF文件以及ARL(Async Register List,为数字芯片设计中跨时钟域的第一拍寄存器的汇总名单)名单进行后仿真(post simulation),其原理图如图1所示。需要说明的是,图1为异步芯片从RTL代码到完成后仿真的整体流程原理示意图,若为同步芯片,则后仿真时不需要ARL名单。
由于芯片后仿真的速度相对很慢,后仿真环境的建立与调试需要很多的时间;同时后仿真测试用例的调试也需要很长的时间。另一方面,从验证团队给出最终的后仿网表与SDF文件到流片,这中间的时间间隔会很短,留给后仿真的时间非常紧迫。而后仿真的时间会极大的影响芯片开发和流片的进度。
发明内容
鉴于此,本申请的目的在于提供一种芯片仿真加速方法、装置、电子设备及存储介质,以改善当前技术中由于后仿真的时间非常紧迫,容易导致流片时间推迟的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种芯片仿真加速方法,包括:获取综合网表、SDC约束文件和库文件;在完成物理布局布线之前基于所述综合网表、所述SDC约束文件和所述库文件,模拟得到后仿真所需的SDF文件;根据所述SDF文件、所述综合网表进行后仿真模拟。
本申请实施例中,通过在完成物理布局布线之前,基于综合网表、SDC约束文件和库文件,提前模拟得到SDF文件,以便提前开展(相对于真正后仿真而言)后仿真的调试和准备工作。提前开展后仿真,就意味着设计问题可能被提前发现,提前解决,也可以降低芯片开发的风险,也降低了因为设计问题导致流片时间推迟的风险。结合第一方面实施例的一种可能的实施方式,基于所述综合网表、所述SDC约束文件和所述库文件,模拟得到后仿真所需的SDF文件,包括:利用分析工具对所述综合网表、所述SDC约束文件和所述库文件进行静态时序分析,获取所述综合网表中的各个寄存器的时序信息;对所述综合网表中不满足时序要求的寄存器进行时序修正,以使该寄存器的时序信息满足时序要求;根据时序修正后的综合网表,模拟得到后仿真所需的所述SDF文件。
本申请实施例中,通过对综合网表中不满足时序要求的寄存器进行时序修正,以使该寄存器的时序信息满足时序要求,之后根据时序修正后的综合网表,模拟得到后仿真所需的SDF文件,此文件中的延迟信息是满足时序要求的,能让内部的寄存器采样正确,验证人员可以使用该模拟的SDF文件提前进行后仿真的准备。
结合第一方面实施例的一种可能的实施方式,对所述综合网表中不满足时序要求的寄存器进行时序修正,包括:对所述综合网表中不满足时序要求的寄存器添加指定的延时信息,所述指定的延迟信息为时序收敛所需的延迟信息与当前延迟信息之差。
本申请实施例中,通过在不满足时序要求的寄存器的输入端添加指定的延时信息进行修正,可以快速使该寄存器的时序收敛。
结合第一方面实施例的一种可能的实施方式,根据所述SDF文件、所述综合网表进行后仿真模拟,包括:根据ARL名单、所述SDF文件、所述综合网表进行后仿真模拟,其中,所述ARL名单根据所述综合网表、所述SDC约束文件和所述库文件得到。
本申请实施例中,根通过获取ARL名单,并根据ARL名单、SDF文件、综合网表进行后仿真模拟,使得该芯片仿真加速方法可以适用于异步芯片的后仿真模拟。同时,由于这个ARL名单是完全是基于真实的综合网表产生的,兼容性高,可以完全用于后仿真使用,并且不依赖于对设计代码的深刻理解,兼容不同的集成电路IP核,甚至加密集成电路IP核。
结合第一方面实施例的一种可能的实施方式,根据所述综合网表、所述SDC约束文件和所述库文件,得到所述ARL名单的步骤,包括:利用分析工具对所述综合网表、所述SDC约束文件和所述库文件进行设计分析,得到所述综合网表中所有跨时钟域的寄存器信息;根据所述SDC约束文件和所有跨时钟域的寄存器信息,得到所述后仿真所需的ARL名单。
本申请实施例中,通过采用上述的方式可以快速获得所需的ARL名单,从而解决现有获取ARL名单难的问题。
结合第一方面实施例的一种可能的实施方式,利用分析工具对所述综合网表、所述SDC约束文件和所述库文件进行设计分析,得到所述综合网表中所有跨时钟域的寄存器信息,包括:利用分析工具对所述综合网表、所述SDC约束文件和所述库文件进行设计分析,得到所述综合网表中各个寄存器时钟的同步异步关系;抓取所述同步异步关系中的所有跨时钟域;抓取每个所述跨时钟域的寄存器信息。
本申请实施例中,通过采用上述的方式可以快速获得综合网表中所有跨时钟域的寄存器信息,从而可以快速获得所需的ARL名单,从而解决现有获取ARL名单难的问题。
结合第一方面实施例的一种可能的实施方式,根据所述SDC约束文件和所有跨时钟域的寄存器信息,得到所述后仿真所需的所述ARL名单,包括:根据所述SDC约束文件中的时钟定义对所有跨时钟域的寄存器信息进行分类;从分类结果中筛选出时钟完全异步的所有跨时钟域的寄存器信息,得到所述后仿真所需的所述ARL名单。
本申请实施例中,通过对寄存器进行分类,从分类结果中筛选出时钟完全异步的所有跨时钟域的寄存器信息,即可得到ARL名单,这样可以更快速的获得所需的ARL名单。
结合第一方面实施例的一种可能的实施方式,在从分类结果中筛选出时钟完全异步的所有跨时钟域的寄存器信息,得到所述后仿真所需的所述ARL名单之后,所述方法还包括:输出所述分类结果中其他类别的所有跨时钟域的寄存器信息。
本申请实施例中,输出分类结果中其他类别的所有跨时钟域的寄存器信息,以便于设计人员可以进行核实,判断ARL名单是否正确。
第二方面,本申请实施例还提供了一种芯片仿真加速装置,包括:获取模块、分析模块和处理模块;获取模块,用于获取综合网表、SDC约束文件和库文件;分析模块,用于在完成布局布线之前,基于所述综合网表、所述SDC约束文件和所述库文件,模拟得到后仿真所需的SDF文件;处理模块,用于根据所述SDF文件、所述综合网表进行后仿真模拟。
第三方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1为当前技术中从RTL代码到完成后仿真的整体流程示意图。
图2示出了本申请实施例提供的一种芯片仿真加速方法的流程示意图。
图3示出了本申请实施例提供的一种寄存器分类的示意图。
图4示出了本申请实施例提供的一种从RTL代码到完成后仿真的整体流程示意图。
图5示出了本申请实施例提供的一种芯片仿真加速装置的模块示意图。
图6示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
针对后仿真时间紧迫的问题,本申请提出以下技术解决方案,在综合完成后,基于综合网表提前模拟得到后仿真所需的SDF文件,以便进行后仿真模拟。
由于根据综合网表到最终物理布局布线完成时序收敛的时间,根据项目大小可能在1-6个月之间,采用本申请所示的技术方案后,可以提前1-6个月开始后仿真模拟工作,能提前发现一些设计的问题,极大的降低了后期真正开始后仿真时可能遇到的风险。
下面将结合图2,对本申请实施例提供的芯片仿真加速方法进行说明。
S1:获取综合网表、SDC约束文件和库文件。
获取后仿真所需的仿真参数,如获取芯片的ARL名单、综合网表、SDC约束文件和库文件。
综合网表由特定工艺的标准逻辑单元组成的数字原理图。
SDC约束文件,包含芯片的频率、输入输出延迟等信息。
库文件(lib)包含芯片中涉及个所有cell(标准单元)的时序信息。
ARL名单为数字芯片设计中跨时钟域的第一拍寄存器的汇总名单。芯片后仿真的一个重要目的是查看异步跨时钟域的设计以及时序问题,因此需要知道在设计中哪些逻辑是跨时钟域的,跨时钟域第一拍的寄存器有哪些,因此需要ARL名单。这个ARL名单可以由设计人员提供,在后仿真时会将此文件添加到仿真环境中。
由于随着芯片规模越来越大,同时在芯片设计过程中会用到很多集成电路IP核,部分集成电路IP核甚至是加密代码,设计人员在没有足够了解IP内部设计的情况下,很难提供完整的ARL名单给验证团队,会造成后仿真工作需要反复调试和迭代,最终影响芯片流片的时间,影响芯片测试以及量产进度。
针对ARL名单提取困难的问题,本申请实施例通过综合网表、SDC约束文件和库文件可以快速获得ARL名单。采用本申请所示的方式可以快速获得ARL名单,并且不依赖于对设计代码的深刻理解,兼容不同的集成电路IP核,甚至加密集成电路IP核。
一种实施方式下,获取芯片的ARL名单的步骤包括:基于综合网表、SDC约束文件和库文件,得到后仿真所需的ARL名单。由于这个ARL名单是完全是基于真实的综合网表产生的,兼容性高,可以完全用于后仿真使用。并且不依赖于对设计代码的深刻理解,兼容不同的集成电路IP核,甚至加密集成电路IP核。
基于综合网表、SDC约束文件和库文件,得到后仿真所需的ARL名单的过程可以是:利用分析工具对综合网表、SDC约束文件和库文件进行设计分析,得到综合网表中所有跨时钟域的寄存器信息,之后,根据SDC约束文件和所有跨时钟域的寄存器信息,得到后仿真所需的ARL名单。
一种实施方式下,利用分析工具对综合网表、SDC约束文件和库文件进行设计分析,得到综合网表中所有跨时钟域的寄存器信息的过程可以是:利用分析工具对综合网表、SDC约束文件和库文件进行设计分析,得到综合网表中各个寄存器时钟的同步异步关系,抓取同步异步关系中的所有跨时钟域,抓取每个跨时钟域的寄存器信息,根据SDC约束文件和所有跨时钟域的寄存器信息,得到后仿真所需的ARL名单。
以EDA(Electronic Design Automation)工具为例:利用分析工具(如PTC工具,为PT(Prime Time)工具的一个分支,主要用来检查SDC文件的质量,可以用来分析时钟域之间的关系)对综合网表、SDC约束文件和lib文件进行设计分析,也即利用分析工具读取综合网表、SDC约束文件和lib文件进行设计分析,得到综合网表中各个寄存器时钟的同步异步关系,使用PTC工具中的report_clock_crossing命令(工具下的命令,用于抓取所有时钟之间的交互信息)从而得到所有跨时钟域;使用get_clock_crossing_points-from<launchclocks>-to<capture clock>的命令(用于抓取2个时钟之间跨时钟的寄存器信息)从而得到每个跨时钟域的寄存器信息,之后根据SDC约束文件和抓取的所有跨时钟域的寄存器信息,便可得到后仿真所需的ARL名单。
本申请提供的是一种快速获取ARL名单的思路,不限于具体实现命令。上述示例中的命令是某一种EDA工具为例进行说明,但并不具体限定EDA工具的类型。
其中,根据SDC约束文件和所有跨时钟域的寄存器信息,得到后仿真所需的ARL名单的过程可以是:根据SDC约束文件中的时钟定义对所有跨时钟域的寄存器信息进行分类,从分类结果中筛选出时钟完全异步的所有跨时钟域的寄存器信息,得到后仿真所需的ARL名单。例如,可以将所有跨时钟域的寄存器信息分成三类,第一类的时钟完全异步(Fullasync)、第二类的时钟部分异步(Part async)、第三类的时钟假异步(Fake async),其原理图如图3所示。对于图3中的Full async类型,可以看到reg1的时钟和reg2的时钟是异步的。对于图3中的Part async类型,可以看到reg1的时钟和reg2的时钟是异步的,reg2的时钟和reg3的时钟是同步的,只有部分时钟是异步的。对于图3中的Fake async类型,可以看到reg1的时钟和reg2的时钟是同步的,也就是假异步的。
位于第一类的寄存器信息即为后仿真所需的ARL名单。位于第二类的寄存器理论上是不需要的,可以由设计人员进一步核实。第三类的寄存器是因为SDC中约束方法引入的假ARL名单,可以删除。
一种可选实施方式下,在从分类结果中筛选出时钟完全异步的所有跨时钟域的寄存器信息,得到后仿真所需的ARL名单之后,该芯片仿真加速方法还包括:输出分类结果中其他类别的所有跨时钟域的寄存器信息,例如,输出第二类、第三类的寄存器信息。
S2:在完成物理布局布线之前,基于所述综合网表、所述SDC约束文件和所述库文件,模拟得到后仿真所需的SDF文件。
在获取到上述参数后,可以在完成物理布局布线之前,基于综合网表、SDC约束文件和库文件,提前模拟得到后仿真所需的SDF文件。其中,SDF文件中记录了综合网表中各个标准单元之间的延迟信息,后仿真需要根据此延迟信息,进行真实的功能仿真,以便确认芯片时序功能的正确性。
一种可选实施方式下,基于综合网表、SDC约束文件和库文件,模拟得到后仿真所需的SDF文件的过程可以是:利用分析工具对综合网表、SDC约束文件和库文件进行静态时序分析,获取综合网表中的各个寄存器的时序信息,对综合网表中不满足时序要求(如时序不收敛)的寄存器进行时序修正,以使该寄存器的时序信息满足时序要求,之后根据时序修正后的综合网表,模拟得到后仿真所需的SDF文件。
对综合网表中不满足时序要求的寄存器进行时序修正的过程可以是:对综合网表中不满足时序要求的寄存器添加指定的延时信息,添加的指定的延迟信息为时序收敛所需的延迟信息与当前延迟信息之差。
以一种EDA工具为例:综合完成之后,利用PT工具读入lib文件、SDC约束文件,对综合网表进行静态时序分析,这一步主要是查看现有的时序情况,包括setup time(寄存器的数据建立时间)、hold time(寄存器的数据保持时间)、recovery time(寄存器的复位建立时间)、removal time(寄存器的复位保持时间)的情况。对于其中不满足时序要求的寄存器,在PT工具中使用set_annotated_delay命令(为PT工具下的命令,用于在某个点添加一个虚拟的延迟信息(delay),以便修正时序问题)在网表中的不满足时序要求的寄存器的输入端添加适当的延迟信息,来修复对应的hold time和removal time时序问题,直到实现时序收敛。之后可以在PT工具中使用write_sdf命令(为PT工具下的命令,用于产生一个用于后仿真的SDF文件),根据时序修正后的综合网表,模拟得到后仿真所需的SDF文件。
本申请提供的是一种提前获取SDF文件的思路,不限于具体实现命令。上述示例中的命令是某一种EDA工具为例进行说明,但并不具体限定EDA工具的类型。
可以理解的是,此处的修正是虚拟的,因为此时的综合网表还没有经过物理布局布线工作,物理上不存在延迟。但是通过这种虚拟的修正之后,可以在PT工具中使用write_sdf命令写出一个SDF文件,此文件中的延迟信息是满足时序要求的,能让内部的寄存器采样正确,验证人员可以使用该模拟的SDF文件提前进行后仿真的准备。
S3:根据所述SDF文件、所述综合网表进行后仿真模拟。
在提前模拟得到SDF文件后,便可依次提前进行后仿真模拟,对于同步芯片来说,便可根据SDF文件、综合网表进行后仿真模拟。
当芯片为异步芯片,在进行后仿真时,还需要结合上述的ARL名单,也即,一种实施方式下,根据所述SDF文件、所述综合网表进行后仿真模拟的过程可以是:根据ARL名单、SDF文件、综合网表进行后仿真模。
其中,根据SDF文件、综合网表和ARL名单进行后仿真模拟的流程与现有根据SDF文件、后仿网表和ARL名单进行后仿真的流程类似,都需要进行后仿验证环境的搭建和调试等工作,通过进行后仿真模拟,从而可提前进行后仿验证环境的搭建和调试,从而提前快速启动后仿验证测试的工作。提前开展后仿真,就意味着设计问题可能被提前发现,提前解决,也可以降低芯片开发的风险,也降低了因为设计问题导致流片时间推迟的风险。可以理解的是,此处的后仿真只是尝试性的后仿真,并非最终的真正后仿真,但是可以提前准备后仿真环境,为最终的后仿真扫除一些可能存在的障碍,也可以提前发现、提前解决一些设计上的问题,避免致命的设计问题遗漏到后期,影响芯片流片的进度。同时,由于在进行后仿真模拟时,需要进行后仿验证环境的搭建和调试等工作,使得后续开始真正后仿真时,可以自己跳过后仿验证环境的搭建和调试等过程,从而提高了后续真正后仿真的效率。
一种实施方式下,在图1所示的现有后仿真的基础上,采用本申请所示的芯片仿真加速方法后,可以得到如图4所示的原理图。通过对比图4和图1可知,本申请可以在综合完成之后,在物理布局布线之前,通过综合网表、SDC约束文件和库文件,得到后仿真所需的ARL名单和SDF文件,并以此进行后仿真模块,提前进行后仿验证环境的搭建和调试,从而提前快速启动后仿验证测试的工作,使得后续开始真正后仿真时,可以省略后仿验证环境的搭建和调试等一些列工作,可以极大缩短后续真正后仿真的测试时间。在正常的芯片开发流程中物理布局布线工作一般会持续3个月左右,而后仿真准备以及仿真时间可能需要2个月以上。传统的芯片开发流程是在物理布局布线彻底完成之后才开始真正后仿真,需要的时间至少5个月以上(物理布局布线3个月+后仿2个月)。通过本申请所示的芯片仿真加速方法,可以在后端做物理布局布线工作的同时,提前生成模拟的SDF文件,提前进行后仿真环境的调试。根据不同项目的经验,芯片后端实现以及后仿真的时间从5个月减少为3个月。
基于同样的发明构思,本申请实施例还提供了一种芯片仿真加速装置100,如图5所示。芯片仿真加速装置100包括:获取模块110、分析模块120、处理模块130。
获取模块110,用于获取综合网表、SDC约束文件和库文件,。
分析模块120,用于在完成布局布线之前,基于所述综合网表、所述SDC约束文件和所述库文件,模拟得到后仿真所需的SDF文件。
处理模块130,用于根据所述SDF文件、所述综合网表进行后仿真模拟。
分析模块120,用于利用分析工具对所述综合网表、所述SDC约束文件和所述库文件进行静态时序分析,获取所述综合网表中的各个寄存器的时序信息;对所述综合网表中不满足时序要求的寄存器进行时序修正,以使该寄存器的时序信息满足时序要求;根据时序修正后的综合网表,模拟得到后仿真所需的所述SDF文件。
分析模块120,用于对所述综合网表中不满足时序要求的寄存器添加指定的延时信息,所述指定的延迟信息为时序收敛所需的延迟信息与当前延迟信息之差。
可选地,处理模块130,用于根据ARL名单、所述SDF文件、所述综合网表进行后仿真模拟,其中,所述ARL名单根据所述综合网表、所述SDC约束文件和所述库文件得到。
获取芯片的ARL名单的步骤,包括:基于所述综合网表、所述SDC约束文件和所述库文件,得到后仿真所需的所述ARL名单。可选地,分析模块120,还用于基于所述综合网表、所述SDC约束文件和所述库文件,得到后仿真所需的所述ARL名单。
分析模块120,用于利用分析工具对所述综合网表、所述SDC约束文件和所述库文件进行设计分析,得到所述综合网表中所有跨时钟域的寄存器信息;根据所述SDC约束文件和所有跨时钟域的寄存器信息,得到所述后仿真所需的所述ARL名单。
分析模块120,用于利用分析工具对所述综合网表、所述SDC约束文件和所述库文件进行设计分析,得到所述综合网表中各个寄存器时钟的同步异步关系;抓取所述同步异步关系中的所有跨时钟域;抓取每个所述跨时钟域的寄存器信息。
分析模块120,用于根据所述SDC约束文件中的时钟定义对所有跨时钟域的寄存器信息进行分类;从分类结果中筛选出时钟完全异步的所有跨时钟域的寄存器信息,得到所述后仿真所需的所述ARL名单。
本申请实施例所提供的芯片仿真加速装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图6所示,图6示出了本申请实施例提供的一种电子设备200的结构框图。所述电子设备200包括:收发器210、存储器220、通讯总线230以及处理器240。
所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。
其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有图5中所示的软件功能模块,即芯片仿真加速装置100。其中,芯片仿真加速装置100包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(Operating System,OS)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如芯片仿真加速装置100包括的软件功能模块或计算机程序。例如,处理器240,用于获取综合网表、SDC约束文件和库文件;在完成物理布局布线之前,基于所述综合网表、所述SDC约束文件和所述库文件,模拟得到后仿真所需的SDF文件;根据所述SDF文件、所述综合网表进行后仿真模拟。
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
其中,上述的电子设备200,包括但不限于计算机、服务器等。
本申请实施例还提供了一种非易失性的计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的芯片仿真加速方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种芯片仿真加速方法,其特征在于,包括:
获取综合网表、SDC约束文件和库文件;
在完成物理布局布线之前,基于所述综合网表、所述SDC约束文件和所述库文件,模拟得到后仿真所需的SDF文件;
根据所述SDF文件、所述综合网表进行后仿真模拟。
2.根据权利要求1所述的方法,其特征在于,基于所述综合网表、所述SDC约束文件和所述库文件,模拟得到后仿真所需的SDF文件,包括:
利用分析工具对所述综合网表、所述SDC约束文件和所述库文件进行静态时序分析,获取所述综合网表中的各个寄存器的时序信息;
对所述综合网表中不满足时序要求的寄存器进行时序修正,以使该寄存器的时序信息满足时序要求;
根据时序修正后的综合网表,模拟得到后仿真所需的所述SDF文件。
3.根据权利要求2所述的方法,其特征在于,对所述综合网表中不满足时序要求的寄存器进行时序修正,包括:
对所述综合网表中不满足时序要求的寄存器添加指定的延时信息,所述指定的延迟信息为时序收敛所需的延迟信息与当前延迟信息之差。
4.根据权利要求1-3中任一项所述的方法,其特征在于,根据所述SDF文件、所述综合网表进行后仿真模拟,包括:
根据ARL名单、所述SDF文件、所述综合网表进行后仿真模拟,其中,所述ARL名单根据所述综合网表、所述SDC约束文件和所述库文件得到。
5.根据权利要求4所述的方法,其特征在于,根据所述综合网表、所述SDC约束文件和所述库文件,得到所述ARL名单的步骤,包括:
利用分析工具对所述综合网表、所述SDC约束文件和所述库文件进行设计分析,得到所述综合网表中所有跨时钟域的寄存器信息;
根据所述SDC约束文件和所有跨时钟域的寄存器信息,得到所述后仿真所需的ARL名单。
6.根据权利要求5所述的方法,其特征在于,利用分析工具对所述综合网表、所述SDC约束文件和所述库文件进行设计分析,得到所述综合网表中所有跨时钟域的寄存器信息,包括:
利用分析工具对所述综合网表、所述SDC约束文件和所述库文件进行设计分析,得到所述综合网表中各个寄存器时钟的同步异步关系;
抓取所述同步异步关系中的所有跨时钟域;
抓取每个所述跨时钟域的寄存器信息。
7.根据权利要求5所述的方法,其特征在于,根据所述SDC约束文件和所有跨时钟域的寄存器信息,得到所述后仿真所需的所述ARL名单,包括:
根据所述SDC约束文件中的时钟定义对所有跨时钟域的寄存器信息进行分类;
从分类结果中筛选出时钟完全异步的所有跨时钟域的寄存器信息,得到所述后仿真所需的所述ARL名单。
8.根据权利要求7所述的方法,其特征在于,在从分类结果中筛选出时钟完全异步的所有跨时钟域的寄存器信息,得到所述后仿真所需的所述ARL名单之后,所述方法还包括:
输出所述分类结果中其他类别的所有跨时钟域的寄存器信息。
9.一种芯片仿真加速装置,其特征在于,包括:
获取模块,用于获取综合网表、SDC约束文件和库文件;
分析模块,用于在完成布局布线之前,基于所述综合网表、所述SDC约束文件和所述库文件,模拟得到后仿真所需的SDF文件;
处理模块,用于根据所述SDF文件、所述综合网表进行后仿真模拟。
10.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器与所述存储器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211026233.XA CN115470748A (zh) | 2022-08-25 | 2022-08-25 | 一种芯片仿真加速方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211026233.XA CN115470748A (zh) | 2022-08-25 | 2022-08-25 | 一种芯片仿真加速方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115470748A true CN115470748A (zh) | 2022-12-13 |
Family
ID=84368895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211026233.XA Pending CN115470748A (zh) | 2022-08-25 | 2022-08-25 | 一种芯片仿真加速方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115470748A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115983171A (zh) * | 2023-03-17 | 2023-04-18 | 摩尔线程智能科技(北京)有限责任公司 | 用于对片上系统进行后仿真的方法和仿真平台 |
CN115983170A (zh) * | 2023-03-17 | 2023-04-18 | 中国人民解放军国防科技大学 | 极大规模集成电路的超前后仿真方法、装置及设备 |
CN117332730A (zh) * | 2023-10-10 | 2024-01-02 | 上海合芯数字科技有限公司 | 综合后的网表和sdc中基本单元名称匹配方法、系统、终端及介质 |
CN118297009A (zh) * | 2024-06-05 | 2024-07-05 | 山东启芯软件科技有限公司 | 一种基于内嵌仿真验证的逻辑综合处理方法、装置及计算机可读存储介质 |
-
2022
- 2022-08-25 CN CN202211026233.XA patent/CN115470748A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115983171A (zh) * | 2023-03-17 | 2023-04-18 | 摩尔线程智能科技(北京)有限责任公司 | 用于对片上系统进行后仿真的方法和仿真平台 |
CN115983170A (zh) * | 2023-03-17 | 2023-04-18 | 中国人民解放军国防科技大学 | 极大规模集成电路的超前后仿真方法、装置及设备 |
CN115983170B (zh) * | 2023-03-17 | 2023-06-16 | 中国人民解放军国防科技大学 | 极大规模集成电路的超前后仿真方法、装置及设备 |
CN117332730A (zh) * | 2023-10-10 | 2024-01-02 | 上海合芯数字科技有限公司 | 综合后的网表和sdc中基本单元名称匹配方法、系统、终端及介质 |
CN117332730B (zh) * | 2023-10-10 | 2024-06-04 | 上海合芯数字科技有限公司 | 综合后的网表和sdc中基本单元名称匹配方法、系统、终端及介质 |
CN118297009A (zh) * | 2024-06-05 | 2024-07-05 | 山东启芯软件科技有限公司 | 一种基于内嵌仿真验证的逻辑综合处理方法、装置及计算机可读存储介质 |
CN118297009B (zh) * | 2024-06-05 | 2024-08-27 | 山东启芯软件科技有限公司 | 一种基于内嵌仿真验证的逻辑综合处理方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115470748A (zh) | 一种芯片仿真加速方法、装置、电子设备及存储介质 | |
US8560985B1 (en) | Configuration-based merging of coverage data results for functional verification of integrated circuits | |
US20050216247A1 (en) | Method and program for verifying logic circuit having asynchronous interface | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN109543212B (zh) | 可编程逻辑器件的功能测试方法、装置及计算机存储介质 | |
WO2016026328A1 (zh) | 一种信息处理方法、装置及计算机存储介质 | |
Jindal et al. | Verification of transaction-level SystemC models using RTL testbenches | |
US7437701B1 (en) | Simulation of a programming language specification of a circuit design | |
US20140100841A1 (en) | Testing a Hardware Emulation Model of a Circuit with Software Checker Routines Designed for an RTL Model of the Circuit | |
CN117094269B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
Gharehbaghi et al. | Transaction-based post-silicon debug of many-core system-on-chips | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
CN116776793B (zh) | 静态时序分析和前仿真相结合的多周期路径约束验证方法 | |
CN116719729B (zh) | 通用验证平台、通用验证方法、介质及电子设备 | |
US7949509B2 (en) | Method and tool for generating simulation case for IC device | |
CN112613257A (zh) | 验证方法、装置、电子设备和计算机可读存储介质 | |
CN112567375A (zh) | 形式验证方法、信息识别方法、设备和存储介质 | |
Borgatti et al. | An integrated design and verification methodology for reconfigurable multimedia systems | |
CN114282464A (zh) | 芯片仿真验证中的协同仿真方法及应用 | |
CN112131807A (zh) | 一种跨时钟域验证方法、装置、设备及介质 | |
Bombieri et al. | Correct-by-construction generation of device drivers based on RTL testbenches | |
US10210294B1 (en) | System and methods for simulating a circuit design | |
Sharma et al. | An automation methodology for amelioration of SpyGlassCDC abstract view generation process | |
CN117313650B (zh) | 一种芯片测试验证方法及其应用装置 | |
US8775987B1 (en) | Generation of a replay module for simulation of a circuit design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |