为什么在RTL设计中,Ram或FIFO的深度始终是地址宽度的2倍?

时间:2018-09-03 03:58:05

标签: verilog

我看到了很多ram和FIFO设计的例子,存储器的深度始终是地址宽度的2倍:

parameter addr_width=4;
parameter ram_depth=1<< addr_width;

为什么?如果地址的宽度等于4,那么深度应该有16种可能性吧?为什么要使用2 * 4? 提前致谢。

1 个答案:

答案 0 :(得分:2)

我认为您正在将1<<addr_widthaddr_width<<1混淆。结果是完全不同的。

1<<addr_width实际上是2 ** addr_width。 (或2 ^ addr_width您更喜欢的一种表示法)。