К сожалению, это та программа перед первой диаграммой. Преобразования выполняется с помощью комбинаторной функции (я на потом оставил сделать вывод на HEX как модуль, где будет битом включаться режим вывода либо прямой, либо с преобразованием чисел в hex). Саму функцию я подключаю вручную
no subject
function [7:0] to_hex(input [3:0] ival);
begin
to_hex = ival == 0 ? 8'b00111111 :
ival == 1 ? 8'b00000110 :
ival == 2 ? 8'b01011011 :
ival == 3 ? 8'b01001111 :
ival == 4 ? 8'b01100110 :
ival == 5 ? 8'b01101101 :
ival == 6 ? 8'b01111101 :
ival == 7 ? 8'b00000111 :
ival == 8 ? 8'b01111111 :
ival == 9 ? 8'b01101111 :
ival == 10 ? 8'b01110111 :
ival == 11 ? 8'b01111100 :
ival == 12 ? 8'b00111001 :
ival == 13 ? 8'b01011110 :
ival == 14 ? 8'b01111001 :
ival == 15 ? 8'b01110001 :
$
end
endfunction
Вчера уже поздно попробовал прогнать тест a+x a-x x-a.
Вместо стоп команды я сделал вывод PASS или FAIL с вывдом на хекс цифры
К большому сожалению:
Потом разделил частоту процессора до 2Гц, вывел PC на HEX-индикатор и стало ясно что прыгает после первой проверки с адреса 3.
Сегодня в течении дня я постараюсь выложить проект на гитхаб.