11.4 EDK,ppc440_virtex5_v1_00_a或更高版本?当PLB总线连接到SPLB和另一个地址流水线从属器件时,PLBv4.6解决了流水线故障-Altera-Intel社区-FPGA CPLD-ChipDebug

11.4 EDK,ppc440_virtex5_v1_00_a或更高版本?当PLB总线连接到SPLB和另一个地址流水线从属器件时,PLBv4.6解决了流水线故障

问题描述

当SPLB0或SPLB1从PLB端口和支持地址流水线操作的另一个PLB从站连接到同一PLB总线时,会发生数据损坏或PLB总线挂起。当两个PPC440 SPLB0 / 1端口连接到同一总线时,也会发生这种情况。

我该如何解决这个问题?

解决/修复方法

此问题仅发生在PLB总线使用的不常见情况下。 plb_v46仲裁器仅支持2深度地址流水线操作,因此它向所有从站广播单个rdPrim和wrPrim信号。 PPC440硬块的SPLB接口设计用于支持N深度流水线的仲裁器。如果PPC440 SPLB采样rdPrim或wrPrim用于不同的从器件(当SPLB没有确认SAValid时),则SPLB可能正在驱动总线反转。这可能导致数据损坏或总线挂起。如果总线只有一个不发出流水线事务的主服务器,或者总线上的所有其他从服务器不支持地址流水线操作(即,其他从服务器不响应SAValid而断言addrAck),则不会发生此问题。

所有其他EDK内核(包括基于EDK PLBv46 IPIF的自定义PLBv46从站)不支持地址流水线操作,不受此问题的影响。

解决方法包括:

  • 断开(绑定到net_gnd)SAValid(?PLBPPCS * SAVALID?),rdPrim(?PLBPPCS * RDPRIM?)和wrPrim(?PLBPPCS * WRPRIM?)输入到PPC440 SPLB接口。这会禁用SPLB的所有地址流水线操作,但允许所有其他从站继续支持2深度流水线操作。
  • 断开(绑定到net_gnd)SAValid,rdPrim和wrPrim输入到与PLB440 SPLB接口共享相同PLB总线的所有其他从站。这会禁用所有其他从站上的所有地址流水线操作,但允许PPC440 SPLB继续支持2深度地址流水线操作。

如果多个PPC440 SPLB连接到同一总线,则只有一个可以执行流水线操作;其他人必须断开他们的3个输入。

在“过滤器”菜单中启用“默认连接”的可见性后,可以使用“系统装配GUI”,“端口”视图断开(接地)这些信号。

请登录后发表评论

    没有回复内容