使用SystemVerilog读取文件中的可变长度字符串

时间:2018-05-08 18:38:48

标签: verilog system-verilog uvm asic

假设我有如下所示的可变长度字符串:

Write <Address> <Data0> <Data1> <Data2>
Read <Address>
Write <Address> <Data0>
Write <Address> <Data0> <Data1> <Data2> <Data3>

如何使用文件操作读取SystemVerilog或Verilog。我知道在有固定长度的文本时阅读

integer file    = $fopen(file_name,"r");
code = $fgets(line, file);
code = $sscanf(line, "%s %h %h %h", txn_type, Address, Data[i]);

1 个答案:

答案 0 :(得分:1)

只要您提供了可能的最大字段数,就可以在未修复字段数时使用$sscanf。放置在code中的返回值表示扫描的实际参数数。因此,只需创建一个虚拟参数列表并复制行

提供的参数