CN107256303B - 快速获取数字门级电路内部节点仿真状态的方法 - Google Patents
快速获取数字门级电路内部节点仿真状态的方法 Download PDFInfo
- Publication number
- CN107256303B CN107256303B CN201710419385.9A CN201710419385A CN107256303B CN 107256303 B CN107256303 B CN 107256303B CN 201710419385 A CN201710419385 A CN 201710419385A CN 107256303 B CN107256303 B CN 107256303B
- Authority
- CN
- China
- Prior art keywords
- gate
- file
- level
- simulation
- level circuit
- 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.)
- Active
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
-
- 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)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种快速获取数字门级电路内部节点仿真状态的方法。主要解决现有技术在门级网表的仿真验证方面难度大和消耗时间长的问题。其包括:1)根据给定的门级电路,得到门极电路的外部输入、外部输出以及内部节点的连接关系;2)用硬件语言描述门级电路逻辑关系,生成门级电路逻辑描述文件;3)根据1)的连接关系,将门级电路转换成RTL级描述单元;4)根据门极电路的连接关系,用软件语言生成仿真测试文件;5)将步骤2)至步骤4)生成的文件加入到商用仿真软件中仿真,得到门级电路内部节点的仿真状态。本发明大大减少了仿真的复杂度和时间,提高了门级网表仿真的准确性,可用于门级网表关键节点的提取及加速门级网表的仿真验证。
Description
技术领域
本发明属于电路处理技术领域,特别涉及一种快速获取数字门级电路内部节点仿真状态的方法,可用于基于仿真的硅后验证中跟踪信号提取阶段。
背景技术
业内周知,集成电路芯片的设计大致分为前端逻辑设计综合与后端物理设计综合两个部分。其中前段逻辑设计包括基本的RTL编程和仿真、逻辑综合、静态时序分析STA和形式验证等多个步骤;后端物理设计包括时钟树综合、布局布线、功耗分析、物理验证和可制造性设计等多个步骤。在芯片设计中,前端逻辑的定义、开发、综合、集成和验证固然重要,但是随着半导体制造工艺的发展,一块芯片要去流片,进而量产,其后端物理设计显得更加关键。
为了保证芯片功能实现的正确性,在芯片的设计过程中需要进行验证。芯片验证一般有以下几种方法:软件仿真、硬件加速器验证和形式验证。其中:
软件仿真是指利用仿真激励,通过仿真软件,对SoC体系结构进行功能验证。软件仿真分为前端仿真和后端仿真。前端仿真是指对SoC的RTL代码进行仿真,主要验证体系结构功能的正确性;后端仿真是指利用时序信息文件sdf,对SoC的门级网表进行仿真,主要验证体系结构实现的正确性,重点是验证时序是否收敛。
门级网表通常传递了电路连接方面的信息,一般会使用硬件表述语言,例如Verilog、Vhdl等来进行表述、验证和仿真。用传统的仿真工具进行仿真验证时,需要对每一个基准电路单独进行编写测试代码文件,对于大型的门级电路十分不方便。现有的门级网表仿真器虽然很好的解决了这个问题,但是随着SoC设计技术手段的发展和越来越多样化的应用需求,SoC体系结构越来越复杂,芯片规模越来越庞大,现有仿真器的仿真难度越来越大,所消耗的时间越来越长,严重阻碍了验证工作的进展。
发明内容
本发明的目的在于针对上述已有技术的不足,提出一种快速获取数字门级电路内部节点仿真状态的方法,以降低门级电路仿真复杂度和难度,加快获取数字门级电路内部节点状态,减少仿真验证所消耗的时间。
为实现上述目的,本发明的技术方案如下:
(1)根据给定的门级电路,得到门极电路的外部输入、外部输出以及内部节点的连接关系;
(2)用硬件语言描述门级电路逻辑关系,生成门级电路逻辑描述文件;
(2a)新建门级电路逻辑描述文件cell.v;
(2b)遍历整个门级电路,对其中门电路的种类数以及D触发器的节点数目进行统计;
(2c)遍历整个门级电路,对每个门电路种类的输入输出管脚数进行统计;
(2d)根据门级电路中各门电路的逻辑关系及输入输出管脚数,在cell.v文件中编写其对应硬件逻辑模块,其中对D触发器单元还要写带异步复位的时序逻辑。
(3)根据门极电路的外部输入、外部输出以及内部节点的连接关系,将门级电路转换成RTL级描述单元;
(4)根据门极电路的外部输入、外部输出以及内部节点的连接关系,用软件语言生成Modelsim仿真的测试文件;
(5)将RTL级描述单元,门级电路逻辑描述文件和测试文件加入到商用ModelSim仿真软件中进行仿真,得到门级电路内部节点的仿真状态。
本发明相对于现有技术具有以下优点:
1.本发明通过将门级电路转换成RTL级描述单元,采用Modelsim进行仿真,大大减少了仿真的复杂度和仿真时间;
2.本发明通过为RTL级描述单元编写测试文件,引入了复位信号,提高了门级电路仿真的准确性。
附图说明
图1为本发明使用的门级电路图;
图2为本发明的实现流程图。
具体实施方式
为使本发明目的、技术方案以及优点更加清楚明白,以下参照附图并举实施例,对本发明进行近一步的详细说明。
参照附图1,本发明针对的门级电路,包括4个外部输入端G0、G1、G2、G3,6个D触发器DFF节点DFFG4、DFFG5、DFFG6、DFFG7、DFFG8、DFFG9,3个非门NOT节点NOTG15、NOTG16、NOTG20,1个与门AND节点ANDG19,2个或门OR节点ORG17、ORG18,4个或非门NOR节点NORG11、NORG12、NORG13、NORG14,1个与非门节点NANDG10和2个外部输出G21、G22。
参照附图2,本发明基于门级电路仿真的关键节点提取方法,包括以下步骤:
步骤1:根据图1给定的门级电路,得到门极电路的外部输入、外部输出以及内部节点的连接关系。
(1a)初始化存放门级电路外部输入、外部输出和内部节点信息的结构体;
(1b)设定第一缓存数组buf[],将门级电路以字符的形式存入buf[];
(1c)按行对第一缓存数组buf[]中的特定字符进行检索,获取门极电路的外部输入、外部输出以及内部节点的连接关系,并存入相应的结构体中。
步骤2:用硬件语言描述门级电路逻辑关系,生成门级电路逻辑描述文件。
(2a)新建门级电路逻辑描述文件cell.v;
(2b)遍历整个门级电路,对其中门电路的种类数以及D触发器的节点数目进行统计,根据图1可知,该门级电路中门电路的种类为NOT、NOR、AND、OR、NAND、DFF等6种,D触发器DFF的节点数目为6;
(2c)遍历整个门级电路,对每个门电路种类的输入输出管脚数进行统计,由图1所示的门级电路可知,在该门极电路中,非门NOT为单输入单输出的门电路,D触发器DFF为带时钟信号clk和低复位信号rst的单输入单输出的门电路,其他均为双输入单输出的门电路;
(2d)根据门级电路中各门电路的逻辑关系及输入输出管脚数,在cell.v文件中编写其对应的硬件逻辑模块,且对D触发器单元还要写带异步复位的时序逻辑。
步骤3:根据门极电路的外部输入、外部输出以及内部节点的连接关系,将门级电路转换成RTL级描述单元。
(3a)新建RTL级描述单元vv.v文件;
(3b)遍历整个门级电路的外部输入节点,将门级电路的外部输入G0、G1、G2、G3转化成RTL级输入信号G0、G1、G2、G3,并引入时钟信号clk和低复位信号rst,写入到vv.v文件中;
(3c)遍历整个门级电路的外部输出节点,将门级电路的外部输出G21、G22转化成RTL级输出信号G21、G22,写入到vv.v文件中;
(3d)遍历整个门级电路的内部节点,从所有的内部节点中找到DFF节点,将相关信息存入到DFF节点对应的结构体中;
(3e)遍历整个门级电路的内部节点,根据步骤(2d)中生成的硬件逻辑模块,在vv.v文件中对内部节点进行例化。
步骤4:根据门极电路的外部输入、外部输出以及内部节点的连接关系,用软件语言生成Modelsim仿真的测试文件。
(4a)新建Modelsim仿真测试文件test.v;
(4b)遍历整个门级电路的外部输入节点,将门级电路的外部输入G0、G1、G2、G3转换成reg型信号G0、G1、G2、G3,写入到test.v文件中;
(4c)遍历整个门级电路的外部输出节点,将门级电路的外部输出G21、G22转换成wire型信号G21、G22,写入到test.v文件中;
(4d)根据门级电路RTL级描述单元特有格式,生成门级电路例化模块,写入到test.v文件中;
(4e)在test.v文件中,初始化时钟信号clk和低复位信号rst;
(4f)在test.v文件中,将低复位信号rst拉为高电平1,在本实施例中,将时钟信号设置为50Mhz;
(4g)在test.v文件中,用随机数函数random,在时钟信号的控制下生成外部激励信号,同时新建input.v文件,将每个外部输入信号在每个时钟下的状态保存至文件input.v中。
步骤5:将RTL级描述单元,门级电路逻辑描述文件和测试文件加入到商用ModelSim仿真软件中进行仿真。
(5a)在ModelSim商用仿真软件中,新建一个仿真工程;
(5b)在工程中添加RTL级描述单元vv.v、门级电路逻辑描述文件cell.v和测试文件test.v;
(5c)对工程中的RTL级描述单元vv.v、门级电路逻辑描述文件cell.v和测试文件test.v进行编译;
(5d)在Modelsim软件的自带work库中,找到测试文件test.v,并将其添加到仿真工程中;
(5e)双击仿真工程中的Simulation类型文件,开始仿真;
(5f)仿真结束后,新建state.v文件,将仿真过程中内部所有D触发器每个时钟的输出状态记录到文件state.v中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不限于此,任何熟悉该技术领域的技术人员在本发明揭露的技术范围内,均可轻易想到进行改变或替换,例如除了本实施例,利用本发明还能对大型门级网表进行关键节点的提取,进而加快大型门级网表正确性的验证和检错,这些都涵盖在本发明的保护范围内。
Claims (3)
1.一种快速获取数字门级电路内部节点仿真状态的方法,包括:
(1)根据给定的门级电路,得到门极电路的外部输入、外部输出以及内部节点的连接关系;
(2)用硬件语言描述门级电路逻辑关系,生成门级电路逻辑描述文件;
(2a)新建门级电路逻辑描述文件cell.v;
(2b)遍历整个门级电路,对其中门电路的种类数以及D触发器的节点数目进行统计;
(2c)遍历整个门级电路,对每个门电路种类的输入输出管脚数进行统计;
(2d)根据门级电路中各门电路的逻辑关系及输入输出管脚数,在cell.v文件中编写其对应硬件逻辑模块,其中对D触发器单元还要写带异步复位的时序逻辑;
(3)根据门极电路的外部输入、外部输出以及内部节点的连接关系,将门级电路转换成RTL级描述单元;按如下步骤进行:
(3a)新建RTL级描述单元vv.v文件;
(3b)遍历整个门级电路的外部输入节点,将门级电路的外部输入转化成RTL级输入信号,并引入时钟信号clk和低复位信号rst,写入到vv.v文件中;
(3c)遍历整个门级电路的外部输出节点,将门级电路的外部输出转化成RTL级输出信号,写入到vv.v文件中;
(3d)遍历整个门级电路的内部节点,从所有的内部节点中找到D触发器节点,将相关信息存入到D触发器节点对应的结构体中;
(3e)遍历整个门级电路的内部节点,根据步骤(2d)中生成的硬件逻辑模块,在vv.v文件中对内部节点进行例化;
(4)根据门极电路的外部输入、外部输出以及内部节点的连接关系,用软件语言生成Modelsim仿真的测试文件;按如下步骤进行:
(4a)新建Modelsim仿真测试文件test.v;
(4b)遍历整个门级电路的外部输入节点,将门级电路的外部输入转换成reg型信号,写入到test.v文件中;
(4c)遍历整个门级电路的外部输出节点,将门级电路的外部输出转换成wire 型信号,写入到test.v文件中;
(4d)根据门级电路RTL级描述单元特有格式,生成门级电路例化模块,写入到test.v文件中;
(4e)在test.v文件中,初始化时钟信号clk和低复位信号rst;
(4f)在test.v文件中,将低复位信号rst拉为高电平1,并设置时钟信号频率;
(4g)在test.v文件中,用随机数函数random,在时钟信号的控制下生成外部激励信号,同时新建input.v文件,将每个外部输入信号在每个时钟下的状态保存至文件input.v中;
(5)将RTL级描述单元,门级电路逻辑描述文件和测试文件加入到商用ModelSim仿真软件中进行仿真,得到门级电路内部节点的仿真状态。
2.根据权利要求1所述的方法,其中步骤(1)中根据给定的门级电路,得到门极电路的外部输入、外部输出以及内部节点的连接关系,按如下步骤进行:
(1a)初始化存放门级电路外部输入、外部输出和内部节点信息的结构体;
(1b)设定第一缓存数组buf[],将门级电路以字符的形式存入buf[];
(1c)按行对第一缓存数组buf[]中的特定字符进行检索,获取门极电路的外部输入、外部输出以及内部节点的连接关系,并存入相应的结构体中。
3.根据权利要求1所述的方法,其中步骤(5)中将RTL级描述单元,门级电路逻辑描述文件和测试文件加入到商用ModelSim仿真软件中进行仿真,按如下步骤进行:
(5a)在ModelSim仿真软件中,新建一个仿真工程;
(5b)在工程中添加RTL级描述单元vv.v、门级电路逻辑描述文件cell.v和测试文件test.v;
(5c)编译工程中的RTL级描述单元vv.v、门级电路逻辑描述文件cell.v和测试文件test.v;
(5d)在Modelsim的自带work库中,找到测试文件test.v,并添加至仿真工程中;
(5e)双击工程中Simulation类型文件,开始仿真;
(5f)仿真结束后,新建state.v文件,将仿真过程中内部所有D触发器每个时钟的输出状态记录到文件state.v中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710419385.9A CN107256303B (zh) | 2017-06-06 | 2017-06-06 | 快速获取数字门级电路内部节点仿真状态的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710419385.9A CN107256303B (zh) | 2017-06-06 | 2017-06-06 | 快速获取数字门级电路内部节点仿真状态的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107256303A CN107256303A (zh) | 2017-10-17 |
CN107256303B true CN107256303B (zh) | 2020-08-11 |
Family
ID=60023612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710419385.9A Active CN107256303B (zh) | 2017-06-06 | 2017-06-06 | 快速获取数字门级电路内部节点仿真状态的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107256303B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750946B (zh) * | 2018-07-19 | 2023-08-18 | 澜至电子科技(成都)有限公司 | 集成电路网表仿真加速方法及其系统 |
CN109359334B (zh) * | 2018-09-12 | 2023-01-24 | 中国人民解放军国防科技大学 | 一种组合电路门级网表转化为aiger格式文件的方法 |
CN112528577A (zh) * | 2019-09-02 | 2021-03-19 | 深圳市中兴微电子技术有限公司 | 时钟复位电路的管理方法、装置和计算机存储介质 |
CN112464593B (zh) * | 2020-11-25 | 2022-09-02 | 海光信息技术股份有限公司 | Rom位映射关系生成方法、装置、处理器芯片及服务器 |
CN112632880B (zh) * | 2020-12-28 | 2023-04-14 | 芯华章科技股份有限公司 | 用于逻辑系统设计的编译方法、电子设备及存储介质 |
CN113536718B (zh) * | 2021-09-15 | 2021-12-31 | 中科亿海微电子科技(苏州)有限公司 | 一种门级仿真网表文件正确性的验证方法及装置 |
CN114117985B (zh) * | 2021-12-03 | 2024-04-05 | 芯格(上海)微电子有限公司 | 集成运放的智能验证方法、系统、介质及终端设备 |
CN114397868B (zh) * | 2021-12-03 | 2024-05-14 | 陕西法士特齿轮有限责任公司 | 集成式自动机械式变速箱的硬件在环测试平台及测试方法 |
CN114492264B (zh) * | 2022-03-31 | 2022-06-24 | 南昌大学 | 门级电路的转译方法、系统、存储介质及设备 |
CN114638184B (zh) * | 2022-05-23 | 2022-08-09 | 南昌大学 | 门级电路的仿真方法、系统、存储介质及设备 |
CN114841103B (zh) * | 2022-07-01 | 2022-09-27 | 南昌大学 | 门级电路的并行仿真方法、系统、存储介质及设备 |
CN115204078A (zh) * | 2022-07-25 | 2022-10-18 | 深圳国微芯科技有限公司 | 一种集成电路木马检测方法及系统 |
CN118095191A (zh) * | 2023-06-08 | 2024-05-28 | 北京市合芯数字科技有限公司 | 一种门级波形文件生成方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5084824A (en) * | 1990-03-29 | 1992-01-28 | National Semiconductor Corporation | Simulation model generation from a physical data base of a combinatorial circuit |
US6301688B1 (en) * | 1998-11-24 | 2001-10-09 | Agere Systems Optoelectronics Guardian Corp. | Insertion of test points in RTL designs |
CN103076559A (zh) * | 2012-12-29 | 2013-05-01 | 东南大学 | 一种针对扫描测试中移位功耗的优化方法 |
CN103294600A (zh) * | 2013-06-28 | 2013-09-11 | 哈尔滨工业大学 | 基于Perl的EDIF网表级电路的自动可测性设计系统及自动可测性设计方法 |
CN105956302A (zh) * | 2016-05-10 | 2016-09-21 | 北京控制工程研究所 | 一种可配置的抗辐射芯片前端网表自动生成方法 |
CN105956178A (zh) * | 2016-05-27 | 2016-09-21 | 西安电子科技大学 | 基于门级电路仿真的关键节点提取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495495B2 (en) * | 2014-04-03 | 2016-11-15 | Taiwan Semiconductor Manufacturing Company Limited | Scan cell assignment |
-
2017
- 2017-06-06 CN CN201710419385.9A patent/CN107256303B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5084824A (en) * | 1990-03-29 | 1992-01-28 | National Semiconductor Corporation | Simulation model generation from a physical data base of a combinatorial circuit |
US6301688B1 (en) * | 1998-11-24 | 2001-10-09 | Agere Systems Optoelectronics Guardian Corp. | Insertion of test points in RTL designs |
CN103076559A (zh) * | 2012-12-29 | 2013-05-01 | 东南大学 | 一种针对扫描测试中移位功耗的优化方法 |
CN103294600A (zh) * | 2013-06-28 | 2013-09-11 | 哈尔滨工业大学 | 基于Perl的EDIF网表级电路的自动可测性设计系统及自动可测性设计方法 |
CN105956302A (zh) * | 2016-05-10 | 2016-09-21 | 北京控制工程研究所 | 一种可配置的抗辐射芯片前端网表自动生成方法 |
CN105956178A (zh) * | 2016-05-27 | 2016-09-21 | 西安电子科技大学 | 基于门级电路仿真的关键节点提取方法 |
Non-Patent Citations (3)
Title |
---|
《基于复用的数字集成电路设计关键技术研究》;潘伟涛;《中国博士学位论文全文数据库》;20130715;第I135-24页 * |
《数字集成电路设计方法的研究》;孔德立;《中国优秀硕士学位论文全文数据库》;20130315;第I135-250页 * |
《求解门级时序电路稳定状态的仿真方法》;王红霞等;《国外电子测量技术》;20060831;第10-12页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107256303A (zh) | 2017-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107256303B (zh) | 快速获取数字门级电路内部节点仿真状态的方法 | |
US11922106B2 (en) | Memory efficient scalable distributed static timing analysis using structure based self-aligned parallel partitioning | |
EP1305765A1 (en) | Mixed signal simulation | |
US11526641B2 (en) | Formal gated clock conversion for field programmable gate array (FPGA) synthesis | |
CN104899076A (zh) | 一种超大规模集成电路门级网表仿真的加速方法 | |
US11461523B1 (en) | Glitch analysis and glitch power estimation system | |
CN111027279A (zh) | 一种针对系统级单粒子效应的混合仿真分析方法 | |
TWI768536B (zh) | 積體電路模擬及設計方法與系統 | |
CN112733478B (zh) | 用于对设计进行形式验证的装置 | |
CN107844678B (zh) | 包含IP/Memory时序路径的spice仿真方法 | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
KR20040063846A (ko) | 다양한 검증 플랫폼들의 통합 사용을 지원하는 검증 장치및 이를 이용한 검증 방법 | |
US11430496B2 (en) | Phase-aware DDR command dynamic scheduling | |
CN100527138C (zh) | 集成电路元件的模拟实例产生方法与装置 | |
Wang et al. | Development and Optimization Design of Digital Logic device based on FPGA | |
CN104636509A (zh) | 门级仿真中验证时序问题的方法 | |
Kanase et al. | Physical implementation of shift register with respect to timing and dynamic drop | |
KR101328263B1 (ko) | 체계적 점진적 구체화를 통한 전자시스템수준에서부터게이트수준까지의 검증 방법 | |
CN105260545B (zh) | 一种可编程电路系统的验证方法 | |
Yang et al. | HDLs modeling technique for burst-mode and extended burst-mode asynchronous circuits | |
US20230035693A1 (en) | Clock signal realignment for emulation of a circuit design | |
US11853668B1 (en) | FPGA implementation interleaved with FPGA overlay architectures for emulation | |
US11300614B1 (en) | Save and restore register | |
CN117350222B (zh) | 一种基于仿真的单粒子软错误分析方法和装置 | |
US20230195982A1 (en) | Transformations for multicycle path prediction of clock signals |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |