FPGA中的AXI总线知识点快速学习(适合新手)

本文是面向新手的FPGA AXI总线教程,涵盖AXI介绍、信号描述、数据传输过程,重点讲解非猝发和猝发传输。AXI是ARM提出的高性能接口,广泛应用于FPGA设计,包括AXI、AXI-Lite和AXI-Stream。文中还解析了AXI的VALID/READY机制和各种通道信号,如ARVALID、RVALID等,以及猝发传输中的ARLEN、ARBURST等信号。
摘要由CSDN通过智能技术生成

网上有很多介绍AXI的文章,本篇或多或少参考了一些,其中的一些内容是我自己的理解,我认为比较适合新手,希望能帮助到才接触FPGA的萌新。

一、AXI简介

AXI——Advanced eXtensible Interface,直译过来就是先进的可扩展接口,是由ARM公司提出的,是一种高性能、高带宽、低延迟的片内总线。FPGA工程师会发现其大量运用于FPGA设计中,Vivado中的接口类IP全部都配有AXI接口,可见其重要性。AXI包括AXI、AXI-Lite(轻量级、简化级)和AXI-Stream(Xilinx特有的高速数据流传输模式),其官方标准文档我已经上传,下载链接在这里,官方标准文档不建议从头看到尾,只需必要时查询使用。

AXI是多Master和多Slave的拓扑结构,如下图所示:

图1 AXI的拓扑结构

中间的Interconnect是指的AXI交换设备。上图需要特别注意的是,我们在设计过程中,有时同一个设备既可以作为Master,也可以作为Slave。

二、AXI总线的信号描述

AXI总线使用基于VALID/READY握手机制的数据传输协议,这是什么意思呢?就是无论是Master端,还是Slave端,要传输任何内容必须要确认对方给出了READY有效(不一定有效之后才传输,但是一定要等到有效,后面会有解释),且无论传输给对方的是数据还是地址,是控制信号还是状态信号,都要在VALID有效时进行传输。

1、AXI总线的通道和信号(AXI和AXI-Lite)

AXI总线一共分为6大通道,对于AXI和AXI-Lite,一般传输的信号线如下列出,对于AXI-Stream,后面单独讨论,对于猝发传输,会多几根信号线,也放在后面单独讨论。

(1)读地址通道,包含ARVALID, ARADDR, ARREADY信号。
(2)读数据通道,包含RVALID, RDATA, RREADY, RRESP信号。
(3)写地址通道,包含AWVALID,AWADDR, AWREADY信号。
(4)写数据通道,包含WVALID, WDATA,WSTRB, WREADY信号。
(5)写应答通道,包含BVALID, BRESP, BREADY信号。
(6)系统通道,包含ACLK,ARESETN信号。

可以看出,除了系统通道之外,每个通道都有VALID和READY。对于每个通道的信号名称,可以得到这样的一个规律:在前面加上一个字母R,表示读通道,加上一个字母W,表示写通道,加上一个字母B,表示应答通道(因为是VALID/READY机制,所以应答通道必然是写应答,表示写操作成功了,为什么没有读应答?读者请自己思考。),对于读通道和写通道,再在前面加上一个字母A表示地址通道,如果不加就是数据通道。根据这样的命名规律,大部分的信号线的意思就十分明白了,只有下面两种信号线需要说明。

RESP——表示Slave发出响应(response),其中BRESP是从设备发出的写响应,表示写操作的状态,RRESP是从设备发出的读响应,表示读操作

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值