我是 蛋糕店老板,一名国科大数字IC在读研究生,研究兴趣是类脑神经网络芯片设计。
关注公众号,拉你进“IC设计交流群
”。
【蛋糕店老板 致力于写原创文章,希望将有深度、有帮助的干货文章带给大家~】
一.什么是AXI总线
在XIINX FPGA的软件工具vivado以及相关IP中有支持三种AXI总线,拥有三种AXI接口,当然用的都是AXI协议。其中三种AXI总线分别为:
AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输;
AXI4-Lite:(For simple, low-throughput memory-mapped communication )是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。
AXI4-Stream:(For high-speed streaming data.)面向高速流数据传输;去掉了地址项,允许无限制的数据突发传输规模。
本文我们先分析最简单的AXI4-Lite信号
二.AXI4-Lite快速入门
2.1 关键信号列举
AXI4-Lite信号其实非常简单
,我们只用关注五个数据通道即可。
注:为了方便大家快速入门,以下我只列出关键信号,其他信号我们暂不关注,后续我会逐个讲解
基础信号:时钟复位信号:
信号 | 方向 | 描述 |
---|---|---|
ACLK | 时钟源 | 全局时钟信号 |
ARESETn | 复位源 | 全局复位信号,低有效 |
第一组信号:写地址通道信号
信号 | 方向 | 描述 |
---|---|---|
AWADDR | 主机to从机 | 写地址,给出一次写传输的地址 |
AWVALID | 主机to从机 | 有效信号,表明此通道的地址控制信号有效 |
AWREADY | 从机to主机 | 表明"从"可以接收地址和对应的控制信号 |
第二组信号:写数据通道信号
信号 | 方向 | 描述 |
---|---|---|
WDATA | 主机to从机 | 写数据 |
WVALID | 主机to从机 | 写有效,表明此次写有效 |
WREADY | 从机to主机 | 表明从机可以接收写数据 |
第三组信号:写响应信号
信号 | 方向 | 描述 |
---|---|---|
BVALID | 从机to主机 | 写响应有效 |
BREADY | 主机to从机 | 表明主机能够接收写响应 |
第四组信号:读地址通道信号
信号 | 方向 | 描述 |
---|---|---|
ARADDR | 主机to从机 | 读地址,给出一次读传输的读地址 |
ARVALID | 主机to从机 | 有效信号,表明此通道的地址控制信号有效 |
ARREADY | 从机to主机 | 表明"从"可以接收地址和对应的控制信号 |
第五组信号::读数据通道信号
信号 | 方向 | 描述 |
---|---|---|
RDATA | 从机to主机 | 读数据 |
RVALID | 从机to主机 | 写有效,表明此次写有效 |
RREADY | 主机to从机 | 表明从机可以接收写数据 |
2.2 如何分析关键信号
AXI4所采用的是一种READY,VALID握手通信机制,简单来说主从双方进行数据通信前,有一个握手的过程。传输源产生VLAID信号来指明何时数据或控制信息有效。而目地源产生READY信号来指明已经准备好接受数据或控制信息。传输发生在VALID和READY信号同时为高的时候。VALID和READY信号的出现有三种关系。
VALID先变高READY后变高。时序图如下:
在箭头处信息传输发生。
READY先变高VALID后变高。时序图如下:
同样在箭头处信息传输发生。
VALID和READY信号同时变高。时序图如下:
在这种情况下,信息传输立马发生,如图箭头处指明信息传输发生。
从以上信号通道可以看出,主机想给从机一份数据,首先要指定地址,并且向从机种写入一份数据,并且从机要返回一个【写响应信号】表明写入成功或失败;如果主机 想从 从机种读出一份数据,首先要写入地址,从机才能将该地址的数据返回主机。
三.分析一份仿真波形,彻底明白AXI4-Lite
观察此仿真波形,我将关键信号分别赋予五种颜色:金黄、酒红、灰色、红、绿
,同样颜色信号放在一起。
从上到下, READY,VALID握手通信机制清楚明白。
地址写0,4,8,c
写数据1,2,3,4
响应信号axi_bvalid在axi_awready && S_AXI_AWVALID && axi_wready &&S_AXI_WVALID置1,图中也反映出来
地址读0,4,8,c
读数据1,2,3,4