インテル® Quartus® Primeプロ・エディションのユーザーガイド: タイミング・アナライザー

ID 683243
日付 1/31/2023
Public
ドキュメント目次

2.6.5.2. 仮想クロックの作成

仮想クロックは、デザイン内に実際のソースがないクロック、またはデザインと直接通信しないクロックです。I/O 制約で仮想クロックを使用し、FPGA に接続される外部デバイスを駆動するクロックを表すことができます。

仮想クロックを作成するには、create_clock 制約を使用します。<targets> オプションには値を指定しません。

次の例は、コマンドに <targets> が含まれていないため、100MHz の仮想クロックを定義するものです。

create_clock -period 10 -name my_virt_clk

仮想クロックを使用した I/O の制約

ベースクロックを使用して FPGA 内の回路を制約し、仮想クロックを使用して外部デバイスを駆動するクロックを表すことができます。

図 97. 仮想クロックのボードトポロジー次の図では、仮想クロック制約の例として、ベースクロック (system_clk)、仮想クロック (virt_clk)、および出力遅延を示しています。

次の例で作成される 10ns の virt_clk 仮想クロックには、50% のデューティー・サイクルがあり、最初の立ち上がりエッジは 0ns で発生します。この仮想クロックは、出力遅延制約のクロックソースにすることができます。

仮想クロックの制約

#create base clock for the design
create_clock -period 5 [get_ports system_clk]
#create the virtual clock for the external register
create_clock -period 10 -name virt_clk
#set the output delay referencing the virtual clock
set_output_delay -clock virt_clk -max 1.5 [get_ports dataout]
set_output_delay -clock virt_clk -min 0.0 [get_ports dataout]