MIG Spartan-6 LPDDR / DDR / DDR2 / DDR3  – 读/写计数(px_rd_count / px_wr_count)有时会异常跳转-Xilinx-AMD社区-FPGA CPLD-ChipDebug

MIG Spartan-6 LPDDR / DDR / DDR2 / DDR3 – 读/写计数(px_rd_count / px_wr_count)有时会异常跳转

描述

有时,MCB的px_rd_count或px_wr_count异常跳转。具体来说,当置位空时,px_rd_count从0x0跳转到0x40一个周期,当空置为无效时,计数值跳转到0x0。

这是跳跃预期吗?是什么导致的?

注意:本答复记录是Xilinx MIG解决方案中心(Xilinx答复34243)的一部分 。 Xilinx MIG解决方案中心可用于解决与MIG相关的所有问题。

无论您是使用MIG开始新设计还是对问题进行故障排除,都可以使用MIG解决方案中心来指导您获取正确的信息。

这是预期的行为。 MCB读FIFO的写入侧存在CDC问题。 FIFO为64位深,有65个格雷码位,以防止写入端发生指针冲突。

当指针翻转时,指针将从1100000跳到0000000.当时钟边沿接近时,最高位(第6位)有机会被采样为0,但第5位仍然会在读取时被采样为1 side0100000(二进制63)。另一种情况是1000000(二进制127)。

计数器值是读/写指针的减法。如果采样0100000,则计数器值比预期值小1。当采样1000000时,它比预期的多出64个。

当用户接口由异步时钟驱动到MCB时钟并且无法避免时,会出现此示例。因此,计数器值的跳跃是+64或-2与预期的不同。

对于高温下零星写入FIFO,可以看到类似的行为。 ChipScope-Analysis表明,当FIFO变满时,pX_wr_count会跳转。在某些情况下,这发生在从0x40到0x00的单个时钟。

发生的时间与完全或空的计数器值无关。如果不希望跳转,可以使用以下之一:

  1. 不要在设计中使用读取计数的最高位,将其替换为FULL标志,因为此问题仅发生在计数器的MSB上。
  2. 在三个周期内连续采样px_rd_count。跳转持续时间仅为1个用户界面时钟。
  3. 监视FULL,EMPTY数据FIFO,以便可以立即停止访问以避免过度运行和欠载运行。

有关MCB用户界面信号的更多信息,请参阅:

(Xilinx答复43322) MIG Spartan-6 MCB – 用户接口 – 信号和参数说明

请登录后发表评论

    没有回复内容