(Part2) 数十億ゲート規模のASIC統合の課題:リセット・ドメイン・クロッシング

米国シノプシス 

シリコン・リアライゼーション・グループ
シニア・プロダクト・マーケティング・マネージャー Rimpy Chugh

R&Dグループ・ディレクター Paras Mal Jain


リセット・ドメイン・クロッシング(RDC)エラーがASIC不具合の原因に

クロック・ドメイン・クロッシング(CDC)の課題に関する記事では、CDCエラーがASICにとって致命的な問題であることについて述べました。同様の問題として、リセット・ドメイン・クロッシング(RDC)エラーがあります。今回は、IP統合時に直面するRDCの課題についてご説明します。
 

サインオフは、CDCとRDCのいずれにも必要です。


これまで、リセットと言えば外部で生成されたパワーオン・リセット(POR)やウォーム・リセットであり、ASICデザイン全体が既知の開始状態にリセットされていました。しかし、現在の大規模なASICには数百もの異なるリセットが存在します。これらのリセットは、パワー・マネージメントやデバッグ、あるいはセーフティ・クリティカル・システムなどで必要とされるエラー・リカバリ機構などのために、ソフトウェア(またはハードウェア)制御により内部で生成されます。


クロック・ゲーティング同様、リセット機構にも機能的な動作があり、機能検証が必要です。これは従来の検証、またはシステム・バリデーションの問題であり、従来の動的および静的検証ストラテジで解決できます。しかし、非同期リセットによって生じるメタスタビリティもチップの完全な不具合を招く要因の1つであり、数十億ゲート規模のASICではリスピンに膨大なコストがかかってしまいます。この種の問題をソフトウェアで回避できることはほとんどありません。このリスクは、リセットが複雑化の一途をたどる中でますます悪化しています。チップの中で、ある特定のリセット信号の影響の及ぶ範囲をリセット・ドメインと呼び、あるリセット・ドメインから別のリセット・ドメインに信号が移動することをRDCと呼びます。RDCはメタスタビリティの影響を受けやすく、下図に示すように1つのクロック・ドメイン内で発生することもあります。

当然、RDCエラーはCDCエラーほど頻繁には発生しません。クロックは連続的に動作しているのに対し、リセット・イベントはそれほど頻繁には発生しないためです。このため、RDCエラーは最終的なシリコンでの特定、デバッグ、根本原因解析が難しく、RDC解析はプリシリコン段階での重要なサインオフ条件となります。
 

ASIC開発者は、この種の問題をプリシリコン段階で取り除くための検証ストラテジを必要としています。RDCサインオフを達成するには、開発者はRDC検証ストラテジを完全なASIC開発ワークフローに組み込み、RTL開発の最も初期の段階でRDC解析を実行する必要があります。これにより、最終的なテープアウト・リリース前にスムーズで予測可能なRDCサインオフが可能になります。

では、RDCに関して開発者はどのような課題に注意すべきでしょうか。

リセット入力のない順序回路への対処

リセット特有の課題とは、次の図に示すように、リセットが逐次的な性質を持ち、データパス・パイプラインにリセット入力のない多くのエレメントが存在することにあります。

フロップへの入力がクロックと非同期に変化し、入力のセットアップおよびホールド・タイム違反がメタスタビリティを引き起こすという基本的な問題を除けば、CDCとRDCは根本的に異なる問題であるため、RDCエンジンはCDCエンジンとは異なる解析を実行する必要があります。RDCのメタスタビリティは、次のリセット可能なエレメントに到達するまで、パイプラインを伝搬します。つまり、RDCパスは順序回路の長いチェーンにまたがることがあるため、RDC解析メソドロジはデザイン全体を対象にグローバル解析を実行し、これらリセット入力のないエレメントを検出できる必要があります。
 

