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命令,改变配置参数即可。
本文作者:心比天高xzh
本文链接:https://www.cnblogs.com/xzh-personal-issue/p/17836254.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步