第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ファイルを送らない で、)
© Copyright 2024 ExpyDoc