| |
“当写指针的值等于 array_size-1,这就意味着在存储器中,要写入数据的最后一个位置就是下一个位置。在这种情况下,写操作将写指针变为 0,并将输出‘ 满 ’标志。”
请问,当写指针指向' array_size-1 '的时候,是否 继续把存储器最后一个位置“array_size-1”写入完成后,再输出‘ 满 ’标志?
可以在指针上多加一位实现的吧?
对于一个depth=8的fifo
一般指针会多一位MSB
指针
raddr-> 0000 <-waddr
0001
0010
0011
0100
0101
0110
0111
1000
1001
......
1111
0000
在raddr==waddr的时候,empty
指针
raddr-> 0000
0001
0010
0011
0100
0101
0110
0111
1000 <-waddr
......
在raddr=={~waddr[3],waddr[2:0]}的时候,full
我觉得提前输出满信号好像有点浪费的样子,而且如果需要,可以有almost full跟full一起输出阿