3-9 配置配線(Place & Route)の役割
FPGA設計では、
論理合成が終わった時点では
まだ回路は完成していません。
実際に FPGA チップ上の
「どこに配置し、どう配線するか」を決める工程が
配置配線(Place & Route)
です。
配置(Place)とは
配置とは、
- LUT
- フリップフロップ(FF)
- メモリブロック
- DSPブロック
といった論理要素を、
FPGA内部のどの物理位置に置くか
を決定する処理です。
近くに配置されれば遅延は小さくなり、
離れれば遅延は大きくなります。
配線(Route)とは
配線とは、
配置された論理要素同士を
FPGA内部の配線資源で接続する
工程です。
FPGAの配線は
- 自由に引けるわけではない
- スイッチとセグメントの組み合わせ
で構成されています。
そのため、
同じ論理回路でも配線経路により性能が変わる
という現象が発生します。
なぜ結果が毎回同じにならないのか
配置配線は、
探索と最適化を繰り返すアルゴリズム
で行われます。
そのため、
- ツールのバージョン
- 制約の書き方
- 他の回路との競合
によって、
最終結果が微妙に変わることがあります。
タイミングとの深い関係
配置配線は、
前節で説明した
タイミング制約(STA)
を満たすように実行されます。
制約が厳しすぎると
配置配線が収束せず、
緩すぎると
性能を活かしきれません。
論理・配置・配線・タイミング
は、
切り離せない関係にあります。
CPU・GPUとの違い
CPUやGPUでは、
配線や配置は
製造時に固定
されています。
FPGAでは、
設計ごとにチップ内部構造が変わる
という点が、
本質的な違いです。