完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,
我正在研究Spartan 6的设计。 数据来自PCIe IP核,频率为62.5MHz,通过AXI4-Stream FIFO同步到100 MHz系统时钟。 这是一个示例波形; m_axis_tvalid未与100 MHz时钟的上升沿同步。 虽然m_axis_tvalid很高,但m_axis_tdata在标有红色的点处不断变化。 在FIFO IP内核中不处理时钟域时钟同步,并且每当m_axis_tvalid为高时,这意味着FIFO中存在稳定的数据,因此当我拉m_axis_tready时会发生高转换吗? m_axis_tvalid很高,数据不断变化是正常的吗? 我对AXI4-Stream FIFO的理解不正确吗? 我正在使用的AXI4-Stream FIFO版本是LogiCORE IP FIFO Generator v9.3 我已经附上了png,以防它不清楚 谢谢, 杰姆 |
|
相关推荐
2个回答
|
|
两者都很正常。
您会注意到TVALID信号实际上与100MHz时钟同步(因为它始终与100MHz时钟具有相同的相位) - 它只是在时钟边沿上没有变化。 这是因为用于FIFO的块RAM在时钟边沿之后需要一点时间来提供其数据。 它应该对功能没有影响。 对于您的第二点,这正是流量控制对AXI流有效的方式。 每当TVALID和TREADY在时钟上升沿都为高电平时,就会传输一个数据元素。 传输完该元素后,端口上会出现另一个元素,准备在下一个时钟边沿传输。 如果它只能在TVALID为低电平时更改数据,那么在传输每个数据元素后,它必须将TVALID拉低一个周期 - 导致每隔一个时钟周期一个数据元素的最大吞吐量。 |
|
|
|
感谢您的回复,
但我无法正确读取数据。 如果你注意到第二个样本的m_axis_tdata在很短的时间内(小于一个时钟周期)是稳定的,当我在时钟的上升沿采样时,它会读取一些垃圾值,因为数据是不变的。 我该怎么办? 降低我读的速度? 如你所见,我keepm_axis_tready持续高。 我应该在有效读取后将其拉下一个周期吗? 谢谢, 杰姆 |
|
|
|
只有小组成员才能发言,加入小组>>
2369 浏览 7 评论
2785 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2253 浏览 9 评论
3328 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2419 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
741浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
529浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
342浏览 1评论
746浏览 0评论
1947浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 13:07 , Processed in 0.979439 second(s), Total 50, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号