Please note that JavaScript and style sheet are used in this website,
Due to unadaptability of the style sheet with the browser used in your computer, pages may not look as original.
Even in such a case, however, the contents can be used safely.

SX-9のハードウェア技術 CAD技術

今野 良展 ・井川 康宏 ・沢野 知紀 ・金丸 恵祐 ・小野 公揮 ・熊崎 雅仁

要旨
本稿ではSX-9で利用した設計手法とCAD技術の概要について説明します。

SX-9のLSI、パッケージ設計では、大規模化、高速化、省電力化、微細化への対応と、それらの検証をいかに行うか、更に設計リードタイム短縮、設計効率化、設計品質向上が求められており、設計手法とCAD技術を高度にインテグレートして実現しました。

キーワード

  • CAD
  • LSI設計
  • パッケージ設計

1. まえがき

スーパーコンピュータSX-9は、65nm CuプロセスのCMOS LSIテクノロジを採用した高速、大規模、高信頼性のLSIと、これらLSIを高速、高密度に実装するパッケージから構成されます。特にLSIはベクトルプロセッサ(ベクトルユニット+スカラユニット)を1チップ化し、中枢部は3.2GHzと超高速で動作し、規模は数Mインスタンス以上と大規模なものとなっています。

このような高性能なスーパーコンピュータを実現するには、大規模、高速、省電力、微細化に対応する設計技術とCAD技術が必須であり、そして設計ミスによる後戻りを防ぐ検証技術が非常に重要となります。本文ではSX-9のLSI設計、パッケージ設計を支えた設計技術、CAD技術を紹介します。

2. 論理検証技術

多機能、高性能なシステム設計では設計過程においてどうしても論理的な誤り(論理バグ)が盛り込まれてしまいます。システムが設計思想通りに動作するためには、開発期間の中で論理バグをすべて排除する必要があります。SX-9ではアサーションを用いた論理検証手法を採用し検証網羅性を高め、かつ効率的に論理バグを検出しています。

2.1 アサーションを用いた論理検証

論理設計は設計思想からハードウェアの機能仕様を作成し、それを論理合成可能なハードウェア記述言語(HDL)の記述に詳細化していきます。LSI設計は主にHDLを入力として行うため、HDLが機能仕様通りに設計されているかを検証する必要があります。しかし機能仕様は日本語や図表などあいまいな記述で作成される場合が多く、そのままではHDLと自動的に比較するような検証はできません。アサーションは機能仕様の曖昧さを排除し、動作、制約などを専用の言語を用いて明確に記述したものです。機能仕様そのものが記述されたアサーションを用いることにより直接HDLとの間でフォーマル検証やシミュレーションを行い仕様違反の検出ができます。設計者は早期に機能仕様に対するHDLの検証が可能となり、かつ、設計で用いたアサーションを検証に使用することで一貫性を確保して設計全体の効率化が実現できます。

2.2 アサーションを用いたフォーマル検証

フォーマル検証は、シミュレーションのようにテストベンチを作成せずに、アサーションに記述された仕様とHDLとの間で数学的手法を用いて完全な等価性を証明する技術です。また、HDLの構造を解析し、例えばデッドロックやリセット信号が未入力のフリップフロップ(F/F)を検出するアサーションを自動的に抽出することが可能です。検証のための準備が不要となることから早期に効率的な検証が可能です。更にSX-9では機能仕様に記述した真理値表を入力として、機能的なアサーションについても一部自動生成する技術を開発しました。これにより設計者のアサーション作成にかかわる負担を軽減し効率化が図られます。フォーマル検証はこのように検証工程の初期段階で効率的に漏れなく論理バグを検出することが可能である一方、完全な証明であるため検証対象の規模や複雑度が増すと解析量が爆発的に増加し現実的には検証できないという課題もあります。そこで機能ごとに分割したブロックレベルなど検証規模を考慮した上でフォーマル検証を実施しています。

2.3 アサーションを用いた論理シミュレーション

フォーマル検証では大規模モデルの検証は困難なためSX-9では特に大規模のLSI、システムレベルの論理検証は、論理シミュレーションにアサーションを導入して網羅的かつ効率的に運用することにより、フォーマル検証と棲み分けて検証しています。大規模モデルは検証対象が広範囲でかつ複雑さが増すため、シミュレーションで期待結果が得られない場合に論理バグの特定が非常に難しくなります。このためアサーションをモデルの各所に埋め込み、チェッカとして仕様違反を検出するとともに、論理バグに近い機能のアサーションがいち早く違反を検出することを利用して、不正動作の発生機能の特定を行います。これにより大規模で複雑なモデルでも不正動作発生時の解析性が向上します。また、埋め込んだアサーションをモニタとして用い、シミュレーションで評価済みか未評価かを管理します。これにより未評価アサーションに対応する機能を狙ったテストベンチを作成し、未評価機能をなくすことができ、検証の網羅性を高めます。

3. 大規模設計技術

3.1 階層設計技術

SX-9向けの大規模かつ高性能のLSIを設計するために、SX-8で用いた階層レイアウト設計手法を踏襲しながらその改良を行っています。SX-8のトップダウン階層設計手法とはCHIPレイアウトを、上位階層(TOP)と複数の下位階層(UNIT)に分割し、一度に扱う必要のあるデータ量を小さなものに限ることによって個別の処理のTATを小さくするとともに、下位の複数のレイアウトを並列に行うことによってフロー全体としての設計期間の短縮を図る手法でした。この考えは同様ですが、SX-9ではボトムアップ手法とトップダウン手法を組み合わせて多階層を扱うことや、UNITへの遅延制約を作成するためのバジェット手法を改善することにより、階層設計で問題になる分割を行ったときの損失を抑え、またUNIT設計で物理合成を行うときの遅延精度を向上させることにより設計効率の向上に取り組みました。また最初の配置・配線実行時にTOP/UNITを分割して実行するだけではなく、その終了後CHIPレベルへの組上げを行い、最終段階でレイアウト変更を行うときにも、その一部(若しくは大半を)再度指定した領域のみ切り出して修正作業を行い、再度CHIPレベルに反映させる技術を開発しました。これは最初のTOP/UNITへの分割が論理的なまとまりを意識し、最適化を含めたレイアウトがRTL(Resister Transfer Level)の階層と一致するのに対し純粋に特定のレイアウト領域を切り出して修正する点で従来のものと異なっています。これを行うことで純粋な物理的処理(ex.ダミーメタル生成)はCHIP単位で行う場合に比べ、TATを数分の一にすることができました。

3.2 クロック分配とリペア

大規模なLSIは消費電力が大きな問題になっているため、低消費電力化のためクロックゲーティング(詳細は第4章第2項参照)を行いました。そのレイアウト対応としてSX-8で使用した低スキュークロック分配技術にクロックゲーティングを行ったクロック分配バッファをFF配置に応じて自動的に構成する技術・分配及び配線の手法を開発しました。SX-9でもSX-8同様グローバルクロックとローカルクロックの多段階分配(その時の負荷調整によるスキュー低減手法)を用いており、メッシュ構造から分配バッファで各F/F及びマクロに配られますが、その分配バッファにクロック制御信号を入れて制御することで消費電力の低減を図っています。この制御信号はネットリスト合成時点ではレイアウトを考慮しないため、論理的なまとまりのみで分配されますが、配置後には物理的な位置とクロック本来の配線最短化を考慮して分配を再構成する(主に分配バッファの分割を行う)手法をとりました。またSX-9のような高速な回路ではシグナルインティグリティの確保が大きな課題となりますが、このエラーリペアに当たっては、単一種類のエラーを個別に直していくのではなく、アンテナエラー違反・エレクトロマイグレーションエラー・クロストークエラー・波形なまり制限オーバー・ファンアウト制限オーバーのような複数種類のエラーを(遅延系のsetup/holdエラーの修正も一部含めて)単独の処理でリペアを行うことによりリペアフローの短TAT化を図りました。それにはリペアの手法として単にバッファを入れるような単一の方法ではなく、エラーごとに配置の改善やゲートの種類変更、ゲートの挿入、配線の修正などいくつものやり方を複合させる必要がありました。重複したエラーを1つのやり方で直るかどうかを見積もることによりより少ない修正で多数の問題に対して改善を行うことが可能になりました。

4. 省電力設計技術

SX-9のような大規模なシステムにおいては、TCO(Total Cost of Ownership)の削減は必須で、特にLSIの消費電力低減が重要です。一方で、システム全体の電源設計はLSI設計と並行して行われるため、設計の初期段階で消費電力を高精度に求めることで、設計後に電源の供給能力が不足するといった後戻りを防ぐ必要があります。

4.1 電力見積もり技術

電力見積もり技術には大きく分けてリーク電力見積もり技術と、ダイナミック電力見積もり技術の2つがあります。リーク電力は、個々のセルについてあらかじめリーク電力を定義しておき、回路中で使用されているセルそれぞれのリーク電力の和をとることで算出することができます。一方、ダイナミック電力については、まず回路をシミュレーションによって動作させ、個々のF/Fがどれくらいの率で稼働しているか(トグル率)を求めます。そのトグル率に基づいて電力見積もりツールが個々のセルについて負荷容量の充放電電流に基づく電力消費量を算出し、それを総和することで求めました。

4.2 電力削減技術

SX-9の設計に採用した電力削減技術のうち、主要技術であるクロックゲーティングとMulti-Vthについて説明します。クロックゲーティングは、動作時のダイナミック電力を削減する技術として適用される技術です。通常、F/Fに配られているクロック信号は常時動作しており、F/Fのデータが変化しない時でも、F/Fのクロック系回路は動いているため、無駄な電力が消費されます。クロックゲーティング技術は、データ変化がないF/Fに対してはクロック信号そのものを停止することによって、F/Fのクロック系回路でのダイナミック電力を削減します(図1参照)。一方、Multi-Vth技術は回路を構成するトランジスタのリーク電力を削減する技術です。半導体プロセスの微細化が進むにつれ、回路が動作していない時のトランジスタリーク電力が大きくなっています。トランジスタのVth(閾値電圧)を高くすることによって、このリーク電力を抑えることができますが、動作速度が落ちてしまいます。そこで遅延性能が厳しい箇所には動作速度の速い低Vthセルを使用し、遅延性能に余裕がある箇所では反対に動作速度は落ちるがリーク電力の少ない高Vthセルを使用することによって、回路のリーク電力と遅延性能を同時に改善することが可能となります。これをMulti-Vth技術と呼んでいます。

