• 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. Start Your Engines: ミックス・シグナルモデリングでlogic信号をelectrical値に…
Custom IC Japan
Custom IC Japan

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
AMS
AMS Designer
mixed signal solution
analog/mixed-signal
AMS simulation
japanese blog
mixed-signal design
AMS Verification
mixed-signal verification

Start Your Engines: ミックス・シグナルモデリングでlogic信号をelectrical値に変換するベストプラクティス

18 Dec 2023 • 1 minute read

 Cadence® Spectre® AMS Designerは、高いパフォーマンスのミックスシグナル・シミュレーション・システムです。複数エンジンの使用や、さまざまなプラットフォームから実行できる機能により、ミックスシグナル・デザイン検証を「活性化」し、市場競争でチェッカーフラッグを受けることができます。Start Your Enginesブログ・シリーズは、シミュレーションのパフォーマンスをチューンアップし、生産性向上に役立つヒントと洞察を提供します。

ボンジュール!

この記事ではAccellera標準のVerilog-AMS言語を使い、どの様にlogic信号をelectrical値に変換するかを紹介します。

始めに対象モデルのシンボルを作成します。

  

このモデル名はL2Econvで、以下の端子を持ちます:

  • 1つのlogic、端子名l
  • 1つのelectrical出力、端子名e

このモデルは下記のパラメタを持ちます:

パラメタ名 説明
vdd=1.0 電源電圧
vhi=vdd; 出力の上限しきい値
vlo=0.0 出力の下限しきい値
tt=10p トランジション時間
rout=100 出力インピーダンス

モジュールL2Econvはレベルシフタ同等の動きをします。違いはelectrical入力の代わりにlogic入力を持つ事だけです。出力はelectricalであり、電源電圧値に従って動作します。

このモデルでincludeされているdisciplines.vamsファイルには、Verilog-AMSのディシプリン定義(electrical)及び電圧電流のアクセス関数が定義されています。

L2Econv モデル

下記がこのモデルの構成です:

  • Logic値からアナログへの変換に必要なパラメタの定義
  • Logic入力イベントを検出し、eステート変数に対応するanalog値に格納
  • eステート変数が変わるごとにイベントソルバをトリガし、analog側との同期を行う。これはVerilog-AMSトランジションフィルタにより自動的に行われます。トランジションフィルタはパラメタ値tdの値に応じて遅延を発生させます。

動作記述は次のようになります: 

これによりlogic-electricalの変換が可能です。このanalogブロックの内部ではノートンの等価回路により電流を生成させています。ここでroutは出力インピーダンスとして作用します。

この動作モデルはとてもコンパクトで、1つのinitial、2つのalways、1つのanalogブロックだけで構成されています。

次に、このモデルをテストしてみましょう。

テストベンチはデジタル信号源で、L2Econvモジュールのlogic入力をドライブします。今回はlogic値 1’b0、1’b1、1’bx、1’bzを順に生成させます。

SimVision MSデバッグ機能を使う事で、このスケマティックを確認する事が出来ます。下図にあるようにスケマティック上に値をアノーテートする事も可能です。このL2EconvモジュールはVerilog-AMSのミックスシグナルモデルで記述されている為、対象のインスタンスは青色でハイライトされています。下記ではデジタル信号源から1’b1がドライブされています。それを受けたL2Econvモジュールではこの値を1ボルトに変換して出力します。

  

動作波形は下記の様になります:

  

この図では:

  • 緑色の波形はlogic入力で、logicの電圧です。信号が1’b1及びX や Z ステートに変化している事が分かります。
  • 黄色の波形はelectrical出力で、electrical値に変換されたものです。ここではlogicのXやZステートは0ボルトに変換されています。

次の波形はトランジション動作を示しています:

  

この図では:

  • Logicの変化は、遅延td=100ピコ秒後にelectricalドメインに変換されます。
  • 0ボルトから1ボルトへのトランジションにはtt=10ピコ秒掛かります。

SimVision MS デバッグ機能によるインタラクティブデバッグ

