AR# 12062

|

回路図 - 回路図で generic map 属性を VHDL マクロに渡す方法

説明

キーワード : ECS, generic, map, attribute, pass, ISE, ジェネリック, マップ, 属性, 渡す

VHDL マクロを generic 文を使用して作成すると、異なる定数値を設定した複数のマクロを配置できます。ECS で generic map 属性を使用する方法を教えてください。

ソリューション

Schematic Editor で generic map 属性を使用するには、その generic 属性を次の 3 個所に配置する必要があります。

- VHDL マクロ コンポーネントのエンティティ宣言部分
- コンポーネント宣言部分 (マクロ シンボル内)
- コンポーネント インスタンシエーション部分 (マクロ シンボルのインスタンス上)

エンティティ宣言に generic 属性を配置するには、属性名、種類、デフォルト値を入力します。

例 :
entity my_HDL_Macro is
generic (gen_const : std_logic_vector(3 downto 0):="0000");
port(
.
.
.

コンポーネント宣言部分 (マクロ シンボル内) に generic 属性を配置するには :

1. シンボルを右クリックし、[Symbol] -> [Edit Symbols] をクリックして、シンボルを編集します。
2. [Edit] -> [Object Properties] をクリックし、[New] ボタンをクリックします。
3. [Attribute Name] にジェネリック属性名を入力します (上記の例の場合は gen_const)。
4. [Attribute Value] は空白のままにします。
5. [Attribute Value Type] で、該当する属性値タイプを選択します。適切なタイプがリストに含まれていない場合は、[User] をクリックします (上記の例では、bit_vector を使用)。
6. [OK] をクリックして、[New Attribute] ウィンドウを閉じます。
7. 新しく作成した属性を選択し、[Edit Traits] ボタンをクリックします。
8. [Attribute Value Type] に [User] を選択した場合は、[User Type Name] に該当するタイプを入力します (上記の例の場合は STD_LOGIC_VECTOR)。
9. カテゴリ ボックスで [Vhdl] をクリックし、[Write this attribute] をオンにし、[1. In a generic map statement] をオンにします。
10. [OK] をクリックします。
11. このシンボルを保存し、終了します。


コンポーネント インスタンシエーション部分 (マクロ シンボルのインスタンス上) に generic 属性を配置するには :

1. 回路図ファイルでインスタンスを右クリックし、[Object Properties] をクリックして、[New] ボタンをクリックします。
2. [Attribute Name] にジェネリック属性名を入力します (上記の例の場合は gen_const)。
3. [Attribute Value] に「0101」 (または渡す値) を入力します。
4. [Attribute Value Type] で該当する属性値タイプを選択します。適切なタイプがリストに含まれていない場合は、[String] を選択します。[String] を選択すると、入力した値が二重引用符で囲まれます。
5. [OK] をクリックして、[New Attribute] ウィンドウを閉じます。
6. 新しく作成した属性を選択し、[Edit Traits] ボタンをクリックします。
7. カテゴリ ボックスで [Vhdl] をクリックし、[Write this attribute] をオンにし、[1. In a generic map statement] をオンにします。
8. [OK] をクリックし、回路図を保存します。

メモ : この回路図入力ツールでは、ポート幅を定義するジェネリック値がサブモジュールに渡されません。このツールではインスタンシエートされたモジュールのポート幅を決定するデフォルトのジェネリックのみが使用されます。
AR# 12062
日付 12/23/2008
ステータス アクティブ
種類 一般
People Also Viewed