私の入力(64ビットのコンプレックス)がIEEE-754フォーマット(倍精度)の2ポイントFFT用の小さなコードをコーディングしました。私のコード(蝶モジュール、加算/減算器モジュール、テストベンチ):"ポートのポートまたはポートが不正です
PS:私
私は、エラーの次のリストに直面していたテストベンチをシミュレートしようとすると、初心者なので、m書くスタイルが悪いかもしれません。この問題を解決するのを手伝ってください。
私の入力(64ビットのコンプレックス)がIEEE-754フォーマット(倍精度)の2ポイントFFT用の小さなコードをコーディングしました。私のコード(蝶モジュール、加算/減算器モジュール、テストベンチ):"ポートのポートまたはポートが不正です
PS:私
私は、エラーの次のリストに直面していたテストベンチをシミュレートしようとすると、初心者なので、m書くスタイルが悪いかもしれません。この問題を解決するのを手伝ってください。
thisを参照すると、OPのコメントに記載されています。あなたのコードは、すべてのSystemVerilogシミュレータで正常に動作します。モジュールの出力は、からwire
に接続する必要があります。内部モジュールは、reg
又はwire
であることができるから
出力ポート次の図を参照してください。しかし、そのモジュールがのインスタンス化の場合、はまたはwire
に接続する必要があります。
セクション23.3.3、IEEE 1800-2012を参照:各ポート接続一つ接続アイテムは、信号源としなければならない シンクに連続割当のソースでなければならない
他の はシグナルシンクになります。割り当ては、入力ポートまたは出力ポートのソースからシンクへの連続的な割り当てでなければならない( )。
ポートは他のポートに、インスタンスでに接続されている場合、それは、定数割り当てであり、従ってそれは常にネットことがターゲットポートを必要とします。
ので、このコードでは、出力モジュールadd_sub
にワイヤーを接続し、reg
outr1
に、ワイヤの値を割り当て、outr2
など
// Draw wires to be connected as output
wire [63:0] t1,t2,ti1,ti2;
// Drive all regs from values of wires
always @*
begin
outr1 = t1;
outr2 = t2;
outi1 = ti1;
outi2 = ti2;
end
// Change : Wires connection
add_sub adder1(en,clk,inr1[63],inr2[63],inr1[62:52],inr2[62:52],inr1[51:0],inr2[51:0],1'b0,t1[63],t1[62:52],t1[51:0]);
//...
私はEDAPlayground hereで、すべてのシミュレーターを使用してコードをシミュレートしていますそれはうまく動作します。 thisとthisと同様の質問を参照してください。
これは問題なく動作します。ありがとう@ sharvil111 – Harsha
エラーを再現する最小のコードを作成し、質問に貼り付けます。 – toolic
http://pastebin.com/Y55fKX81 @toolic – Harsha