【芯片前端】一键生成简易版本定向RTL验证环境的脚本——auto_verification

本文介绍了一种一键生成芯片前端RTL验证环境的Python脚本,适用于verilog和systemverilog项目。通过指定-t参数设置顶层模块名,-f参数可以指向单个文件或包含顶层模块的文件夹。脚本会自动搬运RTL代码并创建测试平台,用户只需手动添加激励即可开始验证。提供了两个测试示例,包括针对单个mem模块的验证和处理包含多个文件的目录。资源链接供下载脚本。

使用示例

下载解压于安装有vcs的虚拟机中,如安装路径为:

/home/xiaotu/my_work/auto_verification/

则执行脚本:

/home/xiaotu/my_work/auto_verification/auto_verification -t xxx -f ./xxx.v

-t:顶层名称;

-f:顶层文件,或包含顶层文件的文件夹;当为顶层文件时,文件名可以和顶层名不一致但必须含有顶层module的代码;当为文件夹时,其内部必须包含顶层.v文件;

测试1:-f mem.v,文件内只有一个mem

执行结果:

[xiaotu@xiaotu-eda ~]$my_work/auto_verification/auto_verification -t mem -f my_work/vcs_demo/rtl/mem.v
gen over! please cd ./mem_verification/sim

此时,rtl已经被搬运到对应的mem_verification/rtl目录,同时生成testbench(部分):

parameter DATA_WD = 32;
parameter DEPTH = 512;
parameter DELAY = 3;
parameter ADDR_WD = $clog2(DEPTH);
parameter ERR_1BIT = 0;
parameter ERR_2BIT = 1;
parameter EOF = 0;

logic  clk;
logic  rst_n;
logic  i_wr_en;
logic  i_rd_en;
logic [ADDR_WD -1:0] i_addr;
logic [DATA_WD -1:0] i_data;
logic [DATA_WD -1:0] o_rdata;
logic  o_1bit_event;
logic  o_2bit_event;
logic [ADDR_WD -1:0] o_mem_err_addr_1bit;
logic [ADDR_WD -1:0] o_mem_err_addr_2bit;

initial forever #5ns clk = ~clk;
initial begin
    rst_n = 1'b0;
	`DELAY(30, clk);
	rst_n = 1'b1;
end
initial begin
    #100000ns $finish;
end

initial begin
    i_wr_en = 0;
    i_rd_en = 0;
    i_addr = 0;
    i_data = 0;
    `DELAY(50, clk);
end

mem #(
    .DATA_WD(DATA_WD),
    .DEPTH(DEPTH),
    .DELAY(DELAY),
    .ADDR_WD(ADDR_WD),
    .ERR_1BIT(ERR_1BIT),
    .ERR_2BIT(ERR_2BIT),
    .EOF(EOF)) 
u_mem(
    .clk(clk),
    .rst_n(rst_n),
    .i_wr_en(i_wr_en),
    .i_rd_en(i_rd_en),
    .i_addr(i_addr),
    .i_data(i_data),
    .o_rdata(o_rdata),
    .o_1bit_event(o_1bit_event),
    .o_2bit_event(o_2bit_event),
    .o_mem_err_addr_1bit(o_mem_err_addr_1bit),
    .o_mem_err_addr_2bit(o_mem_err_addr_2bit)
);

endmodule

然后呢要做的事就是在mem例化的上方,手动去force下信号驱动,定向构造一些激励。

执行下:

测试2:-f目录,目录内有多个文件

[xiaotu@xiaotu-eda ~]$my_work/auto_verification/auto_verification -t triffic_light -f ./triffic_light
gen over! please cd ./triffic_light_verification/sim

后续的流程一样,我就不贴图了。

资源路径

链接:https://pan.baidu.com/s/1CMptxDGketFHuLeNOLcV0Q

提取码:t6o8  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尼德兰的喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值