Xilinx 可变长度移位寄存器IP深度导致的延迟问题

前言

对于xilinx移位寄存器IP的使用而言,其内部为SLR16/SRL32实现。

当位深小于32时,其可变延迟是正确的。当大于32,其可变延迟为相同延迟加1。

可能是内部多个SLR32之间插入了一个寄存器导致多了一拍。

 

流程

验证位深小于32和位深大于32的移位寄存器可变延迟关系。

(1)配置两个不同位深的实例。

 

 

 

 (2)使用相同的可变延迟配置。

 

 (3)仿真看看。

 

 

 

 可以看到当位深大于32之后,端口中就不能再是减1,而是减2。否则不是想要的延迟。注意。

更进一步:如果是128位深的呢?结果还是一样的,并不是每个都插了一个寄存器。

 

 

 

 所以,只要是位深大于32,那可变位宽就是需要延迟数-2。

 

以上。

 

posted @ 2020-04-03 14:11  小翁同学  阅读(649)  评论(0编辑  收藏  举报