デッドロック状態の回避 - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: Dynamic Function eXchange (UG909)

Document ID
UG909
Release Date
2023-11-15
Version
2023.2 日本語

RM 境界を越えるトランザクションには、完了までに複数サイクルかかるものがあります。トランザクションが開始し、完了する前に RM を削除するとシステムがデッドロック状態になります。たとえば、トランザクションを開始したマスターが削除されたスレーブからの応答を待機する場合などです。

また、RM 自体がデッドロック状態を発生させることがあります。たとえば、ソフトウェアが RM レジスタの特定の値をポーリングしているとします。RM を削除すると、ソフトウェアが待機し続けるため、停止する可能性があります。大型のブロック転送が完了するのを待機している間に停止することもあります。

Dynamic Function eXchange デザインには何らかのハンドシェイク機構を組み込み、RM の削除が安全なときにのみ実行されるようにする必要があります。この要求/肯定応答のペアはユーザー デザインの一部とし、どのような方法でも組み込むことができます。