-->

Verilog-AMS 講座について

一部Spice Simulation講座での内容をご紹介いたします。

1. はじめに

 Verilog-Aが出て既に10年以上になりますが、半導体のアナログ/Mixed-Signal設計者に とって満足のいく書物がないのと、実際設計者からのVerilog-AMSの講座の要求が多い のでは?と言う事で講座開設する事に運びとなりました。  私自身は、Verilog-Aは既に2001年から、いろいろなお客様とお付き合いの中でVerilog-A によるモデリングとVerilog-Aを用いたMixed-SignalのSimulationで様々な経験をして鍛えられ て来ました。一部の書物では、デジタル主体の記述で説明をし、本来Verilog-Aはアナログの モデリング言語である事を忘れがちな記述があります。Verilog-Aのモデルは、大半がSpiceを 使用してモデリングされます、そこで問題なのが記述したモデルの振る舞いとSpiceの Simulation結果の違いです。これはSpiceのSimulation結果とデジタルのSimulatorの結果の 相違も同様で、詳細を言えば、予想しない振る舞いがSimulationで起きる可能性があります。 HDLAB様の講座では、この問題を詳細に説明して、どうすれば正確なモデリングが、 検証が出来るのかを解説しています。Spiceの詳しい理解をすれば、より正確なモデリングが 出来るので、2講座を同時受講されるとVerilog-AMS利用する設計者としての基礎が身に 付きます。

 

2.Verilog-AMSの歴史

Verilog-AMSは現在のCadence がAnalogのモデリング言語として開発、仕様公開  

  1. 1996年:Verilog-A LRMがOpen Verilog International (OVI)に認証される
  2. 1998年;Verilog-AMS LRM 1.0がOVIにて認証
  3. 2000年:Verilog-AMS LRM 2.0がOVIにて認証
  4. 2003年:Verilog-AMS LRM 2.1がAccelleraにて認証
  5. 2009年:Verilog-AMS LRM 2.3.1

最新版 LRMは以下のAccelleraのWebからダウンロード出来ます。 http://www.accellera.org/

最新版はVerilog-AMS−LRM Version 2.3.1になります。

 

 

 

3. Verilog-AMSのSimulation

 一部Hdlabで使用してる資料を載せておきます。     

(Syntaxは業界標準のHspiceに合わせています。)

写真

 

4. AMS simulationの`time scaleについて

Verilog-AMSで問題となるのが、`time scaleの問題です。それともう一つ、Time scaleに 関わる大きな問題がEvent drivenの記述です。Spiceでは、Eventが発生するとEvent発生前の pointに遡り、再計算を行います。分かり易くした資料を(講座で使用)を以下に示します。

 Event文には、cross, above, timer, last_crossingがありますが、特に見落としがちなのが If文です。 Verilog-Aのmoduleに  if (vi > vr ) という条件分岐があったとします。 vi=V(i) ; として横軸時間で V(i)の変化を見て行きます。 T=t3でEventの発生があるとしますと、Spiceではまず、T=t3を通り過ぎたT=t2でEventを検知しEvent発生前のT=t1 (t1<t3)に戻ります。  

 ここで大きな問題があります。 本来Spiceでは、ある時刻の計算は前の時刻で計算された各ノードの電流、電圧を用います。 つまり、過去の状態から今の計算の状態を導いてるわけです。しかしながら、Verilog-AMSの SimulationでEventが発生すると未来(T=t2)の状態から過去(T=t1)の状態を計算しており、時折 結果の相違が出て来ます。こういった事を回避する事は出来ませんが、精度をなるべく落とさずに Simulationする方法があります。

 ここでDigital領域(Verilog-HDL)で使用される、`time scaleの話です。

出来るだけSimulationのEvent発生の精度を高める為、`time scale 1ns/1nsの精度をあげて ください。そうするとΔT=t2-t1を小さくする事ができます。 どのくらいにするかは、回路にも依りますが、現在数GhzのMixed-Signal回路も珍しくないですが クロックに注目しますと、1GHzのclockのジッタ(±数10psec)よりも小さい値を設定してください。なので、`time scale 1ns/1psに必然となります。 *実際はこれでも精度が不足する事もあります。

写真

 

5. 講座で使用しているVerilog-AMS Simulator

 講座では、Verilog-AMS SimulatorとしてSILVACO様からラインセスの供与を受けHarmonyを Verilog-AMS講座で使用しています。 昔、SILOSというWindowsで動作するVerilog-HDLのシミュレータがありましたが、見た目は まさしく…ですね。 使用画面は以下です。

そして、6次のCT(連続時間)のΔΣのVerilog-AMSのSimulationをしてみました。 使用ツールは、LynguentのModlyngというModelingで紹介しているツールからVerilog-AMS を出力して、Harmony-AMSにてシミュレーションしてみました。

沢山エラー出ましたが、何とかシミュレーションが完了しました。

知的財産権の関係で、ソースは載せれませんのでご了承ください。

問い合わせお待ちしております。

6. 他社のAMS Simulator

以下は、Dolphin IntegarationのSMASHとMentorのQuestasimの同じVHDLで書かれた1bit delta-sigma ADCのSimulation結果です。EDMSというLibrariesを使用してますのでデジタルシミュレータでで流すことができます。

以下は、Dolphin IntegarationのSMASHとMentorのQuestasimの同じVHDLで書かれた1bit delta-sigma ADCのSimulation結果です。 EDMSというLibrariesを使用してますのでデジタルシミュレータでで流すことができます。 SMASHのVHDLのコンパイラかなり優秀で、Questasimの10倍以上早いです。

SAMSH Dolphin Integration

QUESTA : Mentor Graphics

6. wreal :real number modelingについて

real number の取り扱いはVHDLはかなり前から使われていていましたが、最近Cadenceがいろいろと宣伝されてるみたいですね。どういうアプリで使えるのかが重要で、どういう機能が良いですよでは、使いようがないです。以下は同じく得意なΔΣADCのSim波形です。sin波形が離散値として表現されてるのが拡大図で分かると思います。これはデジタル系のSimulatorでながせるので通常のAMSのSimulatrの約10-100倍ぐらいの速度UPが期待出来ます。こういった常に先進的な機能の紹介も講座で常に取り入れて実例を紹介しております。

 

 

                

*iphone アプリ 開発
*ラティース ラティッセ