3 Replies Latest reply on Mar 28, 2018 2:27 AM by HariprasadP_06

    Configuring an FPGA via FX3 CYUSB3014



      my design contains an FX3 USB3.0 controller CYUSB3014 and Artix-7 FPGA. I want to configure my FPGA only via USB 3.0 connector. Fortunately, this function is specified in the datasheets on FX3. There is a visual image in datasheet AN84868 "Configuring an FPGA Over USB Using Cypress EZ-USB FX3" on page 2 how to connect FX3 and FPGA for it. Only 5 signals required.


      I want to understand what the image is in the Xilinx Impact program when I connect a chain to the USB 3.0 connector through FX3? Whether it is a standard chain of chip FPGA and SPI Flash (in my case)? Or will be further defined FX3 chip? Сan I thus configure Flash too? Or this option only for firmware FPGA?

        • 1. Re: Configuring an FPGA via FX3 CYUSB3014



          For details on the FPGA part, please refer the Xilinx Spartan-6 FPGA Configuration User Guide:




          Can you please explain what you mean by "standard chain of chip of FPGA and SPI flasg". Are you asking about the configurtion of the SPI Interface? If so, please refer the attached FX3 Firmware for the same.




          - Madhu Sudhan

          • 2. Re: Configuring an FPGA via FX3 CYUSB3014

            I'll try to explain.


            I'd never used the Cypress products for configure Xilinx FPGA. My standard tool is the JTAG chain on the board and the JTAG Platform Cable USB II by Xilinx. I'll send you the image of standard JTAG chain "JTAG-FPGA-SPI Flash" from the Xilinx IMPACT tool.



            To configure the FPGA by USB, not by JTAG connector it's necessary to mount easy serial-to-USB controller (I'll send the picture with an example).



            But I want to configure my Artix-7 and the SPI Flash (both of them!) with your FX3 CYUSB3014 controller as easy as in the IMPACT tool. The Xilinx's datasheet UG470 "7 Series FPGAs Configuration User Guide" does not describe such a connection. See the image "Slave and Master Conf. modes.jpg"



            The FX3 CYUSB3014 connected not through it's JTAG contacts to FPGA JTAG chain but through serial slave interface pins DIN, CCLK and e.t.c.. But Xilinx's FPGA do not support simultaneous connection and the master and the slave serial Configuration modes. So I can't connect FX3 to configure my FPGA and SPI flash on FPGA via USB 3.0 at the same time, or can?


            Show me the example image that I'll see in my IMPACT tool's window (or in my EZ USB SUITE?) when I connect for configuration my FPGA-SPI FLASH chain across USB 3.0 connector via FX3 CYUSB3014.


            I hope I've set out clear








            I found an information from Opal Kelly's XEM7350 User’s Manual Kit Board for Kintex-7 (almost Artix-7). On pages 8 and 14 it says that SPI System Flash connected to FX3 "is used to store device firmware and configuration settings as well as other user assets such as FPGA configuration files or calibration data". Is that true? I must connect SPI flash not to the Artix-7 FPGA but to the FX3 CYUSB3014 SPI interface's pins and set on contacts PMODE[0..2] = 0Z1?


            Please, explain finally!






            • 3. Re: Configuring an FPGA via FX3 CYUSB3014

              In AN84868, there is a FPGA configuration utliity provided. This can select the FPGA bit stream(.bin format) and program FPGA over SPI interface. In this case you don't need a ISE IMPACT tool. This example programs the FPGA RAM and not SPI flash. There is no code example as of now which can program the SPI flash directly.