FPGAが、そこそこ使えるようになって1か月
暗号アルゴリズムへの制御をするためのGPIOを設定しているのに、PC側から、どうしてもアクセスできない
(FPGAの内部からはアクセスできる)
PCIexpress の仕様を見ながら悩んでいたが、どうやらサンプルプロジェクトがそのままでは動かないようだ
xilinx のxdma IPで、axi-lite をつなぐ設定にすると、PCIのメモリ空間が設定され、BAR0が user, BAR1 が dma 用となる
ポイントは、xdma IP の PCIe: BARs, PCIe to AXI Lite Master Interface, PCIe to AXI Translation の値と Address Editor で表示される値を合わせること
AXI Interconnect は、Address editor の値にしたがって、要求を slave デバイスへ流すのだが、xdma でTranslation 値をサンプルのままにしておくと、アドレスの上位が0 になっているので、user 空間へのアクセスが、0番地となる
そりゃまぁ、不定値参照で、変な値になるわな
以下は、やっとたどり着いた正しい動作
長い戦いであった