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命令,改变配置参数即可。

posted @ 2023-11-16 14:53  心比天高xzh  阅读(102)  评论(0)    收藏  举报