• Home
  • :
  • Community
  • :
  • Blogs
  • :
  • カスタムIC/ミックスシグナル
  • :
  • Spectre Tech Tips: Spectre Xシミュレーションのパフォーマンスを向上させる方法

カスタムIC/ミックスシグナル Blogs

  • Subscriptions

    Never miss a story from カスタムIC/ミックスシグナル. Subscribe for in-depth analysis and articles.

    Subscribe by email
  • More
  • Cancel
  • All Blog Categories
  • Breakfast Bytes
  • Cadence Academic Network
  • Cadence Support
  • Computational Fluid Dynamics
  • CFD(数値流体力学)
  • 中文技术专区
  • Custom IC Design
  • カスタムIC/ミックスシグナル
  • 定制IC芯片设计
  • Digital Implementation
  • Functional Verification
  • IC Packaging and SiP Design
  • In-Design Analysis
    • In-Design Analysis
    • Electromagnetic Analysis
    • Thermal Analysis
    • Signal and Power Integrity Analysis
    • RF/Microwave Design and Analysis
  • Life at Cadence
  • Mixed-Signal Design
  • PCB Design
  • PCB設計/ICパッケージ設計
  • PCB、IC封装:设计与仿真分析
  • PCB解析/ICパッケージ解析
  • RF Design
  • RF /マイクロ波設計
  • Signal and Power Integrity (PCB/IC Packaging)
  • Silicon Signoff
  • Solutions
  • Spotlight Taiwan
  • System Design and Verification
  • Tensilica and Design IP
  • The India Circuit
  • Whiteboard Wednesdays
  • Archive
    • Cadence on the Beat
    • Industry Insights
    • Logic Design
    • Low Power
    • The Design Chronicles
Custom IC Japan
Custom IC Japan
15 Jun 2022

Spectre Tech Tips: Spectre Xシミュレーションのパフォーマンスを向上させる方法

 シミュレーションのパフォーマンスは、チップの設計、検証、およびサインオフに必要な時間の重要な要素の一つです。シミュレーションが効率的であるほど、テープアウトに必要なリソースと所要時間は少なくなります。シミュレーションパフォーマンスを最適化する方法について設計者の意識を高めることで、設計チームの生産性が大幅に向上し、ライセンスの使用量やコンピューティング・ファームの要件に至るまで、設計全体のリソースを効率的に使用できるようになります。

設計段階と検証段階では、シミュレーションの精度とパフォーマンスの間には常にトレードオフがあります。そのため、Spectre、Spectre APS、Spectre Xなどのアナログシミュレータは、設計者がテストベンチに最適なモードを使用できるように、さまざまな精度モードを提供しています。

 

パフォーマンスと精度の間のトレードオフは難しいかもしれませんが、Spectre Xは、回路パフォーマンスを最適化するためのシンプルなユースモデルを提供します。新しいテストベンチでは、常にMXプリセットモードから開始し、精度が必要な場合はAX、CXの順に試行し、パフォーマンスが必要な場合はLX、VXの順に試行します。

検証タスクには、仕様の測定とシステムの動作または機能のチェックの2種類があります。

仕様を測定するタスクの場合、一部の設計でよくある間違いの1つは、アプリケーションまたは回路タイプに基づいて精度を定義することです。ただし、精度は主に測定自体によって定義され、回路のタイプ、トポロジ、またはアプリケーションとはあまり関係がありません。 

ここに一例を示します。リングオシレータを設計していて、オシレータのさまざまな仕様をテストするための複数のテストベンチがあると仮定します。まず、特定の条件でのオシレータの周波数を測定し、その後、Spectre Xのさまざまなプリセットモードを実行して、オシレータに必要な精度が得られるモードを見つけます。

Spectre X Preset Mode Measured Frequency (Error%)

Performance
(CX is the reference)

CX 15.19MHz (reference) 1X (reference)
AX 15.18MHz (0.06%) 2.3X
MX 15.29MHz (0.65%) 3.7X
LX 15.62MHz (2.7%) 4.6X
VX 15.97MHz (5.1%) 7.5X

表で得られた結果に基づいて、リングオシレータが十分な精度を得るにはAXプリセットモードが必要であるという結論を導き出すことができます。これは正しいように見えますが、実際には違います。これは、このリングオシレータの周波数を測定する場合にのみ当てはまります。結果を求めたい他の仕様の1つがこのブロックの電流の消費量である場合、次の表が得られます:

Spectre X Preset Mode Current Consumption (Error%) Performance
(CX is the reference)
CX 47.5uA (reference) 1X (reference)
AX 47.4uA (0.2%) 2.3X
MX 47.6uA (0.2%) 3.7X
LX 47.7uA (0.4%) 4.6X
VX 47.7uA (0.4%) 7.5X

