CN106021037A - 一种基于技术手册提取的芯片寄存器自动化仿真验证方法 - Google Patents
一种基于技术手册提取的芯片寄存器自动化仿真验证方法 Download PDFInfo
- Publication number
- CN106021037A CN106021037A CN201510404189.5A CN201510404189A CN106021037A CN 106021037 A CN106021037 A CN 106021037A CN 201510404189 A CN201510404189 A CN 201510404189A CN 106021037 A CN106021037 A CN 106021037A
- Authority
- CN
- China
- Prior art keywords
- depositor
- register
- attribute
- technical manual
- program framework
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种基于技术手册提取的芯片寄存器自动化仿真验证方法,该方法包括:规范化SOC芯片技术手册并输出;自动提取SOC芯片技术手册中的寄存器特征宏;编写寄存器验证程序框架;根据所述寄存器验证程序框架进行脚本后处理,完成验证激励输出。采用本发明所述的方法,可以提高验证的灵活性,准确性。
Description
技术领域
本发明涉及集成电路芯片寄存器仿真验证领域,具体是指基于技术手册自动生成芯片寄存器仿真验证激励的方法。
背景技术
随着集成电路技术不断进步,片上系统芯片的规模越来越大,产品上市时间的压力逐渐增大。寄存器是片上系统中最重要的部分之一,且芯片中的寄存器具有数量大和不断变化的特点。一般来说,芯片中的寄存器数目往往达到几十个,上百个,甚至近千个。而且,这些寄存器的设计规范在不断变化中,甚至在芯片的验证过程中,寄存器的设计可能仍在变化。这两个特点使得仿真验证平台对寄存器验证的管理和维护十分困难。一旦在设计中增加或减少了寄存器,或者修改了寄存器字段的长度、位置、属性、初始值等等,工程师就必须在整个验证环境和所有激励文件中,对于发生变化的寄存器进行相应的修改。这种维护工作非常繁琐,耗时和容易出错。
业界针对这种验证提出了相应的一些解决方案。在动态仿真验证中,先是Synopsys在其VMM(验证方法学)中提出了寄存器抽象层验证技术和解决方案——寄存器抽象层验证技术(RAL,Register Abstraction Layer)。但是由于RAL模型建立相对复杂,而且其模型并不能完全覆盖芯片寄存器全部属性和特点,存在验证盲区,需要单独建立激励来仿真,这样并不能解决寄存器验证效率问题。随后在通用验证方法学(UVM)中,其吸收了验证方法学(VMM)的RAL为己所用,但并没有根本解决模型覆盖问题。此外,在动态仿真方法学中,无论UVM还是VMM,其都需对寄存器的访问方式进行建模,也就说,它们都需要将片上系统(SoC)的CPU模块分离,单独建立总线模型,从而无法在芯片级对寄存器进行集成验证。
在静态形式验证中,Cadence也提出了寄存器的形式验证解决方案,通过建立寄存器标准模型,利用形式验证的方法,对所有寄存器属性进行遍历。虽然它不需要分离CPU模块,也不需要编写激励。但是形式验证的特点注定其更加适用于模块级验证,在全芯片验证时,常常无法构造足够的约束来限定输入,而导致验证无法收敛。而且寄存器标准模型也无法摆脱模型单一的缺点。
分析表明现有的寄存器验证方法存在着种种弊端,如何顾及寄存器验证的完备性和芯片 的整体性,既不需要分离CPU模块建立总线模型,又可以根据芯片特点定制寄存器属性获得更大的灵活性,都是当前复杂寄存器验证的巨大挑战。
发明内容
本发明的方法就是解决上述现有验证方法中的不足之处,提供了一种基于技术手册提取的芯片寄存器自动化仿真验证方法。此方法适用于所有芯片的寄存器仿真验证,由于验证激励是基于技术手册自动提取并自动化生成,所以验证的准确性和可重复性都是传统方法所无法比拟的,并可以大大减少人为检查所消耗的时间。根据此方法设计的验证程序框架,保证了验证的完备性,复用性良好,减少了大量验证时间,尤其在芯片设计做出改变时其节约的时间会更加明显。
本发明通过以下技术方案来实现:所述的基于技术手册提取的芯片寄存器验证方法:
1)规范化技术手册;
2)自动提取寄存器特征宏;
3)寄存器验证程序框架;
4)脚本后处理。
步骤1)中,所述的技术手册是芯片设计的依据,也是寄存器验证依据。在编写技术手册时,需要对寄存器属性的定义和描述进行规范化处理。对寄存器属性定义规范化处理包括采用统一的标准和符号定义,例如RW统一为可读写属性的定义。对寄存器描述规范化处理包括采用统一的表格方式对寄存器进行描述,表格采用统一的大小以及统一的表头分类。
步骤2)在步骤1)之后,当取得规范化的技术手册,利用工具自动提取宏脚本,对技术手册中所有寄存器的描述进行归纳汇总。规范化的寄存器描述,使得脚本对寄存器的所有属性可以精确定位,并提取信息。经过步骤2)的宏脚本处理,可以自动生成寄存器模型列表,此列表为步骤3)的输入。
步骤3)所述的寄存器验证程序框架,是提供步骤4)生成验证激励所需要调用的函数和方法流程。寄存器验证程序框架所包括的函数和方法覆盖了芯片寄存器所有属性的验证策略,其函数和方法采用统一的参数输入方式,为自动实例化这些函数和方法提供了便利。
步骤4)所述的脚本后处理,是在步骤2)3)之后,当获得了寄存器属性列表,利用脚本语言,对寄存器属性列表中的信息,进行甄别,根据属性不同调用步骤3)所提供的不同函数和方法,通过脚本自动计算确定函数和方法的输入值,并将这些函数和方法进行实例化,最终完成验证激励输出。
附图说明
图1是本发明的寄存器验证方法流程图。
具体实施方式
图1是本发明的寄存器验证方法流程图,实现从技术手册输入到最终验证激励的生成,过程全自动化。如图1所示,此方法包括4个步骤:规范化SOC芯片技术手册、SOC芯片技术手册自动提取宏、脚本后处理以及寄存器验证程序框架;包括2个中间产物,技术手册和寄存器属性列表;最终输出验证激励。
下面参照附图结合实施对本发明作进一步的描述:
步骤101:规范化SOC芯片技术手册并输出。对SOC芯片技术手册中寄存器的定义和描述进行规范化处理。其中寄存器属性定义的规范化体现在寄存器属性有完备统一的属性定义,寄存器属性包括字段位属性、访问属性、复位初值属性、复位模式属性、访问模式属性和其他属性。对每一种属性建立完备的定义和统一的符号标识,例如RW就代表可读写的访问属性,P就代表特权访问的访问模式属性。最终在技术手册里以统一的表格形式对每一个寄存器进行描述。例如下表1是规范化后的寄存器输出表格样式。
TYPEA状态寄存器(TYPEASTUTAS)
位 | 名称 | 属性 | 复位值 | 说明 |
[31:14] | - | - | - | 保留位 |
[11:8] | Fdtdev | RW | 4′h6 | Fdt调节 |
[7] | parity | RW | 1′h1 | 奇偶使能 |
[6] | CRC | RW | 1′h0 | CRC使能 |
[5:4] | CL | RW | 1′h0 | 认证级别 |
[3:2] | Tx buad | RW | 1′h0 | 发送波特率 |
[1:0] | Rx buad | RW | 1′h0 | 接收波特率 |
表1规范化后的寄存器描述示例
以WORD文档的形式输出规范化后的SOC芯片技术手册,。
步骤102:自动提取寄存器特征宏。通过工具宏脚本对SOC芯片技术手册中的寄存器进行自动提取。工具宏脚本根据预先定义的寄存器描述,首先根据SOC芯片技术手册中对寄存器描述表格的特征,对手册中所有的寄存器进行定位,之后根据寄存器各种属性统一的符号标识,提取寄存器属性的所有属性信息,最终将提取的信息进行汇总输出寄存器属性列表,所述表格的特征是指:表头,表格行列数,表格第一行对寄存器描述的分栏等。寄存器属性 列表示例如下表2所示。将手册中所有的寄存器都以统一形式输出到存器属性列中,方便脚本的进一步处理。
表2寄存器属性列表示例
输出的寄存器属性列表是对步骤101技术手册中所有寄存器描述的总汇表格,包含技术手册中所有寄存器的属性定义以及描述。
步骤103:编写寄存器验证程序框架。寄存器验证程序框架是提供生成验证激励所需要调用的函数和方法流程。具体的,根据寄存器的验证点编写通用的验证函数和方法,形成寄存器验证程序框架。寄存器验证程序框架所包括的函数和方法覆盖了芯片寄存器所有属性的验证策略,其函数和方法采用统一的参数输入方式,为自动例化这些函数和方法提供了便利。如表1所示的寄存器含有复位值和读写属性两个验证点,则需要针对这两种验证点编写其通用的验证函数和方法。例如针对复位值可以编写检查标准函数如下,用于检测寄存器上电的复位值检查。
步骤104:脚本后处理,完成验证激励输出。其中,所述的脚本后处理是利用脚本语言对所述寄存器属性列表中的信息,进行甄别,根据不同属性调用所述寄存器验证程序框架所提供的不同函数和方法,通过脚本自动计算确定函数和方法的输入值,并将这些函数和方法进行例化,最终完成验证激励的输出。如表1所示的寄存器,要计算其复位值,可以通过脚本提取各个位的初值,通过脚本自动计算得出寄存器初值为0x680,并直接例化调用其验证函数por_init_check(&TYPEASTUTAS,0x680),完成其初值的验证。
输出的验证激励可以直接用于仿真验证环境。
由上述可知,本发明针对寄存器的验证存在的困难,提出了一套切实可行的验证流程和方法,通过此方法可以大大减少人为检查所消耗的时间。由于验证激励是基于技术手册自动提取生成的,所以验证的准确性以及可重复性都是传统方法所无法比拟的。
上文中,参照附图描述了本发明的具体实施方式。但是,本领域中的验证人员能够理解, 在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
Claims (5)
1.一种基于技术手册提取的芯片寄存器自动化仿真验证方法,其特征在于,该方法包括:
规范化SOC芯片技术手册并输出;
自动提取SOC芯片技术手册中的寄存器特征宏;
编写寄存器验证程序框架;
根据所述寄存器验证程序框架进行脚本后处理,完成验证激励输出。
2.根据权利要求1所述的方法,其特征在于,所述规范化SOC芯片技术手册包括:对SOC芯片技术手册中寄存器的定义和描述进行规范化处理,寄存器属性进行统一的属性定义。
3.根据权利要求1或2所述的方法,其特征在于,所述自动提取SOC芯片技术手册中的寄存器特征宏,包括:
工具宏脚本根据预先定义的寄存器描述,以及SOC芯片技术手册中对寄存器描述表格的特征,对SOC技术手册中寄存器进行定位,根据寄存器各种属性统一的符合标识,提取属性信息,并输出寄存器属性列表。
4.根据权利要求3所述的方法,其特征在于,所述编写寄存器验证程序框架包括:根据寄存器的验证点编写通用的验证函数和方法,形成寄存器验证程序框架。
5.根据权利要求4所述的方法,其特征在于,所述根据所述寄存器验证程序框架进行脚本后处理,完成验证激励输出包括:
利用脚本语言对所述寄存器属性列表中的信息,进行甄别,根据不同属性调用所述寄存器验证程序框架所提供的不同函数和方法,通过脚本自动计算确定函数和方法的输入值,并将这些函数和方法进行例化,最终完成验证激励的输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510404189.5A CN106021037A (zh) | 2015-07-10 | 2015-07-10 | 一种基于技术手册提取的芯片寄存器自动化仿真验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510404189.5A CN106021037A (zh) | 2015-07-10 | 2015-07-10 | 一种基于技术手册提取的芯片寄存器自动化仿真验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106021037A true CN106021037A (zh) | 2016-10-12 |
Family
ID=57082421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510404189.5A Pending CN106021037A (zh) | 2015-07-10 | 2015-07-10 | 一种基于技术手册提取的芯片寄存器自动化仿真验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106021037A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133149A (zh) * | 2017-05-12 | 2017-09-05 | 郑州云海信息技术有限公司 | 一种宕机时快速获取相关寄存器数值的方法 |
CN108153961A (zh) * | 2017-12-21 | 2018-06-12 | 盛科网络(苏州)有限公司 | 一种用于芯片验证的寄存器生成方法装置 |
CN109711071A (zh) * | 2018-12-29 | 2019-05-03 | 成都海光集成电路设计有限公司 | 一种服务器SoC软硬件协同仿真加速方法及系统 |
CN110688821A (zh) * | 2019-09-27 | 2020-01-14 | 北京中电华大电子设计有限责任公司 | 一种复杂算法的测试激励生成器及其控制方法 |
CN111488723A (zh) * | 2020-04-01 | 2020-08-04 | 北京中电华大电子设计有限责任公司 | 一种基于脚本的soc芯片存储控制器自动化仿真验证方法 |
CN112433897A (zh) * | 2020-11-06 | 2021-03-02 | 北京中电华大电子设计有限责任公司 | 一种由寄存器规格文档自动生成仿真验证激励的方法 |
CN112818616A (zh) * | 2021-01-15 | 2021-05-18 | 珠海泰芯半导体有限公司 | 管脚命名方法、寄存器激励源添加方法及电子装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008077238A1 (en) * | 2006-12-22 | 2008-07-03 | Sidense Corp. | Dual function data register |
CN102609583A (zh) * | 2012-02-08 | 2012-07-25 | 福州瑞芯微电子有限公司 | 芯片寄存器信息管理方法 |
CN103838653A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 基于vmm ral的寄存器自动化验证方法 |
-
2015
- 2015-07-10 CN CN201510404189.5A patent/CN106021037A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008077238A1 (en) * | 2006-12-22 | 2008-07-03 | Sidense Corp. | Dual function data register |
CN102609583A (zh) * | 2012-02-08 | 2012-07-25 | 福州瑞芯微电子有限公司 | 芯片寄存器信息管理方法 |
CN103838653A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 基于vmm ral的寄存器自动化验证方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133149A (zh) * | 2017-05-12 | 2017-09-05 | 郑州云海信息技术有限公司 | 一种宕机时快速获取相关寄存器数值的方法 |
CN108153961A (zh) * | 2017-12-21 | 2018-06-12 | 盛科网络(苏州)有限公司 | 一种用于芯片验证的寄存器生成方法装置 |
CN109711071A (zh) * | 2018-12-29 | 2019-05-03 | 成都海光集成电路设计有限公司 | 一种服务器SoC软硬件协同仿真加速方法及系统 |
CN109711071B (zh) * | 2018-12-29 | 2023-05-05 | 成都海光集成电路设计有限公司 | 一种服务器SoC软硬件协同仿真加速方法及系统 |
CN110688821A (zh) * | 2019-09-27 | 2020-01-14 | 北京中电华大电子设计有限责任公司 | 一种复杂算法的测试激励生成器及其控制方法 |
CN110688821B (zh) * | 2019-09-27 | 2023-10-13 | 北京中电华大电子设计有限责任公司 | 一种复杂算法的测试激励生成器及其控制方法 |
CN111488723A (zh) * | 2020-04-01 | 2020-08-04 | 北京中电华大电子设计有限责任公司 | 一种基于脚本的soc芯片存储控制器自动化仿真验证方法 |
CN111488723B (zh) * | 2020-04-01 | 2023-12-26 | 北京中电华大电子设计有限责任公司 | 一种基于脚本的soc芯片存储控制器自动化仿真验证方法 |
CN112433897A (zh) * | 2020-11-06 | 2021-03-02 | 北京中电华大电子设计有限责任公司 | 一种由寄存器规格文档自动生成仿真验证激励的方法 |
CN112818616A (zh) * | 2021-01-15 | 2021-05-18 | 珠海泰芯半导体有限公司 | 管脚命名方法、寄存器激励源添加方法及电子装置 |
CN112818616B (zh) * | 2021-01-15 | 2024-03-12 | 珠海泰芯半导体有限公司 | 管脚命名方法、寄存器激励源添加方法及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106021037A (zh) | 一种基于技术手册提取的芯片寄存器自动化仿真验证方法 | |
US8682631B2 (en) | Specifications-driven platform for analog, mixed-signal, and radio frequency verification | |
CN102592023B (zh) | 集成电路设计过程中的寄存器设计方法及装置 | |
US9449130B1 (en) | Methods, systems, and articles of manufacture for back annotating and visualizing parasitic models of electronic designs | |
US7484194B2 (en) | Automation method and system for assessing timing based on Gaussian slack | |
CN201562275U (zh) | 用于在物理验证期间管理违例和错误分类的设备 | |
CN106383859B (zh) | 一种试飞数据分析处理方法 | |
US8051402B2 (en) | Method and apparatus for implementing communication between a software side and a hardware side of a test bench in a transaction-based acceleration verification system | |
US8762912B2 (en) | Tiered schematic-driven layout synchronization in electronic design automation | |
US9881119B1 (en) | Methods, systems, and computer program product for constructing a simulation schematic of an electronic design across multiple design fabrics | |
US8930877B1 (en) | Method and system of change evaluation of an electronic design for verification confirmation | |
CN107315848A (zh) | 用于集成电路设计的方法 | |
US8732632B1 (en) | Method and apparatus for automated extraction of a design for test boundary model from embedded IP cores for hierarchical and three-dimensional interconnect test | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN105279345B (zh) | 一种航天器用数字软ip核评测方法 | |
CN103425812B (zh) | 半导体器件设计系统及其使用方法 | |
CN106294052A (zh) | 一种寄存器读写的测试方法和装置 | |
Simpson | FPGA design | |
CN113343629B (zh) | 集成电路验证方法、代码生成方法、系统、设备和介质 | |
CN102855147B (zh) | 用于局部重配置模拟的方法和系统 | |
US20070180411A1 (en) | Method and apparatus for comparing semiconductor-related technical systems characterized by statistical data | |
CN105447213B (zh) | 用于对电路设计进行仿真的方法和装置 | |
CN101916305A (zh) | 一种复杂管脚芯片的验证方法 | |
CN108399545A (zh) | 电子商务平台质量检测方法和装置 | |
US8065641B2 (en) | Automatically creating manufacturing test rules pertaining to an electronic component |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
DD01 | Delivery of document by public notice |
Addressee: Beijing CEC Huada Electronic Design Co., Ltd. Document name: Notification to Make Rectification |
|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20161012 |