| ||
Verilator是一个开源的verilog和systemVerilog仿真EDA。
该软件的仿真过程是将读入的设计文件封装(软件里称为“verilate”)成C++类,再编写wrapper文件.cpp,里面写了main函数接口,用于例化封装好的设计类和定义好的环境类、波形类、覆盖率类来设置仿真参数,然后运行Verilator生成make文件.mk,再用make命令调用外部编译器生成可执行文件,运行可执行文件得到相关的波形文件和覆盖率报告。
在v5.002及以上版本的Verilator里,支持了延时语法和事件控制语句以及fork语句,使得可以直接仿真基于Verilog编写的testbench而不需要在wrapper里编写激励,免去了编写C++版testbench的消耗,对于以前用verilog或者sv验证设计而现在想用Verilator进行仿真验证的用户十分友好,用户只需在wrapper里编写的main接口里将仿真数据写入文件而不需编写激励。
以一个简单的可变进制计数器作为设计文件,编写wrapper,运行Verilator仿真。
本文仅作为简介,详细代码请访问我写的CSDN博客:使用Verilator仿真基于Verilog编写的testbench并用GTKWave查看波形_replaceorstay的博客-CSDN博客(单击冒号后的文字以进入网站)