狠狠撸

狠狠撸Share a Scribd company logo
2019/11/09 1
RTL を語る会 (16)
Real Number Modeling
(RNM) 超?初級編
@wyamamo74212
2019/11/09 2
アナログ、素人です
● 現職 2019/7/29 ?
– アナログ(電源) IC メーカー
– Analog Mixed-Signal (AMS) シミュレーション担当チーム
– Real Number Modeling (RNM) の適用拡大を検討中
● 前職 2007/11 ? 2019/7
– 某 EDA ベンダ AE
– SystemVerilog / UVM / VIP あたりを担当
2019/11/09 3
見えるぞ!私にも敵が見える!
https://youtu.be/K0d_mZQdfpw
… という気分にさせてくれた
SystemVerilog サンプルにめ
ぐりあえた
引用元
RNM
=
そのエッセンスを、自作の
SystemVerilog サンプル
( 56 行)でお伝えします
2019/11/09 4
Modeling Tradeoffs
https://www.cadence.com/content/dam/cadence-www/global/en_US/documents/solutions/mixed-signal-soc-verification-wp.pdf
Solver あり
Solver 無し
2019/11/09 5
Kirchhoff's Flow Law (KFL) / Potential Law (KPL)
Verilog-AMS Language Reference Manual Version 2.4.0 , May 30, 2014
Verilog-AMS
2019/11/09 6
Spice/AMS vs RNM 比較
DVCLUB Europe: Sept 2017; Real Value Modeling for Improving the Verification Performance, Mallikarjuna Reddy(T&V), Venkatramanarao (Mindlance Tech)
https://www.testandverification.com/conferences/dvclub/europe/sep2017/dvclub-real-value-modeling-improving-verification-performance
2019/11/09 7
テブナンの定理 (Thevenin's theorem )
高校物理の備忘録 https://physnotes.jp/em/ecir_thev/
2019/11/09 8
ノートンの定理 (Norton's theorem)
高校物理の備忘録 https://physnotes.jp/em/ecir_norton/
2019/11/09 9
ノートンの定理 ? 計算例
高校物理の備忘録 https://physnotes.jp/em/ecir_norton/
§ 例 2: 2 つの電源と 3 つの抵抗を含んだ回路
2019/11/09 10
IEEE 1800-2012 additional reserved keywords
● 22.14.8 IEEE 1800-2012 keywords
– implements
– nettype
– interconnect
– soft
本発表のサンプルで
は nettype のみ
を使います
IEEE Std 1800-2017 “22. Compiler directives”
ユーザ定義 struct 型
新しく定義する UDN 名
Resolution 関数
User-defined nettypes
2019/11/09 11
SystemVerilog : User-Defined Net-type
● 6.5 Nets and variables
– There are two main groups of data objects: variables and nets.
● 6.6 Net types
– There are two different kinds of net types: built-in and user-defined.
– built-in net types → Table 6-1
● resolving multiple drivers → Table 6-2
IEEE Std 1800-2017 “6. Data types”
2019/11/09 12
サンプルコード ( 全体 56 行 )
User-Defined Nets(UDN)
User-Defined
Resolutions(UDR)
2019/11/09 13
サンプルコード (1) “rnmvs_pkg” (resolution 関数除く )
User-Defined Nets (UDN)
User-Defined Resolutions (UDR)
: 中略(次のスライドへ)
電圧 (V) 、抵抗 (R) を定義した struct
VSnet
VSres
VSstruct
2019/11/09 14
サンプルコード (2) “rnmvs_pkg” (resolution 関数 )
入力: VSstruct 型の動的配列 drivers[]
drivers[] で与えられた各ドライバを処理
Ideal ソースはそのまま return
ノートンの定理に従う計算
( 電流 I, 抵抗 G)
I,G を V,R に直して return
User-Defined Resolutions (UDR) ”VSres” の詳細
戻値: VSstruct 型
2019/11/09 15
サンプルコード (3) Voltage source モデル
電圧 (V) を抵抗 (R)=0 でドライブする
Ideal Voltage Source
package を import して UDN “VSnet” をポート定義で使う
2019/11/09 16
サンプルコード (4) 抵抗素子モデル
2つのノード P,N の電圧 (V) を
相互にドライブする。これにより
Resolution 関数で各ノードの電
圧が計算される。
R[Ω]
N
P
P.V
N.V
2019/11/09 17
サンプルコード (5) テスト回路(テストベンチ)
vdd
res2
res1
res0
gnd
40Ω
10Ω
10Ω
5.0[V]
0.0[V]
n0
n1
n2
n3
? [V]
? [V]
各ノードの電圧の最終値をログへ出力
2019/11/09 18
サンプルコードの実行結果
===== Resolved voltages =====
n0 = 0[V]
n1 = 0.833333[V]
n2 = 1.66667[V]
n3 = 5[V]
= 5[V] * 10/(40+10+10) = 5[V] * 1/6
= 5[V] * (10+10)/(40+10+10) = 5[V] * 1/3
2019/11/09 19
Norton's theorem に基づく Resolution による電圧計算
vdd
res2
res1
res0
gnd
40Ω
10Ω
10Ω
n0
n1
n2
n3
res2res1
40Ω
10Ω
n1
n2
n3 =Vdd(5[V])
n2 ノードの resolution に着目
res1
40Ω 10Ω
n1.V
n2
n3.V
res2
=
ノートンの定理?計算例
(P.9) と同じモデル
2019/11/09 20
各ノード計算値の収束の様子
2019/11/09 21
Summary
●
電圧?電流値の計算
– AMS (Spice) では Solver が電圧?電流の両方を解決
– RNM では電圧 or 電流を直接計算
●
SV-RNM のサンプル
– Norton の定理に基づく電圧の計算例
●
RNM によるシミュレーションの高速化
– Solver を使う必要の無い検証対象を高速化
– その検証対象を見つけ出すに必要な知識は?
– 初心者にはまだまだ先が長い…
2019/11/09 22
まだだ!まだ終わらんよ!
https://youtu.be/K0d_mZQdfpw
… という気分で、
地道に奮闘中
引用元
2019/11/09 23
Thank you so much
for your kind
attention

More Related Content

Real Number Modeling (RNM) 超?初級編