ADMS

Automatic Device Model Synthesizer ( ADMS ) は、半導体業界Verilog-Aモデルを、 Spectre Circuit SimulatorNgspice 、HSpiceなどのさまざまな SPICE シミュレータで直接読み取ることができる C モデルに変換するために使用されているパブリックドメインソフトウェアです。

概要

ADMSはAutomatic Device Model Synthesizerの略です。[ 1 ] ADMSはVerilog-Aコンパクトモデル[ 2 ]をCコードに変換するために使用できます。ADMSインタープリタはVerilog-AMSファイルを解析してデータツリーを構築します。[ 3 ] XMLフィルターがツリーに適用され、出力ファイルが生成されます。

ADMSは、回路シミュレータ開発者がデバイスモデルを統合するための労力を軽減することを目的としており、同時に、モデル開発者がベンダー中立言語Verilog-Aを使用してモデルを定義するオプションを提供し、堅牢性と保守性を向上させています。[ 4 ]

ADMSはオープンソースのSPICEシミュレータNGSPICE [ 5 ]で、多くのコンパクトモデルをサポートするために使用されています。以下のモデルはADMSを使用したNGSPICEでサポートされています。[ 6 ]

  • MOS EKV (レベル=44)
  • MOS PSP102 (レベル=45)
  • BJT メックストラム 504 (レベル=6)
  • BJT ハイカム0 (レベル=7)
  • BJT Hicum2 (レベル=8)

制限事項

ADMSはVerilog-Aのサブセットのみを解析し、すべてのXMLフィルターですべてのステートメントがサポートされているわけではありません。特に、SPICEシミュレータを対象とするほとんどのフィルターでは、電流制御電圧源はサポートされていません。

  • V(..) <+ I(..) // NGSPICEでは動作しません

代わりに、これはコンダクタンス式(インピーダンス式ではない)として表す必要があります。 つまり、I(..) <+ V(..)

  • I (..) プローブはNGSPICEでは動作しません

他の言語構造もフィルターでサポートする必要がある

  • forループ、
  • ケースステートメント。

多くの言語機能はADMSフィルタではサポートが難しい

  • ラプラス変換、
  • idt、
  • ブランチの切り替え。

コード生成の重要な側面はADMSではほぼ不可能である

  • データフロー分析
  • コードの最適化、

そして

  • ADMS は非常に低速です (少し大きいモデルで顕著です)。

参照

参考文献

  1. ^ Sergey Sukharev (2006年3月24日). 「ADMSおよびSpectre CMI XMLスクリプトの新しい機能強化」(PDF) . mos-ak.org . 2023年4月9日閲覧
  2. ^トランジスタモデル#回路設計用モデル.28コンパクトモデル.29
  3. ^ “Tutorial” . 2013年9月28日時点のオリジナルよりアーカイブ2014年1月9日閲覧。
  4. ^ 「Verilog-AMSとADMSを使用したコンパクトデバイスモデリング」(PDF)2016年3月4日時点のオリジナル(PDF)からアーカイブ。 2015年4月27日閲覧
  5. ^ 「Ngspice 回路シミュレータ - adms」
  6. ^ 「Ngspice回路シミュレータ - admsとngspiceの使い方」 . ngspice.sourceforge.io . 2023年4月9日閲覧