网站建设工程师招聘,证券公司客户经理怎么拉客户,软件开发制作公司,网站建设的财务分析AXI总线
何处使用AXI ZYNQ异构芯片#xff0c;内部总线使用的AXI总线纯FPGA的IP接口也要用高速接口#xff0c;DDR#xff08;AXI、传统#xff09;等模块都有涉及到 什么是AXI总线 AXI的三种形式: AXI-FULL#xff1a;高性能的存储器映射需求—可以256个以内发送 存储器…AXI总线
何处使用AXI ZYNQ异构芯片内部总线使用的AXI总线纯FPGA的IP接口也要用高速接口DDRAXI、传统等模块都有涉及到 什么是AXI总线 AXI的三种形式: AXI-FULL高性能的存储器映射需求—可以256个以内发送 存储器映射—主机对从机进行读写操作时会指定一个目标地址这个地址对应系统存储空间的地址表示对该空间进行读写操作存储器本身没有地址给存储器分配地址的过程叫存储器映射。 AXI-LITE简化版本—不支持突发传输—单次一个数据AXI-STREAM高速的流数据通信—移除地址的需求直接发数据利用DMA可以实现从数据流到存储器映射到转换 AXI总线的设计者 ARM公司是AMBA总线的一种APB、AHB、AXI AXI机制 面向存储的一种设计AXI总线是一种突发总线突发传输—效率高速度快。一直连续的传输比如突发8次传输就是指8个时钟连续传输8个数据五个通道 每个独立的通道都包含一组信息信号、VALID信号和READY信号用于提供双向握手机制信息源端使用VALID信号表示当前通道地址、数据和控制信息什么时候有效目的端使用READY信号表示什么时候可以接受信息读地址通道—包含所需的地址和信息读数据通道—包含last信号、由从机发送给主机包含了读数据和读响应的信息读响应的信号用于表示读传输是否操作完成写地址通道—包含所需的地址和信息写数据通道—包含last信号由主机发送给从机包含了写数据然后通过WSTRB信号表示当前数据哪个字节有效写响应通道—这是一个独立的通道而读响应则直接在读数据通道中从机通过这个响应传递给主机 信号的描述 ACLK和ARESETn—全局信号不属于任何一个通道写地址中的关键信号 AWADD—写地址指定突发传输下的第一个地址即起始地址AWLEN—突发长度—比输入的定义大一位AWSIZE—单个数据的大小AWABURST—突发类型—判断如何分配后续的地址增长—INCR—自增加模式—根据突发的大小来自增发多大的AWSIZE就自增多少AWVALID—master发出—地址是否有效果AWREADY—slave决定是否准备接收好地址 写数据的关键信号 WDATA—真正的数据WSTRB—WDATA哪个数据有效WLAST—最后一个数据拉高WVALIDWREADY 写响应的关键信号 BRESP—表示写传输的状态—OKAY表示成功—SLVERR从机错误BVALID—slaveBREADY—master 读地址的关键信号 和写地址的一样 读数据的通道 和写一样 时序步骤 写地址写数据写响应 波形验证 valid和ready同时为高代表数据当前有效先写地址再写数据最后一个数据跟随last信号先读地址再读数据最后一个数据跟随last写完数据有一个响应信号 突发传输有指定需要实现一个AXI总线的方式 AXI写实现步骤 写首地址—有效信号和准备信号同时有效紧接着写首地址突发传输数据控制last信号last脉冲后等待响应信号从机给主机 AXI读实现步骤 写首地址紧接着等待从机传输过来的数据当有效信号和准备信号都是高时读取数据接受last信号 AXI InterConnect和AXI SmartConnect的介绍 这两个IP核都用于连接单/多个存储器映射的AXI Master和单/多个存储器映射的AXI Slave即为不可以连接stream类 AXI传输机制和死锁 outstanding和out-of-order outstanding AXI总线的写地址和写数据是分离的可以写地址总线上连续发送两次地址再依次传输写数据 out-of-order 多对多的情况下ID不同传输可以任意传输AXI4中只针对从机有效。主机不支持 死锁 AXI总线发生异常死机了无法正常工作 死锁产生原因 主要是没有严格执行AXI总线协议 死锁情况 一般是在一个主机对多个从机的时候(outstanding address)主机先发送地址顺序由于先发送的距离远而后发送的距离近因此导致后发送的先收到了写信号此时会发送M1占用S1导致了死锁多个主机对多个从机(out-of-order)互联模块管理下会出现这种问题两个主机第一主机发送相同ID到S1S2。第二个主机也发送相同的ID到S1、S2但是经过AXI桥将ID扩展后对于从机来说是不同的ID可以乱序传输。那么S1可能会先响应第二个主机而S2响应第一个主机。主机接受响应乱序违反协议陷入死锁。 AXI接口 clock和reset—所有的输出都在clock的上升沿之后输出reset后关键是信号主机arvalid/awvalid/wvalid要为低从机rvalid和bvalid为低握手机制 都是使用一样的valid和ready因此主机和从机都可以控制传输速率valid和ready都是高才可以 优先级别示意图的意义—单箭头无所谓谁先拉高—双箭头有优先级别