5. 遅延解析技術

SX-9では、高速、微細なプロセスを適用していることで、目標遅延に対し、製造バラツキの影響が非常に大きいので、SX-9向け遅延解析では、Setup/Hold検証において余分な検証マージンを除去し、ピコ秒(一兆分の一秒)オーダのスキュー解析精度を実現しています。

5.1 クロックメッシュの高精度遅延計算技術

複数のクロック・ドライバ出力をワイヤード接続したメッシュ構造を有するクロック・アーキテクチャを採用した設計においては、メッシュ部の遅延について従来のセルベース(ゲートレベル)の遅延解析(STA)ツールでは精度良く算出することができませんでした。また、SX-9に実装されているGHzオーダのクロック周波数領域では、インダクタンス(L)の影響も無視することができなくなります。そこで、PLL~クロックメッシュ部についてはインダクタンス成分も含めたLRC抽出を実行し、SPICEシミュレーションによる過渡解析結果から遅延値を求め、その他のデータラインなどはSTAツールで遅延計算して、双方結果を統合するハイブリッド方式の遅延検証フローを開発しました。これにより、TATの長いSPICEシミュレーションの処理対象を極小化でき、クロック遅延精度とTATの観点でバランスの取れた遅延計算環境を実現しています。

5.2 ランダム製造バラツキを考慮する遅延解析技術

近年の微細化プロセスにおいては、トランジスタと配線の製造プロセスにおけるロット間やウェハー間のWorst/Bestケースを見込んだライブラリによる遅延解析だけでは、チップ内ランダム製造バラツキの要因により実チップ動作の保証が難しくなってきています。このため、SX-9のLSI遅延解析では、クロック・ドライバ配置位置の広がりに応じてオン・チップ遅延変動係数を決定し、それをクロック・レイテンシーに反映させることにより、ランダム製造バラツキを考慮させたスキュー計算を実現しています。つまり、配置が近いF/F間の転送パスでは、送受信クロック・ドライバの配置も小さい範囲に存在し、バラツキが小さい傾向にあるので小さな遅延変動となり、遠いF/F間パスでは、逆に大きな遅延変動が考慮されます(図2参照)。

6. パッケージ設計技術

SX-9では複数の制御LSIと多数のメモリモジュールを同一のプリント基板上に実装し、高速の信号伝送を行います。このため、配線の論理的接続を検証する技術、配置・配線設計を効率よく行う設計技術が重要になります。

6.1 早期設計検証技術

制御LSIと多数のメモリモジュールの間の多数の配線を正しく接続するため、配線の接続ルールを生成するツールと、ネットリストの接続情報が接続ルール通りになっていることを検証するツールを開発し、効率的な接続検証を可能としています。また、検証の網羅性を高め設計品質を向上しています。

6.2 リアルタイム検証

プリント基板上には、制御LSIやメモリモジュールのほか、コンデンサ、抵抗など様々な部品を高密度に実装します。

これらの部品の実装間隔が、生産・修理の際に必要な間隔を保っているかどうかを、設計しながらリアルタイムに検証できるような設計フローの作成を行い、配置設計の効率を向上しています。

また、制御LSIとメモリモジュールの間の多数の高速信号は、ディファレンシャル(差動)ペアにより配線され、ペアとなる2つの信号配線に対しては、配線長・配線間隔などの様々な制約が設定されているほか、高速信号以外の多くの信号にも配線長などの制約が設定されています。

これらの制約が守られているかどうかを、設計しながらリアルタイムに検証できるような設計フローの作成を行い、差動・等長などの配線制約を守る設計を効率よく行うことを実現しています。

7. むすび

以上、SX-9の設計技術とCAD技術の特徴について紹介しました。

今後もスーパーコンピュータの高性能化、低消費電力化、高信頼化が求められていますので、それらを実現するLSI、パッケージを効率的、かつ高品質に設計する技術はますます重要になります。そこで、今後もより優れた設計技術、CAD技術を開発し、スーパーコンピュータの競争力向上に貢献していく所存です。

執筆者プロフィール

今野 良展
第一コンピュータ事業本部
コンピュータ事業部
技術エキスパート

井川 康宏
第一コンピュータ事業本部
コンピュータ事業部
技術エキスパート

沢野 知紀
第一コンピュータ事業本部
コンピュータ事業部
技術エキスパート

金丸 恵祐
第一コンピュータ事業本部
コンピュータ事業部
主任

小野 公揮
第一コンピュータ事業本部
コンピュータ事業部
主任

熊崎 雅仁
第一コンピュータ事業本部
コンピュータ事業部
主任