明らかに、このリングオシレータの消費電流のみを測定するテストベンチを作成している場合は、VXプリセットモードが精度とパフォーマンスの最適なモードになります。

今後のブログでは、シミュレーションの精度とその調整方法について詳しく説明します。

システムの動作をチェックするタスクの場合、システムの動作は、特定の順序で発生する一連のある決まった時刻に動作するイベントである可能性があります。この場合、パフォーマンスの制限は、重要なタイミングパスを持つ信号と、それらが耐えることのできる精度トレランスによって決まります。たとえば、システムに起動シーケンスがある場合、このシーケンスを検証するために、シミュレーションのパフォーマンスは重要な信号の順序によって制限されます。ほとんどの場合、これらの動作または機能の検証タスクは、VXなどの最も積極的なプリセットモードを使用してシミュレートできます。

チップ検証またはサインオフシミュレーションのパフォーマンスを最適化するためのヒントを次に示します:

  1. 過渡解析の停止時間をテストベンチの最後の測定イベントに調整します(それを超えないでください)。コーナーや回路の状態によって測定時間が異なる場合は、Verilog-Aコード、Spectre MDLスクリプト、または.measure ステートメントを使用して、測定が完了したらシミュレーションを停止します。
  2. すべてのテストベンチから可能な限り多くの測定値を取得します。
  3. 2番目のヒントの例外として、精度の緩いプリセットモードを必要とする長い機能検証の実行と、より精度の厳しいプリセットモードを必要とする測定を混在させないでください。たとえば、水晶発振器の起動時間の測定は、ノイズとジッターの測定で実行されます。
  4. Virtuoso® ADE Assemblerを使用している場合は、Run Plan機能を使用して、他のすべてのサインオフ・コーナーを実行する前に、最初に各測定のワーストケースのコーナー実行から開始します。ワーストケース・コーナーが Fail した場合、他のコーナーを実行する時間とリソースを節約できます。
  5. 各テストベンチの動作に関与しないブロックには、ダミーもしくは空の記述を使用します。これにより、テストベンチで解くノードと方程式の数が減り、実行時間が短縮されます。
  6. 仕様が特定の期間に測定される場合は、過渡解析のDynamic Parameter機能を使用して、これらの期間中にシミュレータの許容誤差(reltol、vabstol、iabstol)を厳しくし、他のすべての領域で許容誤差を緩和します。
  7. システム内の特定のブロックがより厳しい精度トレランスを必要とする場合、または逆に緩和された精度トレランスに耐えることができる場合は、ローカルオプションを使用して、これらのブロックの精度トレランスのレベル(reltol、vabstol、iabstol)をローカルで厳しくまたは緩く設定します。
  8. テストベンチにVerilog-A動作モデルが含まれている場合は、Spectreコマンドラインオプション -ahdllint を使用して、Verilog-Aモデルによる精度またはパフォーマンスの問題を報告するVerilog-Aリンターチェックを有効にします。
  9. Spectre XログファイルのワーニングとPost-Transient Simulation Summaryに注意してください。これらは、シミュレーションのパフォーマンスに影響を与えたり、収束の問題を引き起こしたりする可能性のあるものについてのヒントを得るのに役立ちます。

今後のブログでは、ポストレイアウトのシミュレーションと、その精度とパフォーマンスを最適化する方法について、より具体的に説明します。

Moustafa
Translator: Yuko Yoneda

関連リソース

  • Spectre Classic Simulator, Spectre Accelerated Parallel Simulator (APS), and Spectre Extensive Partitioning Simulator (XPS) User Guide
  • アプリケーション・ノート: Introducing Spectre X (英語版/日本語版)
  • アプリケーション・ノート: Spectre Assert and Design Check Overview (英語版/日本語版)
  • SPECTRE日本語資料

製品のご案内が必要な場合は、ケイデンスサポートAEにご連絡ください。また、Cadenceの回路設計向けプロダクトとサービスの詳細については、www.cadence.comをご参照ください。

Spectre Tech Tipsについて

Spectre Tech Tipsは、Spectre® の機能と可能性を探求することを目的としたブログシリーズです。このシリーズでは、Spectreの便利な機能と拡張機能に関する知見を提供することに加えて、Spectreに関連するあらゆることについての知識と経験を共有する、様々なブロガーや専門家の声を掲載します。

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

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

Tags:
  • performance |
  • ADE Explorer |
  • performance diagnosis |
  • Virtuoso Analog Design Environment |
  • Spectre |
  • Verifier Run Plan |
  • japanese blog |
  • spectre x |
  • Spectre X Simulator |
  • ADE Assembler |
  • verification |