オンチップ SRAM ストレージの概要と製造方法 (パート 2)

最初の 2 つの部分を理解して慣れれば、SRAM の理解は基本的に明確になります。
ここで学んだ知識を使用して、SRAM の生成と選択のための独自の方法論とプロセスを確立できます。この章では、著者がいくつかの洞察とブレインストーミングを共有し、この自動化されたプロセスについて説明します。
ここに画像の説明を挿入

SRAMの生成方法

さまざまなプロセスと FAB に基づいて、対応するメモリ チームが存在し、指定されたプロセスのメモリ アレイとペリフェラルを構築します。ここでの構造とは、いくつかの基本的なコンポーネントの構造を指し、それらはパッケージ化されて自動コマンドの形でユーザーに配信されます。これは、ユーザーがさまざまな構成と選択を実行するのに便利です。
さまざまな SRAM ベンダーが提供するキットは異なることが多く、GUI とバッチをサポートするものもあれば、バッチをサポートするものもあります。それに比べて、バッチをサポートする必要があります。そうしないと、この種の作業を大規模なプロジェクトでバッチで実行できません。ここでは、バッチ モードを使用して SRAM を生成する T ファミリを例に取り上げます。

> tsn7_1prf.exe -NonTsmcName -file $CFG_FILE

各 SRAM には独自のデフォルト名がありますが、データ管理の便宜上、ユーザーは通常、計画に独自の名前を使用する必要があるため、T の mem-gen を使用する場合は、名前の定義に独自の $CFG_FILE を使用することをお勧めします。もちろん、ここの $CFG_FILE は、SRAM の特定のビット幅、ビット深度、列 MUX 情報を指定する必要があります。簡単な例は次のとおりです
ここに画像の説明を挿入)
T のコマンド ラインは、以下を含むがこれらに限定されない他のオプションもサポートしています。

  • SRAM データシート: SRAM のさまざまなタイミング、消費電力、および物理情報が含まれています。
  • さまざまなビューの生成オプション
    • Verilog シミュレーション モデル
    • DFT ビュー
    • タイミング ビュー
    • マシスビュー
    • スパイスビュー
    • GDSビュー
    • レフ ビュー
    • ヴォルタス ビュー
  • さまざまな構成の選択 (さまざまな種類のメモリを考慮して、すべての構成が対応するメモリを生成できるわけではありません。ユーザーは memgen ログを確認する必要があります)
    • DualRail: VDD/VDDM に異なるレールを使用
    • ULVT/SVT: 末梢標準細胞 VT の選択、
    • BIST: MBIST モードをサポートするかどうかを制御します
    • bit-wise: ビット書き込み操作をサポートするかどうか
    • 等…

構成可能なすべてのインターフェイスは、バッチ モードで構成できます。これの利点は、ユーザーが大面積 SRAM を選択および生成する際の自動化の実現をサポートできることです。
同様の SNPS は mem-gen でバッチおよび GUI インターフェイスを提供します. GUI 操作は比較的便利ですが、バッチ生産では、生産効率を向上させるためにバッチを使用する必要があります
ここに画像の説明を挿入)

実際のプロジェクトでの SRAM 選択寸法

