Axi_full Xilinx 学习笔记(一)

前言 

一 为什么要学AXI?

AXI 已经是bd设计环节,与官方代码对接环节中不可或缺的通信握手模块。

二 背景知识

AXI 是源自于ARM公司的AMBA总线,这类总线已经大量的使用在处理器内部不同模块的互联。所以使用AXI已经是大势所趋。或者说AXI总线是区别硬件工程师能力的一个重要标准。如果不使用AXI总线,说明该工程师的多模块互联的相关经验较少,这样也说明该工程师的项目经验往往局限于小型的rtl编写。

三 本文面向于已有AXI初学者的朋友

目标:本文并不是从头教学axi, 而是总结一些axi 控制信号的赋值规律,方便大家记忆以及应用编写自己的axi

-----------------------------axi 控制信号的复制规律-------------------------

1. 首先我们需要关注的信号

axi 控制信号驱动来源
写地址通道AWVALIDmaster
AWREADYslave
AWADDRmaster
写数据通道WVALIDmaster
WREADYslave
WLASTmaster
WDATAmaster
写响应通道BVALIDslave
BREADYmaster
写地址通道ARVALIDmaster
ARREADYslave
ARADDRmaster
写数据通道RLASTslave
RVALIDslave
RREADYmaster

这个表是AXI 的关键我们可以总结出以下特点

1. axi 总线是有方向的,类比于uart,uart是不强调主机核从机的区别,但是axi一定是有主从机的

2. 为什么axi要强调主从机的区别?

为axi最初的初衷是处理器于存储器或者CPU中的一下其他部件。所以我们可以看出,写指令或者读指令一定来自主机,从机只是一个设备而已

3. 我们关注一下各个控制信号的驱动源

驱动源说明了这个信号是该模块的 output 同时也是在这个模块中我们要对该信号进行控制

4. valid 信号和ready信号

valid信号类似于处理器中的指令,处理器向设备发出一个指令                                                 

ready信号类似于设备的中断响应信号                                                                                               

当valid和ready都拉起说明该时钟内执行指令

让我们练习一下                                                                                                                             

对于从机他的驱动源是?自己默写一下看看是不是这些                                                     

awready,wready,bvalid,arready,rdata, rvalid, rlast

2.其次我们要关注的辅助信号

axi master
init_txn_pulse写通道
start_single_burst_write
C_M_AXI_BURST_LEN
wnext
start_single_burst_read读通道
rnext

下文我们 继续关注如何控制这些辅助信号,和端口信号 进而引出官方代码中的状态机

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值