verilog 命令行输入参数
方便进行配置参数的多次遍历
tb的.v文件中
//get RG_huffmantype from simv in shell
initial begin
if($value$plusargs("RG_type=%d", RG_type)) begin
RG_HuffmanType = RG_type;
end
else
RG_HuffmanType = 5'b00000;
end
//get I_mode from simv in shell
initial begin
if($value$plusargs("win_grad=%d", win_grad)) begin
I_mode = win_grad;
end
else
I_mode = 1'b1;
end
如果命令行中定义了RG_type,$value$plusargs会返回true并把命令行的值赋给RG_type
命令行调用时
./simv -nc +COMPARE +fsdb+parallel \
-l ${LOG_SIMV} ${CM} ${CM_DIR} +RG_type=1 +win_grad=1
加入+RG_type=1就可以将RG_type赋值为1。
需要注意的是,当只改变配置参数时并不需要重新执行vcs命令,只需要再执行一遍./simv命令,改变配置参数即可。

浙公网安备 33010602011771号