移位缓冲区机制和位宽差异

时间:2018-09-24 04:22:12

标签: verilog fpga

对于https://github.com/KastnerRG/riffa/blob/master/fpga/riffa_hdl/fifo_packer_128.v#L113来说,对信号' rPackedData '具有 224位明智吗?

此外,对于以下代码段,谁对导入的数据或一起有任何想法吗?应该不是 AND 吗?

_rPackedData = ((rPackedData>>(32*{rPackedCount[2], 2'd0})) | (rDataMasked<<(32*rPackedCount[1:0])));

1 个答案:

答案 0 :(得分:1)

  

关于下面的代码段或移入的数据在一起的任何想法?应该不是AND吗?

该表达式的左半部分将存储的数据 OUT 移位,将一些高位清零。右半部分会移位 IN 新数据,将其放置在缓冲区较高部分的所需位置,并用零填充低位。为了获取缓冲区的更新内容,您需要两个表达式的一半。如果尝试 AND ,您将获得完全归零的缓冲区,因为左右两半表达式中的有效数据不会重叠。