制約条件ファイルリファレンス

Technical Reference TR0103 (v2.0) March 04, 2008

このドキュメントは制約条件ファイルのシンタックスについて説明しています。FPGA 特有の制約条件定義についても説明します。
FPGA デザインはAltium Designer の設計環境で、回路図やVHDL ファイルとしてキャプチャされます。 インプリメンテーションの情報、デバイスピンの割り付けやピンの電気的属性などは、それらのソースファイルには保存されていません。別の制約条件ファイルに収められています。 1つ、またはそれ以上の制約条件ファイルは、プロジェクトコンフィギュレーションを加えることによって、FPGA プロジェクトにマッピングすることができるようになります。
コンフィギュレーションと制約条件の役割についての詳細は、Design Portability, Configurations and Constraints を参照してください。

制約条件の定義

制約条件は通常、制約条件ファイルに、制約条件エディタを使用して定義されます。 新しい制約条件ファイルをプロジェクトに追加するには、プロジェクト名の上で右クリックし、Add New to Project のサブメニューから Constraint File を選択します。 制約条件は、直接タイプして定義することができます。あるいは、制約条件ファイルエディタの Design メニューで利用可能なメニューオプションを使用して定義できます。
複数の制約条件ファイルを使うことができるので、別々の制約条件をタイプによって使い分けることができます。 例えば、デザイン特有の制約条件(クロックに使用するネットなど)が1つ目の制約条件ファイルに設定され、インプリメンテーションのタイプによる制約条件(ピン割り付けなど)が2つ目の制約条件ファイルに設定される場合があげられます。
制約条件ファイルは、コンフィギュレーションを定義することでFPGA デザインにマッピングされます。これは、パネルのプロジェクトファイル名の上で右クリックし、Configuration Manager を選択すると、実行できます。 複数の制約条件ファイルをひとつのコンフィギュレーションで定義することもできます。 選択したプロジェクト/コンフィギュレーションの組み合わせでFPGA デザインがデバイスにインプリメントされると、システムはデザインをそのインプリメンテーションに従ってマッピングできるようになります。 複数のコンフィギュレーションを定義することで、あるデバイスから別のデバイスへと、デザインをリターゲッティングしやすくなります。
制約条件は、ソースとなる回路図ファイルにも定義することができます。 ただし、これらはデザインをロックしてしまうことがあるので、注意してください。例えば、ターゲットデバイスを回路図上で固定してしまうと、他のデバイスにデザインをインプリメントすることができなくなってしまいます。この場合、パラメータの再編集が必要になります。 回路図上で適切に定義されている制約条件には、クロックに使用するためのネットなど、サーキット特有の制約条件が含まれています。
コンフィギュレーションと制約条件についての詳細は、上記の記事を参照してください。

制約条件ファイルの基本

ひとつまたはそれ以上の制約条件が要求する実体に適合させるため、制約条件ファイル内のそれぞれの行は、制約条件グループと呼ばれます。 以下の例は、さまざまに異なる制約条件グループを示しています。
例 1
Record=Constraint | TargetKind=Part | TargetId=XC2S300E-6PQ208C
この制約条件がターゲットにしているのは、部品(または FPGA のコンポーネント)です。この場合、タイプを XC2S300E-6PQ208C のように指定します。 このデバイスはシステムサポートされている必要があることに注意してください。Design » Add/Modify Constraint » Part のメニューアイテムを選択し、Choose Physical Device ダイアログを表示させます。 このダイアログは、システムがサポートしているすべてのデバイスを表示します。 この制約条件グループは、各コンフィギュレーションにつき、一回しか表示されません。
例 2
Record=Constraint | TargetKind=Port | TargetId=VGA_VSYN | FPGA_PINNUM=P134
この制約条件グループがターゲットにしているのは、ポート VGA_VSYN に接続されたネットです。FPGA ピンの P134への接続が指定されています。
例 3
Record=Constraint | TargetKind=Port | TargetId=LCD_E | FPGA_PINNUM=P82 | FPGA_IOSTANDARD=LVTTL33 | FPGA_SLEW=SLOW | FPGA_DRIVE=12mA
この制約条件グループがターゲットにしているのは、ポート LCD_E に接続されたネットです。FPGA ピンの P82 への接続が指定されており、FPGA_IOSTANDARD に LVTTL33、FPGA_SLEW に SLOW の設定、駆動電流 12 mAが指定されています。
例 4
Record=Constraint | TargetKind=Port | TargetId=VGA_R[1..0] | FPGA_PINNUM=P145,P141
この制約条件グループがターゲットにしているのは、both the nets in the bus connected to the ポート VGA_R[1..0] において、バスエレメント 1、ピン P145 に接続されたバスと、バスエレメント 0、ピン P141 に接続されたバスにある2つのネットです。

配置配線からの制約条件のインポート

