It is my first time here, so hello everybody! :)
I have problems with Xilinx FIFO on Spartan 3. As far as I understand it, standard FIFO sends data out in the next clock cycle after I set 'rd_en' signal to '1'. In my case I get output not in the next, but in the second clock cycle. Do you know what may cause that problem?
Here is what I do (first I put in FIFO two byte words): STATE1 => if FIFO is not empty then 'rd_en' to '1', go to STATE2, STATE2 => I keep 'rd_en' equal '1', and go to STATE3, (the output here is zero),
STATE3 => I know there were two byte words so 'rd_en' to '0', here I can get first byte, and I go to STATE4,
STATE4 => 'rd_en' still '0', I can get second byte, then I go and stay into IDLE state.
Every state last one clock cycle, instead of STATE1 where I wait for not empty FIFO and IDLE obviously after all.
Regards, Valdez
--------------------------------------- Posted through