Я использую 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
Других ошибок не обнаружено, но появляется предупреждение, соответствующее трем 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 остается постоянным на всем протяжении), и значения записываются в cipher.txt, когда clk_count равняется 528 (указывается оператором if).
Может ли кто-нибудь дать некоторое представление и / или помочь мне преодолеть это препятствие? Спасибо.