このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。
インテルのみ表示可能 — GUID: mwh1410383715310
Ixiasoft
インテルのみ表示可能 — GUID: mwh1410383715310
Ixiasoft
2.2.5.3. 生成されたクロックの作成(create_generated_clock)
生成されたクロックは、PLLの出力、レジスタークロック分周器、クロック・マルチプレクサー、およびソース出力やメモリー・インターフェイスなどのFPGA出力ポートから他のデバイスに転送されるクロックに最も一般的に適用します。.sdcファイルで、ベースクロック定義の後に生成されたクロックを入力します。生成されたクロックは、生成されたクロックターゲットに対するすべてのクロック遅延とクロック・レイテンシーを自動的に考慮します。
-sourceオプションは、生成されたクロックの参照として使用するクロックパス内のノードの名前を指定します。生成されたクロックのソースは、以前に定義したクロックの名前ではなく、デザイン・ネットリストのノードである必要があります。生成されたクロックのターゲットの入力クロックピンと、その基準クロックのターゲットノードとの間のクロックパスで、ソースノードとして任意のノード名を使用できます。
ターゲットノードの入力クロックピンを、新しく生成されたクロックのソースとして指定します。生成されたクロックのソースは、クロックソースの名前と階層から切り離されます。クロックソースを変更する場合、生成されたクロック制約を編集する必要はありません。
生成されたクロックのソースであるノードに供給する複数のベースクロックがある場合、複数の生成されたクロックを定義する必要があります。生成された各クロック・ステートメントで-master_clockオプションを使用して、生成された各クロックを1つのベースクロックに関連付けます。場合によっては、生成されたクロックは組み合わせロジックで生成されます。
クロック変更ロジックの合成方法に応じて、信号名はコンパイルごとに変わる可能性があります。生成されたクロック制約を書き込んだ後に名前が変更された場合、Compilerは生成されたクロックを無視します。これは、そのターゲット名がデザインに存在しないためです。この問題を回避するには、合成属性または合成割り当てを使用して、クロック変更ロジックの最終的な組み合わせノード名を保持します。次に、生成されたクロック制約で保持されている名前を使用します。

最終的にレジスターのデータ入力を供給するノードで生成されたクロックを作成すると、「clock-as-data」という特殊なケースが作成されます。TimingAnalyzerはclock-as-dataを異なる方法で処理します。たとえば、DDRでclock-as-dataを使用する場合、このクロックの立ち上がりと立ち下がりの両方を考慮する必要があり、Timing Analyzerは立ち上がりと立ち下がりの両方を報告します。clock-as-dataを使用すると、CompilerはFrom Nodeを生成されたクロックのターゲットとして扱い、Launch Clockを生成されたクロックとして扱います。
図 57では 、最初のパスはtoggle_clk(INVERTED)からclkであり、2番目のパスはtoggle_clkからclkです。両方の場合のスラックは、パスに沿った立ち上がり時間と立ち下がり時間の違いによりわずかに異なります。Data Delayカラムには、〜5 psの差が報告されます。スラック値が最小のパスのみを考慮する必要があります。 Timing Analyzerは、2つの間の最悪のパス(立ち上がりと立ち下がり)のみをレポートします。この例では、レジスター出力で生成されたクロックを定義しない場合、タイミング解析はスラック値が最小のパスを1つだけレポートします。
derived_pll_clocksコマンドを使用して、すべてのPLLクロック出力のクロックを自動的に生成できます。 PLL出力で生成されたクロックのプロパティは、PLLに定義したプロパティと一致します。