我想写一个简单的模块来输出一个14位数的基础上,四个输入信号的值。我的尝试如下所示。“<signal>是不是一个常数”错误在if语句
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
在编译时,我收到以下错误:
ERROR:HDLCompiler:44 - Line 67: c is not a constant
我不明白为什么那个特定的if语句不若其他两个工作之前它是。我试图改变的条件
if (c == 1) begin
但无济于事。
有谁知道如何解决这个错误?谢谢!
编译器认为这些是条件生成项目,而不是条件语句。 – 2012-08-07 03:04:15