AR# 64118

HDL ソース コードを変更せずにジェネリックまたはパラメーターを上書きする方法

説明

コード内でジェネリックまたはパラメーターを宣言してから、HDL ソース コードを変更せずにシミュレータから値を渡すことができます。

このアンサーでは、シンプルな例を使用して方法を示します。

ソリューション

最上位ポート Q をの幅をジェネリック N で設定するとします。

entity Counter is
  generic (N : positive := 8);
  port ( Reset, Clock, UpDn : std_logic;
         Q                  : std_logic_vector(N-1 downto 0));
end entity Counter;

RTL を変更しなくても Vivado シミュレータでコードをコンパイルする際に、ジェネリック N またはパラメーターを渡したり上書きしたりできます。

GUI モード :

1. [Project Settings] → [Simulation] 設定をクリックします。

2. [Compilation] タブで [Generic/Parameters options] の横の参照ボタンをクリックします。

generic_1.png
generic_1.png


3. + ボタンをクリックし、シミュレータから渡すジェネリックの値を追加します。たとえば、バス幅を 12 に設定する場合は N=12 にします。

generic_2.png

4. オプションを閉じてシミュレーションを実行します。

コマンド ライン モード :

ジェネリック/パラメーター値はxelab コマンドにオプションを付けると渡すことができます。

  --generic_top arg                    最上位デザイン ユニットのジェネリックまたはパラメーターを指定した値で上書き

例 : xelab -generic_top "N=12" work.Counter

AR# 64118
日付 04/02/2015
ステータス アクティブ
種類 一般
ツール