設計の制約条件の詳細は、ベンダの配置配線ツールによっても割り付けたり、作成したりできます。 例えば、FPGA デザイン中にデバイスピンに対するポートに制約条件がない場合、配置配線ツールがこれを処理します。 制約条件ファイルエディタの Design » Import Pin File メニュー内のオプションを使用して、 配置配線ツールで定義された制約条件をインポートするように設定します。

制約条件の定義

Record

概要 制約条件ファイル内で、エントリの目的を定義します。
FileHeader, Constraint

TargetKind

概要 制約条件ファイル内で、このレコードが何に適用されるかを定義します。
Part, PCB, Port, Net

TargetId

概要 制約条件レコードがターゲットにしているオブジェクトの名前
回路図のトップシート上にあるポートの名前、デバイス部品番号、PCB名

Id

概要 FileHeader の制約条件。制約条件ファイルのタイプとバージョンを指定します。
例えば DXP Constraints v1.0 など。

FPGA に特化した制約条件の定義

これらの制約条件は、デバイスベンダのコンポーネントの仕様にあわせて使う必要があります。特に、制約条件がそのデバイスでサポートされていることを確認してください。

FPGA_CLOCK

概要 ターゲットテクノロジのトップレベルのポートの状況。高速のリソースに使用。
True、False
TargetKind Port
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダ Actel Altera, Xilinx

FPGA_CLOCK_DUTY_CYCLE

概要 クロックサイクルを設定
パーセンテージ
TargetKind Port
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダ Actel, Altera, Xilinx

FPGA_CLOCK_FREQUENCY

概要 目的のクロック周波数を設定します。配置配線ツールはこの周波数に適合させようとします(保証できるわけではありません)。
ユニットごとに設定。例えば、50 Mhzなど。
TargetKind Port
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダ Actel, Altera, Lattice, Xilinx

FPGA_CLOCK_PIN

概要 トップレベルのポートの状況。ターゲットデバイス上の予約済みのクロックピンリソースに接続。
True、False
TargetKind Port
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダXilinx

FPGA_DEVICE

概要 ターゲットデバイスを指定
デバイスの指定。詳細は、Choose Physical Device ダイアログの Device フィールドを参照してください。
TargetKind パート
定義の対象 制約条件のエントリ、シートパラメータ
ベンダAltera, Lattice, Xilinx

FPGA_DRIVE

概要 ターゲットデバイス内のピンについて、電流値を指定します。トップレベルエントリ内のポートにも適用されます。
駆動電流の値(12mA、など)
TargetKind ポート
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダAltera, Lattice, Xilinx

FPGA_GLOBAL

概要 保持されるべき信号の状態。高速のリソースで使用。
True、False
TargetKind ネット
定義の対象 ネットに添付される Parameter Set オブジェクトのパラメータ
ベンダAltera, Xilinx

FPGA_INHIBIT_BUFFER

概要 ピンには、挿入された I/O バッファはありません。
True、False
TargetKind ポート
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダXilinx

FPGA_IOSTANDARD

概要 ターゲットデバイス内のピンについて、ピンの 標準 I/Oを指定します。トップレベルエントリ内のポートにも適用されます。
ベンダデバイスのドキュメントを参照してください。
TargetKind ポート
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダAltera, Lattice, Xilinx

FPGA_KEEP

概要 特定の信号を最適化処理から保護します。
True、False
TargetKind ネット
定義の対象 ポートパラメータ
ベンダAltera, Xilinx

FPGA_NOCLOCK

概要 クロックバッファの配置に対して、合成ツールの処理結果を保護します。 合成ツールはクロックバッファを推定して、自動的に追加することができます。
True、False
TargetKind ポート
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダAltera, Xilinx

FPGA_PCI_CLAMP

概要PCI(Peripheral Component Interconnect)の互換性をピンについて有効にします。
True、False
TargetKind ポート
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダ Altera(Cyclone/Stratix)

FPGA_PINNUM

概要 ターゲットデバイス内のピンについて、ピンアウトを指定します。トップレベルエントリ内のポートにも適用されます。
デバイスピンの番号、ベンダツールの指定するフォーマットで。
TargetKind ポート
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダActel, Altera, Lattice, Xilinx

FPGA_PULLDOWN

概要 プルダウンレジスタを入出力ポートに追加
True、False
TargetKind ポート
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダXilinx

FPGA_PULLUP

概要 プルアップレジスタを入出力ポートに追加
True、False
TargetKind ポート
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダAltera, Xilinx

FPGA_RESERVE_PIN

概要 配置配線ツールがここで指定するピンをデザイン中のポートに割り付けないようにする。
予約済みのピン番号
TargetKind ピン
定義の対象 制約条件ファイルのエントリ
ベンダ Actel, Altera, Xilinx

FPGA_SLEW

概要 ターゲットデバイス内のピンについて、slew standard を指定します。トップレベルエントリ内のポートにも適用されます。
ベンダデバイスのドキュメントを参照してください。
TargetKind ポート
定義の対象 制約条件のエントリ、ポートパラメータ
ベンダActel, Altera, Lattice, Xilinx

You are reporting an issue with the following selected text and/or image within the active document: