AR# 54842

2013.x Vivado 制約 - 「CRITICAL WARNING: [Designutils 20-1307] Command 'lappend', 'lindex', 'lsort', 'set_param', or 'concat' is not supported in the xdc constraint file ...」というクリティカル警告メッセージが表示される

説明

lappend、lindex、lsort、concat を含む XDC ファイルを 2013.1 で実行すると次のようなクリティカル警告メッセージが表示されることがあります。

CRITICAL WARNING: [Designutils 20-1307] Command 'concat' is not supported in the xdc constraint file. [constraints.xdc:310]
CRITICAL WARNING: [Designutils 20-1307] Command 'lappend' is not supported in the xdc constraint file. [constraints.xdc:311]
CRITICAL WARNING: [Designutils 20-1307] Command 'lindex' is not supported in the xdc constraint file. [constraints.xdc:312]
CRITICAL WARNING: [Designutils 20-1307] Command 'lsort' is not supported in the xdc constraint file. [constraints.xdc:313]
CRITICAL WARNING: [Designutils 20-1307] Command 'set_param' is not supported in the xdc constraint file. [constraints.xdc:314]

以前これらのコマンドは問題なく実行できました。何が変わったのですか。

ソリューション

lappend および concat を XDC 制約で使用すると問題が発生し、期待どおりにコマンドが適用されずデザインにタイミングの問題が発生するケースがあります。これらのコマンドは Tcl コマンドとして今もサポートされていますが、2013.1 の XDC ではサポートされていません。

問題の回避策は次のとおりです。

1) 元の XDC ファイルには次の内容が含まれています。

    set DRAM5NS {}
    set DRAM5NS_PER [get_property PERIOD [get_clocks -of_objects [get_pins rx_clocking/mig_ddr3_clk_gen.3.mig_ddr3_clocking/u_infrastructure/mmcm_i/CLKFBOUT\]]]
    lappend DRAM5NS [get_clocks -of_objects [get_pins rx_clocking/mig_ddr3_clk_gen.3.mig_ddr3_clocking/u_infrastructure/mmcm_i/CLKFBOUT\]]
    lappend DRAM5NS [get_clocks -of_objects [get_pins rx_clocking/mig_ddr3_clk_gen.3.mig_ddr3_clocking/u_infrastructure/mmcm_i/CLKFBOUT\]]
    lappend DRAM5NS [get_clocks -of_objects [get_pins rx_clocking/mig_ddr3_clk_gen.3.mig_ddr3_clocking/u_infrastructure/mmcm_i/CLKFBOUT\]]
    lappend DRAM5NS [get_clocks -of_objects [get_pins rx_clocking/mig_ddr3_clk_gen.3.mig_ddr3_clocking/u_infrastructure/mmcm_i/CLKFBOUT\]]

   2013.1 では次のようにリストを一度に作成することができます。

   set DRAM5NS [list \
    [get_clocks -of_objects [get_pins rx_clocking/mig_ddr3_clk_gen.0.mig_ddr3_clocking/u_infrastructure/mmcm_i/CLKFBOUT\]] \
    [get_clocks -of_objects [get_pins rx_clocking/mig_ddr3_clk_gen.1.mig_ddr3_clocking/u_infrastructure/mmcm_i/CLKFBOUT\]] \
    [get_clocks -of_objects [get_pins rx_clocking/mig_ddr3_clk_gen.2.mig_ddr3_clocking/u_infrastructure/mmcm_i/CLKFBOUT\]] \
    [get_clocks -of_objects [get_pins rx_clocking/mig_ddr3_clk_gen.3.mig_ddr3_clocking/u_infrastructure/mmcm_i/CLKFBOUT\]] \
    ]

2) リストに有効なオブジェクトが含まれていて通常の文字列が含まれていない場合は、次の方法もあります。     

   set my_var "a b c"
   set my_var "$my_var d e f"

このアンサーの最後に、この Vivado ツールの XDC ファイルで利用できるコマンドのリストが添付されています。

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
valid_commands_for_xdc.txt 1 KB TXT
AR# 54842
日付 09/03/2013
ステータス アクティブ
種類 既知の問題
ツール