赛灵思(Xilinx)BlockRam(Bram)的结构与读逻辑解释
如图所示, bram的由很多latches和寄存器构成的bram块构成,通过Mux数据选择器,将数据送入输出寄存器,最终输出。由此图可知,bram的reset仅仅对输出寄存器重置,而不会重置内部存储数据。
对于Bram的读逻辑,由图可以发现,en有效后,数据会在下一个时钟上升沿后,出现在输出寄存器上。也可以看到reset信号,并不影响下一个时钟信号到来后输出的值(MEM(bb)),只影响这个时钟信号到来的输出寄存器的值(如图的INIT_VAL,这个值能够在UI初始化界面设置,默认为0)。 这个逻辑和上面说的BRAM的结构图中对reset信号的位置是统一一致的,二图对比看,能够互相加强理解。