博客
关于我
断言(assertion),把黑盒变成白盒
阅读量:196 次
发布时间:2019-02-28

本文共 716 字,大约阅读时间需要 2 分钟。

对于在校的学生而言,断言(assertion)可能仅仅是一个新潮的概念,因为学校没有验证

实际上,断言已经是完完全全地融入到了数字IC验证过程中了。由于断言的存在,DUT在验证工程师眼里不再是一个Design Under Test,更不再是一个black box

 

更准确的说,在数字IC验证工程师眼里,我们所验证的设计应该是一个Design Under Explore,等待我们去探索一切的错误风险以及不合理架构

 

考虑上述场景,我们需要黑盒验证由A和B两个子模块集成的设计。假设设计输出比对失败,现象是在valid_i拉高后,valid_o一直保持低。由于这是一个黑盒验证,我们需要花费非常多的时间和精力追溯信号来定位导致问题的根本原因。

 

但是,如果验证人员已经基于对A子模块和B子模块行为的理解加入(使用SystemVerilog语句“ bind ”)了相应的断言,那么就可以极大地减少调试的时间。

 

同样是上述的例子:

 

对于未集成断言验证环境的调试过程:从设计最终的输出端valid_o追溯到输入端valid_i,观察是哪个子模块丢失了这个valid信号。对于上述所示的小型系统设计来说这仍然很简单,但是实际的复杂设计定位过程可能会花费我们好几天的时间,因为可能跨越非常多的模块,甚至团队

 

对于集成断言验证环境的调试过程:仅根据子模块A和子模块B中的断言状态就可以快速定位出根本问题所在。如果子模块A的断言失败,我们就无须再查看子模块B的行为是否正确。将画面再拉到一个复杂的系统级设计,你可以想想这些断言对我们有多大的帮助。

 

即使是一些不存在功能问题的、误报的断言也可能发现设计不那么合理的地方,以帮助我们优化设计架构。

转载地址:http://insn.baihongyu.com/

你可能感兴趣的文章
Nacos 与 Eureka、Zookeeper 和 Consul 等其他注册中心的区别
查看>>
Nacos 单机集群搭建及常用生产环境配置 | Spring Cloud 3
查看>>
Nacos 启动报错[db-load-error]load jdbc.properties error
查看>>
Nacos 报Statement cancelled due to timeout or client request
查看>>
Nacos 注册服务源码分析
查看>>
Nacos 融合 Spring Cloud,成为注册配置中心
查看>>
Nacos-注册中心
查看>>
Nacos-配置中心
查看>>
Nacos2.X 源码分析:为订阅方推送、服务健康检查、集群数据同步、grpc客户端服务端初始化
查看>>
Nacos2.X 配置中心源码分析:客户端如何拉取配置、服务端配置发布客户端监听机制
查看>>
Nacos2.X源码分析:服务注册、服务发现流程
查看>>
NacosClient客户端搭建,微服务注册进nacos
查看>>
Nacos中使用ribbon
查看>>
Nacos使用OpenFeign
查看>>
Nacos使用Ribbon
查看>>
Nacos做注册中心使用
查看>>
Nacos做配置中心使用
查看>>
Nacos入门过程的坑--获取不到配置的值
查看>>
Nacos原理
查看>>
Nacos发布0.5.0版本,轻松玩转动态 DNS 服务
查看>>