-2
我沒那麼多在verilog 我試圖調用模塊裏面,如果語句 我找不到答案在谷歌或我可能不明白我應該怎麼做我的代碼模塊裏面,如果在verilog
我的代碼是一個全加器除了 我需要的IF,因爲我想添加其他的東西
這是我的代碼:
module top (a,b,cin,Cout,Ctemp,sum,clk,X);
input [3:0] a,b;
input X;
input cin,clk;
output reg[3:0] sum;
output reg[2:0] Ctemp;
output reg Cout;
[email protected](posedge clk)
begin
generate
if (X==1)
add bit0(a[0], b[0], cin, sum[0], Ctemp[0]); //here i need to call add module
add bit1(a[1], b[1], Ctemp[0], sum[1], Ctemp[1]);
add bit2(a[2], b[2], Ctemp[1], sum[2], Ctemp[2]);
add bit3(a[3], b[3], Ctemp[2], sum[3], Cout);
end
endgenerate
endmodule
module add(a, b, cin, sum, cout);
input a;
input b;
input cin;
output sum;
output cout;
assign sum = (~a*~b*cin)+(~a*b*~cin)+(a*~b*~cin)+(a*b*cin);
assign cout = (a*b)+(a*cin)+(b*cin);
endmodule
您不能在'always'塊中使用'generate'塊。你不「調用」模塊,你「實例化」它們,並且你不能在always塊中實例化一個模型。 – Greg
所以我的工作大部分都是錯誤的:/ ..謝謝你@Greg –