CN107016189A - 一种基于perl实现断言自动插入RTL的方法 - Google Patents
一种基于perl实现断言自动插入RTL的方法 Download PDFInfo
- Publication number
- CN107016189A CN107016189A CN201710217903.9A CN201710217903A CN107016189A CN 107016189 A CN107016189 A CN 107016189A CN 201710217903 A CN201710217903 A CN 201710217903A CN 107016189 A CN107016189 A CN 107016189A
- Authority
- CN
- China
- Prior art keywords
- rtl
- asserted
- perl
- code
- storehouse
- 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
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000013461 design Methods 0.000 claims abstract description 22
- 238000003780 insertion Methods 0.000 claims abstract description 21
- 230000037431 insertion Effects 0.000 claims abstract description 21
- 238000012795 verification Methods 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 4
- 238000005192 partition Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
Classifications
-
- 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/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- 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
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property 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)
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于perl实现断言自动插入RTL的方法,其特征在于,包括如下步骤:步骤1:RTL设计代码中插入相应的代表相关断言验证的关键字,确定插入断言的位置;步骤2:从断言库中精确匹配插入关键字位置的断言程序,使断言库和RTL设计代码的有机结合,创建perl脚本;步骤3:执行perl脚本,实现向RTL代码中插入断言程序;步骤4:将插入后的代码写回到RTL代码文件中。
Description
技术领域
本发明属于集成电路设计验证技术领域,具体涉及一种基于perl实现断言自动插入RTL的方法。
背景技术
当今超大规模集成电路复杂度高、规模大、层次多,验证复杂度剧增,采用断言方式的验证也愈来愈多,但在实际应用中,仅一个单一模块可能用到的断言监视器可能就达几十乃至百个之多,对于规模大的芯片,由设计人员手动在RTL代码中插入断言的方式,不仅会占用设计人员不少的时间和精力,而且手动操作更易出错,同时,迭代过程对元素进行删增等操作会出现断言错误,往往需要更多的精力进行修改。此为现有技术的不足之处。
发明内容
本发明的目的在于,针对在设计中插入断言的繁琐以及花费时间长,不便于迭代的缺陷,提供设计一种基于perl实现断言自动插入RTL的方法。
为了达到上述目的,本发明的技术方案为:
一种基于perl实现断言自动插入RTL的方法,其特征在于,包括如下步骤:
步骤1:RTL设计代码中插入相应的代表相关断言验证的关键字,确定插入断言的位置;
步骤2:从断言库中精确匹配插入关键字位置的断言程序,使断言库和RTL设计代码的有机结合,创建perl脚本;
步骤3:执行perl脚本,实现向RTL代码中插入断言程序;
步骤4:将插入后的代码写回到RTL代码文件中。
在进行上述步骤1之前,根据功能验证的配置参数,命名关键字,确定统一风格的关键字命名,并且关键字以库的形式进行管理;RTL编码前把设计划分为多个模块,创建所有模块所有需要插入的断言,各断言代码中定义相应的配置参数来完成功能的验证,并以库的形式进行管理。
步骤3中,RTL设计完成后执行perl脚本在关键字位置一键插入所有模块的断言。
优选地,根据不同验证点确定统一风格的关键字命名,验证点包括FIFO、Interface、存储器、信号明确有时间限制的关系点。
优选地,插入的关键字为FLAG_FIFO。
断言的产生过程包括:产生确认集成电路设计中各模块规格的设计数据或文档,并将数据进行存储;分析设计数据产生用于验证模块规格的特性,并将特性转换为断言描述;关键词库通过关键词匹配,验证通过,建立对应关系与断言库建立连接。
每个断言只验证一个条件。
为任何功能划分模糊或边角逻辑添加断言验证。
将分散在各层级各模块中分散状态的断言以库的形式统一管理;在RTL代码设计过程中,只需要向代码中插入提前命名好的关键字,代码完成后可通过perl的文本精确处理能力,在关键字位置一键插入所有模块的断言。
本发明的有益效果在于,利用perl的强大文本处理能力,通过实现自动化插入的方式,降低出错率,节省开发时间也便于迭代,迭代过程节省修改时间。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1 为本实施例提供的一种基于perl实现断言自动插入RTL的方法中perl的结构图。
图2为一种基于perl实现断言自动插入RTL的方法中自动插入过程示图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
如图1所示,本实施例提供的一种基于perl实现断言自动插入RTL的方法,包括如下步骤:
步骤1:RTL设计代码中插入相应的代表相关断言验证的关键字,确定插入断言的位置;
步骤2:从断言库中精确匹配插入关键字位置的断言程序,使断言库和RTL设计代码的有机结合,创建perl脚本;
步骤3:执行perl脚本,实现向RTL代码中插入断言程序;
步骤4:将插入后的代码写回到RTL代码文件中。
在进行上述步骤1之前,根据功能验证的配置参数,命名关键字,确定统一风格的关键字命名,并且关键字以库的形式进行管理;RTL编码前把设计划分为多个模块,创建所有模块所有需要插入的断言,各断言代码中定义相应的配置参数来完成功能的验证,并以库的形式进行管理。
步骤3中,RTL设计完成后执行perl脚本在关键字位置一键插入所有模块的断言。
根据不同验证点确定统一风格的关键字命名,验证点包括FIFO、Interface、存储器、信号明确有时间限制的关系点。
在RTL代码设计过程中,插入关键字FLAG_FIFO,编码完成后,执行perl脚本,根据关键词库和断言库的连接,从断言库中精确匹配应该插入FLAG_FIFO位置的断言程序,将插入后的代码写回到RTL代码文件中,如图2所示。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (7)
1.一种基于perl实现断言自动插入RTL的方法,其特征在于,包括如下步骤:
步骤1:RTL设计代码中插入相应的代表相关断言验证的关键字,确定插入断言的位置;
步骤2:从断言库中精确匹配插入关键字位置的断言程序,使断言库和RTL设计代码的有机结合,创建perl脚本;
步骤3:执行perl脚本,实现向RTL代码中插入断言程序;
步骤4:将插入后的代码写回到RTL代码文件中。
2.根据权利要求1所述的一种基于perl实现断言自动插入RTL的方法,其特征在于,在进行上述步骤1之前,根据功能验证的配置参数,命名关键字,确定统一风格的关键字命名,并且关键字以库的形式进行管理。
3.根据权利要求1或2所述的一种基于perl实现断言自动插入RTL的方法,其特征在于,在进行上述步骤1之前,RTL编码前把设计划分为多个模块,创建所有模块所有需要插入的断言,各断言代码中定义相应的配置参数来完成功能的验证,并以库的形式进行管理。
4.根据权利要求3所述的一种基于perl实现断言自动插入RTL的方法,其特征在于,步骤3中,RTL设计完成后执行perl脚本在关键字位置一键插入所有模块的断言。
5.根据权利要求4所述的一种基于perl实现断言自动插入RTL的方法,其特征在于,关键词库通过关键词匹配,验证通过,建立对应关系与断言库建立连接。
6.根据权利要求5所述的一种基于perl实现断言自动插入RTL的方法,其特征在于,根据不同验证点确定统一风格的关键字命名,验证点包括FIFO、Interface、存储器、信号明确有时间限制的关系点。
7.根据权利要求6任一项所述的一种基于perl实现断言自动插入RTL的方法,其特征在于,关键字为FLAG_FIFO。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710217903.9A CN107016189A (zh) | 2017-04-05 | 2017-04-05 | 一种基于perl实现断言自动插入RTL的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710217903.9A CN107016189A (zh) | 2017-04-05 | 2017-04-05 | 一种基于perl实现断言自动插入RTL的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107016189A true CN107016189A (zh) | 2017-08-04 |
Family
ID=59446135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710217903.9A Pending CN107016189A (zh) | 2017-04-05 | 2017-04-05 | 一种基于perl实现断言自动插入RTL的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107016189A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506558A (zh) * | 2017-09-05 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种采用断言和脚本提高统计功能覆盖率效率的方法 |
CN110442929A (zh) * | 2019-07-18 | 2019-11-12 | 上海磐启微电子有限公司 | 一种基于perl实现芯片系统顶层自动例化的方法 |
CN111615688A (zh) * | 2019-05-28 | 2020-09-01 | 深圳市大疆创新科技有限公司 | 一种断言验证代码绑定方法及装置 |
CN112364580A (zh) * | 2020-11-13 | 2021-02-12 | 上海兆芯集成电路有限公司 | 自动在寄存器传输级设计文件中插入特定代码的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706753A (zh) * | 2009-12-11 | 2010-05-12 | 武汉虹信通信技术有限责任公司 | 一种基于Perl的单元测试框架及方法 |
CN102567193A (zh) * | 2010-12-09 | 2012-07-11 | 北京新媒传信科技有限公司 | 测试用例转化为自动化测试脚本的方法及系统 |
CN105930299A (zh) * | 2016-04-25 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种基于BFM的SystemVerilog搭建协议验证平台的方法 |
-
2017
- 2017-04-05 CN CN201710217903.9A patent/CN107016189A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706753A (zh) * | 2009-12-11 | 2010-05-12 | 武汉虹信通信技术有限责任公司 | 一种基于Perl的单元测试框架及方法 |
CN102567193A (zh) * | 2010-12-09 | 2012-07-11 | 北京新媒传信科技有限公司 | 测试用例转化为自动化测试脚本的方法及系统 |
CN105930299A (zh) * | 2016-04-25 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种基于BFM的SystemVerilog搭建协议验证平台的方法 |
Non-Patent Citations (1)
Title |
---|
杨弢: "基于断言的功能验证方法研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506558A (zh) * | 2017-09-05 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种采用断言和脚本提高统计功能覆盖率效率的方法 |
CN111615688A (zh) * | 2019-05-28 | 2020-09-01 | 深圳市大疆创新科技有限公司 | 一种断言验证代码绑定方法及装置 |
WO2020237508A1 (zh) * | 2019-05-28 | 2020-12-03 | 深圳市大疆创新科技有限公司 | 一种断言验证代码绑定方法及装置 |
CN110442929A (zh) * | 2019-07-18 | 2019-11-12 | 上海磐启微电子有限公司 | 一种基于perl实现芯片系统顶层自动例化的方法 |
CN110442929B (zh) * | 2019-07-18 | 2023-08-01 | 上海磐启微电子有限公司 | 一种基于perl实现芯片系统顶层自动例化的方法 |
CN112364580A (zh) * | 2020-11-13 | 2021-02-12 | 上海兆芯集成电路有限公司 | 自动在寄存器传输级设计文件中插入特定代码的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107016189A (zh) | 一种基于perl实现断言自动插入RTL的方法 | |
Smock et al. | PubTables-1M: Towards comprehensive table extraction from unstructured documents | |
CN110348441B (zh) | 增值税发票识别方法、装置、计算机设备及存储介质 | |
CN110795482B (zh) | 数据对标方法、装置、及存储装置 | |
CN109739766A (zh) | 一种快速搭建fpga数字仿真模型的系统及方法 | |
CN104408264B (zh) | 一种基于断言的嵌入式存储控制器验证系统及方法 | |
CN109150833A (zh) | 一种基于模型检测的安全协议形式化验证方法 | |
CN102129493B (zh) | 数字ic设计流程中实现自动化eco网表的方法 | |
CN108153920A (zh) | 集成电路设计的rtl阶段期间的时钟门控验证 | |
CN107239616B (zh) | 一种集成电路原理图的对比方法 | |
US20230308381A1 (en) | Test script generation from test specifications using natural language processing | |
US20230153499A1 (en) | Register-transfer level signal mapping construction method, device, apparatus and storage medium | |
US20180129771A1 (en) | Design support method, and information processing apparatus | |
US11443089B1 (en) | Timing verification of non-standard library blocks | |
Harris et al. | Generating formal hardware verification properties from natural language documentation | |
CN109165209A (zh) | 数据库中对象类型的数据校验方法、装置、设备及介质 | |
CN115796093B (zh) | 电路时序优化方法、装置、电子设备及存储介质 | |
CN103377123B (zh) | 一种网页代码自动化测试方法及装置 | |
CN110245349A (zh) | 一种句法依存分析方法、装置及一种电子设备 | |
CN113536718B (zh) | 一种门级仿真网表文件正确性的验证方法及装置 | |
US8010920B2 (en) | Constraint management and validation for template-based circuit design | |
CN112733478A (zh) | 用于对设计进行形式验证的装置 | |
CN117555519A (zh) | 基于自然语言处理的SysML软件需求建模方法和系统 | |
CN108363567B (zh) | 一种基于数据库的验证平台激励器自动化生成方法 | |
US6981238B1 (en) | Verification of integrated circuit designs using buffer control |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170804 |
|
RJ01 | Rejection of invention patent application after publication |