« VivadoとISEの違い | トップページ | Vivadoで3ステートバッファ!? »

2016.09.08

Number of Nodes with overlapsについて

ADCから受け取った信号をAXIで読み出せるような回路を書いていたら、VivadoのRoutingが急に遅くなった。ログを見ると

Number of Nodes with overlaps = ??

というメッセージが出ている。

調べてみると、フォーラムにそれらしき記事がある。

https://forums.xilinx.com/t5/General-Technical-Discussion/What-is-quot-Number-of-Nodes-with-overlaps-quot-parameter-in/m-p/526817#M20549

よくわからないけど、複数のクロックが使われている信号があると遅くなるようだ。

Cosmo-ZではADCのクロックや、AXI GPのクロック、AXI HPのクロックと3つのクロックが使われている。

これらのクロック間でのタイミング解析をしないようにするには、XDCファイルにフォルスパスというのを設定すればいいようだ。

基本的な書き方は、

set_false_path -from [get_clocks クロック1] -to [get_clocks クロック2]
set_false_path -from [get_clocks クロック2] -to [get_clocks クロック1]

でいいのだけど、そのクロックがMMCMの出力であるような場合は、名前を探すのが大変になる。

set_false_path -from [get_clocks [get_clocks -of_objects [get_pins cosmoz_top_i/adcblock_0/U0/inst_adcclkgen/inst_clkmult/inst/mmcm_adv_inst/CLKOUT0]]] -to [get_clocks clk_fpga_1]
set_false_path -from [get_clocks clk_fpga_1] -to [get_clocks [get_clocks -of_objects [get_pins cosmoz_top_i/adcblock_0/U0/inst_adcclkgen/inst_clkmult/inst/mmcm_adv_inst/CLKOUT0]]]
set_false_path -from [get_clocks [get_clocks -of_objects [get_pins cosmoz_top_i/adcblock_0/U0/inst_adcclkgen/inst_clkmult/inst/mmcm_adv_inst/CLKOUT0]]] -to [get_clocks clk_fpga_0]
set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks [get_clocks -of_objects [get_pins cosmoz_top_i/adcblock_0/U0/inst_adcclkgen/inst_clkmult/inst/mmcm_adv_inst/CLKOUT0]]]
set_false_path -from [get_clocks clk_fpga_0] -to [get_clocks clk_fpga_1]
set_false_path -from [get_clocks clk_fpga_1] -to [get_clocks clk_fpga_0]

|

« VivadoとISEの違い | トップページ | Vivadoで3ステートバッファ!? »

コメント

コメントを書く



(ウェブ上には掲載しません)




« VivadoとISEの違い | トップページ | Vivadoで3ステートバッファ!? »