【发布时间】:2017-12-10 22:23:19
【问题描述】:
基本上,我试图在 7 段显示器上显示两个数字的总和或乘积(使用 FPGA 上的开关输入)。我知道我的加法和乘法位都可以正常工作,因为我已经分别对其进行了测试。
我在使用 LSB 时遇到了问题。不管它只是默认为 F 并且永远不会改变。我认为 Verilog 不允许我在同一个 case 语句中同时修改 Cout1 和 Cout0。有解决方法吗?请参阅下面的代码。
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
提前谢谢大家:)
【问题讨论】:
标签: logic case verilog software-design case-statement