AXI4-lite总线读写Verilog可综合设计——可用于JESD204核配置

本文介绍了AXI4-lite总线的使用,包括通道信号时序要求、读写时序图以及如何用Verilog实现可综合的读写程序。特别讨论了在配置JESD204核时的AXI4-lite接口操作,强调了某些寄存器不应被配置以避免同步问题。
摘要由CSDN通过智能技术生成

 

目录

AXI4系列总线简介

AXI4-lite总线

通道信号时序要求

读写的时序图

写时序的可综合程序

读时序的可综合程序

JESD的AXI配置调试心得


AXI4系列总线简介

Advanced eXtensible Interface (AXI)是ARM的Advanced Micro controller Bus Architecture(AMBA)总线的一部分,第一个版本的AXI在2003年的AMBA3.0中被提出,在2010年的AMBA4.0中提出了第二个版本AXI4。

AXI4包含三个类型:

AXI4:主要面向高性能地址映射通信的需求;
AXI4-Lite(axi):是AXI的简化版本,例如可以用来进行控制与状态寄存器的配置与读取。
AXI4-stream(axis):是ARM公司和Xilinx公司一起提出,主要用在FPGA进行以数据为主导的大量数据的传输应用。在vivado的IPcatalog里可以看到很多IP核的数据传输是基于AXI4或AXI4-stream。

参考文档:

ug1037-vivado-axi-reference-guide.pdf:介绍AXI对xilinx的IP核以及Device的支持特征。
IHI0022D_amba_axi_protocol_spec.pdf: AXI4、AXI4-lite的协议内容。(在http://www.amba.com可以下载到)
IHI0051A_amba4_axi4_stream_v1_0_protocol_spec.pdf:AXI4-stream的协议内容。(在http://www.amba.com可以下载到)

AXI4-lite总线

其包含了5个独立的传输通道:读地址通道、读数据通道、写地址通道、写数据通道、写响应通道。如Table B1-1。

注:我在使用vivado 的JESD204B的jesd core时配置IP核的参数需要使用AXI4-lite的配置接口(Table B1-1中的awport,arport没有用到),但是其example design只给出仿真时序,因此我又写出来了可综合的Verilog设计,主要思想是状态机控制。

 AXI是基于VALID/READY的握手机制数据传输协议,传输源端使用VALID表明地址/控制信号、数据是有效的,目的端使用READY表明自己已经接受信息。

通道信号时序要求

通道握手信号:每个通道有自己的xVALID/xREADY握手信号对。

写地址通道:当主机驱动有效awaddr与awvalid时,保持有效状态,直到主机在时钟上升沿采样到从机的awready有效后,可以将awaddr与awvalid无效。

写数据通道:当主机驱动有效wdata与wvalid时,保持有效状态,直到主机在时钟上升沿采样到从机的wready有效后,可以将wdata与wvalid无效。

写响应通道:在写地址与写数据均传输后且生效后,从机有效写响应信号bresp与bvalid,直到时钟上升沿采样到主机的bready信号。

读地址通道:当主机驱动有效araddr与arvalid时,保持有效状态,直到主机在时钟上升沿采样到从机的arready有效后,可以将araddr与arvalid无效。

读数据通道:主机传输完地址后就将rready有效表示准备好接收读数据,从机接收到地址后传输所读地址的数据,从机驱动有效rdata与rvalid、rresp,从机在时钟上升沿采样到主机的rready有效后,可以将rdata与rvalid、rresp无效,同时主机采样到有效的rdata与rvalid、rresp后下一个时钟也会使rready无效。

综上可以用状态机来控制读写的过程。

读写的时序图

读写时序仿真

写时序的可综合程序

module axi_write(
    input s_axi_aclk,
    input s_axi_aresetn,
    input s_axi_awready,
    input s_axi_wready,
    input s_axi_bvalid,
    input [1:0] s_axi_bresp,
    output reg [31:0] s_axi_awaddr,
    output reg s_axi_awvalid,
    output reg [31:0] s_axi_wdata,
    output reg s_axi_wvalid,
    output reg s_axi_bready
    );
localparam pLanes = 2;
// F = 1 K = 20
localparam pF        = 1;///
localparam pK        = 20;///

// Setup the link configuration parameters.
localparam [7:0] pDID      = 8'h55;//不变
localparam [3:0] pADJCNT   = 4'h0;//不变
localparam [3:0] pBID      = 4'hA;//不变
localparam       pADJDIR   = 1'b0;//不变
localparam       pPHADJ    = 1'b0;//不变
localparam       pSCR      = 1'b0;/扰码
localparam [4:0] pL        = (pLanes-1);///
localparam [7:0] pM        = 3;///
localparam [1:0] pCS       = 2'd0;
localparam [4:0] pN        = 5'd15;//
localparam [4:0] pNt       = 5'd15;/
localparam [2:0] pSUBCV    = 3'b001;//不变
localparam [2:0] pJESDV    = 3'b001;//不变
localparam [4:0] pS        = 5'd0;/
localparam       pHD       = 1'b0;/
localparam [4:0] p
  • 47
    点赞
  • 128
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值