AR# 10426

12.1 制約 - デザインで OFFSET 制約を使用する場合について

説明

どのような場合にデザインで OFFSET 制約を使用すればよいのでしょうか。

ソリューション


OFFSET 制約は、外部クロックと関連するデータ入力ピンまたはデータ出力ピンとの間のタイミング関係を定義するために使用します。このオプションを使用すると、次を実行できます。
  • データ入力とクロック入力が外部ネットから供給されるフリップフロップで、セットアップ タイム要件が満たされているかを計算する。
  • 外部デバイス ピンからクロックが供給される内部フリップフロップの Q 出力により駆動される外部出力ネットの遅延を指定する。

OFFSET 制約を使用すると、次のような利点があります。
  • 各同期エレメントのクロック パス遅延が含まれる。
  • 入力のデータ パス遅延からクロック パス遅延を引いて、そのクロック パス遅延を出力のデータ パス遅延に足す。

この制約が適用されるパスを図 1 に、OFFSET IN および OFFSET OUT のタイミングを図 2 および図 3 に示します

OFFSET の回路図例
OFFSET の回路図例


OFFSET IN のタイミング図
OFFSET IN のタイミング図


OFFSET OUT のタイミング図
OFFSET OUT のタイミング図

  • 同期エレメントのすべてのタイプ (フリップフロップ、RAM、ラッチ) のパスが含まれる)。
  • すべての入力または出力をクロックで制約するように指定するグローバル構文が使用される。
  • デバイスで必要なセットアップ タイムおよび clock-to-out タイムとして I/O 制約を直接指定 (IN BEFORE および OUT AFTER)、またはデバイス外部のパスが使用する時間として I/O 制約を間接的に指定できる (IN AFTER および OUT BEFORE)。

OFFSET 制約には、基本的にグローバル、特定のネット、およびグループの 3 つのタイプがあります。

OFFSET 制約は、パッドから同期エレメントおよび同期エレメントからパッドのパスに適用されます。そのため、デザインにグローバル OFFSET IN およびグローバル OFFSET OUT を少なくとも 1 つずつ指定することをお勧めします。あるパスをグローバル制約よりも速くまたは遅く設定する必要がある場合は、特定のネットまたはグループに OFFSET 制約を指定します。

タイミング制約の詳細は、『Timing Constraints User Guide』を参照してください。http://japan.xilinx.com/support/documentation/sw_manuals/xilinx12_1/ug612.pdf

次に、4 種類の OFFSET 制約について説明します。

例 1 - OFFSET IN BEFORE

OFFSET IN BEFORE は、データがパッドから伝搬されて同期エレメント (COMP) でセットアップされるまでの最大時間を定義します。この時間は、データがデバイスのエッジに到着してから次のクロック エッジがデバイスに到着するまでの時間差と考えることができます(図 1 および図 2 を参照)。この関係は、次の式で定義されます。

TDATA + TSU - TCLK TIN_BEFORE

Example 2 - OFFSET IN AFTER:

この制約は、FPGA 外部でデータにより使用される時間を定義します。この時間をクロックの PERIOD 制約の値から引くことにより、データがパッドから伝搬されて同期エレメントでセットアップされるまでの最大時間が決定されます。この時間は、現在のクロック エッジがデバイスのエッジに到着してから、データがデバイスのエッジに到着するまでの時間差と考えることができます(図 1 および図 3 を参照)。この関係は、次の式で定義されます。

TDATA + TSU - TCLK TP - TIN_AFTER (TP はクロック周期)

PERIOD 制約または FREQUENCY 制約は、BEFORE キーワードと OFFSET OUT 制約を併用する場合か、AFTER キーワードと OFFSET IN 制約を併用する場合のみに必要です。

例 3 - OFFSET OUT AFTER :

この制約は、データが同期エレメントからパッドへ伝搬されるまでの最大時間を定義します。この時間は、現在のクロック エッジがデバイスのエッジに到着してから、データがデバイスのエッジから出力されるまでの時間差と考えることができます(図 1 および図 3 を参照)。この関係は、次の式で定義されます。

TQ + TCO + TCLK TOUT_AFTER

検証では、参照パス (CLK_SYS から COMP) の最大遅延およびデータ パス (COMP から Q_OUT) の最大遅延が、クロックの PERIOD 制約から指定した OFFSET 制約を引いた値を超えていないかどうかが確認されます。

例 4 - OFFSET OUT BEFORE :

この制約は、FPGA 外部でデータにより使用される時間を定義します。この時間をクロックの PERIOD 制約の値から引くことにより、データが同期エレメントからパッドまで伝搬されるまでの最大時間が決定されます。この時間は、データがデバイスのエッジから出力されてから次のクロック エッジがデバイスのエッジに到着するまでの時間差と考えることができます(図 1 および図 3 を参照)。この関係は、次の式で定義されます。

TQ + TCO + TCLK TP - TOUT_BEFORE

検証では、参照パス (CLK_SYS から COMP) の最大遅延およびデータ パス (COMP から Q_OUT) の最大遅延が、クロック周期から指定したオフセットを引いた値を超えていないことを確認します。

例 2 と同様に、PERIOD 制約または FREQUENCY 制約は、OFFSET OUT 制約と BEFORE キーワードを併用する場合か、OFFSET IN 制約と AFTER キーワードを併用する場合にのみ必要です。
AR# 10426
日付 02/06/2013
ステータス アクティブ
種類 一般
ツール 詳細 概略