| |
数字电路设计开篇之作
1、大多数人认为只要编译通过,能实现功能就可以啦!?
其实远远不是如此简单,验证在设计中具有重要的地位,设计工作每前进一步,都要进行验证
验证的目的 应该是尽量多的找到代码中的错误,找出的错误越多,验证工作就做的越好
2、何谓验证?什么是验证的等级?
验证是分等级的,不同等级的验证,方法是不一样的
从设计流程划分,验证可以分为单独子模块验证、功能模块验证、系统顶级验证
单独子模块验证,验证功能和逻辑是否符合设计要求
功能模块验证,模块的功能是否满足要求,是否有非法数据或不该有的输出,错误的状态等
系统顶级验证,关注于系统整体的行为方式,模块间的联系和通讯,总线信号,数据流路径是否满足设计要求,数据处理或时序正确与否等
验证需要一个支持的平台,即test_bench,在此测试平台上,需要有激励信号产生器、被测模块、响应分析和监测器
激励与控制:输入端口设置、测试向量、测试模块设置、同步
响应分析器和监测器:即是监控输出信号变化,判断输出信号是正确、合法、错误、非法等
test_bench可以用verilog描述语言搭建,也可以用C语言编写,如果用C语言编写,需要相关的编译器和Verilog接口