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

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

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

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

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

create_clock コマンド

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

create_clock -period 100Mhz -name clk_sys [get_ports clk_sys]

90 度シフトされる 100MHz クロックの作成

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

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

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

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

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

1 つのポートに 2 つを超えるベースクロックを定義することは一般的ではありませんが、デザインに適切な数だけ定義することができます。-add は、最初のクロックに続くすべてのクロックにかならず指定します。

多周波クロックの作成

デザインで、複数のクロックソースが単一のクロックノードに供給を行っている場合は、多周波クロックを作成する必要があります。追加クロックは、低電力クロックとして、一次クロックよりも低い周波数で機能することができます。デザインで多周波クロックを使用する場合は、set_clock_groups コマンドを使用して物理的に排他的なクロック (つまり、物理的に同時に存在しないクロック) を定義します。

create_clock コマンドを -add オプションとともに使用し、クロックノードに複数のクロックを作成します。10ns のクロックを作成してクロックポート clk に適用し、さらに 15ns の追加クロックを同じクロックポートに追加することができます。タイミング・アナライザーは、両方のクロックを解析します。

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