FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

AXIのお勉強 - 特殊アクセスの場合の信号について -

最近は専ら自作CPUの足回りをAXIに置き換える作業をしているのだが、それのせいでブログに書くことがあまりない...

AXI4の仕様を勉強しているが、後学のためにメモしておこうと思う。

  • アトミックアクセスの場合の信号

AXI3 の場合:

AxLOCK[1: 0] アクセスタイプ
0b00 通常アクセス
0b01 排他アクセス
0b10 ロックアクセス
0b11 予約

これ、別々のチャネルでも独立に設定するのかな?つまり、アドレスチャネルでロックをかければ、データチャネルも自動的にロックがかかるという理解で良いのかな。

AXI4の場合:

AxLOCK アクセスタイプ
0b0 通常アクセス
0b1 排他アクセス

何故か縮退されている。

これはインタコネクトが中で保証するということでいいのかな。

  • AxCACHE : バッファ可能かどうかを示す信号。 4ビットある。
AxCACHE 転送属性
[0] 0 バッファできない
[0] 1 バッファできる
[1] 0 キャッシュできない
[1] 1 キャッシュできる
[2] 0 Read-allocateできない
[2] 1 Read-allocateできる
[3] 0 Write-allocateできない
[3] 1 Write-allocateできる

Read-allocate と Write-allocate の意味がよく分からない。

ARM Information Center

  • Read Allocate. This means that the read transfer, if it misses, must be allocated in the cache.
  • Write Allocate. This means that the write transfer, if it misses, must be allocated in the cache.