我在书上看到了一个简单的同步FIFO的VHDL描述,其中有一段关于写指针修改的描述如下: write_pointer:process(aclr, clock) --aclr是异步复位信号; clock是工作时钟 begin if (aclr='0') then wadd<=(others=>'0'); --wadd是写地址信号 elsif (clock'event and clock='1') then
if (we='1') then --we是写使能信号 if (wadd=7) then --FIFO深度为8 wadd<=(others=>'0'); else wadd<=wadd+'1'; end if; end if; end if; ............ 请问关于红色部分代码,难道是写满(写地址为7)以后又要从头开始写吗???这样不是把之前地址为0的地方存储的数据覆盖了吗? 谢谢高手解答 |