物理検証における LVS では、さまざまな物理デバイスを SpiceVsGDS と比較する必要があります。一般的な標準セル ライブラリの設計手法に基づいて、LVS はそれに応じて CMOS デバイスを処理する必要があります。ここでは、いくつかの特定の物理が関係します。ライブラリの知識と特定の物理設計と CDL フォームと組み合わせた小さなスキルでは、LVS、ICer GO! での標準セルの特別な処理について説明します。
スタンダードセルライブラリの概要
従来のスタンダード セル ライブラリ (std-cell) は、標準的な CMOS 設計です。P 基板で設計された CMOS デバイスの速度の利点により、現在の業界全体の慣例では、P 基板 (P 基板) を使用して、
- NMOS は P サブに直接配置されます
- PMOS は、次のような簡単なプロセス計画で P-sub 上の NWELL で作成されます
。上記の
NMOS を例として取り上げます。通常、より一般的なものは次の回路図です。上の 2 つの
図を比較すると、次のことがわかります。各 NMOS にはバルク (ボディ) 接続 (ボディとも呼ばれる場合もあります) があります。
NMOS では、このバルクの機能は現在の NMOS の P-sub に接続することであり、通常、P-sub は VSS に接続されます。
チップ内に標準セルが多数連続して分布している場合 (これも一般的です)、レイアウトには次のような平面図が表示されます。 すべての NMOS は完全な P-sub 上に作成されているため
、当然、NMOSのBULKは同電位のVSSに接続する必要があり、これがアナログ設計でよく言われるTAPの構造です。
この TAP 構造は完全に一般的な構造であることがわかりますが、標準セルの面積を節約するために、現在の業界でより一般的な方法は、タップレス (TAP フリー) 標準セルを設計することです。パブリック TAP セルを使用してバルクを VSS に接続します。実際、これは標準セルの面積を節約するのに非常に適していますが、標準セルのバルクに対する TAP の電位の影響を考慮すると、このプロセスはTAP の特定の間隔を指定する (現在一般的な方法は checkerBoard/stagger の方法です)。APR ツールは、std セルのこの設計構造をサポートする特定のコマンドとパラメーターも提供します。
std-cell の形状を知ることで、以下の点が明らかになります
** - std-cell はタップレス構造です
- バルクは、TAP セルを使用して、同じ列の std セルの P-sub と NWELL をそれぞれ VSS と VDD に接続する必要があります**
LVSチャレンジ
バルクは標準セル上の PG および信号接続に明らかな寄与を持たないため、非バイアス プロセスを使用する標準セルの場合、次のような標準セルのバルク ピンを確認することは通常不可能です。 LEF の例:
ご覧のとおり、PG ピンの宣言はありますが、バルク ピンは宣言されていません。
ただし、LVS の場合、CMOS は 4 端子デバイスであるため、ゲート、ソース、ドレインの検証と同時に、APR TAP のレイアウト接続にも合わせたバルクの接続検証も完了する必要があります。したがって、ここでは CDL を開いて何が起こったかを確認する必要があります。以下の図を参照してください。
LEF と比較すると、最終的な LVS CDL にバルク接続の記述があることがわかります。ノンバイアスの標準セルの場合、バルクの物理接続は、下図に示すように単純に PG に接続できます。通常の LVS のソース ネットリストは APR ツールから取得され、PG の抽出によって実現されます
。 APR によるネットリストは UPF と LEF に依存するため、要約すると、LVS PG ネットリスト内の std セルの記述が最終的な std セル CDL から逸脱する状況に遭遇することになります。ソース nelist 内の std セルにはバルクが欠けています。明らかに
、同じセルには LVS のソース ネットリストにバルク接続がありません。このような LVS 比較により、広い領域で標準セル ポートの不一致エラーが発生しますが、これは不可能です。
v2lvs の高度な使用法
ただ、この問題はちょっと不思議で、LEFではバルクの宣言がなく、ノンバイアスの流れではバルクが参照できないので、このLVSは行き詰まっているのでしょうか?もちろんそうではありません。ここでも問題の本質に立ち返る必要があります。
std-cell の大部分には、接続ステートメント、具体的には 2 つのタイプのみが必要です
- P-subの大部分はVSSに接続されています
- NWell の大部分は VDD に接続されており、
これは LVS のソース ネットリストで処理する必要があります (もちろん、APR にはこのような魔法はありません)。
通常、LVS のソース ネットリストは APR の PG ネットリストから取得されますが、LVS は spiec 比較に基づいているため、簡単に説明すると次のようになります。一般的に、v2lvs は単に verilog をスパイス形式に変換しますが、バルク処理には高度な使用法が必要です
。特に、次の例のように、デザインで複数のパワー ドメインが使用されている場合は、
異なるレベル/ブロックの標準セルの PG 接続は異なり、同様のバルク接続も同じではありません。詳細については、以下で説明します。テーブル
ブロック | PD | 力 | 接地 | うーん | Pサブ |
---|---|---|---|---|---|
ブロック1 | PD1 | VDD1 | VSS | VDD1 | VSS |
ブロック2 | PD2 | VDD2 | VSS | VDD2 | VSS |
この場合、異なるブロック内の std セルのバルク接続を完全に処理できるように、v2lvs の tcl モードを使用して改良する必要があります。 |
上記のコマンドは、現在の標準セルの PG 接続関係に基づいて、対応するバルク接続を導出することができます。これは次の状況になります。
この処理の後、LVS の標準セルのポートの不一致は完全に解決されます。
v2lvs をよく学びましょう。ソース ネットリストにパッチを適用するための Perl はもう必要ありません~~~~
【黒板をたたいて要点を描く】
TCL のウィングを使用すると、v2lvs は複雑なネットリストを簡単に処理でき、ネットリストにパッチを適用するために大量の Perl スクリプトを作成する必要はありません。また、プロセスはよりフォーマルに見え、流暢さも向上します。
参考文献
Mentor Calibre® Verification ユーザー マニュアル
Synopsys Synopsys® Multivoltage Flow ユーザー ガイド