2016-09-11 11 views
0

私はすでにここで検索していくつかの洞察を見出しましたが、この種のループを使用する概念のいくつかが私を逃してしまいます。ここでは半加算器と全加算器のための私のモジュールです:ブロック/ループを生成してリップルキャリー加算器を作成する

module HalfAdder(A, B, Cout, S); 
    input A, B; 
    output Cout, S; 

    assign Cout = A & B; 
    assign S = A^B; 

endmodule 


module FullAdder(FA_A, FA_B, Cin, FA_S, Cout); 
    input FA_A, FA_B, Cin; 
    output FA_S, Cout; 

    wire ha0_S, ha0_C, ha1_C; 

    HalfAdder ha0(.A( FA_A ), 
        .B( FA_B ), 
        .Cout(ha0_C), 
        .S(ha0_S) 
        ); 

    HalfAdder ha1(.A( Cin ), 
        .B( ha0_S), 
        .Cout(ha1_C), 
        .S(FA_S ) 
        ); 

    assign Cout = ha0_C | ha1_C; 

endmodule 

そして、ここでは私のRCAコードは次のとおりです。

module RCA8(A_8, B_8, Cin, Cout, S_8); 
input [7:0] A_8, B_8; 
input Cin; 
output Cout; 
output [7:0] S_8; 

wire [8:0] c; 

assign c[0] = Cin; 

genvar i; 
generate 
    for (i = 0; i < 8; i=i+1) 
    begin : make_fadders 
     FullAdder fa( .FA_A(A_8[i]), 
          .FA_B(B_8[i]), 
          .Cin( c[i] ), 
          .FA_S(S_8[i]), 
          .Cout(c[i+1]) 
          ); 
    end 
endgenerate 

assign Cout = c[8]; 

endmodule 

私はシミュレータ(ISIM)を実行するために取得しようとしています。チェック構文を実行すると機能しますが、プログラミングファイルを生成しようとすると失敗し、マッピングを実行すると警告が返されます。 iSimは、エラー861:設計をリンクできませんでした。マッピングはそれと関係がありませんか?

私が実際に理解していないことの1つは、実装および/またはシミュレーションビューでは、RCAのドロップダウンツリーに1つのfullAdderモジュールしか表示されないということです。それは8を示すべきか?それともこれはどういう仕組みですか?

この便利なツールを使用する方法を習得するのではなく、代わりに8つのフェーダーを手作業で作っているので(割り当てが示すように...)、この作業をしたいと思っています。

その他の詳細:Windows 10、32ビットのProject Navigatorザイリンクス14.7

任意の助け

感謝を使って!

答えて

0

このリンクをクリックしてください。 collect2.exeという名前のファイルの名前を変更すると、問題が解決する場合があります。

Xilinx Installation and troubleshooting

+0

ありがとうございました!私はまだ生成ブロックがどのように動作するかについていくつかの答えが必要ですが、私の実装に潜在的な問題はありますか? – rub3z

+0

あなたのコードに基づいて、私は8つのmake_fadderのインスタンスを見ると思います。各make_fadderインスタンスには1つのFullAdderがあります。それはあなたが見ているものではありませんか? –

+0

@ rub3z KamilRymarzの答えを見てください。 –

0

あなたのコードが正しいです。推敲シミュレーションツリーた後、次のようになります。

RCA8 
    make_fadder[0] 
    fa 
    make_fadder[1] 
    fa 
    . 
    . 
    . 
    make_fadder[7] 
    fa  

私は、VivadoシミュレータとAldec社リビエラ-PROでそれをチェックしました。

関連する問題