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

 채택된 답변

Shoumei
Shoumei 2018년 11월 1일

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

질문:

2018년 10월 30일

댓글:

2018년 11월 1일

Community Treasure Hunt

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

Start Hunting!