Simulink からの HDL 生成に関して

6 ビュー (過去 30 日間)
Nobuo Iwasaki
Nobuo Iwasaki 2018 年 10 月 30 日
コメント済み: Nobuo Iwasaki 2018 年 11 月 1 日
Simulink 上のモデルをトリガ入力で起動するブロックとして HDL に変換したいと考えています。
”開始(割り込み)信号の検出 -> 対象ブロックの入力データをラッチ -> 対象ブロックでの処理 -> 対象ブロックの出力データをラッチ -> 終了(割り込み)信号を出力”
のような流れで Xilinx Zynq の ARM コアから FPGA のプログラマブルロジックに実装したファンクションをコールするような形式です。
このようなブロックを作る場合 Simulink 上の対象モデルに Trigger ブロックを追加するだけでよい、あるいは対象モデルの全てのポートを Triggered Subsystem にすればよい、それとも別な方法があるのかお教えください。
また参考になるサンプル等があれば併せてお教えください。

採用された回答

Shoumei
Shoumei 2018 年 11 月 1 日
ZynqのARM-FPGA間の同期はFree runningモードとCoprocessing-Blockingモードという2種類あって、後者がNobuo Iwasakiさんが言われているような動作に該当すると思います。
モデルはTriggered Subsystemを使わずに、HDLワークフローアドバイザーでIPコア生成するときにこのモードを選択するようです。
  1 件のコメント
Nobuo Iwasaki
Nobuo Iwasaki 2018 年 11 月 1 日
回答ありがとうございました。
FPGA に実装する部分は IP コアとして扱うことを考えていたのですが、教えていただいた Coprocessing モードは IP コア生成ワークフローをサポートしていませんでした。メニュー上は設定できるのですがヘルプに記載されていました。 ということで IP コアとして扱うことをやめる方向で再検討したいと思います。 複数のプロジェクトでの使いまわし等を考慮して IP コア化したかったのですが...。

サインインしてコメントする。

その他の回答 (0 件)

製品


リリース

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!