回路シミュレータ /MATLAB リンク ~ 詳細回路設計におけるシステムレベル検証 ~ MathWorks Japan アプリケーションエンジニアリング部シニアアプリケーションエンジニア初井良治 2017 The MathWorks, Inc. 1
MathWorks と Cadence 社パートナーシップ OrCAD PSpice 回路設計アナログ デジタル混在の回路シミュレーション 回路設計者 PSpice 回路図作成 部品データベース連携 アナログ デジタル混在回路の解析 モンテカルロ解析 スモーク解析 https://www.innotech.co.jp/orcad/products/orcad-overview/ + MATLAB /Simulink システム設計複合物理領域に跨る制御システム全体のシミュレーション 制御設計者 Simulink 制御ロジック設計 複合物理領域の解析 最適化 レポート生成 アナログ デジタルシステム設計 2D/3D グラフィックス 組込み用コード生成 https://jp.mathworks.com/products/simulink.html PCB の設計 実装で 両ツールを組み合わせて活用することで 開発初期段階から システムレベルのシミュレーションを可能にし 生産性の向上 開発品のより早い市場投入に貢献します ケイデンスと MathWorks パートナーシップ ( プレスリリース ) http://www.innotech.co.jp/wp2/wp-content/uploads/2016/11/mathworks-partnership-release_20161104.pdf 2
MATLAB/Simulink と OrCAD PSPICE の統合環境 http://www.innotech.co.jp/orcad/pspice-and-simulink-integration/ 3
アジェンダ 回路設計におけるシステムレベルシミュレーション MATLAB/Simulink OrCAD PSpice 統合設計環境 まとめ 4
アジェンダ 回路設計におけるシステムレベルシミュレーション MATLAB/Simulink OrCAD PSpice 統合設計環境 まとめ 5
回路設計 実装の課題 : 開発初期のシステム設計が不十分 改善策 : 開発工程間の壁を無くし 個々の詳細設計に入る前にシステムの機能 性能の検討に注力 要求仕様書 例 ) アナログ素子の機能検証 設計検証テストベンチを自作の工数およびテストが個人依存 設計 実装 デジタル 設計 実装 アナログ 例 ) 要求仕様書とテスト & 検証 設計バグに加えて 仕様バグが混入し テストでの切り分けが困難 C/C++ HDL SPICE 例 ) デジタル / アナログの設計 実装 別ツールを統合してトレードオフなどの検証が困難 システム統合 テスト & 検証 例 ) システム全体の統合テスト 最終テストでの問題発覚により大きな手戻り発生 デジタル HW アナログ HW 6
回路設計 実装のソリューション : MATLAB/Simulinkによるシステム設計 指令値 + コントローラ ( 制御 監視 診断 ) プラント ( 機械 電気 油圧 熱など ) - - PID if (..) x = else x = 制御 S3 S1 S2 機械油圧電気 熱空気圧磁気 N S MATLAB/Simulink 制御量 高機能 高性能 省エネ 高効率 安全性 コスト など C コード HDL コード フローチャート状態遷移図状態遷移表 数式 既存 C コード MCU DSP FPGA 周期 / 非周期の制御ロジック 数式 物理コンポーネント 実験データ 1. 様々なモデリング手法を混在 ( 本質を捉えたシンプルなモデルを作成 ) 2. モデルのシミュレーション ( デジタル アナログを混在した解析 ) 3. モデルからコードを自動生成 ( コーディングのエラー 工数を削減 ) 7
回路設計 実装のソリューション : MATLAB/SimulinkとPSpiceによるシステム設計 検証 指令値 + コントローラ ( 制御 監視 診断 ) プラント ( 機械 電気 油圧 熱など ) - - PID if (..) x = else x = 制御 S3 S1 S2 機械油圧電気 熱空気圧磁気 N S MATLAB/Simulink 制御量 高機能 高性能 省エネ 高効率 安全性 コスト など C コード HDL コード フローチャート状態遷移図状態遷移表 数式 既存 C コード MCU DSP FPGA 周期 / 非周期の制御ロジック 数式 OrCAD 物理コンポーネント PSpice 実験データ 1. 様々なモデリング手法を混在 ( 本質を捉えたシンプルなモデルを作成 ) 2. モデルのシミュレーション ( デジタル アナログを混在した解析 ) 3. モデルからコードを自動生成 ( コーディングのエラー 工数を削減 ) 8
MATLAB/Simulink のデモ : ブラシレスモータ制御システムのシステム設計 電気 駆動回路 3 相モータ負荷機械 機械 制御 モータ制御 ゲート信号 ( 6) モータの状態 ( 電流 速度 ) 目標速度 9
MATLAB/Simulink のデモ : ブラシレスモータ制御システムのシステム設計 10
システムレベルシミュレーションの適用例 ハイブリッド自動車 パワーウィンドウ パワーステアリング バッテリー デュアル クラッチ トランスミッション 11
物理モデリング支援ツール (Simscape ) パワエレ / 電力系統動力伝達 (1D 駆動系 ) 回路図ベースの複合物理モデリング https://jp.mathworks.com/products/simscape.html Simscape Power Systems Simscape Driveline 電子回路 ( アナログ / デジタル / センサ ) 熱流体 ( 油圧回路 ) 機構 (3D マルチボディ系 ) Simscape Electronics Simscape Fluids Simscape Multibody 12 各物理コンポーネントの振る舞いは一般的な物理式に基づく ( オリジナルのカスタムコンポーネントの作成も可能 ) 12
設計用途に合わせた詳細度の半導体素子モデルを使う 制御設計 回路設計 ゲート信号 ON(1), OFF(0) 等価回路モデル 詳細度低 ゲート駆動回路電圧が閾値以上で ON ヒートシンク Simscape の熱回路モデル 半導体物性モデル 詳細度高 Simscape Power Systems Simscape Electronics 13
アジェンダ 回路設計におけるシステムレベルシミュレーション MATLAB/Simulink OrCAD PSPICE 統合設計環境 まとめ 14
PSpice と MATLAB の連携機能 (4 つ ) 新機能 1 多種多様なグラフィックス機能 PSpice の解析結果をよりビジュアルにするために MATLAB のグラフィックス プログラミング機能を利用 新機能 3 MATLAB/Simulink のシステムモデルと PSpice の詳細回路モデルの協調解析 システム全体 ( 詳細回路 制御や機械 油圧など ) の機能 性能を机上検証するために 協調解析を利用 PSpice-MATLAB Visualization Interface MATLAB Simulink PSpice co-simulation interface. PSpice Systems Option Evaluate MATLAB functions in PSpice Import MATLAB module as simulation model in PSpice using PSpice DMI https://www.innotech.co.jp/orcad/pspice-and-simulink-integration/ 新機能 2 カスタムコンポーネント作成支援 PSpice のカスタムコンポーネントをより手早く簡単に作成するために MATLAB 言語を利用 新機能 4 PSpice の詳細回路モデルのテストベンチ作成 PSpice の詳細回路の検証をするために MATLAB/Simulink のシステムモデルを C コード化してインポートする機能を利用 15
機能 1: 多種多様なグラフィックス機能 PSpice-MATLAB Visualization Interface Evaluate MATLAB functions in PSpice PSpice Systems Option MATLAB Simulink PSpice co-simulation interface. Import MATLAB module as simulation model in PSpice using PSpice DMI 16
機能 1: 多種多様なグラフィックス機能 < 従来 > PSpice の回路解析では 主に時間応答 周波数応答を表示 回路設計者 PSpice < 新機能 > MATLAB の 2D/3D 可視化 プログラミング機能を活用することで 回路解析に役立つ多種多様なグラフを簡便かつ自動で表示 1 多種多様な 2D/3D のプロット関数 2 プログラムによる処理の自動化 3 ユーザ所望の形式でグラフ表示 17
表示例 AC 解析結果の極座標表示 18
デモ AC 解析結果を MATLAB の機能でレポート生成 PSpice 回路 PSpice 結果解析データ 19
新機能 2: カスタムコンポーネント作成支援 PSpice-MATLAB Visualization Interface Evaluate MATLAB functions in PSpice PSpice Systems Option MATLAB Simulink PSpice co-simulation interface. Import MATLAB module as simulation model in PSpice using PSpice DMI 20
新機能 2: カスタムコンポーネント作成支援 < 従来 > PSpice でカスタムコンポーネントを自作するには 専門スキルが必要 回路設計者 PSpice カスタムコンポーネントを プリミティブモデル (.MODEL で定義 ) サブサーキットモデル (.SUBCKT で定義 ) などを使って 自作する必要がある < 新機能 > PSpice 特有のカスタムコンポーネントの作成方法を意識せずに MATLAB を使って手早く簡単にカスタムコンポーネントを作成 ( 例 ) 理想ダイオードモデルの記述例.SUBCKT SimpleDiode 1 2 R1 1 3 100 D1 3 2 DMOD1.MODEL DMOD1 D(Is=1e-13 Rs=0.1).ENDS SimpleDiode カスタムコンポーネントの特性を表す数式を記述 条件分岐処理 (if 文 ) MATLAB 関数 コメント文 21
PSpice 上で MATLAB 関数 ビヘイビアモデル PSpice によるシミュレーションでの MATLAB 関数の利用 電圧制御電圧源 電圧制御電流源に MATLAB 関数を割り当て 22
PSpice 上で MATLAB 関数 ビヘイビアモデル PSpice によるシミュレーションでの MATLAB 関数の利用 電圧制御電圧源 電圧制御電流源に MATLAB 関数を割り当て 10V 0V -10V 4.0V V(M_OUT) V(ABM3:OUT) V(ABM3:IN) 0V -4.0V 1.0V V(ABM4:OUT) V(ABM4:IN) 0V SEL>> -1.0V 0s 50us 100us 150us 200us 250us 300us V(ABM3:OUT) V(ABM3:IN) Time 23
PSpice 上で MATLAB 関数 評価メジャメント MATLAB 関数を PSpice の評価メジャメントに利用 24
機能 3: MATLAB/Simulink のシステムモデルと PSpice の詳細回路モデルの協調解析 PSpice-MATLAB Visualization Interface Evaluate MATLAB functions in PSpice PSpice Systems Option MATLAB Simulink PSpice co-simulation interface. Import MATLAB module as simulation model in PSpice using PSpice DMI 25
機能 3:MATLAB/Simulink のシステムモデルと PSpice の詳細回路モデルの協調解析 < 従来 > PSpice による回路解析だけでは 制御や機械 油圧などと組合せてシステム全体を俯瞰して システムの機能 性能の検証ができない 回路設計者 PSpice 回路にフォーカスした解析 < 新機能 > MATLAB/Simulink と PSpice を繋げるインターフェースを活用することで 複合物理領域のシステム全体の機能 性能を検証できて モデル化した全てのコンポーネントの過渡応答を詳細に把握できる 制御設計者 Simulink 制御 機械 回路設計者 PSpice 電気 PSpice エンジン MATLAB/Simulink エンジン 26
MATLAB/Simulink-PSpice 協調解析 : 概要 MATLAB / Simulink 上で構成されたシステムモデル中に OrCAD PSpice 上で構成された電気回路モデルを挿入 Simulink によるシステムシミュレーションを実行する際に アナログ電気詳細回路の振る舞いを考慮したシミュレーションが可能 27
MATLAB/Simulink-PSpice 協調解析 : フロー紹介ブラシレスモータ制御システムの回路検証 電気 駆動回路 3 相モータ負荷機械 機械 制御 モータ制御 ゲート信号 ( 6) モータの状態 ( 電流 速度 ) 目標速度 28
MATLAB/Simulink-PSpice 協調解析 : フロー紹介 29
MATLAB/Simulink-PSpice 協調解析 : フロー紹介 30
MATLAB/Simulink-PSpice 協調解析 : フロー紹介 詳細デバイスモデル (IGBT) 31
MATLAB/Simulink-PSpice 協調解析 : フロー紹介 32
MATLAB/Simulink-PSpice 協調解析 : 解析結果 Simulink モデル PSpice モデル 33
機能 4:PSpice 向けモデル生成 PSpice-MATLAB Visualization Interface Evaluate MATLAB functions in PSpice PSpice Systems Option MATLAB Simulink PSpice co-simulation interface. Import MATLAB module as simulation model in PSpice using PSpice DMI 34
機能 4:PSpice 向けモデル生成 Simulink から C コード生成 +DMI 向けラッパーコード ( カスタマイズ機能 ) < 従来 > PSpice で設計した詳細回路モデルを 別部署で作った制御モデルと組合せたときに 回路が所望の振舞いをするかを PSpice 環境だけで検証できない < 新機能 > 別部署のエンジニアが MATLAB/Simulink で作った制御モデルを C コードに変換して PSpice 環境に取り込む機能を活用することで PSpice 環境だけで制御と回路を含む動作の検証ができる 制御設計者 Simulink C + - 制御 回路 + - 制御 回路 回路設計者 PSpice 回路設計者 PSpice 35
PSpice 向け DMI 向けモデル生成 ( カスタマイズ機能 ) Simulink PSpice C コード DMI ラッパーコード Embedded Coder ライセンスを使用 36
デジタル制御モデルを活用 : デモ 37
PSpice と MATLAB の連携機能 (4 つ ) PSpice-MATLAB Visualization Interface Evaluate MATLAB functions in PSpice PSpice Systems Option MATLAB Simulink PSpice co-simulation interface. Import MATLAB module as simulation model in PSpice using PSpice DMI 38
MATLAB/Simulink Cadence Virtuoso リンク環境 Simulink モデルを Virtuoso 環境で活用 HDL Verifier の SystemVerilog DPI-C モデル生成機能 Simulink モデルを Virtuoso 上でビヘイビアモデルで活用 信号源デルタシグマ変調器デシメーションフィルタ SystemVerilog DPI-C 生成機能 Virtuoso ADE 環境上で MATLAB の解析機能を活用 Virtuoso ADE MATLAB Integration 機能 : MATLAB の豊富な解析 可視化の関数 レポート生成機能を活用 MATLAB 関数利用 Virtuoso ADE MATLAB Integration 機能 39
HDL Verifier SystemVerilog DPI-C 生成機能 HDL Verifier の SystemVerilog DPI-C モデル生成機能 AMS シミュレータ上で Simulink モデルを ビヘイビアモデルとして アナログ デジタル ( ミックスドシグナル ) 検証で活用 HDL シミュレータ上で Simulink モデルを検証テストベンチで活用 指令信号 コントローラ モーター C コード生成 SystemVerilog Stimulus C テストベンチ SystemVerilog DPIC Response HDL Verifier C コード 入力 出力 指令信号 コントローラ モーター AMS シミュレータ HDL シミュレータ 40
MATALB Virtuoso ADE リンク MATLAB から ADE の結果にアクセス MATLAB のインタラクティブセッションを起動して ADE 結果データにアクセス ADE のデータにアクセスする為のコマンドを用意 MATLAB 上で各種関数 スクリプトをデバックしながら作成 関数は ADE 上から使用可能 41
MATALB Virtuoso ADE リンク MATLAB 関数を ADE 上で使用 MATLAB の関数利用 結果データからレポート生成 ADE 結果データを MATLAB から読み込み MATLAB 上スクリプトをエディットしてデバック その後に ADE 上で使用 42
アジェンダ 回路設計におけるシステムレベルシミュレーション MATLAB/Simulink OrCAD PSPICE 統合設計環境 まとめ 43
まとめ MATLAB/Simulink の環境を OrCAD PSpice で回路設計と組合せて活用することで 開発初期段階から詳細回路設計段階までシステム全体を俯瞰した PCB システム設計作業を行うことができます ぜひ 両ツールを組合せたソリューションを 一度お試し下さい OrCAD PSpice 回路設計アナログ デジタル混在の回路シミュレーション MATLAB /Simulink システム設計複合物理領域に跨る制御システム全体のシミュレーション 回路設計者 PSpice 回路図作成 部品データベース連携 アナログ デジタル混在回路の解析 モンテカルロ解析 スモーク解析 https://www.innotech.co.jp/orcad/products/orcad-overview/ + 制御設計者 Simulink 制御ロジック設計 複合物理領域の解析 最適化 レポート生成 2D/3D グラフィックス 組込み用コード生成 https://jp.mathworks.com/products/simulink.html 44
Next Steps : 展示ブースへ是非お越し下さい MATLAB/ADE リンク環境デモ 通信 AMS (MATLAB/PSpice リンク環境 ) AMS Designer リンク環境 MATLAB 関数利用 MATLAB/PSpice リンク環境デモ PSpice- MATLAB Visualization Interface MATLAB Simulink PSpice cosimulation interface. PSpice System s Option Evaluate MATLAB functions in PSpice Import MATLAB module as simulation model in PSpice using PSpice DMI Cadence 社展示 MATLAB/PSpice リンク環境 MATLAB/ADE リンク環境 45