• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Blogs
  2. カスタムIC/ミックスシグナル
  3. Spectre Tech Tips: Spectre X の大容量回路シミュレーション
Custom IC Japan
Custom IC Japan

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
Voltus-XFi
EMIR Analysis
Spectre Circuit Simulator
japanese blog
Spectre X Simulator

Spectre Tech Tips: Spectre X の大容量回路シミュレーション

10 May 2023 • Less than one minute read

 私は、特に EMIR 解析などでは、Spectre X を使用して非常に大規模なデザインをシミュレートするのに慣れています。通常、これらのデザインには、最大で数億のノード、数百万の MOSFET デバイス、および数億の寄生抵抗と容量が存在します。一連のシミュレーションには、回路の動作と、実行された EMIR 解析にもよりますが、数日間を要します。

それにもかかわらず、最近、抽出後のスタンダードセルベースの膨大なデジタルデザインを入手し、通常の過渡 (非 EMIR) 解析を実行して Spectre X をテストすることに興味を持っています。このデザインには、4億のノード、3,000万の bsimcmg デバイス、15億の寄生容量、および 5億の寄生抵抗があります。さらに、タイミングをチェックするために、30万の測定ステートメント (.meas) が用意されていました。

最初に、測定ステートメントを無効にして Spectre X LX シミュレーション (+preset=lx) を実行し、パフォーマンスの期待値を大まかに把握しました。このシミュレーションでは 8コアを使用し、1d22h、800GBのメモリを使用しました。次に、測定ステートメントを有効にして同じシミュレーションを実行しました。このシミュレーションには 9d17hかかりました。測定に関連するパフォーマンスの低下は、次の 2つの影響によって引き起こされます:

  • 測定により、タイムステップごとにオーバーヘッドが発生します。
  • デフォルトでは、Spectre の測定では、正確な測定ポイントでタイムステップが適用されます。したがって、測定ステートメントを使用したシミュレーションでは、タイムステップが約15倍になります。

測定ステートメントを使用してシミュレーションを再実行しましたが、今回はオプション mdlthresholds=interpolated を使用して測定関連のタイムステップの強制を無効にしました。このシミュレーションには 4d 5hを要しました。

LX モードの精度が気になったので、次に Spectre X AX シミュレーション (+preset=ax) を開始しましたが、今回は8コアから32コアに変更しました。このシミュレーションには1d 20hかかり、LX の実行よりも 2.2倍多くのタイムステップが使用されました。

その間に、測定ポイントでタイムステップを強制する方法を用いて Spectre X AX も実行しました。このシミュレーションの結果は、ゴールデン精度の基準として使用できます。2つの質問に答える必要があります:

  • タイムステップを強制した場合と比較して、内挿を使用した測定によって生じる誤差はどの程度ですか?
  • Spectre X AX モードと比較したときの Spectre X LX モードの誤差はどのくらいですか?

興味深いことに、測定の内挿によるシミュレーション誤差はわずか 0.2%でした。したがって、今後のすべてのシミュレーションで mdlthresholds=interpolated オプションを使用すると結論付けることができました。一方、LX モードでは 4~5% のタイミング誤差が発生し、必要な測定精度を満たしていませんでした。

以下は、パフォーマンスの観察結果をまとめた表です。

Design size: 400M nodes, 30M bsimcmg, 1500M C, 500M R Timing measurements Elapsed Simulation Time, Memory Usage Time steps
LX, 8 core none 1d 22h, 800GB 1.2k
LX, 8 core enforced time steps 9d 17h, 800GB 18k
LX, 8 core interpolated 4d 5h, 800GB 1.2k
AX, 8 cores enforced time steps 32d 8h, 850GB 62k
AX, 32 cores interpolated 1d 20h, 900GB 2.6k

この調査から得られた教訓は次のとおりです:

  • このような大規模なデザインには、1TB または1.5TB の十分なメモリを備えたコンピューターが必要です。そうしないと、シミュレーションが成功しないか、メモリ スワッピングが原因でシミュレーション時間が大幅に長くなる可能性があります。
  • Spectre X マルチコアテクノロジは、このような大規模なデザインで優れたシミュレーションターンアラウンドタイムを実現するための鍵です。32コア以上が必要です。
  • 正確な測定ポイントでタイムステップを適用するという Spectre のデフォルトの動作により、完全な精度が保証されます。一方で、パフォーマンスが低下するため、前述のような状況では、無効にすることが理にかなっている場合があります。

Spectre X が提供する大容量シミュレーションエンジンにより、このような巨大な 4億ノードのデザインを SPICE 精度で2日以内に解析できるようになりました。シミュレーションのパフォーマンスは、デザインのサイズ、使用されているデバイスと素子、デザインの複雑さ、デザインのアクティビティなど、多くの要因に依存することに注意してください。

進行中の Spectre X 開発の一環として、このデザインのパフォーマンスをさらに改善する方法も検討しています。

関連リソース

  • Spectre Classic Simulator, Spectre Accelerated Parallel Simulator (APS), and Spectre Extensive Partitioning Simulator (XPS) User Guide
  • Introducing Spectre X (英語版/日本語版)
  • Getting the most out of Spectre X (英語版/日本語版)
  • 日本語プロダクトページ: Spectre日本語資料

また、ケイデンス社のサポートAEに問い合わせることも可能です。

ケイデンス社の回路設計製品およびサービスの詳細については、www.cadence.comをご覧ください。 

Spectre Tech Tipsについて

Spectre Tech Tipsは、Spectreシミュレーション・プラットフォームの機能や可能性を探求することを目的としたブログ・シリーズです。このシリーズでは、Spectreの有用な機能や改善についての知見を提供することに加えて、このプラットフォームに関連するあらゆることについての知識と経験を共有する、様々なブロガーや専門家の声を届けます。

Stefan Wuensche
Translator: Yuko Yoneda

カスタムIC/ミックスシグナル Blogs 無料定期購読のご案内

新規ブログが公開された際に通知を受け取る方法を、こちらにてご案内しています。是非ご登録ください。