我正在尝试编写一个简单的模块来根据四个输入信号的值输出一个 14 位数。我的尝试如下所示。
module select_size(
input a,
input b,
input c,
input d,
output [13:0] size
);
if (a) begin
assign size = 14'h2222;
end
else begin
if (b) begin
assign size = 14'h1111;
end
else begin
if (c) begin
assign size = 14'h0777;
end
else begin
assign size = 14'h0333;
end
end
end
endmodule
编译后,我收到以下错误:
错误:HDLCompiler:44 - 第 67 行:c 不是常量
我不明白为什么如果前面的其他两个 if 语句不起作用,那么它为什么不起作用。我尝试将条件更改为
if (c == 1) begin
但无济于事。
有谁知道如何解决这个错误?谢谢!