完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
5.31我在做PL控制PS DDR时遇到个问题,就是从机(DDR)的wready信号就不会拉高,只有你发出wvalid信号时才会拉高,(这是通过跑通例程抓取信号看见的)。然而awready信号是会一直拉高的。这与写数据通道好像有点区别。 我不清楚PS 端的DDR到底发生了什么,但是和MIG核就是有点不一样,通过仿真MIG核可以发现,PL端的DDR是会先一直发出wready信号的。这个问题就是我怎么判断他到底采用了这三种握手里面的哪种握手,这实在令人费解。还是PS端的DDR的机制的问题。 5.31 update: 那么,DDR就不会拉高wready信号,验证如图所示,必须你首先给wvalid信号,wready信号才会拉高 情形二:如果设置为AXI3,如图所示 经过验证发现,最后DDR会一开始就拉高wready信号 PS:先来看一下AXI Interconnect这个M_AXI接口信号,它会产生一个S_AXI接口没有的信号M_AXI_wid(AXI3信号) 在这个时候貌似这个AXI Interconnect就实现了AXI4 TO AXI3协议转换。 回到问题本身:这就十分有意思了,一个接口的定义改变会影响DDR的运行状态,这到底是为什么?? |
|
相关推荐
1个回答
|
|
从您的描述来看,您在使用PL端(可编程逻辑)通过AXI总线控制PS端(处理器系统)的DDR(动态随机存取存储器)进行读写操作时遇到了一个问题,即从机(DDR)的wready信号不会一直拉高,只有在发出wvalid信号时才会拉高。而awready信号则一直拉高。您想知道如何判断采用的握手方式以及这是否与PS端DDR的机制有关。
首先,我们需要了解AXI总线的握手协议。AXI总线有三种握手协议:ACK-based、LIGHTWT和HANDSHAKE。在这些协议中,wready和awready信号的行为可能会有所不同。 1. ACK-based:在这种协议下,wready信号会在每个事务开始时拉高,表示目标设备准备好接收数据。awready信号也会在每个事务开始时拉高,表示目标设备准备好接收地址。 2. LIGHTWT:在这种协议下,wready信号不会在每个事务开始时拉高,而是在目标设备准备好接收数据时才拉高。awready信号的行为与ACK-based协议相同。 3. HANDSHAKE:在这种协议下,wready和awready信号都会在目标设备准备好接收数据或地址时拉高。 根据您的描述,从机(DDR)的wready信号在发出wvalid信号时才会拉高,而awready信号一直拉高。这种情况可能更接近LIGHTWT协议。但是,为了确定采用的握手方式,您需要检查设计中的AXI总线配置。 关于PS端DDR的机制问题,这可能与您使用的DDR控制器或MIG(Memory Interface Generator)核有关。不同的DDR控制器或MIG核可能有不同的握手协议实现。您可以通过查看文档或仿真来了解您使用的DDR控制器或MIG核的具体实现。 建议您采取以下步骤来解决问题: 1. 检查设计中的AXI总线配置,确定采用的握手协议。 2. 查阅您使用的DDR控制器或MIG核的文档,了解其握手协议的实现方式。 3. 如果可能,尝试修改设计或使用不同的DDR控制器/MIG核,以适应您的项目需求。 4. 如果问题仍然存在,您可以考虑寻求专业人士的帮助,或者在相关论坛和社区寻求建议。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1367 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1046 浏览 0 评论
2442 浏览 1 评论
2146 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2408 浏览 0 评论
1889 浏览 50 评论
6018 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 16:58 , Processed in 0.608183 second(s), Total 40, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号