
半導体設計において、標準セル法は、主にデジタルロジック機能を備えた特定用途向け集積回路(ASIC)を設計する手法です。標準セル法は設計抽象化の一例であり、低レベルの超大規模集積回路(VLSI)レイアウトを抽象的なロジック表現( NANDゲートなど)にカプセル化します。
セルベースの手法(標準セルが属する一般的な手法)を用いることで、設計者のうち1人がデジタル設計の高レベル(論理機能)面に集中し、もう1人が実装(物理)面に集中することが可能になります。半導体製造技術の進歩に伴い、標準セル手法は、設計者がASICを比較的単純な単機能IC(数千ゲート)から、数百万ゲートの複雑なシステムオンチップ(SoC)デバイスへとスケールアップするのに役立ってきました。
標準セルは、ブール論理関数(AND、OR、XOR、XNOR、インバータなど)または記憶関数(フリップフロップまたはラッチ)を提供するトランジスタと相互接続構造のグループです。[ 1 ]最も単純なセルは、基本となるNAND、NOR、およびXORブール関数の直接表現ですが、はるかに複雑なセル(2ビット全加算器や多重化されたD入力フリップフロップなど)が一般的に使用されています。セルのブール論理関数は、その論理ビューと呼ばれます。機能的な動作は、真理値表またはブール代数方程式(組み合わせ論理の場合)、または状態遷移表(順序論理の場合)の形式で捉えられます。
通常、標準セルの初期設計は、トランジスタレベルで、トランジスタネットリストまたは回路図の形で作成されます。ネットリストは、トランジスタ、トランジスタ間の接続、および外部環境への端子(ポート)をノード単位で記述したものです。回路図は、このネットリスト生成プロセス用のグラフィカルユーザーインターフェース(GUI)を提供する、さまざまなCAD(コンピュータ支援設計)またはEDA(電子設計自動化)プログラムを使用して生成できます。設計者は、 SPICEなどの追加のCADプログラムを使用して、入力刺激(電圧または電流波形)を宣言し、回路の時間領域(アナログ)応答を計算することで、ネットリストの電子的な動作をシミュレートします。シミュレーションにより、ネットリストが目的の機能を実装しているかどうかが検証され、消費電力や信号伝搬遅延などのその他の関連パラメータが予測されます。
論理ビューとネットリストビューは抽象(代数)シミュレーションにのみ有用であり、デバイスの製造には役立たないため、標準セルの物理的表現も設計する必要があります。レイアウトビューとも呼ばれるこのビューは、一般的な設計実務における設計抽象化の最低レベルです。製造の観点からは、標準セルのVLSIレイアウトが最も重要なビューです。これは、標準セルの実際の「製造設計図」に最も近いからです。レイアウトは、トランジスタデバイスのさまざまな構造に対応するベースレイヤーと、トランジスタ構成の端子を接続する相互接続配線レイヤーおよびビアレイヤーに構成されています。 [ 1 ]相互接続配線レイヤーは通常番号が付けられ、各シーケンシャルレイヤー間の特定の接続を表す特定のビアレイヤーがあります。非製造レイヤーも設計自動化の目的でレイアウトに存在する場合がありますが、配置配線(PNR)CADプログラムで明示的に使用される多くのレイヤーは、多くの場合、別個の類似した抽象ビューに含まれています。抽象ビューはレイアウトに比べて情報量がはるかに少なく、ライブラリ交換フォーマット(LEF)ファイルまたはそれに相当するファイルとして認識できる場合が多い。
レイアウトが作成された後、多くの場合、追加の CAD ツールを使用して、いくつかの一般的な検証を実行します。設計ルールチェック (DRC) を実行して、設計がファウンドリやその他のレイアウト要件を満たしていることを確認します。次に、寄生抽出(PEX) を実行して、レイアウトから寄生特性を持つ PEX ネットリストを生成します。次に、そのネットリストのノード接続をレイアウト対回路図(LVS) 手順を使用して回路図ネットリストのノード接続と比較し、接続モデルが同等であることを確認します。[ 2 ]
PEXネットリストには寄生特性が含まれているため、再度シミュレーションを行うことで、より正確なタイミング、電力、ノイズモデルを得ることができます。これらのモデルは多くの場合、 Synopsys Libertyフォーマットで記述されますが、他のVerilogフォーマットも使用可能です。
最後に、強力な配置配線(PNR)ツールを使用して、上位レベルの設計ネットリストやフロアプランから、すべてを自動的に統合し、超大規模集積回路(VLSI)レイアウトを合成(生成)することができます。
さらに、セルビューやモデルのその他の側面を検証するために、他の多くのCADツールが使用される場合があります。また、標準セルをさまざまな目的で利用する各種ツールをサポートするために、他のファイルが作成されることもあります。標準セルのすべてのバリエーションの使用をサポートするために作成されるこれらのファイルは、総称して標準セルライブラリと呼ばれます。
典型的なブール関数には、機能的に等価なトランジスタネットリストが多数存在します。同様に、典型的なネットリストには、その性能パラメータに適合するレイアウトが多数存在します。設計者の課題は、標準セルのレイアウトの製造コストを最小限に抑えること(一般的には回路のダイ面積を最小化することによって)と、セルの速度と電力性能要件を満たすことです。そのため、集積回路のレイアウトは、このプロセスを支援する設計ツールが存在するにもかかわらず、非常に手間のかかる作業となっています。
標準セルライブラリは、AND、OR、NOT、フリップフロップ、ラッチ、バッファなどの低レベル電子論理関数の集合です。これらのセルは、高さ固定、幅可変のフルカスタムセルとして実現されます。これらのライブラリの重要な点は、高さが固定されているため、セルを列状に配置でき、自動デジタルレイアウトのプロセスが容易になることです。セルは通常、遅延と面積を最小限に抑えるように最適化されたフルカスタムレイアウトになっています。
典型的な標準細胞ライブラリは、主に2つの構成要素から成り立っています。
標準セルライブラリには、以下の追加コンポーネントが含まれる場合もあります。[ 3 ]
例えば、単純なXOR論理ゲートは、ORゲート、NOTゲート、ANDゲートを組み合わせて構成できます。
厳密に言えば、2入力のNAND関数またはNOR関数があれば、任意のブール関数セットを構成するのに十分です。しかし、現代のASIC設計では、標準セル方式が採用され、多数のセルライブラリが使用されます。このライブラリには通常、面積や速度が異なる同じ論理関数の複数の実装が含まれています。[ 3 ] この多様性により、自動合成、配置、配線(SPR)ツールの効率が向上します。また、間接的に、設計者は実装上のトレードオフ(面積、速度、消費電力)をより自由に選択できるようになります。標準セル記述の完全なグループは、一般的にテクノロジーライブラリと呼ばれます。[ 3 ]
市販の電子設計自動化(EDA)ツールは、テクノロジーライブラリを使用してデジタルASICの合成、配置、配線を自動化します。テクノロジーライブラリは、ファウンドリ事業者によって開発および配布されます。このライブラリ(および設計ネットリスト形式)は、SPRプロセスのさまざまな段階間で設計情報を交換するための基盤となります。
ロジック合成ツールは、テクノロジーライブラリのセル論理ビューを使用して、ASICのレジスタ転送レベル(RTL)記述を、テクノロジー依存のネットリストに数学的に変換する処理を実行します。この処理は、ソフトウェアコンパイラが高水準のCプログラムリストをプロセッサ依存のアセンブリ言語リストに変換する処理に類似しています。
ネットリストは、ASIC設計の論理ビューレベルにおける標準セル表現です。標準セルライブラリゲートのインスタンスと、ゲート間のポート接続で構成されます。適切な合成手法を用いることで、合成されたネットリストと元のRTL記述との間に数学的な等価性が確保されます。ネットリストには、マッピングされていないRTLステートメントや宣言は含まれません。
高位合成ツールは、Cレベルモデル(SystemC、ANSI C/C++)の記述を、技術依存のネットリストに変換するプロセスを実行します。
配置ツールは、ASICの物理的な実装を開始します。ASIC設計者から提供された2次元のフロアプランに基づいて、配置ツールはネットリスト内の各ゲートの位置を割り当てます。結果として得られる配置済みゲートのネットリストには、ネットリストの各標準セルの物理的な位置が含まれますが、ゲートの端子同士がどのように配線されているかという抽象的な記述も保持されます。
通常、標準セルは少なくとも1つの次元で一定のサイズを持ち、集積回路上に列状に並べることができます。チップは膨大な数の列(各列の隣には電源とグランドが配置されます)で構成され、各列には実際の設計を構成するさまざまなセルが配置されます。配置者は特定のルールに従います。各ゲートには、ダイマップ上の固有の(排他的な)位置が割り当てられます。特定のゲートは一度だけ配置され、他のゲートの位置を占有したり、重なったりすることはできません。
配置済みゲートのネットリストとライブラリのレイアウトビューを使用して、ルータは信号接続線と電源線の両方を追加します。完全に配線された物理ネットリストには、合成によって生成されたゲートのリスト、配置によって生成された各ゲートの配置、およびルーティングによって生成された相互接続線が含まれます。
デザインルールチェック(DRC)とレイアウト対回路図(LVS)は検証プロセスです。[ 2 ]最新のディープサブマイクロメートル(0.13μm以下)での信頼性の高いデバイス製造には、トランジスタ間隔、金属層の厚さ、電力密度のルールを厳密に遵守する必要があります。DRCは、物理的なネットリストを「ファウンドリ設計ルール」(ファウンドリオペレーターから提供される)のセットと徹底的に比較し、違反が見つかった場合はフラグを立てます。
LVS プロセスは、レイアウトが関連付けられた回路図と同じ構造であることを確認します。これは通常、レイアウト プロセスの最終ステップです。[ 2 ] LVS ツールは、回路図とレイアウトから抽出されたビューを入力として受け取ります。次に、それぞれからネット リストを生成し、それらを比較します。ノード、ポート、およびデバイス サイズがすべて比較されます。同じであれば、LVS は合格し、設計者は続行できます。LVS は、トランジスタ フィンガーを幅広トランジスタと同じとみなす傾向があります。したがって、並列接続された 4 つのトランジスタ (それぞれ 1 μm 幅)、4 フィンガー 1 μm トランジスタ、または 4 μm トランジスタは、LVS ツールでは同じとみなされます。.lib ファイルの機能は SPICE モデルから取得され、.lib ファイルの属性として追加されます。
半導体設計において、標準セルは設計規則チェック(DRC)およびレイアウト対回路図(LVS)に準拠していることが保証されます。この準拠により設計プロセスの効率が大幅に向上し、設計者のターンアラウンドタイムが短縮されます。これらのセルが重要な検証基準を満たしていることを保証することで、設計者はこれらのコンポーネントをより大規模なチップ設計に統合する作業を効率化し、よりスムーズで迅速な開発サイクルを実現できます。
「標準セル」は、セルベース設計と呼ばれるより一般的な設計自動化フローの範疇に属します。 構造化ASIC、FPGA、CPLDは、セルベース設計のバリエーションです。設計者の視点から見ると、これら3つの手法はすべて、設計のRTL記述という同じ入力フロントエンドを共有しています。しかし、SPRフロー(合成、配置配線)の詳細と物理的な実装においては、これら3つの手法は大きく異なります。
CBICにおける標準セル領域は、レンガを積み上げた壁のように、標準セルの列で構成されています。