Nios® II などで FPGA 内にマルチ CPU 構成をとっている場合、Mailbox 等を使用して CPU 間のやり取りを行うと思いますが、Qsys の Altera Avalon Mailbox (Simple) を使用する以外の方法はありますか?
カテゴリ:Nios® II
ツール:Quartus® Prime / Quartus® II
デバイス:-
同様の機能を実現する方法として Dualport-RAM を使用する方法がありますが、以下のようにポーリングなのか割り込みなのかの違いがあります。
また Mailbox は 32 bit のデータしか格納できないので、大容量の情報を渡すことができません。
・Mailbox
- マルチ CPU 同士の Message(32bit data) 交換用に使用可能
- 受信時には割り込みを発行(ポーリングも可)
- Status register (0x2) について Sender は Set (write) ,receiver は clear (read) しかできない
- message は 32bit 限定
参考情報
https://www.altera.com/en_US/pdfs/literature/ug/ug_embedded_ip.pdf
(Mailbox のキーワードで検索してください。)
・Dualport-RAM
- マルチ CPU 同士のデータ交換用に使用可能
- Nios® II で自分で値を取得しに行く必要あり(ポーリングのみ)
- Read-Duaring-Write は Old Data or Don’t Care (M20K)
- ユーザ仕様でどこのアドレスを何の用途かを設定( IP 上では規定なし)
参考情報
https://www.altera.com/en_US/pdfs/literature/ug/ug_ram_rom.pdf