Does the state machine go to DOWNLOAD_DONE after 4097 pulse?
You should check if you are initializing the counter with 0, and try with counter value 16380. Also, do not set the reload the counter fo limit hit option.
Thank you Nishant.
I will test that in my next RTL run.
My problem is, after I capture the LV and fx3_data in integrated logic analyzer in Xilinx, I can see the word after the 1st LV pulse is not the data the memory I initialized/committed in USB Suite. The 2nd value after LV is the data, and all values above are correct, and the tail of the data in my FPGA SRAM is short of the 4 bytes too.
I could just ignore 1st value and use 4097 cycles but in a regulated industry I don't like such hacks.