Test bench 大致能分成三个部分。
第一部分是时钟控制,用 alway 语句实现。
第二部分就是实例化要测试的 module
第三部分就是对实例的输入赋值
testbench 里面包含了三个东西:
1、激励生成。也就是我们刚才初级时候说的所谓的“ testbench”。英文么就是 simulator,
这个只用来生成输出,他自己没有输入,只是按照一定的规律去给你的设计激励,激励通
过设计的输入端口送到你的设计中。其余的事情不管。这里的激励,都是预先设想好的,
比如根据某个协议,或者某种通信方式传递。
2、你的设计。英文可以叫做 DUT:design under testbench 或者 DUV:design under
verification。当然咯。这个是你主要目标。
3、输出校验。校验你的输出。英文叫 markerboard,他所管的事情就是,接收你设计的输
入,然后通过校验,找出对应的问题。然后报错,或者统计错误。等等。通俗的讲,你设
计它就是把你自己解脱出来,让他来帮你找错误。他输出给你的可能就是通过打印啊,通
知啊,等等方法了解你设计的正确性。
Testbench 编写技巧
测试平台是个没有输入输出端口的模块。仿真在一个模块设计中是很关键的步
骤,而 testbench 是仿真的很好工具。
与待测模块接口
与输入端口相连接的变量定义为
与输出端口相连的定义为
块中初始化变量,必须的。
用 或 暂停或结束仿真
等待变量值改变,变量可以是待测试模块的输出或者内部变
量
时钟产生:
产生时钟
!控制只产生 个时钟。
评论11
最新资源