|
1
0
在UG871中,数组的大小似乎从0到16个样本,因此需要32个地址来访问所有值(见图69)。我猜数字N在某个地方被限制为小于32(或者正好是16)。这意味着Vivado知道这个限制,并且只生成所需的地址位。大多数合成工具检查大小限制,并优化不必要的代码。 |
![]() |
2
0
当您合成一个函数时,也会创建一些寄存器来存储变量。这意味着作为输入的地址是同时写入d_o或d_in的数据之一。
在N=32的情况下
32个不同的变量
(输入和输出)。要处理32个不同的变量,您需要32个不同组合的位(指向一个特定的位,没有歧义)。对于5位,您有2^5=32个不同的地址组合:
寻址所有数据的最小位数
.
例如,如果您有32
位的地址数与数据大小无关(即,它们可以是int、float、char、short、double、任意精度等) |