• 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のハイインピーダンスノードチェックの概要
Custom IC Japan
Custom IC Japan

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
spectre aps
dyn_floatdcpath
dyn_float_tran_stat
dyn_highz
highz
static_highz
Spectre
japanese blog
static checks
spectre x
Design Checks
floating node

Spectre Tech Tips: Spectreのハイインピーダンスノードチェックの概要

25 Aug 2021 • Less than one minute read

 回路チェックは、ハイインピーダンスノード、電源間のリークパス、タイミングエラー、電力の問題、接続の問題、急激なrise/fallといった、典型的な設計問題を解析することができます。回路チェックはDynamicチェックとStaticチェックに分けることができます。Dynamicチェックは過渡解析中に実行されます。Staticチェックはトポロジーチェックでありシミュレーションは必要ありません。 

このブログでは、Spectreで用意されているハイインピーダンスノードのチェックについて、そしてそれらをどのような場合に使用するかを検討します。 

Static high impedance node check (static_highz)

一番シンプルなハイインピーダンスノードのチェックは、static high impedance node check (static_highz) です。このチェックは、回路の接続問題を特定するために使うことができます。例えば、VDDに接続されたPMOSのゲートによって引き起こされるフローティングノードです(下図)。このチェックは構文解析後に実行されます。シミュレーションは必要ありません。static_highzチェックは主要な接続の問題を素早く特定しますが、過渡解析中の特定の期間だけで発生するフローティングノードは検出することができません。

  

Dynamic high impedance node check (dyn_highz)

dynamic high impedance node check (dyn_highz) は、過渡解析中の指定されたタイムウィンドウの間のフローティングノードを特定します。ユーザが定義した期間より長い間フローティングとなっていたノードのみをレポートします。dyn_highzチェックは、スティミュラス依存です。つまり、スティミュラスがフローティングノードのシナリオを実行した場合にのみ、フローティングノードが特定されることになります。このチェックはフローティングノードのみをレポートします。フローティングノードによって生まれるリークパスはレポートしません。

  

dyn_highzチェックは、わずかな制限があります。フローティングノードは多くの電圧状態を取りうるため、シミュレータは代表的なフローティングノードの電圧一つだけを選択します。シリコン上では、フローティングノードの電圧は違っているかもしれません。

このチェックは、深刻度に関係なく、すべてのフローティングノードをレポートします。いくつかのフローティングノードは想定通りで、回路的な問題を引き起こさないかもしれませんが、他のフローティングノードは深刻なリーク電流問題を引き起こすかもしれません。そのため、dyn_highzによってレポートされた長いフローティングノードのリストから問題のあるものを特定することは、困難を伴うことがよくあります。

もし、あるフローティングノードによって回路後段の別のフローティングノードが生じる場合、dyn_highzチェックは他のフローティングノードを捉えられないかもしれません。したがって、設計者は最初にフローティングノードを特定して修正し、他のフローティングノードを特定するために、再度チェックを実行する必要があります。

Floating node induced leakage path check (dyn_floatdcpath)

floating node induced leakage path check (dyn_floatdcpath) は、2ステップアプローチでチェックを実行します。最初に、dyn_highzチェックと同様にフローティングノードをチェックします。そしてフローティングノードの電圧を0VからVDDまでマルチステップでスイープします。これにより、ゲートがフローティングになっているMOSに関連したリークパスをチェックします。

このスイープアプローチで、dyn_highzチェックのスティミュラス依存を克服しています。電源間や他のノード間のリークパス電流を引き起こすフローティングノードを問題なく特定することができます。

  

全てのフローティングノードをレポートする代わりに、dyn_floatdcpathチェックは深刻なリークパスを引き起こすフローティングノードのみをレポートします。あるいは、フローティングになっている全てのMOSのゲートノードもレポートします。

dyn_floatdcpathチェックは、他のフローティングノードによって引き起こされるフローティングノードを特定できないという制限があります。このチェックは、全てのフローティングノードが特定されて修正されるまで、ユーザがチェックの実行とフローティングノードの修正を繰り返すことになります。さらに、このチェックでは、フローティングノードの電圧がスイープされる時には、回路が定常状態である必要があります。したがって、このチェックは、高周波回路には機能しません。

Statistical high impedance node check (dyn_float_tran_stat)

このdyn_float_tran_statノードチェックは、ノード電圧の引き上げと統計的手法を組み合わせてフローティングノードを特定します。このアプローチは、弱いドライバでランダムにノード電圧を引き上げたり下げたりすることをベースとしています。弱く電圧を引くことにより、フローティングでないノードには影響はありませんが、フローティングノードの電圧には影響があります。このチェックは、デバイスの電圧や電流の変化を検出することによって、フローティングノードを特定します。統計的にランダムな引き上げ、引き下げ、ランプのスティミュラスを300回実行します。この統計的なアプローチによって、3ノードパス(下図N1-N2-N3参照)で、別のフローティングノードによって生じる、フローティングノードを99.999%の確率で特定することができます。

このdyn_float_tran_statチェックは、フローティングノードとリークしている素子をレポートします。VDD-GND間のパスはレポートしません。また、このチェックは非常に複雑で、慎重に設定する必要があります。

  

まとめ

このブログでは、いくつかのハイインピーダンスノードチェックについて検討し、それぞれどういう場合に使用するかを学びました。

関連リソース

  • Spectre Classic Simulator, Spectre Accelerated Parallel Simulator (APS), and Spectre Extensive Partitioning Simulator (XPS) User Guide
  • Introducing Spectre X (英語版/日本語版)
  • Spectre 20.1 ISR: What's New Library (英語版/日本語版)
  • Static and Dynamic Checks RAK (英語版/日本語版)
  • Spectre日本語資料

担当のCadence Support AEにコンタクトを取ってガイダンスを受けることも可能です。

Cadenceの回路設計プロダクトとサービスの詳細については、www.cadence.comをご参照ください。

Amaninder Saini

Translator: Go Nakagawa

Spectre Tech Tipsについて

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