|
本帖最后由 upli 于 2018-12-29 08:15 编辑
本人在编写FPGA工程的仿真(verilog simulation testbench)时,深感port连接与信号初始化的效率低下和乏味无趣。为减轻无谓的体力劳动,遂编写此工具(vlog_sim_tb_gen)用于自动生成TB。
程序特性:
支持对任意个模块的任意次例化:相同的模块例化信号后面自动递增序号,不同模块的例化名以uut*_依次递增序号。
自动生成默认的时钟(i_sys_clk,100MHz)及复位信号(i_sys_rstn)。
支持端口位宽([n:0])及reg/wire描述。
自动对input端口进行reg声明。对output和inout端口进行wire声明,并添加或替换s_前缀。
支持".../*...*/..."和"...//..."注释。
自动对信号进行对齐(以模块为单位),可读性强。
自动对input信号进行初始化,并初始了1个cnt_tmp及state状态机,便于快速修改输入信号。
纯命令行界面,支持传入参数或拖动文件作为输入,程序大小仅10K。
……
使用方法(1):
本方法适用于对单个模块生成TB。
直接拖动1个verilog文件(.v)到程序图标上,即可自动在.v文件目录下生成1个sim_*.v文件。
使用方法(2):
本方法适用于对多个模块生成TB。
新建1个文本文件,后缀改为.vv。在这个文件中每行描述1个module的例化方法。
首先是需要例化的个数,然后是要例化module的文件路径,二者以空格分开。
.vv文件格式示例:
----------------------------
| 1 C:\top_module.v |
| 1 .\sub_module.v |
| 2 commu_module.v |
----------------------------
表示:例化1个top_module,例化1个sub_module,例化2个commu_module.
目前支持最多255个.v文件,每个最多例化255个实例,更多无益。
使用本程序前,请保证.v文件已经通过verilog语法检查。
本工具仅支持把端口说明(input,...)放在module端口声明语句里。
推荐的编码风格:
module name (
input [1:0] i_sig ,
output reg o_vld ,
inout io_tri
);
程序发布时,vSrc目录下有默认的tb_gen.vv文件及两个.v示例文件,可以直接对工具的使用效果进行评估。
实际使用时,请依照实际修改.vv文件内容。生成的tb文件位于.vv文件同一目录下。
Bug反馈:
由于本人刚接触FPGA应用才几个月,及程序编写经验有限,本程序难免有很多需要改进的地方,请各位不吝赐教。
如果您对本程序有任何意见,请发邮件给到 uplixing@163.com 进行反馈。
vlog_sim_tb_gen usage:
# Drag and drop a file to generate a simulation test bench.
*.v : verilog module file.
*.vv: verilog module instantiation list file.
The 1st module in *.vv file is top module.
----------------------------
| 1 C:\top_module.v |
| 1 .\sub_module.v |
| 2 commu_module.v |
----------------------------
The list file support up to 255 files(each 255 instances).
# Supported verilog syntax:
* Make sure your *.v passed syntax check first.
* Multi statements per line supported(limited).
+Recommended coding style:
module name (
input [1:0] i_sig ,
output reg o_vld ,
inout io_tri
);
Bug report:
uplixing@163.com
========================================================================
Ver 0.1.0 (2018-12-28)
First release.
帖子重编辑于2018-12-29 08:14,原因:针对坛友的疑问增加了部分文字说明。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|