当从RapidIO互连接收数据包时,FPGA侧背压如何影响RapidIO MegaCore功能的行为?-Altera-Intel社区-FPGA CPLD-ChipDebug

当从RapidIO互连接收数据包时,FPGA侧背压如何影响RapidIO MegaCore功能的行为?

在RapidIO®MegaCore®IP功能中,传输层具有浅缓冲区。此缓冲区主要用于存储所有传入的数据包,同时它们被转发到核心中的一个逻辑层(例如,I /OAvalon®-MM从模块,I / O Avalon-MM主模块,Avalon-ST接口) 。此外,传输层和物理层模块都没有允许数据包绕过彼此的机制。因此,如果逻辑层模块不能足够快地从传输层清空数据包导致其中一个数据包在传输层模块中停顿,那么这将导致所有数据包备份到物理层,直到传输层能够清除其当前数据包。当物理层填充中的缓冲区时,将根据核心设置中定义的优先级阈值级别为传入的数据包发出重试。

例如,假设存在连接到I / O Avalon-MM主模块的存储器组件,其访问时间非常慢,或者由于仲裁,I / O Avalon-MM主模块已从系统互连接收到等待请求fabric直到另一个Avalon-MM master使用共享组件完成其事务。因此,I / O Avalon-MM主模块已达到其可处理的同时请求数的限制,因此无法再接收任何请求数据包。如果下一个数据包是针对I / O Avalon-MM主模块的另一个请求,则它将在传输层中停滞。如果之后接收到针对Avalon-ST直通接口的另一个数据包,则此数据包必须保留在物理层缓冲区中,直到传输层中的请求数据包被清除。由于物理层缓冲区使用单个先进先出队列来存储所有传入的数据包,因此在针对Avalon-ST直通接口的数据包之后收到的任何数据包都将保留在物理层中,可能导致其队列填满向上。

此时,物理层中的优先级阈值核心设置将确定是将新数据包接收到接收器缓冲区还是发出重试。

请登录后发表评论

    没有回复内容