■IO パッドの配置
チップの場合には、外部とやりとりする IO パッドを配置する必要がある。
●IOパッドの種類
Fujitsu 65nm では入力用、出力用、電源用、グランド用、IO パッド電源用等が
ある。また、それぞれに 2 種類のパッドが存在する。
12 層の電源用 IO パッドを例にすれば、
- IOCB2EWDAOC0A1
- IOCB2EPD5PI11
の 2 つがある。
このようなペアの IO パッドを、同じ位置に配置する必要がある。
●配置位置
Geyser-2 のレイアウト結果。

真ん中の矩形領域がスタセル、マクロなどを配置した領域で、その周囲に IO パッドが
配置されている。
IO パッドの四隅にあるのはコーナーセル。
Astro でレイアウトした結果に、フレームをかぶせる。
フレームをかぶせた結果が以下になる。

このフレーム上のピン位置と、IO パッドのピン位置が合うように IO パッドは配置
されなければならない。
自分でフレームセルを調べて IO パッドの位置を決める。
Fujitsu 65nm では、パッドの大きさは以下のようになっている。
- 入出力パッドの幅は 40um、電源系パッドの幅は 50um
- パッドの高さは 170um
- コーナーセルは高さも幅も 170um
これとチップサイズを考慮すれば、
Geyser や SMA 等の半区画の場合、
- コーナーセルと隣の IO パッド間の距離は 8.0um
- パッドの配置周期は 60um
さえ守れば適切な位置にパッドが置ける。
●配置方法
ピンの場合
と同様に、tdf を用いて配置可能だが、Geyser や SMA ではコマンドで一つ一つ
配置している。
特別な理由がある訳ではなく、単にこの方法で最初に上手くいったためである。
●IO配置スクリプト生成スクリプト
上記したように、IO パッドはコマンドにより配置しているが、一々全て手で書くと
面倒かつミスが混入しやすいので、現在は tdf に似た形式の設定ファイルから、
IO パッドを配置するスクリプトを生成するスクリプトを使用している。
./scripts/makePad.rb
fujitsu 65nm、半区画のチップを作成する場合は使用できる。
他のプロセス/他のサイズのチップを作成する場合は tdf を利用するか、
このスクリプトを修正する必要がある。
設定ファイル例
...
B 24 vdd BRIDGE_VDD_B0
B 25 vde VDE_B1
B 26 vss VSS_B2
B 27 out OUT_DA[6]
B 28 out OUT_DA[7]
...
(B|T|L|R) (number) (vdd|vde|vss|out|in) (name)
(B|T|L|R)
- Bottom
- Top
- Left
- Right