UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 67906

Vivado 制約: 転送クロックの生成クロックで正しいマスター クロックが基準にされない

説明

MMCM で生成された 2 つのクロック (clk400 と clk480) があり、BUFGMUX に入力されています。

マルチプレクサーで clk480 が伝搬されるよう set_case_analysis を適用しました。

BUFGMUX 出力では出力データがクロックに同期して出力されるのに加え、出力クロックを転送するよう ODDR が駆動されます。

set_output_delay 解析では clk480 が使用されるはずですが使用されません。ツールでは常に clk400 を基準クロックにされています。

制約例:

set_case_analysis 0 [get_pins BUFGMUX_clk/S]
create_generated_clock -name lvds_clk -source [get_pins U_lvds_out_x8/inst/clk_fwd/CLK] -multiply_by 1 [get_ports clkout_p]

ソリューション

次のコマンドを使用すると、clk480 が返されます。

get_clocks -of [get_pins U_lvds_out_x8/inst/clk_fwd/CLK] 

しかし、report_clocks を実行すると、lvds_clk のMater Clock が clk480 ではなく clk400 となっています。

Generated Clock : lvds_clk
Master Source : U_lvds_out_x8/inst/clk_fwd/CLK
Master Clock : clk400
Multiply By : 1
Generated Sources : {clkout_p}

転送クロックに使用されたマスター クロックは clk400 であり、ODDR に伝搬されたクロックではありません。

回避策: 生成したクロック制約内で master_clock を指定します。

create_generated_clock -name lvds_clk -add -master_clock clk480 -source [get_pins U_lvds_out_x8/inst/clk_fwd/CLK] -multiply_by 1 [get_ports clkout_p]

この問題は、2017.1 以降の Vivado で修正されています。

AR# 67906
日付 08/08/2017
ステータス アクティブ
種類 既知の問題
ツール 詳細 概略
このページをブックマークに追加