2. 設計フロー改善へのアプローチ
このように、従来の設計フローには、アナログ部の設計およびシステム全体の機能検証にボトルネックがあるように見受けられます。MATLAB/Simulinkはこれらのボトルネック対策に効果的なシミュレーション環境を提供し、アナログ・ミクスドシグナル設計フローの改善に直結する解決策を提供します。
2-1. 高抽象度モデルの適用
アナログ、デジタルの機能分割を最適化するためには、コンポーネント間の相互作用を考慮し、システム全体のシミュレーションを繰り返し実施する必要があります。シミュレーションの速度や実行時間がボトルネックになることは先に指摘した通りですが、これまでの経緯を見ても、コンピュータの性能向上はこのボトルネックの解消にあまり寄与していないようです。
既存のコンピュータの性能で、よりシミュレーションを高速に実行するためには、必要十分な精度を保ちつつ対象をより高い抽象度で表現する、いわゆる"モデリング"が重要になります。数学的な手法を用いて設計対象の機能をモデル作成し、これをシミュレーションに用いることで検証時間を短縮し、システム構成の探索もより広範かつシステマティックに進めることが可能となります。部品のパラメータ変更がシステム全体の性能に及ぼす影響を見積もることも可能となるでしょう。
また、設計上の問題点や部品のバラつき、不具合を想定した様々な条件でシミュレーションすることで、実際にボードやエンジニアリングサンプルに実装する前に対策を検討することもでき、設計の期間短縮や品質の向上といった効果が見込まれます。
2-2. なぜMATLAB/Simulinkが良いのか?
MATLABは、対話型のプログラミング環境を提供し、世界中のエンジニアに利用されている科学技術計算用の統合ツールです。SimulinkはMATLAB上で動作する動的システムの設計・シミュレーションツールで、ブロック線図をベースとしたユーザーインタフェースを提供しています。
Simulinkにより、デジタルやアナログ・ミクスドシグナル、イベントドリブンといった各種のコンポーネントを含むシステムモデルを作成し、シミュレーションすることができます。モデル内の信号やデータは各種の可視化機能を使い、シミュレーション実行中に観測することも可能です。
Simulinkで効率的にアナログ・ミクスドシグナルシステムを設計できる理由として、高抽象度モデルの作成に必要なブロックライブラリが利用可能であることが挙げられます。LRC回路の伝達関数表現や信号処理などの必要な構成要素があらかじめ高抽象度のライブラリとして提供されており、1からすべてを作りこまずにモデルを作成することができます。
また、典型的なアナログシステムには、電気あるいは温度など時間に依存する様々な特性が含まれています。この中には短い時間で急激に変化するものもあれば、非常に長い時間をかけて観測しなければ変化が確認できないようなものもあります。
このような様々な特性を包括的に検証するには、積分時間の間隔を長くとって計算量を節約するか、逆に短くとって観測精度を上げるかのいずれかの方法が考えられます。間隔を長くすれば、短時間で急激に変化する特性をとらえることは不可能になるでしょうし、逆に間隔を短くすると計算量が増え、シミュレーションに非常に長い時間がかかるということになります。MATLAB/Simulinkに搭載された最新の数値積分アルゴリズムによる常微分方程式ソルバでは、計算精度と速度のバランスを保つよう、自動的に積分時間のステップが最適に調整されます。
この可変ステップソルバにより、Simulinkではフィードバックを含む制御システムや、VCO、PLLといったアナログシステムをSpice系シミュレータよりも高速にシミュレーション可能です。システムの性能をシミュレーションするには回路の詳細情報は不要であり、この目的において精度の欠落はないといえるでしょう。
設計の初期段階から詳細なレベルでシミュレーションする代わりに、より抽象度の高いレベルで精度と時間のバランスをとったシステム全体のシミュレーションをSimulinkで実現でき、より高速に、より短時間でシステムを設計・評価することができるということになるわけです。
次回はΔΣ型A/Dコンバータの設計を題材としたケーススタディにより、MATLAB/Simulinkモデルの具体的な適用例を紹介します。
著者:柴田克久
MathWorks Japan
インダストリーマーケティング部
シニアマーケティング スペシャリスト
@MATLAB_JP - MATLAB関連情報つぶやき中