Спасибо @toolic за указание на существование $fdisplay()
, который можно использовать таким образом ...
$fdisplay(STDERR,"hello world"); // also supports formatted arguments
IEEE Std 1800-2012 гласит, что STDERR
следует предварительно открыть, но Verilator, похоже, не знал об этом. Обходной путь для этого:
integer STDERR = 32'h8000_0002;
В качестве альтернативы вы можете создать дескриптор файла журнала для использования с $fdisplay()
вот так ...
integer logfile;
initial begin
$system("echo 'initial at ['$(date)']'>>temp.log");
logfile = $fopen("temp.log","a"); // or open with "w" to start fresh
end
Было бы неплохо, если бы вы могли создать настраиваемую оболочку, которая работает как $display
, но использует выбранный вами дескриптор файла (не указывая его каждый раз). К сожалению, это невозможно в рамках самого языка, но, возможно, вы можете сделать это с помощью DPI, см. Функции отображения DPI (пока у меня это не работает).
person
Brent Bradburn
schedule
16.10.2015