为什么Altera SPI-4.2 Atlantic FIFO大小参数不指示FIFO的实际可用字节?

与Atlantic CL阈值高(FTH)参数设置中设置的值相比,Altera®SPI-4.2发送(Tx)MegaCore®功能Atlantic™FIFO中的可写位置数量减少。当aN_atxdav信号被置位并且FIFO缓冲器的写入侧被置为无效时,FTH控制。 aN_atxdav信号指示何时有空间将新数据写入FIFO缓冲区,并且只要缓冲区中的剩余空间大于FTH值,就会置位。因此,FIFO的可写位置或FIFO中可用的空间(当aN_atxdav被断言时)如下:

缓冲区大小(字节) - FTH(字节)

但是,大西洋FIFO有四个位置无法使用。这意味着Atlantic FIFO仅在第五个位置开始写入。与FTH值集相比,这会影响FIFO的实际可写位置。例如,SPI-4.2发送器内核具有以下配置:

缓冲区大小= 1024字节

FTH = 672字节

大西洋接口宽度= 128位

数据路径宽度= 128位

由于Atlantic接口宽度和数据路径宽度为128位,因此FTH增量值( N字节 )将为32字节。在这种情况下,FIFO具有:

1024/32 = 32个位置

将672字节的FTH值转换为FIFO位置的数量:

FTH /(FTH增量值)= 672/32 = 21

当FIFO的写入电平达到FIFO的第21个位置时,aN_atxdav信号将被置为无效。 aN_atxdav信号置为无效之前的实际FIFO可写位置为:

(32个fifo位置 - 4个fifo不可用的位置) - 21个FTH位置= 7个位置或224个字节

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-08-06 16:44:51 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它