modelsim原理

当我们把工程和要实现的代码都写好之后,不建议立马进行下板来观看功能是否实现,而是先利用modelsim测试,来看波形是否满足我们想要的功能,如果不满足需要不断的调试,直到波形符合我们的要求。
Testbench的原理
Testbench 是测试脚本,测试谁?当然是测试我们用硬件描述语言(HDL)设计的电路,测试设计电路的整体功能、部分性能是否与预期的目标相符。有些初学者没有养成编写 Testbench 的习惯,总以为这是繁琐的、无用的,或者他们习惯用在线逻辑分析仪器来调试,其实不然,当你在编写大型工程代码的时候,综合一次所用的时间少则十几分钟,多则几个小时,这种无用时间的消耗是我们所不允许的,在线逻辑分析仪虽然好用但是每修改一次代码我们就看结果就要综合一次,并不能节省时间,而使用 Testbench 做仿真的速度就很快,修改后即可马上看到结果,从而节省了我们大量的开发时间,所以大家务必养成从学习 FPGA的一开始就编写 Testbench 的好习惯。
编写 Testbench 进行测试的过程如下:

  1. 产生模拟激励(输入波形);
  2. 将产生的激励加入到被测试模块并观察其输出响应;
  3. 将输出响应与期望进行比较,从而判断设计的正确性。
    接下来就是仿真激励 Testbench的编写,首先给大家介绍下 Testbench的原理。我们通常给 Testbench 的取名是在被测试的模块名前加个 tb_(也可以在被测试的模块名后面加_tb),容易识别出具体验证的是哪个模块。第一步建立测试平台,如图 1 所示:是一个测试平台,我们把待测试模块放进测试平台,进行测试,模块不同输入输出个数和名字会不同。
    modelsim原理
    第二步将待测试模块放进测试平台里
    modelsim原理
    第三步就是写测试激励文件对输入信号赋值或者给出相应的信号,来观察输出信号的变化是否符合我们的功能。