協調検証インターフェース
エレクトロニクスシステムがますます複雑化するにつれて、システムレベルデザインや数値演算モデリング環境と
HDL 設計環境とのつながりが必要となってきています。ハイレベルなモデリングからそれに対応した
RTL 記述への変換が可能となってきています。このプロセスでは、異なった抽象度のモデルを組み合わせ
て検証を行う場合があります。また、全てのモデルを RTL に変換したとしてもシステムレベルで使用したテ
ストベンチを検証に流用できれば便利です。
Active-HDL では、独自の協調検証インターフェースとサードパーティーツールのプラグイン環境によってそ
のような要求に応えています。下記の3製品との協調検証についてご紹介します。
注) Active-HDL には、IEEE 標準準拠のインターフェースを備えています。
その PLI/VHPI インターフェースによって、どのような C/C++ コードでも接続することが可能です。
(詳細は ハイパフォーマンスシミュレータ
をご覧ください).
数値演算モデリング環境
Simulink® インターフェース
Simulink は The Mathworks 社が提供する数値演算モデリング、シミュレーション、解析環境です。
Active-HDL に搭載されている Simulink インターフェースによって、Active-HDL と Simulink との協調検証が可能です。
このインターフェースによって、Simulink のライブラリブラウザに追
加された Active-HDL Blockset をダイレクトに Simulink のダイアグラ
ムに配置することができます。ダイアグラム上にインスタンスされたブロッ
クは Active-HDL のデザインライブラリで指定して出力した HDL モデル
の内容を含んでいます。下図は二つの HDL ブロックと Active-HDL
Co-Sim ブロック(インターフェースのコントロールに必要)を Simulink
ダイアグラムに配置した様子を示しています。

Simulink でのシミュレーションが開始されると、Simulink と Active-HDL は Simulink
協調検証インターフェースによってお互いに通信を行います。Simulink がトップレベルでのシミュレーションを行い、
Active-HDL は、Simulink にインスタンスされた全ての HDL モデルのシミュレーションを実行します。
デザインは、両方の環境からコンカレントにモニター、デバッグすることが可能です。
そのインターフェースは HDL シミュレーションとハイレベルな数値演算モデリング環境のギャップをつなぐ役割をしています。
DSP アプリケーション開発や複雑な数値演算式を基にしたテストベンチなどに使用可能です。
MATLAB® インターフェース
MATLAB インターフェースによって、VHDL または Verilog コードから直接 MATLAB をコントロールすることができます。
MATLAB では、複雑な計算やシティミュラスの供給、検証対象デザインの出力結果の分析などが可能です。
Verilog の場合、インターフェースには Verilog タスクやダイナミックライブラリからロードされる
ファンクションが実装されています。VHDL の場合、必要なファンクションやプロセジャーは、
Aldec ライブラリから MATLAB パッケージに組み込まれます。そのインターフェースは直感的に
使用できます。数百万もの浮動小数点のやりとりが一瞬にして Active-HDL と MATLAB
によってやりとり可能です。
MATLAB との協調検証では、Active-HDL がマスターとなります。シミュレーションプロセスは
Active-HDL でイニシャライズされます。HDL コードの実行が開始されると HDL シミュレータから
MATLAB のプロセジャー、ファンクション、タスクが呼び出され MATLAB へ適切な実行命令が受け渡されます。
下記に MATLAB をコントロールする VHDL コードの一部を示します。

Active-HDL のサンプルデザインとして提供されている典型的なインターフェースを下記に示します。
MATLAB にビルトインされている fft() ファンクションはディスクリート Fourier とファースト
Fourierアルゴリズムとの計算を実行します。MATLAB ファンクションの結果は HDL で記述された
FFT での実行結果と比較されます。シミュレーションを停止する前に、MATLAB のグラフィカルツール
によって信号波形やスペクトラムを観測することができます。
Handel-C と HDL の協調検証
Handel-C は、 Celoxica 社によって開発された C ライクなハイレベル合成可能な言語です。
C/C++ で開発されたアルゴリズムは、Handel-C に変換され、 HDL に合成することができます。
(Handel-C は HDL よりも C/C++ に近い言語です。)
Handel-C によるアルゴリズム開発は非常に便利ですが、Handel-C でのデザインフローに
限定されてしまうという制限があります。Active-HDL では、Handel-C との協調検証イン
ターフェースによって HDL デザインフローとのギャップを解消します。Active-HDL では GUI
から Handel-C を直接マネージでき、デザイン作成、シミュレーション、デバッグという一連の
作業を可能にします。Handel-C ファイル用のコンパイルオプションを設定して、Active-HDL
上でコンパイル、シミュレーション、デバッグが可能です。下記に Actie-HDL での HandelC
コードデバッグウィンドウを示します。

また、Handel-C コードのステップ実行や、ブレークポイントの設定が可能です。
Active-HDL の波形ウィンドウに Handel-C のバリアブルを追加することもできます。
それによって、HDL とHandel-C の信号変化を波形ウィンドウ上で同時に観測することができます。
|