[Verilog]下位moduleのparameterを上位から指定

http://ameblo.jp/middleisland88/entry-11424595927.html

例1: add #(4,4,4) u1(.clk(clk),.a(a),.b(b),.c(c));


例2: add #(.width_c(4),.width_a(4),.width_b(4) )
add_u(.clk(clk),.a(a),.b(b),.c(c));


例3) ポート宣言でパラメータを用いる場合にも#を使用出来る
//****************************************************
module add #(parameter width_a = 8 ,parameter width_b = 8, parameter width_c = 8)
(
input clk,
input [width_a-1:0] a,
input [width_b-1:0] b,
output reg [width_c:0] c
);


例4)defparamとインスタンス名を使用して
下位モジュールのパラメータを宣言も可能
//****************************************************
module add_4
(
input clk,
input [3:0] a,
input [3:0] b,
output [4:0] c
);
defparam u1.width_a = 4;
defparam u1.width_b = 4 ,u1.width_c = 4;

add u1(.clk(clk),.a(a),.b(b),.c(c));

スポンサーサイト

コメントの投稿

非公開コメント

カレンダー
12 | 2017/01 | 02
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード