-2
私はそれほど多くのVerilogではありません ifステートメント内のモジュールを呼び出そうとしています 私はGoogleで答えを見つけることができません。 MY CODEモジュールが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 –