I understand that you are associating FLAGS A and B with Thread 0(Socket 0). The FPGA is writing data in to Socket 0, hence the flags associated with socket 0 will show the FULL status of the buffers associated. By defaults these flags are active low. So at the start, when there is no data is written by the FPGA in the buffers the FLAGS A and B will be high. This is correct.
When we are sending data through the USB side,i.e. for the FPGA to read, then the FLAGS will monitors the EMPTY status of the buffers. When the FPGA is reading data from the FX3 buffers, the status of the FLAGS associated with Socket 0 will not change. In this case , the status of the FLAGS associated with Socket 3 will change.
What is exactly the issue you are facing?
Hi Kashyap, my issue is I could not capture the FLAGS A and B to be low when the FPGA is writing data in to Socket 0. The #SLCS and #SLWR are setted low when the FPGA start to write data, the other singals are setted high. You mean that the FLAGS A and B will be high if no data is written by the FPGA in the buffers, what's wrong with my sequential? Is there any details I should pay attention to ?
Yes, Initially these FLAGS will be high (as they are active low, by default). Once the buffers are filled by the FPGA or the watermark value has been hit , these will become low.