-
Notifications
You must be signed in to change notification settings - Fork 103
jp synth constrain
制約ファイルは、HDLでは記述しきれない回路の設計情報を記述するものです。 例として、以下のようなものがあります。
- ピン配置
- クロック周波数
- 使用するFPGAの資源の位置
処理系は、与えられた制約を完全に満たすように論理合成および配置配線を行います。
制約ファイルで与えられる制約には、非常に多くの種類があります。 ISE の制約ガイドなんかを見てもらえればわかると思います。 現在の雷上動で使っているのはそのごく一部にすぎません。 回路に新しい制約を加えたいと思った場合は、上記のようなマニュアルを読んで必要な制約を選んでください。
制約ファイルはもともと各ベンダが独自に作っていたもののようで、 フォーマットにいくつかの種類があります。 代表的なのものとして以下が挙げられます。
- SDC : Standard Design Constraints
- FDC : Fpga Design Constraints
- UCF : User Constraints File (Xilinx 系?)
どんな制約が使えるかは処理系ごとに違ってくるので、 逐一処理系のマニュアルを読むのが無難です。
制約が多すぎると、いつまでたっても制約を満たす回路配置が見つからず、論理合成ないし配置配線が終了しなくなってしまいます。 そのため、制約は必要最低限にするのがふつうです。 必要最低限な制約とは、多くの場合は以下の2つです。
- ピン配置
- グローバル・クロックの周波数
クロック周波数についての制約は非常に重要です。 この制約を与えてやることで、回路全体がそのクロックで動作するように合成が行われます。 高い周波数で回路を動作させるためには、制約を厳しくして論理合成と配置配線を数時間行うということも必要になります。
しかし、クロック周波数についての制約をちゃんと説明するのは難しいです。筆者にできる気がしません;; そんなわけで、参考となる情報源を紹介しておきます。
-
MONOist「必修! FPGAタイミング解析の基礎」
-
Synopsys Timing Constraints and Optimization User Guide の 2. Clocks