命令行输入
读取文件以获取用于模拟的信息的另一种方法是使用调用仿真器的命令来指定信息。该信息以**可选参数(plusargs)**的形式提供给仿真器。这些参数形式上与其他仿真器参数不同,因为它们以加号(+)字符开头。
作用:运行仿真时输入参数
$test$plusargs (string)
*用于只输入字符串时
系统函数$test$plusarg搜索用户指定的plusarg_string的plusargs列表。字符串在系统函数的参数中指定为字符串或被解释为字符串的非实数变量。这个字符串不包含命令行参数的前导加号(+)。按照提供的顺序搜索命令行上的plusargs。如果提供的一个plusargs的前缀匹配提供的字符串中的所有字符,则函数返回一个非零整数。如果命令行中没有匹配提供的字符串的plusarg,函数将返回整数值0。
例如:
运行仿真器时添加命令: +HELLO
有如下Verilog代码:
`timescale 1ns/1ps
module test ();
initial begin
if ($test$plusargs("HELLO")) $display("Hello argument found.");
if ($test$plusargs("HE")) $display("The HE subset string is detected.");
if ($test$plusargs("H")) $display("Argument starting with H found.");
if ($test$plusargs("HELLO_HERE"))$display("Long argument.");
if ($test$plusargs("HI")) $display(

这篇博客介绍了Verilog中用于命令行输入参数的两个系统函数:$test$plusargs和$value$plusargs。$test$plusargs用于检查是否在命令行输入了特定字符串,而$value$plusargs不仅能检查字符串是否存在,还能将匹配的字符串转换为指定的数值类型。通过这两个函数,开发者可以在仿真时传递额外信息,如模块名称或数值参数。文中给出了具体的代码示例和Modelsim仿真的输出结果,展示了如何使用这两个函数进行参数匹配和转换。
最低0.47元/天 解锁文章
1634

被折叠的 条评论
为什么被折叠?



