2017-11-27 29 views
0

あるモジュールの出力(B)を別のモジュール(C)の入力にするモジュールを作る方法はあまりよくわかりません。システムのVerilogで他のモジュールの入力にモジュールの出力をリンクするには

+0

close-voters:彼が何を求めているのか不明ですか?あなたがそれを良い質問とみなしているかどうかに関わらず、彼は何を求めているのかははっきりしています。 –

+0

OPはすでにモジュールに入出力があることをすでに理解しているようです。しかし、モジュールがどのようにインスタンス化され、どのように接続されるのか理解していないと、SystemVerilogでは非常に広い話題になります。 –

+0

[Verilogで別のモジュールの入力として使用されるモジュールの出力](https://stackoverflow.com/questions/19327819/output-of-a-module-used-as-input-of-another-in-verilog ?rq = 1)? – Qiu

答えて

1

1)あなたはトップレベル1の内側に、それらのモジュールをインスタンス化し、インスタンスの階層を作成する必要があります)

module A(input clk, input sig, output out); 
      .. do somethign here 
endmodule 

module B(input clk, output val); 
     ... do something to generate val. 
endmodule 
入力ポートと出力ポートを使用してモジュールを宣言する必要があります。後者は、これら二つを接続するために使用されるべきワイヤを宣言する:

module top(output topout); 
    wire clk; 
    wire sig; 
    wire out; 

    A a(clk, sig, topout); 
    B b(clk, sig); 
endmodule 

したがって、上記の例の出力ポートにモジュールBのインスタンスbvalワイヤ最上位モジュールのsigに割り当てられます。同じワイヤsigは、モジュールAのインスタンスaの入力ポートsigに接続されています。

また、aの出力ポートoutは、最上位モジュールの出力ポートtopoutにも接続されています。

clkのワイヤは、2つの入力ポート(インスタンスaおよびインスタンスb)に接続されています。

これは基本的な考えです。

関連する問題