我正在使用 Xilinx ISE 10.1 运行一些 verilog 代码。在代码中,我想将 3 个寄存器的寄存器值写入文件 cipher.txt 中。以下是代码片段:
if (clk_count==528) begin
f1 = $fopen("cipher.txt", "w");
$fwrite(f1, "clk: %d", clk_count[11:0]);
$fwrite(f1, "plain: %h", plain[31:0]);
$fwrite(f1, "cipher: %h", cipher[31:0]);
$fclose(f1);
end
执行结束,发现cipher.txt的内容为:
clk: %dplain: %hcipher: %h
没有遇到其他错误,但出现了与 3 个 fwrite 对应的警告:
Parameter 3 is not constant in call of system task $fwrite.
Parameter 3 is not constant in call of system task $fwrite.
Parameter 3 is not constant in call of system task $fwrite.
寄存器 clk_count 和 cipher 的值在每个时钟周期发生变化(寄存器 plain 的值始终保持不变),当 clk_count 等于 528 时将值写入 cipher.txt(由 if 语句指示)
任何人都可以提供一些见解和/或帮助我克服这个障碍吗?谢谢。