Verilog等价性验证系统前端的设计与实现
【摘要】:关于集成电路设计正确性的验证问题一直是学术界以及工业界予以关注和重视的研究课题。随着大规模集成电路的快速发展,使得验证的难度也日益增长。传统的验证方法如模拟和仿真不但不能够进行完全的错误覆盖,而且花费大量的时间。由于以上这些缺点,传统的验证技术已经无法跟上集成电路高速发展的步伐。形式化验证是利用数学的方法,完备地证明或者验证电路的设计实现方案与电路设计描述的功能是否一致。一般来说,形式化验证方法可分为三类,等价性验证(Equivalence Checking)、模型检测(model checking)和定理证明(Theorem Proving)。本文设计的Verilog等价性验证系统前端就是基于等价性验证方法的。等价性验证核心目标是验证两个设计模型之间功能等价性,其基本原理是依据数学的定理和公理。利用等价性验证工具对两个待验证的设计进行彻底检验,保证它们在所有可能的条件下都有一致的功能。等价性验证包括组合电路等价性验证与时序电路等价性的验证。
本文设计的Verilog等价性验证系统前端的主要工作是根据Verilog源代码来提取形式模型。在形式化验证中,大多数的学术工具都用BLIF或者BLIF-MV网络表示设计,而不能将Verilog源代码作为直接输入。在设计大规模集成电路时,Verilog与VHDL是应用最广泛的硬件描述语言。所以如果Verilog源代码直接作为输入来使用,而不是先转换为中间形式,将会非常方便的。我们同时发现,可综合的Verilog程序的语法结构如果用静态单一赋值SSA(Static SingleAssignment)形式表示的话是非常好的。所以,在本系统前端中,本文将介绍一种方法,此方法可以通过将Verilog源代码转换成SSA形式的方式来提取模型。同时,本文也证明了这种方法提取的模型与原模型的功能是等价的。Verilog等价性验证系统前端设计的大体步骤如下:
1.编写lex和yacc源程序,先将Verilog源程序进行词法分析和语法分析,使之生成Verilog的中间表示形式,称之为抽象语法树AST(Abstract Syntax Tree)。然后对中间表示形式AST进行精细解析(elaboration)过程,解析后生成的中间表示形式可以称之为Elaboration。elaboration是非常必要的预处理过程,这也是为了后面的向SSA形式转换做准备。
2.利用静态单一赋值SSA为手段来提取形式模型。将Verilog生成中间表示形式Elaboration后,再将Elaboration转化成SSA形式,以便于提取形式模型。
3.验证提取的形式模型与原Verilog模型是否等价。本文将已经转换成的SSA形式再转回为Verilog代码形式,利用Formality验证工具来验证它与原Verilog代码功能等价性。
由以上可知,要在Verilog原模型中提取形式模型,需要三步转换:Verilog模型转换成AST(抽象语法树)模型。AST模型转换成Elaboration模型。Elaboration模型转换成SSA模型。SSA模型是最终模型,也是本文所要提取的形式模型。如果把本文提取的形式模型交给后端的约束求解器,那么求解器就很容易根据我们所提取的形式模型中的约束关系来验证两个模型是否等价。
|
|
|
|
1 |
刘永勤;刘月月;;基于Verilog的数字图像锐化研究和实现[J];科学技术与工程;2009年18期 |
2 |
刘德贵,李便莉;可综合的基于Verilog语言的有限状态机的设计[J];现代电子技术;2005年10期 |
3 |
叶懋;景新幸;杨海燕;;基于Verilog语言的帧同步的实现[J];系统仿真技术;2007年01期 |
4 |
李慧静;刘慧文;;多位格雷码计数器的Verilog HDL描述方法[J];电脑知识与技术;2009年33期 |
5 |
刘永勤;;基于Verilog的全数字锁相环的设计[J];渭南师范学院学报;2010年05期 |
6 |
陈庆文;用Verilog HDL语言进行数字电路设计[J];微波与卫星通信;1996年04期 |
7 |
于云华,石寅;基于MACH211SP和Verilog编程的扫描消抖键盘接口电路设计[J];电子产品世界;2003年15期 |
8 |
韦忠善,朱海燕;基于FPGA的精简指令CPU的实现[J];广西梧州师范高等专科学校学报;2005年01期 |
9 |
黄丽薇;喻强;王静;;基于CPLD的双屏结构液晶控制器的研究与设计[J];微计算机信息;2006年29期 |
10 |
黄丽薇;;基于CPLD的串行通信模块设计[J];电子测量技术;2007年01期 |
11 |
陈兆芳;;基于FPGA的电梯控制系统[J];福建电脑;2010年02期 |
12 |
王长宏
,陈朝阳
,邹雪城
,应建华;Verilog HDL设计实例及其仿真与综合[J];电子工程师;2001年12期 |
13 |
俞莉琼,付宇卓;有限状态机的Verilog设计与研究[J];微电子学与计算机;2004年11期 |
14 |
高仲凯;赵红东;;基于VeriIog的单精度浮点数乘法器的设计与实现[J];四川理工学院学报(自然科学版);2009年06期 |
15 |
夏宇闻;Verilog的task和function说明语句[J];电子产品世界;2003年07期 |
16 |
熊海东,黄超昔,邵宇丰;FPGA设计中的编程技巧[J];现代电子技术;2005年02期 |
17 |
夏宇闻;Verilog HDL与逻辑系统设计[J];电子技术应用;1997年09期 |
18 |
蒋敬旗,刁岚松,刘明业;集成电路/计算机硬件描述语言标准Verilog的标准化工作[J];中国标准化;2000年03期 |
19 |
邱丹;基于Verilog的门级功耗建模及实际应用[J];现代电子技术;2004年22期 |
20 |
孙丰军
,余春暄;USB设备控制器IP Core的设计与实现[J];微计算机信息;2005年22期 |
|