我想寫一個簡單的模塊來輸出一個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