次の例では、set_output_delay
コマンドのオプションの典型的な使用方法を示します。出力遅延制約の設計手法に関する追加情報は、
『ザイリンクス FPGA および SoC 用 UltraFast 設計手法ガイド』 (UG949) のこのセクションを参照してください。
出力遅延の例 1
次の例では、定義済みの sysClk に対して、最小遅延解析および最大遅延解析の両方の解析に使用する出力遅延を定義しています。
> create_clock -name sysClk -period 10 [get_ports CLK0]
> set_output_delay -clock sysClk 6 [get_ports DOUT]
出力遅延の例 2
次の例では、定義済みの仮想クロックに対して出力遅延を定義します。
> create_clock -name clk_port_virt -period 10
> set_output_delay -clock clk_port_virt 6 [get_ports DOUT]
出力遅延の例 3
次の例では、DDR クロックに対して、出力遅延を最小遅延 (ホールド) および最大遅延 (セットアップ) 解析で異なる値に指定します。
> create_clock -name clk_ddr -period 6 [get_ports DDR_CLK_IN]
> set_output_delay -clock clk_ddr -max 2.1 [get_ports DDR_OUT]
> set_output_delay -clock clk_ddr -max 1.9 [get_ports DDR_OUT] -clock_fall -add_delay
> set_output_delay -clock clk_ddr -min 0.9 [get_ports DDR_OUT]
> set_output_delay -clock clk_ddr -min 1.1 [get_ports DDR_OUT] -clock_fall -add_delay
この例では、デバイス外部からの clk_ddr
クロックの立ち上がりおよび立ち下がりエッジの両方でデータが送信されてから、立ち上がりおよび立ち下がりの両方のクロック エッジの両方で動作する内部フリップフロップのデータ出力までの制約が作成されます。
図 1. 出力遅延の例 3
出力遅延の例 4
この例では、ファブリックから STARTUPE3 までのパスのタイミングを解析するため、STARTUPE3 の内部ピン (UltraScale+ デバイス) にクロックと出力遅延を指定しています。
> create_generated_clock -name clk_sck -source [get_pins -hierarchical
*axi_quad_spi_0/ext_spi_clk] [get_pins STARTUP/CCLK] -edges {3 5 7}
> set_output_delay -clock clk_sck -max 6 [get_pins STARTUP/DATA_OUT[*]]
> set_output_delay -clock clk_sck -min 1 [get_pins STARTUP/DATA_OUT[*]]
STARTUPE3 のタイミング制約の詳細は、
『AXI Quad SPI LogiCORE IP 製品ガイド』 (PG153) を参照してください。