■フロアプラン
レイアウトで最も重要な部分。
- どのようにマクロを分けるか
- マクロ同士はどうつなげるか(ピン割り当て等)
- マクロにはどのように電源を供給するか
等を決定する。
当フローでは、前半部分の
を行う各スクリプトを ./scripts/floorplan.tcl から呼び出す。
電源系統の設定は目的のチップによって様々で、現在はいくつもの
スクリプトをチップ毎に分けて使用したりしている。
前半部分も、全ての過程が必要なわけではない。
最低、マクロサイズさえ決定すれば良い。
現在のスクリプトでは、前半処理のうちスクリプトが存在するもののみ行う
ようになっている。
●スクリプト
============================================================
./scripts/floorplan.tcl
============================================================
source ./scripts/load_iopin_tdf.tcl
foreach file [concat \
${scrDir}/base.fp \
${scrDir}/${designName}/${designName}_macro.tcl \
${scrDir}/${designName}/${designName}.pad \
${scrDir}/${designName}/divider.pad \
${scrDir}/${designName}/add_pad_filler.tcl \
${scrDir}/${designName}/${designName}.pin \
${scrDir}/${designName}/${srcName}_plangroup.tcl \
${scrDir}/${designName}/${srcName}_plan_place.tcl] {
if { [file isfile ${file}] == 1 } {
source ${file}
} else {
puts "***"
puts "*** (Warning) Cannot find ${file}."
puts "***"
}
}