You are here

FX3 USB can't be programmed when connected to a FPGA board (KCU-105) | Cypress Semiconductor

FX3 USB can't be programmed when connected to a FPGA board (KCU-105)

Summary: 2 Replies, Latest post by flosch_1560466 on 24 Feb 2016 01:18 AM PST
Verified Answers: 0
Last post
Log in to post new comments.
flosch_1560466's picture
2 posts

I guess this is one easy thing to fix but I didn't get the clue...

My FX3 board works perfect when using stand alone but using it with my evaluation board (Xilinx Kintex Ultrascale, KCU-105) Both "USB Serial" Interfaces are available at the Control Center but not the programmable interface. In Addition the reset Switch (SW1) didn't seem to work anymore.

So I programmed the SRAM example (SRAM FX3.img) into RAM and I2C Eeprom but no changes so I guess it's not a problem with some initialization or wrong code.

Maybe someone know what's wrong with this situation or at least why my FX didn't work? The KCU-105 starts up with the default firmware that makes some LED animations. It looks like the programmable part of the FX3 board is held in reset somehow but I have no idea why.

mady's picture
Cypress Employee
964 posts


There is a possibility of noise when you interface the xilinx board with FX3 which results in PHY/Link Errors on USB. To confirm this, please use the API CyU3PUsbGetErrorCount API in your FX3 firmware periodically to get the phy/link error counts (Refer to API guide for more details on the API).

This issue will not occur if all our schematics and layout guidelines have been followed in your board. If this was the case, some ways to minimise the effect of PHY / Link Errors are:

Either re-work the board layout 


(i) Reduce the VIO power domain voltage levels

(ii) Use Clock instead of crystal

(iii) Change the voltage Swing using the SetTxSwing API (Enter Tx swing values by trial and error and find out which one has least effect of noise). Refer to API guide on how to use this API


- Madhu Sudhan

flosch_1560466's picture
2 posts

Thank you very much for your answer.

So I fortunatly found out that there is a very simple way to solve my problem: when I cut off the INT#/CTL15 pin everything works fine.

Log in to post new comments.