【发布时间】:2022-01-20 22:45:24
【问题描述】:
我是 SystemVerilog 和 Basys3 的新手。我正在尝试学习七段显示。为此,我编写了一个简单的演示:
1- Take input from switches
2- From that Input, decide which seven segment output will be used with comparing numbers
3- Display on the seven segment display.
你可以看到我的代码。
module SevenSegmentNumber(input logic[3:0] inputFile, output logic [6:0] outputFile);
if (inputFile == 3'b000) begin
assign outputFile[6] = 0;
assign outputFile[5] = 0;
assign outputFile[4] = 0;
assign outputFile[3] = 0;
assign outputFile[2] = 0;
assign outputFile[1] = 0;
assign outputFile[0] = 1;
end
else if (inputFile == 3'b001) begin
assign outputFile[6] = 1;
assign outputFile[5] = 0;
assign outputFile[4] = 0;
assign outputFile[3] = 1;
assign outputFile[2] = 1;
assign outputFile[1] = 1;
assign outputFile[0] = 1;
end
else if (inputFile == 3'b010) begin
assign outputFile[6] = 0;
assign outputFile[5] = 0;
assign outputFile[4] = 1;
assign outputFile[3] = 0;
assign outputFile[2] = 0;
assign outputFile[1] = 1;
assign outputFile[0] = 0;
end
endmodule
assign outputFile[n]是根据我在网上找到的七段显示是如何工作的硬编码的。
我的问题是 我无法比较输入文件是否等于 0 或 1 或 2
错误信息是:
inputFile 不是常量
我也尝试过用表单编码
inputFile == 0
inputFile == 1
inputFile == 2
这并没有解决我的问题。我该如何解决这个问题?
【问题讨论】:
标签: verilog system-verilog fpga