下図にある様に、L2Econvインスタンスをソースブラウザで表示し、ステップバイステップ実行や、任意の行にブレークポイントを設定可能です。ブレークポイントを設定すると、シミュレーション実行時にその行に到達した時点で、デバッガがその実行を停止させます。これによりその時点での入出力や内部レジスタ及び変数を確認出来ます。バッチ実行時には、この様なインタラクティブデバッグや、ステップバイステップ実行でのモデルの詳細なソースコードデバッグは出来ません。SimVision MSデバッグを使う事でコード実行を詳細に見る事が可能です。不可視だったanalogとdigital変数の変化を可視化する事が出来るのです。

SimVision MSデバッグでは実行中の内部変数の値を表示する事も可能です。この様なバッチ実行時には不可視だった値も可視化出来ます。

下図では行番号21に貼られたブレークポイントにより、シミュレーションが停止されている事が分かります。

  

良くある間違い

  • トランジションフィルタ付け忘れ。Verilog-AMSのトランジションフィルタは、イベントソルバとアナログソルバを自動的に同期してくれる利点があります。
  • Verilog-AMS動作モデル内に電流ブランチでは無く、電圧ブランチを作ってしまう事。上記ではroutを使用したノートン等価回路による電流ブランチを構成しています。アナログソルバは節点解析に基づいて動作し、電流ブランチは直接この節点方程式に変換されます。しかし電圧ブランチの場合は処理する方程式が増え、この為にテストベンチを処理するアナログソルバが遅くなる事があります。

結論

  • 一般論として、デジタル離散変数をelectricalに変換する時には、Verilog-AMSのトランジションフィルタを使用しましょう。
  • トランジションフィルタは階段状に変化する波形に遅延を与え平滑化します。
  • 加えて、このトランジションフィルタは信号遷移の立ち上がり及び立下り時間を制御する事も出来ます。今回、私たちは立ち上がり時間だけ設定しています。この場合、立下り時間にはこの立ち上がり時間が引き継がれます。
  • このlogic-electrical変換の動作モデルは、Xceliumに含まれるCadence Verilog-AMS及びSystemVerilog-AMSコンパイラ用のコネクトモジュールとしても再利用可能です。利用方法はとても簡単で、上記のmodule記述をconnectmoduleに置き換え、コネクトルール用の.vamsファイルを作成するだけです。
  • SimVision MSデバッグにはソースデバッガ、デザインブラウザ、波形ウィンドウ及びスケマティックトレーサが含まれ、今回の様なミックスシグナルモデルのインタラクティブデバッグに非常に有用です。

是非このモデル記述とSimVision MSデバッグ機能をあなた自身で試してみて下さい。もし更に詳細な情報を希望される場合は、Cadenceのサポートチームにお問い合わせ下さい。

関連リソース

ブログ

Start Your Engines: An Innovative and Efficient Approach to Debug Interface Elements with SimVision MS (英語版/日本語版)

Start Your Engines: Win Le Mans with the SimVision Mixed-Signal Debug Option (英語版/日本語版)

Start Your Engines: Best Practices for Converting an Electrical Signal to a Logic Value with Mixed-Signal Modeling (英語版/日本語版)

Start Your Engines: Mixed-Signal Modeling Methods for Converting an Electrical Signal to a Real Number (英語版/日本語版)

Start Your Engines: Mixed-Signal Modeling Best Practices for Converting a Real Number Signal to Electrical (英語版/日本語版)

プロダクトマニュアル Spectre AMS Designer and Xcelium Mixed-Signal User Guide
トラブルシューティング情報 Spectre AMS Designer (英語版/日本語版)
COS日本語ページ ADE/Spectre/AMS Designer

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

Andre Baguenier
Translator: Ryo Sato

Start Your Enginesについて

Start Your Enginesシリーズでは、AMS Designerの新機能の紹介、既存機能の強化のためのヒントなど、さまざまなトピックについて、アナログ/ミックスシグナル分野の専門家がブログ記事をお届けしています。

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

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