Matlab/Simulink Hardware in the Loop

先日、XilinxFPGAに関する無料セミナーX-fest 2012に行きました。別に、弁当とノベルティの2GBのUSBメモリのためではありません。

面白かったのが、SimulinkFPGAボードと組み合わせて協調シミュレーションを行うHardware in the loopと呼んでいる技術です。Simulinkのブロック図に置かれたブロックをFPGAに置き換えて、Simlinkのシミュレーションを行うのと全く同じ手順で、SimulinkFPGAとの協調シミュレーションを行うことができます。もちろん、これに似たような手法は何年も前から提案されていたし、数年前のMatlab Expoでもどこかの大学の研究室がSimulinkFPGAのシミュレーションの発表をしていました。もっと古くは、少し毛色の違う技術ですが、ASIC設計のシミュレーションの高速化のために、回路の一部をFPGAに置き換えて回路シミュレータ+FPGAの協調シミュレーションを行う、ということもやられていました。でも、いまMathworksが提案しているHardware in the loopが凄いと思う理由は、仮に自力で協調シミュレーションを実現しようとしたときに必要となる非常に煩雑なインタフェース回路やソフトウェアをすべて自動生成できるようになっており、煩雑さが完全にユーザから見えなくなっていることです。しかも、そんなに高価ではない汎用のFPGAボードを使用することができます。

Mathworks --> xPC Target