Я использую Modelsim 10.4a для имитации моего verilog-кода (с использованием тестового стенда), если я запускаю все, мой Modelsim выдаст предупреждение при выходе с кодом 7. Я проверяю руководство, оно говорит мне, что код 7 означает, что modelsim не может открыть /чтение / запись / дублирование файла, так что я думаю, что-то должно быть не так с моим испытательным стендомПоэтому я удаляю $ write в моем tb-файле, чтобы он мог запускать весь цикл целиком.
И я также обнаружил нечто странное, если запустить его несколько раз в меньшем масштабе, когда оно ближе к концу цикла (но все равно есть много циклов) он также будет аварийно завершать работу с кодом 7. Кстати, файл tb может хорошо работать для моего друга, а данные могут записываться в файл расшифровки.
Если вам нужно, я предоставлю часть файла tb(если я удалю $ write, он может завершить весь цикл)
always @(negedge sysclk) begin
if(start & ~fin) begin
if (out[2] !== R ||
out[1] !== G ||
out[0] !== Y) begin
$write("Error at %0dth cycle:\n", count);
$write("Real answer: R = %d ,G = %d ,Y = %d\n", out[2], out[1], out[0]);
$write("Your answer: R = %d ,G = %d ,Y = %d\n", R, G, Y);
error = error + 1;
end
end
end
Кто-нибудь может дать мне какое-нибудь предложение? Спасибо!