Edusemi-v4x

🧩 制約ファイルのカスタマイズと設計最適化

この章では、OpenLane設計フローにおける制約ファイル(floorplan, timing, pin placement など)を調整し、設計結果への影響を体験的に理解します。


🎯 目的


📄 主な制約ファイル

ファイル名 役割
floorplan.tcl コア領域・ピン間隔・マージンなどの初期配置制約
placement.cfg セルの初期位置や密度制約
clock_constraints.tcl クロック定義・クロックツリー制約
pin_order.cfg I/Oピンの配置順序
macro_placement.cfg マクロブロックの位置指定(SoC設計時)
sdc.tcl 時間制約ファイル(セットアップ・ホールド)

🛠️ 実験例:クロック周波数を変更

# designs/inverter/config.tcl の一部
set ::env(CLOCK_PERIOD) "10.0" ;# 100MHz → 200MHzにしたいなら "5.0"

再実行:

./flow.tcl -design inverter -tag run2_freq200MHz

→ タイミング違反が発生するか?セル数や消費電力は変わるか?


🧪 実験例:ピン配置の制御

pin_order.cfg
--------------
a input left
y output right

→ 配線長・層数に変化あり
→ DRC違反や配線混雑の緩和確認


📚 フォルダ構成(例)

designs/inverter/
├── config.tcl
├── floorplan.tcl
├── pin_order.cfg
├── sdc.tcl
└── runs/

📈 評価指標


🧠 教育的意義


🔗 関連章


📝 備考