create_clock コマンドを使用すると、任意のレジスター、ポート、ピンにクロックを作成できます。それぞれのクロックに固有の特性を持たせることができます。以下のリストに、create_clock コマンドと使用可能なオプションを示します。
create_clock -period <周期値> [-name <クロック名>] [-waveform <エッジリスト>] [-add] <ソースオブジェクト>
表 1 に create_clock コマンドのオプションを示します。
表 1.create_clock コマンドのオプション説明
オプション |
詳細 |
---|---|
-period <周期値> |
クロックの周期を指定します。また、-period <数値>MHz のようにフリークエンシーを指定することもできます。 (1) |
-name <クロック名> |
特定のクロックの名前 (例: sysclock)。クロック名を指定しない場合、クロック名はそれが割り当てられたノードと同じになります。 |
-waveform <エッジリスト> |
クロックの立ち上がりと立ち下がりのエッジを指定します。エッジリストでは、立ち上がりエッジと立ち下がりエッジが交互に表示されます。例えば、最初の立ち上がりエッジが 0ns、最初の立ち下がりエッジが 5ns の 10ns 周期の場合、波形 {0 5} と記述されます。その差は 1 周期単位でなければならず、立ち上がりエッジが立ち下がりエッジよりも先に来る必要があります。デフォルトのエッジリストは {0 <周期>/2}、つまり 50 パーセントのデューティサイクルです。 |
-add |
同じポートやピンに複数のクロックを指定できます。 |
<ソース・オブジェクト> |
アサインメントを適用するポートまたはピンを指定します。ソースオブジェクトが指定されていない場合、クロックは仮想クロックとなります。 |
注:
- タイミング・アナライザーのデフォルトの時間単位は ナノ秒 (ns) です。
create_clock コマンドで定義されたクロックのデフォルトのソースレイテンシー値は 0 です。非仮想クロックの場合、タイミング・アナライザーは、クロックのネットワーク・レイテンシーを自動的に計算します。
100MHz クロック作成
この例では,ポート clk に 0ns を適用した時点で最初の立ち上がりエッジが発生する、デューティー・サイクル 50% の 10ns クロックを作成する方法を示します。
create_clock -period 10 -waveform { 0 5 } clk
100MHz クロックを 90 度シフトさせたクロックの作成
この例では,ポート clk_sys に適用される、デューティサイクル 50% で位相が 90 度シフトした 10ns のクロックを作成する例を示します。
create_clock -period 10 -waveform { 2.5 7.5 } clk_sys