微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于AXI总线VALID和READY信号间的关系

关于AXI总线VALID和READY信号间的关系

时间:10-02 整理:3721RD 点击:

刚刚在看AXI协议的资料 看到这样一句话It is important that during a write transaction, a master must not wait for AWREADY to be
asserted before driving WVALID. This could cause a deadlock condition if the slave is
conversely waiting for WVALID before asserting AWREADY.
这应该说的是AWREADY信号不能在WVALID之前就拉高,因为如果AREADY在等WVALID的话会造成死循环
看着这句话想了半天 也想不出为什么会这样 或者是我的英语水平有限把意思理解错了 有哪位大神懂的望指教一下


理解反了吧,是WVALID信号不能通过AWREADY信号产生,否则会产生一个combinational loop.



   好像是我理解有误 我再琢磨琢磨  再问你一个问题 我今天去面试 问了一个问题 AHB的数据传输速度提高的瓶颈在哪 如果要提高AHB的数据传输速度 可以在哪些方面进行改进

AHB的critical path是在hready,因为hready往往都是贯穿 输入hready, haddr, htrans,hwrite以及slave端逻辑的信号。要单方面提高速度,那么可以通过插入hready的stall cycle,从而截断 输入hready, haddr, htrans,hwrite,使hready只需要考虑slave端逻辑的timing。
如果还要提高速度,那么可以合理分配地址段,减少haddr的判断位数,或者定义slave只写、只读,不考虑htrans等等极限的提高。

太感谢了 学习了 以后有问题问您哈

slave可以wait valid assertion产生ready,如果master在wait ready assertion产生valid,那么这样就会形成死锁。所以master不应该wait ready而产生valid

各位,我也有一个关于AXI写事务握手的问题,就是这个握手并没有规定,究竟先地址通道握手还是先数据通道握手,要是数据通道先握手了,这时都还没有地址,数据应该写往哪儿呢?

   各通道是独立的。数据通道握手成功就把数据暂存下来,地址通道握手成功就把地址等控制信号存下来,然后两个通道之间根据ID来匹配,然后.......

   这个不是组合环的问题。打个比方:卖家说先付款后发货,卖家说先发货后付款,这样永远也达不成交易。类比下........


最好找个已有的例子来研究,看看人家如何实现。比如SYNOPSYS的IP CORE,与AXI与关的接口,对方是master,这边slave来配合,是先出地址和awvalid, 随后出wvalid,可以在看到二者都拉高后将awready拉高得到地址,过一个时钟再将wready拉高得到写数据。
以前想过种可能,就是万一AXI mster那边出来乱了怎么办?比如先出数据,再出对应的地址如何办?或者要是awid与wid出来的不一致怎么办?设计了比较复杂的配合方式,比如awid是4bit的话,做了个双口RAM,按awid将地址储存起来,数据也可以按类似方式以wid为地址储存起来,还设个flag,如果awid与wid都有内容了,则将之取出来配对,官操作完成,同时将flag置低放下一个相同的awid/wid进来。而此时有其它的wid的话,不受影响。

后来发现这样做意义不大,如果是很复杂的应用,比如AXI仲裁器,可能有这个需要,如果就是很简单的一个master与slave对接,即便有不同的awid发送,也不会复杂,直接使用就好。

wdata通道可以和aw通道同时有效,但是不能早于aw通道,slave如果支持先给awready,完成后给wready信号。

关于AMBA3.0 AXI协议的几点疑问
access, system
关于AMBA 3.0_AXI协议的几点疑问,欢迎大虾赐教小弟最近在研究AMBA3.0协议,关于AXI有些疑问:
1. burst 方式中,有一种是固定地址(FIXED-ADDRESS),即FIFO访问方式,解释是说:当FIFO装满或空时,重复访问同一个地址。这种方式是在什么时候使  用?
2. system cache中,bufferrable 和 cacheable有什么区别?当cacheble分给读和写时,有个write-throgu和write-back,这两个有什么区别?
3. Atomic accesses中exclusive access和locked access有什么区别?在exclusive access中semaphore type是什么意思?(它的解释是不影响总线的延迟,不需要保持锁定。怎么实现的。)
4. Protection unit中,normal access、privileged access、secure access、non-secure access有什么区别?这个里面的normal模式和burst 方式中的normal模式有什么区别?protection有什么作用?只是问master提供保护信息?
5.order(out-of-order)中,允许多个地址访问和乱序回应,是否只是通过ID号来区别?ID[3:0]最多只支持同时16个地址请求?
6.AXI协议中的仲裁和解码是什么时候发生的?解码是发生在slave内,还是有专门的解码模块?
希望大虾们能不吝赐教小弟先谢过了

감사합니다.....

协议只是理想的,现实的axi总线可以根据实际情况来做嘛。就像PCIe,这规定那规定,其实很多应用场景只用了一小部分,根本不是全部支持

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top