Verilog インスタンシエーション テンプレートをコピーし、プロジェクトの適切な Verilog ソース ファイルに貼り付け、信号を変更して、カスタマイズした IP をデザインにインスタンシエートします。
- [Sources] ウィンドウの [IP Sources] タブで、Instantiation Template を展開し、char_fifo.veo ファイルをダブルクリックして、 Vivado® テキスト エディターでテンプレートを開きます。
- テンプレート ファイルの 57 行目までスクロールダウンし、次の図のように、モジュール インスタンシエーションのコードを選択してコピーします。
次に、インスタンシエーション テンプレートを適切な RTL ソース ファイルに貼り付けます。このケースでは、デザインの最上位にある wave_gen.v ソース ファイルにモジュールを貼り付けます。
-
wave_gen.v をダブルクリックして、[Sources] ウィンドウの [Hierarchy] タブでこのファイルを開きます。次の図は、このファイルを示しています。
- 337 行目に移動します。この行には、Character FIFO がここにインスタンシエートされるべきであることを示すコメントが書かれています。
- テンプレートのコードを次の図のようにファイルに貼り付けます。
これはテンプレートでしかないので、デザインでこのモジュールが機能するように、貼り付けたコードを編集する必要があります。
- インスタンシエーションを貼り付けた 338 行目 (あたり) で、モジュール名を
your_instance_name
からchar_fifo_i0
に変更します。 - モジュールのポートをデザインに接続するため、次のようにワイヤ名を変更します。
char_fifo char_fifo_i0 ( .rst(rst_i), // input wire rst .wr_clk(clk_rx), // input wire wr_clk .rd_clk(clk_tx), // input wire rd_clk .din(char_fifo_din), // input wire [7 : 0] din .wr_en(char_fifo_wr_en), // input wire wr_en .rd_en(char_fifo_rd_en), // input wire rd_en .dout(char_fifo_dout), // output wire [7 : 0] dout .full(char_fifo_full), // output wire full .empty(char_fifo_empty), // output wire empty .wr_rst_busy(wr_rst_busy), // output wire wr_rst_busy .rd_rst_busy(rd_rst_busy) // output wire rd_rst_busy );
- インスタンシエーションを貼り付けた 338 行目 (あたり) で、モジュール名を
- テキスト エディターのメニューで Save
File ボタン () をクリックし、wave_gen.v ファイルへの変更を保存します。
次の図のように、IP がデザインにインスタンシエートされたことを反映させるため、[Hierarchy]、[Libraries]、[Complie Order] タブがアップデートされます。