没有合适的资源?快使用搜索试试~ 我知道了~
首页形式化验证在处理器浮点运算单元中的应用
形式化验证在处理器浮点运算单元中的应用
182 浏览量
更新于2023-05-25
评论
收藏 448KB PDF 举报
随着芯片复杂度的急剧增加,模拟仿真验证不能保证测试向量的完备性,尤其是一些边界情况。形式验证方法因其完整的状态空间遍历性和良好的完备性,被业界应用于设计规模不大的模块和子单元中。针对处理器浮点运算单元,采用Cadence公司JasperGold工具对一些关键模块进行了形式化验证,对流水控制中的纠错码(Error Correcting Code,ECC)、软件结构寄存器(Software Architected Register,SAR)和计算单元中的公共模块分别采用了基于FPV(Formal Property Verification)的性质检验和基于SEC(Sequential Equivalence Checking)的等价性检验。结果表明,形式化验证在保证设计正确性的基础上极大地缩短了验证周期。
资源详情
资源评论
资源推荐

形式化验证在处理器浮点运算单元中的应用形式化验证在处理器浮点运算单元中的应用
随着芯片复杂度的急剧增加,模拟仿真验证不能保证测试向量的完备性,尤其是一些边界情况。形式验证方法因
其完整的状态空间遍历性和良好的完备性,被业界应用于设计规模不大的模块和子单元中。针对处理器浮点运算
单元,采用Cadence公司JasperGold工具对一些关键模块进行了形式化验证,对流水控制中的纠错码(Error
Correcting Code,ECC)、软件结构寄存器(Software Architected Register,SAR)和计算单元中的公共模块分
别采用了基于FPV(Formal Property Verification)的性质检验和基于SEC(Sequential Equivalence
Checking)的等价性检验。结果表明,形式化验证在保证设计正确性的基础上极大地缩短了验证周期。
0 引言引言
随着集成电路设计规模和复杂度增加,系统设计的功能验证面临着严峻挑战。据统计,验证的时间和人力投入已占到整个
设计的50%以上,用于测试和错误诊断的代价超过了产品实现成本的50%。因此,推出一种新的验证方法成为验证界的热点和
难点。
传统的模拟验证方法,基于软件或硬件平台设计系统模型,通过对比测试向量的输出结果判断设计是否达到标准,这很大
程度上取决于测试向量的完备性
[1]
。面对大型设计时,模拟验证逐渐暴露其局限性,难以覆盖所有的测试向量,无法保证验证
的完整性。
形式化验证采用系统高效的方法,遍历整个状态空间,能够对设计进行完整的验证,近年来受到业界的广泛关注。形式验
证包括等价性检验、性质检验和定理证明。等价性检验是指验证一个设计的不同描述形式之间的功能等价性。性质检验利用时
态逻辑描述设计功能,通过穷举法验证设计的系统是否满足功能要求。定理证明从系统的公理出发,使用推理规则逐步推导出
其所期望特性的证明过程,该方法对验证人员数学功底和推导能力要求很高,在学术研究之外应用较少。研究形式验证在实际
项目中的应用,对于提高验证效率,缩短产品开发周期具有重要意义。
本文基于一款处理器芯片的浮点运算单元,应用Cadence公司JasperGold形式验证工具,针对流水控制和计算单元中的关
键模块分别采用了FPV和SEC进行验证。
1 SAR验证验证
软件结构寄存器(Software Architected Register,SAR)在浮点运算单元流水线中作为第二级存储区域。SAR整体4个读端口
和4个写端口,其内部由8个bank块组成,每个bank块的本质是SRAM,一个SRAM是一读一写,有128个entry,64个结构寄
存器。SAR进行读/写操作时,会从8个bank中选择bank块的对应entry,将其中数据传输到其中一个读/写端口处。当出现多个
读/写操作访问同一个bank块时,会发生冲突,需要报错。
SAR的性质检验采用的是JasperGold的FPV。性质检验的主要工作是根据验证的需要编写对应的性质(property),性质的
构建方式和完备程度会直接影响到验证的效果。常用编写property的语言有System Verilog和PSL(Property Specification
Language),JasperGold对这两种语言都支持。SAR主要的验证要点:(1)遍历整个读写的地址空间;(2)发生冲突时,能否报
错;(3)检测在不同的工作模式下,是否能正常工作。
在进行端对端数据传输时,数据包在数据通路中会经过缓冲器或存储器,需要进行数据传输完整性验证。因为存储器这类
结构易于理解而且很少会出现bug,所以在整个项目的验证过程中不会引起大家的关注。但是因为存储器巨大的状态空间,使
其成为提高形式化验证性能的瓶颈。为解决这一问题,在对SAR进行验证时,使用了JasperGold提供的形式计分板证明加速
器(Formal Scoreboard Proof Accelerator,PA)。PA可以把存储器进行抽象化,同时保留充分的信息,确保Formal
Scoreboard中结果的精确。在SAR具体验证时,用PA替换了SAR中的bank,同时为了简化验证复杂度,在构建属性断言时,
核心思想是:在没有发生冲突的情况下,读操作读取的数据应该等于上一次写操作对应地址的写入数据。Check会对相对应写
操作数据和读数据进行对比,同时检测冲突发生的情况,具体的验证构如图1所示。
通过对验证结果分析,发现编写的property涵盖了所有的验证要点,且全部得到了证明。尤其是使用PA之后,证明消耗的
时间大大缩短,验证性能提升显著。如图2和图3所示,没有使用PA前,针对SAR一个端口遍历所有读写地址空间,总的证明
时间为286.41 s,使用PA之后,所需的证明时间仅为1.04 s。



















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0