在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3030|回复: 4

[求助] 各位前辈,请教一下关于AXI总线的问题。

[复制链接]
发表于 2022-4-10 12:26:23 | 显示全部楼层 |阅读模式
50资产

各位前辈,我想请教几个问题。
1.在AXI总线中,读响应的RLast信号是什么时候会升高呢?是根据burst_len的长度来判断嘛。
2.在AXI总线中,写响应的Bvalid、Bresp信号何时会拉高呢?
3.
       我想设计一个AXI的控制器,但是不能使用突发模式,也就是burst=2‘b00,然后读写很多数据。
       我的想法是:
      写时,awvalid一直拉高,根据wvalid&wready为1时,将地址改变。虽然不使用burst,但是我设置burst_len为我想要的长度(128),这是因为我以为Bvalid信号是以burst_len为准的,一旦burst_len达到1就会将Bvalid至1.
       读时,arvalid一直拉高,一旦rvalid为1就改变一次地址,设置burst=2‘b00,burst_len为128.我以为rlast会在burst_len至1就会将rlast至1.
如图:

ba55a2f1eac3aa840ca2c7352f1f340.jpg

7844f8b1959d4da301db573ba24bbc4.jpg


各位前辈们帮帮忙啊~主要是大部分资料都是burst模式为01的图,但是burst为00并且需要读写很多数据的时序要求不太清楚。不知道这样对不对。




发表于 2022-4-11 10:26:52 | 显示全部楼层
我只在实习的时候做过AXI控制器哈,首先burst=00的时候,应道是相当于单步写入,应该是写一个数据,就需要Write response channel响应一次吧。看你的叙述,你应该是一个slave吧,你可以去看看协议中怎么规定的,因为master肯定是按着协议规定进行的。
发表于 2022-4-12 16:53:13 | 显示全部楼层
本帖最后由 Love24 于 2022-4-12 17:53 编辑

1、Rlast标识最后一笔读数据,是根据arlen判断的,一次burst传输时,假设arlen=3,即一次rd突发传输4笔数据,当rready和rvalid同时有效第4次时,将rlast拉起;
2、写响应信息需要在对应的写操作完成后拉起,如果先发写地址再发写数据(协议也允许先发写数据再发写地址,不常用),可以在wready&wvalid&wlast=1时将slave bvalid拉起,当bvalid与master的bready同时有效时,将bresp返回给master;
3、你所说的不能用突发模式是啥意思?是每次发一笔数据吗?但是如果你将awburst/arburst设为2'b00,这叫作fixed模式,这时候地址是固定的,往一个固定地址重复读写数据,你的应用应该不是这样吧。单笔数据传输也是burst传输的一种,arlen=awlen=0 ,就表示一次传输一笔数据;
发表于 2022-4-13 09:50:12 | 显示全部楼层
1、rlast根据burst_len判断,如果没有burst是00,这个并不常用,一般用来对某个固定地址进行更新,如果非要用,就没个数据伴随一个last和resp.
2、写相应在收到写请求后拉高,依赖关系看协议中的依赖关系图
3、如果burst是2‘b00,你一次写128都在同一个地址哟。这种模式地址不会变化的,仔细看看协议中对四种模式的阐述,别想当然的用。
 楼主| 发表于 2022-6-21 17:08:01 | 显示全部楼层


阿达爱呆呆 发表于 2022-4-11 10:26
我只在实习的时候做过AXI控制器哈,首先burst=00的时候,应道是相当于单步写入,应该是写一个数据,就需要W ...


好的,谢谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 22:34 , Processed in 0.019648 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表