描述
是否可以使用地址编辑器分配不是2的倍数的地址范围?
AXI互连IP具有泛型,允许您分配多个地址范围以获得2的非幂。但是,在Vivado IP Integrator(IPI)地址编辑器中,似乎我只能分配2的幂(2 ^ N)。
解
可能有一个偏移量不是2的幂,但范围必须是2的幂。这是因为范围被定义为(2 ^处理该范围所需的位数)
给定偏移的可寻址范围由在该偏移的LSB中从0到1“翻转”的零比特数定义,根据定义,它必须是2的幂,(即2 ^的数量)位)
例如 :
例如,偏移量为0xF000(1111_0000_0000_0000二进制)
可以寻址的最大高地址(不需要更多位)是0xFFFF或1111_1111_1111_1111。
LSB中的12个初始零位定义了此偏移(2 ^ 12)的可寻址“范围”,因此您只能寻址4K(2 * 2)*(2 ^ 10)的范围
如果为此偏移量指定大于4K的范围,则将其视为未对齐。使用此偏移配置互连时,即使分配的范围小于4K,它仍将分配寻址该范围所需的地址位数。那是2 ^这些位的数量,所以它只能是2的幂。
没有回复内容