You are here

Synchronous FIFO Slave write mode for EZ-USB FX2LP | Cypress Semiconductor

Synchronous FIFO Slave write mode for EZ-USB FX2LP

Summary: 1 Reply, Latest post by aasi on 03 Sep 2013 05:55 PM PDT
Verified Answers: 0
Last post
Log in to post new comments.
u296Pt2's picture
1 post



Several methods for performing a streaming write are described in EZ-USB FX2LP documentation:
1. The use of counting mechanizm in data master to avoid a monitoring of FULL flag for Quantum FIFO archtecture.
2. The use of partial flag.
3. The use of the INFM bit.

Please to confirm or deny if the another way for burst write is correct, as described below.
Let's assume that INFM = 0 and FULLFLAG = 1 means FIFO FULL.

The timing diagram for write of 2 bytes {BYTE1, BYTE2}:

IFCLK     __----____----____----_  _----____----____----____----____
           1       2       3       4       5       6       7
FULLFLAG  ____________--------       --------_______________________

SLWR       ---_________________-----------------------_________------

DATA      ---| BYTE1 | BYTE2 |  ---              ----| BYTE2  |---

On the second rising edge, BYTE1 is written to the FIFO and FULLFLAG is changed  from 0 to 1. On the third rising edge, SLWR = 0 and FULLFLAG = 1. This is a  potentially corrupted condition. On the sixth rising edge, FULLFLAG is sampled  as 0, and on the next rising edge, BYTE2 is written again to the FTDI.

What can occur when SLWR = 0 and FULLFLAG=1 on the third rising edge?
Internal error in EZ-USB FX2LP?
Corrupted data stream, e.g. {BYTE1,X,BYTE2} instead of {BYTE1,BYTE2}?
Or simply the EZ-USB will not accept the BYTE2 but there will be no internal error and the stream will be correct {BYTE1,BYTE2}?

Best regards


aasi's picture
Cypress Employee
1166 posts

 When the FIFO is full and you try to write data to it in FX2LP it'll just ignore the data. No internal error of any sort happens.

Log in to post new comments.