Arm Cortex-A9缓存奇偶校验

Arm Cortex-A9缓存奇偶校验,arm,cpu-cache,intel-fpga,parity,Arm,Cpu Cache,Intel Fpga,Parity,我使用基于cortex-a9的设计(Altera Cyclon-V)和pl310二级缓存控制器。 当我在PL310 AUX寄存器中启用“奇偶校验启用”时,会出现故障(中断指示缓存奇偶校验问题)。 当我禁用奇偶校验(默认值)时,系统运行正常,没有错误\中止错误数据 你知道为什么会这样吗 您应该检查的几件事是您正在使用的设备的勘误表,以及关于CPU使用某些功能的工作频率的任何具体建议 PL310的早期版本在奇偶校验功能方面有一些缺陷,快速搜索Altera的Cyclon-V设备也会发现以下问题。它建议

我使用基于cortex-a9的设计(Altera Cyclon-V)和pl310二级缓存控制器。 当我在PL310 AUX寄存器中启用“奇偶校验启用”时,会出现故障(中断指示缓存奇偶校验问题)。 当我禁用奇偶校验(默认值)时,系统运行正常,没有错误\中止错误数据


你知道为什么会这样吗

您应该检查的几件事是您正在使用的设备的勘误表,以及关于CPU使用某些功能的工作频率的任何具体建议


PL310的早期版本在奇偶校验功能方面有一些缺陷,快速搜索Altera的Cyclon-V设备也会发现以下问题。它建议在使用ECC功能时使用某些工作频率,您看到的问题可能与此类似。

奇偶校验是检查内存位置是否已损坏的一种方法。禁用奇偶校验后,将不会出现错误或中止,因为没有任何内容检查数据

启用奇偶校验后,有两个可能导致中止的原因

  • 已连接缓存控制器的内存系统执行奇偶校验的方式与控制器预期的方式不同(或者根本不可能!)
  • 您的缓存内存存在实际问题
如果您遇到第一个问题,您需要确定它是否重要,如果重要,请配置或实现(或购买!)一个高速缓存控制器,使其按照您的系统需要的方式工作


如果你有第二个问题,那么,至少你现在知道了,如果禁用奇偶校验,你就不会有这个问题。但它仍然需要修复

谢谢。我知道这个ECC错误。Altera Cyclone V提供奇偶校验(在标签RAM上)和ECC(在数据RAM上)。我们知道ECC勘误表。我们看到的中止是标记RAM上奇偶校验失败的结果。我已经修改了一些定时寄存器(读/写周期),现在看起来更稳定了,尽管我仍然不确定是什么导致了问题的产生。您是指PL310的定时寄存器吗?如果是这样的话,你需要确保你的价格不会低于芯片的验证价格。我不知道这个特定设备的最佳设置是否有文档记录。它通常出现在初始设计阶段,在通常的文档中可能不可用。请记住,当使用从未验证过的设置时,所有下注都将关闭。有些PL310具有额外的奇偶校验缓存位,而有些则没有。显然,SRAM单元中没有奇偶校验的数量要少一些,所以我猜大多数设计都没有填充奇偶校验。如果您启用它,并且芯片上没有奇偶校验单元,您将得到一个错误。您必须查看缓存ID寄存器。对于注释,OP似乎在设计中具有奇偶校验位。