AR# 9030

EXEMPLAR: HDL コードまたはコマンド ラインで Xilinx 特有の属性を使用する方法

説明

キーワード: attribute, leonardo, spectrum, tcl, script,, 属性, スクリプト

重要度 : 標準

概要:
LeonardoSpectrum は属性および最適化の変数の両方をサポートしています。属性は VHDL または Verilog コードで設定できます。また LeonardoSpectrum コマンド ライン で set_attribute を指定して設定できます。

属性は、インスタンス、ネット、ポートなどプロパティを持ったネットリスト オブジェクトを追加します。
一部の属性の設定にはショートカット コマンドを使用できます。たとえば arrival_time コマンドは、実際には「set_attribute -name arrival time」を設定します。

詳細については、LeonardoSpectrum の『Technology Guide』 (英語版) を参照してください。これは Leonardo のインストール ディレクトリに PDF 形式のファイルとして納められています。このファイルを表示するには、[Help] → [view user manuals] → [Technology Guide] をクリックします。

すべての変数は、コマンド ラインで「help -var」と入力するか、または [Tools] メニューから [Variable Editor] をクリックしエディタを開いて表示できます。属性の一覧は、ユーザー マニュアルを参照してください。

ソリューション

Xilinx 特有の属性は次のとおりです。

BUFGDLL セルをクロック ポートに割り当てる場合
> [PAD clk BUFGDLL]
または
> set_attribute clk -name PAD -value BUFGDLL -port

単一のレジスタを IOB に割り当てる場合
> set_attribute reg_state(4) -instance -name IOB -value TRUE

最大ファンアウトをネットに設定する場合
> set_attribute -net sensor2_int -name max_fanout -value 3

インスタンスのブロック RAM 推測を制御する場合
> set_attribute -instance .work.u2 -name block_ram -value FALSE

クロック バッファを内部ネットに取り入れる場合
> set_attribute -net sensor2_int -name max_fanout -value 3

次はデフォルト値を使用した Xilinx 特有の最適化変数の一部です。変数を変更するには、set コマンドを使用し、「set lut_max_fanout 6」のように指定します。これらの変数は最適化中、デザイン全体に反映されます。

virtex_infer_gsr = FALSE -- Xilinx Virtex ファミリの GSR プロセスを使用できるように指定します。
virtex_map_iob_registers = FALSE -- Virtex に IOB レジスタをマップします。
virtex_map_srl = TRUE -- SRL セルにマップします。
virtex_map_srl_pack = TRUE -- SRL セルを単一のスライスにパックします。
virtex_map_wide_clusters = TRUE -- ワイドを Virtex にマップします。
map_muxcy = TRUE -- MUXCY をXilinx Virtex および Virtex-E にマップします。
lut_max_fanout = 15 -- ネットのファンアウトを LUT テクノロジに (Xilinx) 指定します。
write_clb_packing = FALSE -- CLB パック (HBLKNM) 情報を XNF/EDIF にコピーします。
virtex_map_iob_registers = FALSE -- Virtex に IOB レジスタをマップします。
bubble_tristates = FALSE -- 最適化中、トライステートをすべてのデバイスが表示される階層レベルに自動反転するか、またはバウンダリ ステートの場合は最上位レベルに自動反転します。
AR# 9030
日付 04/24/2007
ステータス アーカイブ
種類 一般