Hi,
I copy-past the verilog code inside my fpga. For info i use one UM232H board (FT232H chip) connected with one Digilent CMOD Board (fpga xilinx artix7). 8bits and 16bits transfer working very well from fpga to pc.
For 32 bits i got a strange bug, sometimes (often) i got a switch between the 16 lower bits and the 16 upper bits. It means probably 16bits are lost after a cold start... I found a solution that is to release an hardware reset signal (added to the verilog code) just after started the python sample code.
For exemple (python console) :
WORKING (increment well) :
recv 4 words
0: 0x0174_b082
1: 0x0174_b083
2: 0x0174_b084
3: 0x0174_b085
NOT WORKING (switch 16bits, increment the upper 16bits) :
recv 4 words
0: 0xb0486_0178
1: 0xb0487_0178
2: 0xb0488_0178
3: 0xb0489_0178
This bug is quite strange coz the verilog code in 32bit transfer use two 32bits fifo and one 8bits fifo for the output (where are the 16bits words)