В основном я пытаюсь отобразить сумму или произведение двух чисел (введенных с помощью переключателей на FPGA) на 7-сегментном дисплее. Я знаю, что мои биты сложения и умножения работают нормально, так как я тестировал их по отдельности.
У меня проблемы с LSB, хотя. Независимо от того, что он просто по умолчанию F и никогда не меняется. Я думаю, что Verilog не позволяет мне изменять Cout1 и Cout0 в одном и том же операторе case. Есть ли обходной путь для этого? Смотрите мой код ниже.
always@*
if (key1press)
casex(PrintSum)
// Hex 1 (MSB)
// Works!
5'b0xxxx : Cout1 = 7'b1000000; //0 if S[4] = 0
5'b1xxxx : Cout1 = 7'b1111001; //1 if S[4] = 1
// Hex 0 (LSB)
// Doesn't work :(
5'bx0000 : Cout0 = 7'b1000000; //0
...
5'bx1111 : Cout0 = 7'b0001110; //F
//default : begin
// Cout1 = 7'b1000000; //0 by default
// Cout0 = 7'b1000000; //0 by default
//end
endcase
Заранее всем спасибо :)