RNM(Real Number Modeling)

アナログ設計

この記事で学べること

  • RNM(Real Number Modeling)の基本概念
  • アナログとデジタルを跨ぐ混在領域で RNM が必要とされる理由
  • wreal / real / nettype など RNM を構成する要素の正しい理解
  • AMS シミュレーションとの違いと役割分担
  • 実務で RNM が使われる典型的なシーン
  • モデル化の際に陥りやすい誤解と注意点

概要(全体像)

RNM(Real Number Modeling)は、アナログ信号を「実数値」としてデジタルシミュレータ上で扱うための抽象化手法です。
従来の SPICE や Verilog-AMS のような連続時間アナログシミュレーションではなく、離散イベント駆動のデジタルシミュレーションでアナログ的な振る舞いを近似的に再現します。

その結果、

  • 高速(数百〜数千倍)
  • 大規模 SoC でも実行可能
  • デジタル検証環境(UVM)と自然に統合

といったメリットが得られます。


なぜ重要なのか(背景・目的)

現代の SoC は、以下のような アナログ+デジタルの混在システムが一般的です。

  • ADC / DAC
  • PLL / CDR
  • センサフロントエンド
  • 電源制御回路
  • SerDes / PHY

これらのアナログブロックは、デジタルロジックと密接に連携して動作します。しかし、アナログ回路を SPICE で詳細にシミュレーションすると、SoC 全体では現実的な時間で終わりません

そこで登場するのが RNM です。

RNM の目的

  • アナログブロックの機能レベルの振る舞いを高速に再現
  • デジタル検証環境(UVM)でアナログ値を扱えるようにする
  • SoC 全体の機能検証を現実的な時間で完了させる

RNM は「アナログの本質的な振る舞いだけを抽象化して、デジタル検証に組み込む」ための技術です。


基本概念の整理

Real Number(実数値)とは

定義:離散イベントシミュレーションで扱える実数型の値
:0.75 V、−0.1 A、1.23 GHz
実務での意味:アナログ信号を「連続時間」ではなく「イベント発生時に更新される実数値」として扱う


wreal(wired-real)

定義:Verilog-AMS で導入された「実数値を運ぶネット型」
wreal vin;
実務での意味:アナログ信号をデジタルシミュレータで扱うための最も一般的な RNM 手段


SystemVerilog RNM(nettype + resolution function)

定義:SystemVerilog 2012 以降で導入された、実数ネットの拡張機能

nettype real sum_t with sum_resolve;

実務での意味:複数ドライバの統合(加算・最大値など)を柔軟に定義でき、wreal の制約を克服


離散イベント駆動モデル

定義:値が変化したタイミングでのみシミュレーションが進む方式
vin が 0.5 → 0.6 に変化した瞬間だけイベント発生
実務での意味:アナログ波形を「連続時間で追わない」ため高速化が可能


アナログモデルとの違い

項目RNMVerilog-A / SPICE
時間離散連続
精度機能レベル回路レベル
速度非常に高速遅い
目的SoC 機能検証回路特性解析

RNM は「精度より速度」を優先するモデルです。


実務での具体的な利用シーン

ADC/DAC の機能モデル

  • ADC:vindigital_code
  • DAC:digital_codevout
    → UVM 環境で容易に扱える

PLL のロック判定モデル

  • 周波数誤差
  • 位相誤差
  • ロック時間
    → 実数値で近似し、デジタルロジックとの連携を検証

電源制御(PMIC)モデル

  • 電圧レベル
  • 電流制限
  • パワーグッド判定
    → SoC の電源シーケンス検証に必須

SerDes / PHY のアナログフロントエンド

  • イコライザゲイン
  • スライサ閾値
    → デジタル CDR ロジックとの協調検証

センサインタフェース

  • 温度、光、圧力などの物理量を実数値で表現
    → デジタル側の補正アルゴリズムを検証

誤解しやすい点・注意点

RNM はアナログ精度を保証しない

  • ノイズ、寄生、微分方程式は扱えない
  • 回路レベルの解析には不向き

連続時間の振る舞いは再現できない

  • フィルタ、微分方程式、連続時間ループは RNM では表現困難
  • 必要なら Verilog-A などと併用する

モデルの抽象度が重要

  • 抽象化しすぎると機能検証が不十分
  • 詳細化しすぎると速度低下
    → 適切なバランスが必要

複数ドライバの扱いに注意

  • wreal は単一ドライバが基本
  • SystemVerilog nettype でResolution関数を定義する必要がある場合も

関連する専門用語の整理

用語定義実務での意味
RNM実数値でアナログを抽象化する手法ADC モデルSoC 機能検証を高速化
wreal実数値を運ぶネット型wreal vin;RNM の基本的な信号表現
nettypeSystemVerilog の実数ネット型nettype real sum_t複数ドライバの統合が可能
Resolution関数複数ドライバの値を統合する関数加算/最大値電流合成などの表現
離散イベント値変化時のみシミュレーションvin が変化した瞬間高速化の鍵
Verilog-A連続時間アナログ記述言語フィルタモデル回路特性の抽象化
AMS シミュレーションアナログ+デジタル混在シミュレーションPLL 解析精度重視の解析

まとめ

  • RNM は アナログ信号を実数値としてデジタルシミュレータで扱うための抽象化技術
  • SPICE や Verilog-A と異なり、離散イベント駆動で高速に動作
  • SoC の 機能検証(特に UVM)と相性が良い
  • ADC/DAC、PLL、電源制御、SerDes など多くのアナログブロックで利用
  • 精度より速度を優先するため、抽象度の設計が重要
  • wreal と SystemVerilog nettype を正しく理解することで、より柔軟な RNM モデルが構築できる

コメント

タイトルとURLをコピーしました