Typhoon HILではメインプロセッサとしてFPGAとCPUが一体となったプロセッサチップを搭載しており、主回路演算の高速な演算が必要な領域はFPGA、信号処理などの遅い演算でも対応可能な領域はCPU領域を用いて演算を行います。Typhoon HILでシミュレーションを行うためにはFPGAのタイムステップのみではなく、CPUのタイムステップも各自設定する必要があります。
さらに、CPUはユーザーCPUとシステムCPUという二つの領域に分かれ、両者のタイムステップを設定する必要があります。
Typhoon HILのFPGAとCPUのシステムアーキテクチャについては下記ページをご確認ください。
ユーザーCPUの設定方法
ユーザーCPUの設定方法を説明します。Scematic Editorのモデルにおいて信号処理を行うコンポーネントでExecution rateという設定項目が存在するコンポーネントがあります。
例えば下図ですが、モータモデルはトルク値や電気角などの値をユーザーCPUで処理される領域に出力可能であるため、ユーザーCPUのタイムステップ(Execution rate)を設定可能です。推奨される値としてはFPGAのタイムステップに対して整数倍となり、かつ50usecや100usecといった値が初期値としては推奨されます。下図の例は「Model initialization function」のスクリプト機能でTs=100usecを変数として代入しています。
また、ユーザーCPUを設定するコンポーネンㇳすべてにタイムステップの値を入力する必要はありますが青いラインで繋がっているコンポーネントの設定欄で「inherit」と入力することで元の値を継承することが可能となります。(下記の例ではモータモデルのTs=100usecを継承。)
システムCPUの設定方法
システムCPUの設定方法を説明します。Schematic Editorでモデルを開き、画面左上の「Model」⇒「Model settings」⇒「Signal Proccesing settings」⇒System SP settingsのExecution rate 1, Execution rate2に数値を設定してください。基本的に、システムCPUはRMS measurementsなどごく一部の素子のみ利用となりますので初期値で問題ありません。
ユーザーCPUとシステムCPUのタイムステップのタイミング成立の確認方法
FPGAのタイムステップが成立するかどうかはシミュレーションモデルをコンパイルする際のコンパイルログで確認することが出来ましたが、CPUの各タイムステップのタイミング成立はSCADAでのみ確認することができます。
HILデバイスと接続時に画面右下のCIOフラグが確認可能なり、システムCPUとユーザーCPUの使用率を確認することが出来ます。100%以内の収まっている場合は各CPUの処理が間に合っている場合を示します。下図の場合はCPUの使用率に余裕がありますので各CPUのタイムステップを速くすることが可能です。また、100%を超える場合には超過したタイムステップを増加し、コンパイルからやり直す必要があります。
対応方法ですが、公式のドキュメントページが非常によくまとまっているため下記より是非ご確認ください。