仮想クロックは、デザインのどのネットリスト エレメントにも物理的に接続されていないクロックです。
仮想クロックを定義するには、create_clock
コマンドをソースを指定せずに使用します。
一般的に、仮想クロックは次のような場合に、入力遅延および出力遅延を指定するのに使用されます。
- 外部デバイス I/O の基準クロックがデザイン クロックのいずれでもない。
- FPGA I/O パスが内部で生成されたクロックに関連付けられており、そのクロックが派生したボード クロックを基準にして適切にタイミング解析できない。注記: この状況は 2 つの周期の比が整数ではない場合に発生し、タイミング パス要件が非常に厳しくなったり、非現実的なものになったりすることがあります。
- 内部クロックの特性を変更せずに、I/O 遅延制約に関連するクロックに異なるジッターおよびレイテンシを指定する場合。
たとえば、周期が 10 ns のクロック clk_virt
があり、どのネットリスト オブジェクトにも接続されていないとします。この場合、[<objects>]
引数は指定されず、-name
オプションが必須となります。
create_clock -name clk_virt -period 10
仮想クロックは、入力および出力遅延制約で使用する前に定義する必要があります。