Automatic Device Model Synthesizer ( ADMS ) は、半導体業界でVerilog-Aモデルを、 Spectre Circuit Simulator、Ngspice、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 Mextram 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 は非常に低速です (少し大きいモデルではこれが顕著です)。
参照
参考文献
- ^ Sergey Sukharev (2006 年 3 月 24 日). 「ADMS および Spectre CMI XML スクリプトの新しい機能強化」(PDF) . mos-ak.org . 2023 年4 月 9 日閲覧。
- ^ トランジスタモデル#回路設計用モデル.28コンパクトモデル.29
- ^ “Tutorial”. 2013年9月28日時点のオリジナルよりアーカイブ。2014年1月9日閲覧。
- ^ 「Verilog-AMSとADMSを使用したコンパクトデバイスモデリング」(PDF) 。 2016年3月4日時点のオリジナル(PDF)からアーカイブ。2015年4月27日閲覧。
- ^ 「Ngspice 回路シミュレータ - adms」。
- ^ 「Ngspice回路シミュレータ - admsとngspice HOWTO」。ngspice.sourceforge.io 。 2023年4月9日閲覧。
外部リンク
- EKV MOSFET モデル: アナログ/RF IC の業界標準モデル (2007)
- adms (ダウンロード)
- コンパクトなモデル共有プラットフォーム!(2011年に開始されたプロジェクト)
- i-MOS プロジェクト: デバイス モデリングと回路シミュレーションのためのオープン プラットフォーム (2014 年アーカイブ)
