Transcript Verilog
第9回 バックエンド設計その3
配線と検証
慶應義塾大学 理工学部
天野
7,8,9回の目的
合成したネットリストをレイアウトパターンに落とすバックエンド設計
の手順を紹介
ライブラリの問題で完全にはうまく行かない
Rohm0.6umプロセスを利用
取り扱いには注意
前回のディレクトリを利用
RTL記述
論理合成、簡単化
フロントエンド設計
ネットリスト
配置、配線
レイアウト
バックエンド設計
前回の作業の再現
配線前処理は既に終わっている
前回の演習で提出したスクリプトを実行
して配線前処理を行う
配線のステップ
1.
2.
3.
4.
概略配線
配線トラック割り当て
詳細配線
配線の最適化
配線前処理終了まで
概略配線
Route → Global Route
特に変更なく
OKを押す
配線トラックの割付
Route → Track Assign!
配線トラック
が割り当てら
れる
詳細配線
Route → Detail Route
回数はとりあえず
5くらいでOKを押す
@@@@@@@@ TOTAL VIOLATION = 0 (0)
のメッセージを確認
1000程度までなら、最適化でうまく行く場合もある
それ以上ならば絶望。フロアプランからやり直し
配線の最適化
Route → Detail Route Search & Repair
配線をやり直して
良いものを選ぶ
50くらいでOK
今回は、余裕があるため、最適化による改善は見込めず
すぐ終了する。
配線終了後
配線終了後
検証と修正
LVS (Layout versus Schematic)
DRC (Design Rule Check)
ギャップやノッチの修正
SDF(Standard Delay Format)の出力
バックアノテーションと実遅延シミュレー
ション
レイアウトエディタ
LVS(Layout versus Schematic)
レイアウトから抽出された論理回路がゲートレベ
ルのネットリストと一致するかどうかをチェック
OKを押す
今回は、VSS、電源と
NULLとのショートは
無視
他のエラーが0であ
ることを確認
DRC (Design Rule Check)
レイアウト上のルールが満足されているかどうかをチェック
OKを押す
Met1 Notch
Via1&Via2 Overlp
Met2 Notch
のエラーが出る(と思う)
エラー場所の確認
Verify → Load Error Cell
先ほど指定したファイル名を
書いてOK
Verify → Show Errors of All Types
エラー場所の表示
エラーの場
所が点滅
レイアウトの
中のエラーを
拡大して確認
ノッチとギャップを埋める
Route Utility → Fill Notch/Gap
OKを押す
DRCの再試行
もう一度DRCを掛けてみよう
Notchはなくなっているのがわかる
残りは、Via1&Via2 Overlap
これは擬似エラー
なぜ擬似エラーが起きるのか?
設計規則がDRCのルールと異なるため
実際上よくあるのだが非常に問題が大きい
擬似エラーがPAD周辺のみであることを確
認しよう
SDF(Standard Delay Format)の出力
Timing →SDF Out
Interconnect Onlyにセット
PPICO16.vのトップモジュール
SDFファイル名は適当に付ける
バックアノテーション
配線遅延情報をネットリストにフィードバックして、
シミュレーションを行うこと
実遅延シミュレーション
今回、若干の問題が、、
SDFファイルのバージョン問題
ライブラリの問題
AstroはVersion2.1と3.0しか吐き出せない
verilogはVersion1.0しか受け付けない
dc_shellは両方受け付ける。そこで、これを使って変換する
dc_shell-t –f convert.tcl
変換後のファイルはppico16.sdf
Astroで挿入したバッファの一部がdbファイル中に存在しない
若干エラーが残るがやむをえない
配置配線後Verilogファイルの生成
Output → Verilog
ライブラリとセル名
出力ファイル名
バスはそのまま
トップモジュール名
シミュレーションの実行
$sdf_annotate("ppico16.sdf", PPICO16);
をテストベンチに加える
verilog –u +sdf_verbose ppico16_test_chip.v ppico16_chip.v
memory.v –v rohm06.v –v RohmIO.v
./chipsimでも実行可能
エラーが出るので入出力端子の宣言(wireinout.v)をppico16_chip.vに
何かのエディタを使って手で挿入
input, output文の後ろの辺に挿入
Annotation errorがある程度出る
結果をsimvisionで確認
しかし、この程度のプロセスではあまり配線遅延は大きくない
最近のプロセスでは実配線シミュレーションと仮配線シミュレーションの
差が大きい
ストリームファイルの出力
チップ製造に必要な最終ファイル
GDS2というファイル形式が標準的
Tools → DataProp
Output → Stream Out
すべてのレベルの抽出の
ため20くらいに設定
Virtuoso –名人、巨匠
DRCを回避する最後の手段
GDSを編集することができるエディタ(Cadence
社)
Mentor社のCalibreを呼び出して精密なDRCをか
けることができる
電子工学科の黒田研や中野研、アナログ設計者
はこれを用いてレイアウトしているらしい
スタンダードセル設計ではAstroやSoC
Encounterで回避できないエラーを手で修正する
のに用いる
Virtuosoの起動
必要ファイル
display.drf 色、模様の定義ファイル
rohm.tf テクノロジファイル (rohmapollo.tfとは異なるので注
意)
これらは7kaiの中に用意してある
起動
実験室では、/usr/loca/vdec/cadence/ic5141/tools/dfII/binを
パスに入れること
icfb –log logfilename
実験室では起動に5分くらいかかるようなので注意!
メインウインドウ(小さい)とWhat’s Newウインドウが表
れる
操作はメインウインドウで行う
ストリームデータの読込み
File → Import → Stream
ストリーム
ファイル名
ライブラリ名
テクノロジ
ファイル名
3箇所指定して
OKを押す
レイアウト画面
File → Open → Cell NamesでPICO16を指定
操作方法
選択は左クリック、ドラッグで範囲選択
右ドラッグで、指定範囲拡大
パンはTabを押してから左クリック
他はメニューを見ながらやってみる。比較
的容易に扱える
今回は、特に修正する箇所はない
演習
前回設計したPICOを最終段階までレイ
アウトし、結果をVirtuosoで確認せよ
最終結果を生成するスクリプトファイルを
まとめよ。([email protected])ま
でスクリプトファイルを提出のこと。(間
違っても巨大なGDSファイルを送らない
で、)