デザインに存在する潜在的なRDCパスを特定したら、修飾信号やブロッキング・ゲートを使用してこれらのパスを保護します。順序回路パスのどの部分にブロッキング・ゲートを配置するかについては、いくつかのストラテジがあります。これ以外には、リセットがアサートされたときにクロックをブロックする、または最終的なフロップを同じリセット・ドメインのものにする、などの方法をとることもできます。RDC解析ツールは、どの緩和機能が効果的であるかを特定し、RDCパス解析から生じるすべての誤検知を排除できる必要があります。
 

この問題は、VC SpyGlass® RDCによって解決できます。VC SpyGlass RDCの解析エンジンは、リセット入力を持たない様々な深さのパイプラインにわたってデザインに存在するRDCパスを特定し、一般的によく使用される軽減機能を特定して誤検知の出力を最小に抑えます。このため、RDCサインオフに必要な人手による解析を大幅に軽減できます。

クロック・パスのRDC

リセット・フロップの出力がクロック・ゲーティング・セルの入力に伝搬する場合、RDCパスが直接クロックに伝搬することがあります。つまり、非同期リセットに起因するメタスタビリティによってクロック信号にグリッチが発生し、予測不可能な結果を引き起こします。

RDCのセットアップに関する注意事項

CDC検証と同様に、RDC検証もユーザーによるセットアップが成功を左右します。適切な制約を入力し、適切なウェーバーを特定する必要があります。これらが適切でないと、問題でないものを問題と判定する誤検知や、さらに悪いことには問題を見逃してしまう検知漏れにつながります。VC SpyGlass RDCはシノプシス PrimeTime®互換のSDCをネイティブにサポートしており、クロックとIOの意図を取り込むことができるほか、高度なリセット/RDC関連の制約もTCLで取り込むことができます。
 

また、RDC解析では、合成および配置配線ツールによってリセット・ドメイン間やパワー・ドメイン間に挿入されるリテンション・フロップやアイソレーション・セルについても理解・認識しておく必要があります。これらのセルが挿入された場合の、RDCパスへの影響への考慮が必要となるためです。そこで、VC SpyGlass RDCはシノプシス VC LP®との密接な連携により、IEEE標準のUPFパワー・インテント・ファイルを使用して消費電力を考慮したRDC解析を可能にしています。

RDCでもホワイトノイズが問題に

出力される違反の量が多いと、人手での解析は困難になります。出力が多すぎるということは、すなわち大量の誤検知に対して解析とウェーバー処理が発生しているということであり、その結果、本当の問題を見落としてしまうリスクが大きくなります。無駄な解析を減らし、本当の問題を見落とすリスクを抑えるには、ツールによる何からの支援が必要です。VC SpyGlass RDCには、ソース/デスティネーション・リセット、クロック、フロップなどさまざまなフィールドに基づいて違反出力を複数レベルでグループ化する機能があり、エンジニアの人手による解析の負担を軽減します。

スケーラビリティ、性能、デバッグ生産性

VC SpyGlass® CDCなど、シノプシス Verification Continuum®プラットフォームを形成するスタティック検証ソリューションと同様に、VC SpyGlass RDCは数十億ゲートの最新のASIC設計で直面するスケーラビリティ、性能、デバッグ生産性の課題を解決します。VC SpyGlass RDCは完全なフラット型解析、およびサインオフ抽象モデル(SAM)を使用した階層型フローによるボトムアップ・アプローチをサポートしており、最大規模のデザインにもスケーラブルに対応した強力なRDC解析が可能です。事実、VC SpyGlass RDCは、従来世代のRDCソリューションの約3倍の性能を達成しています。
 

言うまでもなく、ASIC開発ワークフローの多くの局面では、計算時間やツール実行時間よりもエンジニアリング時間の方がボトルネックとなりがちです。このため、業界をリードするVerdiデバッガの統合により使い易さと高い生産性を実現したデバッグ環境は、RDCデバッグの時間短縮に向けた待望のソリューションと言えます。