全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 处理器/DSP >

什么是形式验证(Formal验证)?Formal是怎么实现的呢

时间:2023-07-21 09:53

人气:

作者:admin

标签: FS 

导读:相信很多人已经接触过验证。如我以前有篇文章所写验证分为IP验证,FPGA验证,SOC验证和CPU验证,这其中大部分是采用动态仿真(dynamic simulation)实现,即通过给定设计(design)端口测试激励...

最近看到行业群里面经常有人问什么是形式验证,今天的文章和大家介绍下形式验证(Formal verification)。

相信很多人已经接触过验证。如我前面有篇文章所写验证分为IP验证,FPGA验证,SOC验证和CPU验证,这其中大部分是采用动态仿真(dynamic simulation)实现,即通过给定设计(design)端口测试激励,结合时间消耗判断设计的输出结果是否符合预期。动态仿真又分为定向测试和随机测试。现在很多公司用的UVM验证方法学便是建立在动态仿真的基础上的。

ca076182-2710-11ee-962d-dac502259ad0.png

形式验证不同于仿真验证,它是通过数学上完备地证明或验证电路的实现方法是否确实实现了电路设计所描述的功能。形式验证方法分为等价性检查(equivalence checking)如Formality,LEC等和属性检查(Property checking)如Jasper gold,VC Formal 等。我们这里讲的形式验证特指属性的检查(Property checking)。

ca29fcec-2710-11ee-962d-dac502259ad0.png

如上图所示,在一个简单的加法设计中,我们采用动态仿真的方式去验证上述运算是类似一种丢飞镖的过程,想要验到所有的场景要运行2的64次方即18446744073709551616次,这只是简单的加法运算,如果再加入其它稍微复杂的逻辑,想用动态仿真的方式打完所有情况是非常困难的。

ca3e4eb8-2710-11ee-962d-dac502259ad0.png

另外一种场景是当信号从设计的端口输入,信号流的走向会根据不同设定或者状态选择走向不同的路径。如上图所示,当信号流可选择的路径很多时,通过动态仿真也是很难覆盖到所有路径的。

上述两个问题用Formal就可以很好的解决掉。

除了功能验证上的使用,Formal也可以被用在coverage的收集上。在设计里面有不少代码是无法执行到的。如果用动态仿真去找这些点,一般的做法是跑大量的回归测试(regression),收集coverage,然后针对没打到的coverage hole找designer去review。整个过程走下来会花费不少人力。而用formal可以比较轻松高效的找到其中的一些点。

ca631e32-2710-11ee-962d-dac502259ad0.png

介绍了这么多,那么Formal是怎么实现的呢?用Formal验证需要输入设计(design),约束(constraint)和待验证的property。这里的设计一般是指RTL,约束指的是assumption,clock,reset等,propert是指assertion。

ca70e486-2710-11ee-962d-dac502259ad0.png

下面是一个简单的例子,当设计如下

ca9baac2-2710-11ee-962d-dac502259ad0.png

我们可以通过下面描述来验证该段逻辑,先验证req_valid 为高时,dataout等于datain;

caaa8c86-2710-11ee-962d-dac502259ad0.png

再验证req_valid 为低时,dataout等于0。

cabcfcfe-2710-11ee-962d-dac502259ad0.png

Formal适合所有验证场景吗?当然不是,因为formal是通过数学运算去完成完备性验证,在一些简单的逻辑如arbiter,muxes,FSM,Control logic上比较适合用formal去验证,但是对一些复杂的场景,比如涉及到大量的memory,复杂的总线传输,多模块协助工作等场景都不太适合用Formal。

cad6968c-2710-11ee-962d-dac502259ad0.png





审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信