07-14-2009 12:56 AM - edited 07-14-2009 01:00 AM
I have ordered a virtex-5 LX50 evaluation board, on which there is USB integrated. I would like to use the USB as a debug tool by communicating the FPGA and the PC.
However in the datasheet I have found only a little information about the connection between Cypress USB Microcontroller and the FPGA but nothing about the firmware.
And I have also searched on the website and found Avnet Electronics Marketing USB Utility v3.2. I installed the Utility and connected the V5 LX50 evaluation board to the PC. But the Utility could not identify the board while the support files for the Utility are not updated to Virtex-5. And in the control panel of the PC I can see the USB device recognized but with "EEPROM missing".
So how can I use the USB on the evaluation board? Do I need to program it by myself or there is some source code available. And is there any software I can use to control, monitor or program the USB controller?
Thanks a lot!!
07-14-2009 04:55 AM
Please read the Avnet USB utility users manual included in the zip file you downloaded from the Avnet web site. You can also take a look at a USB example design for this board on our DRC www.em.avnet.com/drc web site under the EDK 10.1 Reference Designs.
07-14-2009 05:05 AM
Thank you for the reply.
I have read the manual and followed the instruction to installe the utility. But it didn't support Virtex-5. Is there any new version?
07-14-2009 05:11 AM
You can use the V4 board from the drop-down diaog box for the V5LX50 board. The example design that I mentioned shows how to do this.
07-14-2009 07:44 AM
Thanks a lot for the reply.
I have still one question. In the USB design example the point 7 "Implementing the Design", what is the meaning of "Select Software > Build All User Applications to compile the software." Where can I select?
07-15-2009 02:17 AM
now I have a dilemma. I don't have xillinx EDK which means I cannot "Build up all User Application" or "Update Bitstream". I have only ISE. So is there any method to use the USB without using EDK? For example, can I directly use ADS USB Utility provied by the website? While last time when I tried to use it, the PC shows "missing EEPROM" signal.
07-15-2009 04:40 AM
In order to use the reference design on the DRC web site, you must have EDK as the hardware that connects the Cypress USB device to the FPGA is a custom IP built in EDK. To use the ISE software only, you must design your own interface between the USB device and the FPGA, however, you could use the custom IP that is in the /pcores folder of the EDK reference design as starting point (this is the folder that contains the custom IP cores for the EDK project).
Regarding the "missing EEPROM" in the driver status, there are two ways to boot the USB device 1) using the ADS USB utiity, shown in the EDK reference design, or 2) using the on-board EEPROM connected to the I2C port of the USB device. The EEPROM (U34) is diabled on the board (using the JP10 and JP12 jumpers) and that's why you see the "missing EEPROM" message. This is perfectly OK as you are using the ADS utility to boot the USB device. If you would like to boot from the EEPROM, you need to take care of programming the boot code into the I2C EEPROM yourself.
07-15-2009 05:55 AM
I have to say it is really not easy to use. My plan was to use the USB interface to read out the data in FPGA and transfer it to the PC in a matlab file with which I can plot out the data later so that I can check the program function inside the FPGA. But now it seems that I need to spend a lot of time in programming the USB interface by myself which is not quite feasible.
10-20-2018 12:37 AM
Universal Host Controller Interface (UHCI) is a proprietary interface created by Intel for USB 1.x (full and low speeds). It requires a license from Intel. A USB controller using UHCI does little in hardware and requires a software UHCI driver to do much of the work of managing the USB bus. It only supports 32-bit memory addressing, so it requires an IOMMU or a computationally expensive bounce buffer to work with a 64-bit operating system. UHCI is configured with port-mapped I/O and memory-mapped I/O, and also requires memory-mapped I/O for status updates and for data buffers needed to hold data that needs to be sent or data that was received.
Hope this helps.