■DRC 対策
●DRC とは
その配線細すぎ、その配線とこの配線近すぎ、などのレイアウトは作れても
実際のチップでは……という error。
恐らく最も頻発する。
詳しくは教科書見るとか、
Design Rule Checking でググるよろし。
technology file や、fujitsu のディレクトリ下を漁っても資料が出るが、
ルールはかなり細かいので把握しなくても大丈夫ということに……
Astro では、Detail Route での error として DRC/LVS 双方が報告され、
メニュー上の DRC は DRC だけを報告する。両方実行し、error を 0 に
しないとまず本番の検証で引っかかる。
Detail Route は、配線系のコマンドを実行すると自動で情報が更新される。
手動で再チェックする場合は axgRouterVerify。
DRC は、Verify -> DRC
●例 1: diff_net_spacing
配線の距離が近すぎるって奴。
error 付近をエラーブラウザ(geErrorBrowser/Verify -> Error Browser)
で表示したところ。グチャグチャで良く分からない。
MET 6 で error といってるので、Layer Panel(マクロが表示されてるウィンドウの右側 or F2)
で MET 6 だけ表示させてやる。
確かに MET 6 が近いところがあるので、
迂回させてみた。
(Modify の split/Move 辺りを使用)
やほー、diff net spacing 消えた!
(axgRouterVerify で再度 Detail Route のエラーチェックが可能)
(DRC のところはメニューから DRC 選ぶ)
●例 1: Less than minLength
先程のエラーブラウザのログを見ると、Less than minLength という error が残ってる。
しかも何故か増えた。
でも場所を確認してやると 4 つとも同じ場所のようだ。
名前から判断すれば、配線の長さが足りないと言ってる。
相変わらずグチャグチャなので、MET S3 を表示、
構造を把握するためその上下の MET S2/MET G1 も表示してみたり。
error 部分の層構造を横から見ると、下図の様になる。
(この層構造を把握するのが大事。色々消したり表示したり試して。そのうち慣れる)
赤矢印の部分の距離が、minLength と怒られている。
そこで、下図のようにメタルを足してやる。
(Modify の Copy/Modify/Stretch 辺りを使用)
エラー消えた!
●例 2
さっきより error 出たね。出まくったね。
error が出やすいようなものをわざと作ったら、正直出すぎました……。
こういう場合は、フロアプランの段階から考え直さないとダメなので
諦めて下さい。
200 とか 300 位の error 数であれば、post route optimization で対処
可能な error 数に落ち着くこともあるので、やってみましょう。
でもせっかくなので、部分的に error を消したいと思います。
●例 2: Need fatWireContact
結構出ます。
社長は自分とは違う、もっと賢い方法で error 消してます。
自分は地道な手作業で消してました。
余計なものを消した図。
Buffer 等、出力用の MET 1 のメタルが大きく、矩形ではなく変な足みたいなのが
ついてるセルで起こります。
MET 1/2 をつなぐ CUT12 が、この足の部分にあると Need fatWireContact error になります。
via を出力メタルの胴体(矩形部分)につなぎ、via を大きくしてやると改善します。
移動し、via を太くする。
移動するのは Modify -> Stretch/Move
via を変更するのは、Modify -> Modify を以下のような感じに。
左がデフォ、右が設定後。
Row の欄を 2 にしたのがポイントで、Row や Column に 1 ではない値を
設定すると大きな via になります。
●例 2: Less than minEdgeLength
恐らく notch 埋めをすれば、自動で埋めてくれます。
ダメでも適当に自分でメタルを置けば ok
●例 2: short
short の例。
適当に交差しない様にすればよし。
下の例では配線層を変えることで対応。