首页 > 其他分享 >AXI合集

AXI合集

时间:2023-05-10 20:47:21浏览次数:48  
标签:WB 总线 WDATA 死锁 AXI4 AXI 合集

短时间内工作用不到,整合一下以前的收藏以防以后用到

 

转知乎大佬(已看完):

深入 AXI4 总线(O)专栏目录与资料集合 - 知乎 (zhihu.com)

各信号介绍(但是看样子不像是AXI4):

(1条消息) AXI总线协议资料整理_誓约胜利之舰的博客-CSDN博客_axi rid

 

outstanding问题

AXI outstanding理解 - 知乎 (zhihu.com)

burst 传输可以减少地址通道的交互,提升单笔传输的效率

outstanding 可以减少多笔传输之间的等待,提升多笔传输的效率

 

乱序和交织:

AXI总线的out of order/interleaving到底是怎么一回事?_Ericcoding的博客-CSDN博客_axi的out of order

乱序针对burst,交织针对transfer

 

超详细(没看完):

AXI总线总结 - 知乎 (zhihu.com)

 

AXI死锁:

蔚来一面的时候问了AXI死锁:

 

AXI4协议移除了WID,那么master连发多个trans时,aw 通道虽然和w通道隔离,但是顺序就必定要一致了,否则无法判断WDATA到底是哪个AWADDR的。那么对于AXI3呢?虽然AXI3协议有WID,但是协议规定WDATA第一笔必须和顺序一致。怎么理解呢?比如AW通道发送ADDR0, ADDR1,ADDR2 三笔写操作,每个写操作burst length=2,那么W通道的顺序在AXI4协议的规定下必须是WDATA0_0,WDATA0_1,WDATA1_0,WDATA1_1,WDATA2_0,WDATA2_1;而AXI3协议稍微宽松一点可以是WDATA0_0, WDATA1_0, WDATA2_0, WDATA0_1, WDATA1_1, WDATA2_1,即3个*_0之间的顺序不能乱。所以对于马上讲到的第二种死锁,AXI3,AXI4不会因为WID而有区别,都存在死锁。

 

回到第二种死锁,第二种死锁就是因为上述W通道的顺序规定,假设master先后发出写请求trans A和B,对于mater,它要按照协议先把WDATA_A发了,再发WDATA_B。如果SLAVE先收到了ADDR_B,再收到ADDR_A,那么按协议,它前面的总线接口就要等WDATA_B来才会给SLAVE,而WDATA_B注定是等不到。

 

WB还在master的接口处,无法发送到总线上。因为按照master 地址通道先transA再transB的顺序,WA必须被slave接收并完成握手(bvalid,bready握手),才能接着发WB,所以WB目前发不出来。然而slave因为先收到了AWB,再AWA,所以它只愿意接收WB,WA卡在图里的总线不被接收,所以WA永远不被接收,进而WB也永远不能发出。

 

解决方法:重排序

标签:WB,总线,WDATA,死锁,AXI4,AXI,合集
From: https://www.cnblogs.com/xkxxxy/p/17389237.html

相关文章

  • axios
    json-server​JSONServer是一个快速、零配置的基于Node.js的FakeRESTAPI服务器,用于快速原型开发和前端开发中的数据模拟。JSONServer的核心功能是提供基于RESTfulAPI的数据访问接口,它支持常用的HTTP方法,如GET、POST、PUT、DELETE等,可以方便地进行数据的增......
  • vue2+vant2+rem+axios+钉钉自动登录 h5模板
    下载代码请轻轻的点一下这里~Node版本要求VueCLI需要Node.js8.9或更高版本(推荐8.11.0+)。你可以使用nvm或nvm-windows在同一台电脑中管理多个Node版本。本示例Node.js14.17.0启动项目npminstallnpmrundev打包项目打测试包会带vconsole控制台对......
  • 微信小程序 自定义组件 监听数据变化 出现异常 Maximum call stack size exceeded.
    代码调用处: 组件内部  本地调试无异常,发布之后出现此异常解决方法:监听属性steps的值变化时,调用处不能使用双向绑定,去掉steps的双向绑定即可,具体的原因未知(不知为啥本地调试不会抛异常) ......
  • NOI2022 模拟赛合集【kel.ac.cn】
    RoundXLIX开场看B想了3h假回去想A1h切。A.守序划分问题容易想到一个必要条件,对于任意集合\(S\),需要满足\(\max_{i\inS}A_i>\min_{i\notinS}A_i\)。然后用你的大脑构造一下发现这东西也充分。于是思考如何计数,即不能将数列割裂成两个部分。于是考虑动态规划。设\(f[i,j]......
  • 【Issues】axios如何获取responseType为blob的请求的错误信息
    问题背景axios请求下载文件时会设置responseType:'blob’来处理,此时如果响应数据错误,则无法下载文件且同时没有把相关的错误信息提示处理。因为返回的是Blob对象,无法获取到普通对象中的错误信息。例如:{"code":450002,"data":null,"msg":"下载出错"}这就需要在下载文件时做......
  • HaoSQL-数据库开发环境合集
    开发的时候,常常需要数据库环境。配置起来有时候其实挺麻烦的,所以这里找到了HaoSQL,非常适合在windows环境上开发使用。包含的数据库:MySQLPgMSSQLMariaDBMonogodb链接地址:https://cloud.189.cn/web/share?code=MRNR3yvQbaAv(访问码:0eky)......
  • PAT Advanced 1007. Maximum Subsequence Sum
    PATAdvanced1007.MaximumSubsequenceSum1.ProblemDescription:Givenasequenceof\(K\)integers{\(N_1,N_2,...,N_K\)}.Acontinuoussubsequenceisdefinedtobe{\(N_i,N_{i+1},...,N_j\)}where\(1≤i≤j≤K\).TheMaximumSubsequencei......
  • 在vue中使用axios的步骤(保姆级)
    一、基础用法1.安装axiosnpmiaxios2.引入axios//引入axiosimportaxiosfrom'axios'3使用//发起一个post请求axios({method:'post',url:'http://192.168.0.88:8888/api/private/v1/login',data:{username:'admin'......
  • vue中配置使用axios
    简单示例代码:请求网络的js逻辑,可以放到request.js文件中,放在目录utils下;importaxiosfrom"axios";axios.defaults.withCredentials=true;//创建axios实例constinstance=axios.create({//`headers`请求头的通用配置headers:{//'X-Requested-W......
  • AMBA总线(3)—— AXI协议
    内容没写完,先贴个信号列表,争取尽快总结完......。。。。。。......