記事カテゴリトップ: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 を送信できる。