Problem with microblaze PLB FIFOs, one value in two is lost.

Status
Not open for further replies.

kostbill

Full Member level 1
Joined
Dec 7, 2004
Messages
97
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
885
Hello.

I have problems with my FIFOs, I don't know if it is my design or the way I am handling the FIFO.

I am getting two values written to my FIFO, when the FIFO notifies me that I have data, I read only the second value. Then the status register does not even tell me that there is a first value. It is like it's gone.

The way I am doing it is this (I did not do it with interrupts because this is not working yet).

while(MY_I2S_mReadReg(baseaddr, MY_I2S_RDFIFO_SR_OFFSET) & RDFIFO_EMPTY_MASK);
sin_val_l = MY_I2S_mReadFromFIFO(baseaddr, 0);
while(MY_I2S_mReadReg(baseaddr, MY_I2S_RDFIFO_SR_OFFSET) & RDFIFO_EMPTY_MASK);
sin_val_r = MY_I2S_mReadFromFIFO(baseaddr, 0);

Does anyone have any ideas on this? I did make the write request to the FIFO and the write ack from the FIFO outputs in my PCB and I can see that the FIFO is responding as it should.

Thanks,
Bill.
 

I found somewhere that there are other developers that had problems with that. The problem seems to be the write acknowledge signal from the FIFO.
So, I don't use it and it works.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…