記事カテゴリトップ:AMBA CHIプロトコルについての勉強 - FPGA開発日記
AMBA CHIについて今更勉強している。
まずは基本的な読み込みリクエストについて。マニュアルを読んでいく。
B5.3 書き込みトランザクション
このセクションでは、書き込みトランザクションの相互接続プロトコル・フローの例を示す。
5.3.1 スヌープなしの書き込みトランザクション & 分離されたレスポンス
ここでは、WriteNoSnp
リクエストの処理方法について示す。
登場人物は、
- RN-F0 / RN-F1 / RN-F2 : リクエストノード。今回はRN-F0がリクエストを出すことになる
- HN-F: ホームノード。リクエストを受け付け、スレーブノードにリクエストを渡す
- SN-F: スレーブノード。ホームノードからリクエストを受け付ける。
図 B5.15 の WriteNoSnp
トランザクション フローの手順は次のとおりである。
- RN-F0 が HN-F に
WriteNoSnp
トランザクションを発行する。HN-F は要求を受信して割り当てる。 - HN-F は
Comp
なしでDBIDResp
を送信する。その間、HN-F は SN-F にWriteNoSnp
を送信する。- DBIDとはData Buffer Identifierのこと。データバッファの場所を識別するIDだと思われる。
WriteNoSnp
自体はデータを送信しないが、DBID
を返すというのは、ホームノードに書き込みデータを格納する場所が確保されている、ということを意味している、気がしている。
- RN-F0 はデータ
NCWrData
で応答する。SN-F は HN-F にCompDBIDResp
を返す。- スレーブノードがリクエストを受け入れ、後続のデータ受信に備えてリソースを確保した、という意味になるのか。
- HN-F は SN-F から
CompDBIDResp
を受信した後に Comp を送信する。HN-F は SN-F にNCBWrData
を送信する。 - RN-F0 は HN-F からの
Comp
を待機し、その要求の割り当てを解除する。
注: このフローの例では、SN-F から CompDBIDResp
を受信した後に Comp が送信される。
ただし、HN-F は RN-F0 から WriteNoSnp
要求を受信した後はいつでも Comp
を送信できる。