前回の続き、自作CPUがFPGA上で動作したので一安心。 とりあえず次の試行として、LiteXのSoC周りがWishboneをベースに作ってあるので、AXIに変えてみる。 AXIに変えるためには、とりあえずコマンドラインで以下のようにオプションを変えればいいらしい。
python3 -m litex_boards.targets.digilent_nexys_video --cpu-type=mycpu --build --output-dir mycpu_fpga_axi --sys-clk-freq 30e6 \ --bus-standard axi --bus-data-width 64
とりあえず、SRAMのビット幅がデフォルトの32から倍の64ビットになっている。
reg main_basesoc_mmio_a2w_b_valid = 1'd0; reg [127:0] main_basesoc_mmio_a2w_r_payload_data = 128'd0; reg [1:0] main_basesoc_mmio_a2w_r_payload_resp = 2'd0; reg main_basesoc_mmio_a2w_r_ready = 1'd0; reg main_basesoc_mmio_a2w_r_valid = 1'd0; reg [127:0] main_basesoc_mmio_a2w_w_payload_data = 128'd0; reg [15:0] main_basesoc_mmio_a2w_w_payload_strb = 16'd0; reg main_basesoc_mmio_a2w_w_ready = 1'd0; reg main_basesoc_mmio_a2w_w_valid = 1'd0; reg main_basesoc_mmio_axi_ar_first = 1'd0; wire main_basesoc_mmio_axi_ar_last; reg main_basesoc_mmio_axi_ar_param_dest = 1'd0;
ただし、変換のパスについては、アウトスタンディング数があまり大きくないのか?性能の面では少し疑問が残るね。 もうちょっと内部を詳細に見ていく必要がありそう。