上記の説明とツールのサポートにより、ユーザーは基本的に SRAM の生成を開始できます。上記の情報とリソースは、最終的には実際のプロジェクトをサポートするためのツールであり、さまざまな SRAM の比較、マッチング、および選択は、実際に機能する実際のプロジェクトです。
今日の大規模なチップでは、SRAM が使用する面積がプロジェクト全体の半分近くを占めることもあるため、SRAM の選択は次のような側面から考慮する必要があります。

  • プロセスに基づく SRAM ベンダーの選択

    • チャネル 1: 通常、FAB がプロセスを提供する場合、SRAM ベンダーの推奨事項も提供します. 一般的に言えば、FAB 独自の SRAM は、T や S など、一般的に無料です (TO 料金でカバーする必要があります)。プロセス
    • チャネル 2: サードパーティの SRAM ベンダーの中には、FAB と確固たる商業契約を結んでいるものもあり、FAB もそれをユーザーと共有し、ユーザーが自分で選択できるようにします。
    • チャネル 3: 特定のプロセスのために、一部の商用顧客は SRAM を特別に開発し、S、A などの元の FAB よりも優れた PPA を実現できます。現時点では、ユーザーがそれを使用するときは、次のように使用する必要があります。 IP を購入することは追加料金を支払うことと同じです. ユーザーが特定の PPA に本当に依存している場合は、このお金を使うことを検討できます.
  • レールの検討: チップ全体のレール設計に関わるため、早い段階で明確に検討する必要があり、プロジェクトは通常、統一された戦略を採用します。現在の SRAM は、周辺の分離ロジックを失うことなく SD/DSLP 設計をサポートしていますが、SRAM の内部処理には分離のコストが必要です。プロジェクトの消費電力とパフォーマンスのバランスに基づいて、初期段階でレール モードを選択することが非常に重要です。

  • STAMのDFT相関:

    • BIST: SRAM には周辺標準セルがあるため、この MBIST の DFT 機能は、そのような標準セルの障害位置をサポートできます。コストは、入力ピンの急激な増加によるものであり、これは APR の新たな課題となる可能性があります. 通常、巻線リソースを節約するために、これらの周辺 std-cell MBIST テストはスキップされ、MBIST テストは全体で実行されます。メモリ(メモリアレイを含む)を直接。
      ここに画像の説明を挿入
    • BISR: 歩留り率を達成するために, BISR が必要な場合があり, 特に列冗長ビット. FAB によって提供されるデータを介して, 通常、1 ビットの冗長性を修復し、検査し、2 倍にすることができます. コストパフォーマンスは依然として非常に高い.
    • すべての SRAM DFT 関連部品には、追加の STD セル サポートが必要です. このタイプの領域は、通常、メモリ領域の約 5% から 10% です. 大規模なチップの場合、この部分の影響は、アーキテクチャを設計するときに包括的である必要があります。エリアを評価します。検討します
  • 形状: メモリ (またはメモリ アレイ) が多すぎるため、メモリ形状は APR のフロアプランとピン アクセスに比較的大きな影響を与えます。具体的な例については、次を参照してください: 2 番目のステップであるフロアプランを実現するために装飾レイアウトを行いましょう以下にいくつかの注意点を示します。

    • 速度上の理由から、列マルチプレクサを大きくしすぎないでください。メモリがフラットになりすぎます
    • サイズが小さすぎるメモリを作成しないでください。従来の pg ストラップが直接メモリに落ちなかったり、電源接続のパフォーマンスが低下したりする可能性があります。
  • タイミング: ここでは、タイミングに焦点を当てます。メモリが広範囲に分散されているため、プロジェクトが非常に大きい場合、メモリのタイミングの問題が、L1/L2 などの一部のコア コンポーネントのパフォーマンスのボトルネックになります。したがって、メモリを選択するときは、いくつかの特別な注意事項があります。エレメント

    • Tcycle: 最小 CLK サイクル時間 CLK^ CLK^。このパラメータは、メモリがサポートできる最小期間 (最高周波数) を記述します, これは、プロジェクトによって計画された周波数よりも高くする必要があります. さらに, このパラメータはクロック入力遷移のルックアップ テーブルでもあるため, 通常はクロックの最初のバージョン-transition will 約 50ps と定義されているため、メモリを選択する場合、Tcycle はプロジェクトの要件より 20% 以上のマージンが必要であることがここで示唆されています。プロジェクトの主な周波数が 1G の場合、SRAM の Tcycle 時間が ssg の条件で 0.8ns を超えないようにする必要があります。

    • Tckh/Tckl 最小 CLK パルス ハイ/ロー。通常、それぞれが Tcycle の約半分です. ここで重要なことは、段数が多すぎる (遅延が長すぎる) クロック ネットワークの場合、最初にクロック インバーターを使用してクロック ツリーを構築し、デューティを制御する必要があることです。リーフ (メモリ クロック ピン) のサイクル 比率、つまり、満たすようにしてください: Tckh/Tckl
      ここに画像の説明を挿入

    • Tcd/Tacc: 有効な Q (データ出力) への CLK。これは、メモリから Q 出力までの時間を表すもので、メモリからのデータパスに大きな影響を与えます。
      ここに画像の説明を挿入
      通常、メモリのサイズは比較的大きいため、アクセス時間は通常 200ps ~ アップであるため、タイミング パスの場合、これがパス上のデータの損失の最大値になる可能性があります。 Tqd および Tcd またはそれを増やす
      ここに画像の説明を挿入
      . 有用なスキュー (Tlat_2 - Tlat_1) は、チップのパフォーマンスを向上させることができます。
      通常、Tcd の場合、全期間の 60% を超えないようにすることをお勧めします

  • 消費電力: 異なるタイプのメモリの消費電力も異なります. このとき, メモリのペリフェラルのULVTとLVTの比率はリークに大きな違いをもたらします. タイプを選択するときは, を区別する必要があります.適切なタイプを採用するために、これらの 2 つのタイプがタイミングの影響に与える影響。

