output reg [C_M_AXI_DATA_WIDTH-1:0] M_AXI_WDATA,//AXI写数据通道写数据信号。output reg [C_M_AXI_DATA_WIDTH/8-1:0] M_AXI_WSTRB,//AXI写数据通道写数据掩码信号。output reg M_AXI_WLAST,//AXI写数据通道突发传输最后一个信号。output reg [C_M_AXI_WUSER_WIDTH-1:0] M_AXI_WUSER,//...
// Width of Data Bus parameter integer C_M_AXI_DATA_WIDTH = 32, // Width of User Write Address Bus parameter integer C_M_AXI_AWUSER_WIDTH = 0, // Width of User Read Address Bus parameter integer C_M_AXI_ARUSER_WIDTH = 0, // Width of User Write Data Bus parameter integer C_M...
localparam time TestTime =8ns;typedeflogic [7:0]byte_t;typedeflogic [AxiAddrWidth-1:0]axi_addr_t;typedeflogic [AxiDataWidth-1:0]axi_data_t;typedeflogic [AxiStrbWidth-1:0]axi_strb_t;//simulation address rangelocalparamaxi_addr_tStartAddr =axi_addr_t'(0); localparamaxi_addr_tEndAddr=...
X即为AXI outstanding,其中线路延迟Cycle数目*2为Round Trip Latency(cycle)(往返总延迟),N为burst length。 (补充:最大传输带宽=AXI Clock Frequency x AXI Data Width)
localparaminteger ADDR_LSB = (C_S_AXI_DATA_WIDTH/32)+1; Xilinx的这种写法在位宽大于32的时候是跟上面的写法对等的,但是显然上面的写法更加适合理解并适用于低位宽的AXI总线。 AddrWrite(AW)通道 此处除了写入地址外,基本就是Xilinx的示例代码 //--- AW channel ---reg aw_en; always @( posedge S_AXI...
reg[M_AXI_ADDR_WIDTH-1:0] axi_awaddr =0;//AXI4 写地址 regaxi_awvalid =1'b0;//AXI4 写地有效 wire[M_AXI_DATA_WIDTH-1:0] axi_wdata ;//AXI4 写数据 wireaxi_wlast ;//AXI4 写LAST信号 regaxi_wvalid =1'b0;//AXI4 写数据有效 ...
1:学习AXI总线协议包括AXI-FULL、AXI-Lite 2:掌握基于VIVADO工具产生AXI协议模板 3:掌握通过VIVADO工具产生AXI-lite-Slave代码,并且会修改寄存器 4:理解AXI-lite-Slave中自定义寄存器的地址分配 5:掌握通过VIVADO封装AXI-LITE-SLAVE图形化IP 6:通过仿真验证AXI-LITE IP的工作是否正常。
module myip_axi4_Full_slave_v1_0_S00_AXI # ( // Users to add parameters here // User parameters ends // Do not modify the parameters beyond this line // Width of ID for for write address, write data, read address and read data ...
Interface Mode 选择 Master,Interface Type 选择 Full, Date Width自行设定,这里选择32. 选择edit IP. 本文整理了master的部分代码,后续有时间会整理master部分剩下的代码和slave的代码,因为学习协议去看文档非常枯燥,还是与代码结合比较有效,当做一个学习笔记。
, parameter integer S_ADDR_WIDTH = 32 , parameter integer S_ADDR_LSB = (S_DATA_WIDTH/32) + 1 , parameter integer S_OPT_MEM_ADDR_BITS = 8 ) ( input logic S_ACLK , input logic S_ARESETN , input logic [S_ADDR_WIDTH-1:0] S_AWADDR ...