インテル® Quartus® Prime プロ・エディションのユーザーガイド: Timing Analyzer

ID 683243
日付 9/30/2019
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

インテルのみ表示可能 — GUID: mwh1410383691035

Ixiasoft

ドキュメント目次

2.2.5.1. ベースクロックの作成

ベースクロックは、デバイスへのプライマリ入力クロックです。Create Clock (create_clock)制約を使用すると、デザインのクロックのプロパティと要件を定義できます。 デバイスで生成されるクロック(オンチップPLLなど)とは異なり、ベースクロックはオフチップ・オシレーターによって生成されるか、外部デバイスから転送されます。生成されたクロックやその他の制約は多くの場合ベースクロックを参照するため、.sdcファイルの上部でベースクロックを定義します。Timing Analyzerは、未定義のクロックを参照する制約を無視します。

次の例は、create_clock制約の一般的な使用法を示しています。

create_clockコマンド

以下は、clk_sys入力クロックポートの100 MHz要件を指定しています。

create_clock -period 10 -name system_clk [get_ports system_clk]

90度クロック生成により100 MHzシフト

次の例では、デューティー・サイクルが50%の10 nsクロックを作成します。これは90度位相シフトされ、ポートclk_sysに適用されます。このタイプのクロック定義は、一般的に、クロックに対して中央に揃えられたソース同期のダブルレートデータを指します。

create_clock -period 10 -waveform { 2.5 7.5 } [get_ports clk_sys]

同じクロックポートを駆動する2つのオシレーター

-addオプションを使用すると、同じターゲットに複数のクロックを適用できます。たとえば、2つの異なる周波数で同じクロック入力を駆動できるように指定するには、.sdcファイルに次のコマンドを入力します。

create_clock -period 10 -name clk_100 [get_ports clk_sys]
create_clock -period 5 -name clk_200 [get_ports clk_sys] -add

1つのポートに3つ以上のベースクロックを定義することは一般的ではありませんが、デザインに適切な数だけ定義して、最初のクロック以降のすべてのクロックに-addを指定するようにしてください。

多周波クロックの作成

デザインに単一のクロックノードに供給する複数のクロックソースがある場合、多周波クロックを作成する必要があります。追加のクロックは、プライマリー・クロックよりも低い周波数の低電力クロックとして機能する場合があります。デザインで多周波数クロックを使用している場合、set_clock_groupsコマンドを使用して排他的なクロックを定義します。

クロックノードに複数のクロックを作成するには、-addオプションを指定してcreate_clockコマンドを使用します。クロックポートclkに適用される10 nsクロックを作成してから、同じクロックポートに追加の15 nsクロックを追加できます。 Timing Analyzerは両方のクロックを分析します。

create_clock –period 10 –name clock_primary –waveform { 0 5 } \
    [get_ports clk]
create_clock –period 15 –name clock_secondary –waveform { 0 7.5 } \
    [get_ports clk] -add