実際のプロジェクトでの SRAM 生成の簡単なプロセス

メモリのさまざまな属性を理解することで、生成と選択のプロセスに次の簡単なプロセスを使用できます。

  1. rail と DFT の一般的なメモリ要件を決定する
  2. メモリのビット深度とビット幅の要件を明確にします。メモリが大きすぎる場合は、フロント エンドとバック エンドによって定義されたルールに基づいて、手動または自動で分割する必要があります。
  3. 上記の要件を満たすメモリのバッチ生成: ビット幅、ビット深度、列 MUX および LVT/ULVT などの構成が異なり、結果は同じではありません. ここでは、すべての可能性をトラバースし、選択範囲を増やす必要があります.
  4. すべてのメモリでタイミング パフォーマンス解析を実行します。使用できるメモリは、上記の Tcd と Tcycle のマージンを同時に満たす必要があります。
  5. タイミング要件を満たすメモリがある場合は、消費電力とアスペクト比を再選択し、低消費電力でアスペクト比が適切なメモリを選択して納品し、タイミング要件を満たすメモリがない場合は再分割します。 (通常はビットを半分にカットした方がタイミングが合いやすいです)、適当なメモリが選択されるまで手順3~5を繰り返します。

主なポイント:

  • メモリ内で生成されるデータの量は膨大であり、スクリプト化された生成モードを使用する必要があります。たとえば、Excel-> perl -> memgen バッチ実行 -> データシートの分析 -> 適切なメモリを解放します。
  • モデル選択の初期段階では、データシートを見ることしかできず、他のビューを最初に生成することはできません。これにより、速度が向上し、ディスク使用量が削減されます。
  • CM は、タイミングに合わせて大きすぎないようにする必要があります。適切に分割して、メモリの形状をより合理的にすることができます。
  • デフォルトでは、LVT はメモリ ペリフェラル プランニングに使用されます. ECO ステージにタイミング障害がある場合は、ローカル タイミング プッシュのために ULVT に切り替えることを検討できます. パフォーマンスと引き換えにリークの一部を犠牲にし、反復サイクルを節約できます.
  • 同じロジック メモリの対応する物理メモリは、可能な限り同じ仕様で選択する必要があります。これにより、フロアプラン レイアウトでの取り扱いが容易になり、チャネルが削減され、使用率が向上します。

この章の語彙

ボキャブラリー 説明
トサイクル メモリがサポートする最小周期 (最高周波数)
Tcd/タック メモリアクセス時間 CLK->Q

【黒板をノックして要点を描く】

ここに画像の説明を挿入
3 つの記事の学習を通じて、メモリの構造、原理、特性パラメーター、バッチ生成、およびプロジェクトの選択に関する基本的な理解と理解が得られました.このシリーズの記事があなたにインスピレーションとインスピレーションをもたらし、あなたがより良いものになることを願っています.プロジェクト メモリを正しく理解して適用し、より効率的な利益と PPA をプロジェクトにもたらします。

参考文献

TSMC TSMC N7 SRAM コンパイラ データブック
Synopsys Embed-It! インテグレーター ユーザー マニュアル

おすすめ

転載: blog.csdn.net/i_chip_backend/article/details/122411816
おすすめ