寄存器求教
时间:10-02
整理:3721RD
点击:
本人设计了一个寄存器存储数据,当存满后,我会从后往前用寄存器的数据,同时我还要从新往寄存器里写东西,这时候我用一段数据后发现数据已经变了,现在不知道怎么解决,请高手指点,谢谢!
仿真有没有问题?有没有读写冲突,或者还没读就被写覆盖了
1。对写寄存器进行控制
2。做成类似fifo的东西
没读就被写覆盖了
其实就是类似FIFO的,但是是连续写连续读的,而且我是从寄存器后面开始读,导致前面数据要用的时候被覆盖了
没读就被写覆盖了
为什么一定要在临界空满状态下操作FIFO呢?你可以利用其他功能来控制FIFO,比如计数器或者通过读写信号控制写FIFO满
我的问题主要是先进后出,导致数据被覆盖掉了
lz说的应该是栈吧?先进后出。
又重看了一遍。好像也不是。你的意思是不是要先存一部分数据。然后从后面读出来。同时还有数据过来。也要求这样的读写顺序?像是交织。
如果是这样的话就用乒乓操作就行了。
应该是,可是我不懂栈
用两组寄存器,乒乓操作应该可以的
那乒乓操作的地址怎么变化呀
或者设计个环形缓冲器
不过非常感谢呀
先进后出不就是后进先出吗,就是栈啊。 假设你的设计是先进的数据存在低地址,首先为寄存器保存一个地址指针指向寄存器的最低地址,写数据的时候写到指针指向的地址,然后指针自增1。读数据的时候指针自减1,然后读出指针地址里的数据。当然你要做一些额外的控制,比如栈的空标识和满标识。
读写要控制好,不要读穿也不要写穿了
