Alcaic Research and technology, not iambic verse.

17Sep/090

FPGA design from scratch

FPGA design from scratch. Part 1 « New Horizons - FPGA design - SystemC - Wild Skating - Mac - Linux.

This seems to be a very good starting point, indeed.

Tagged as: No Comments
17Sep/097

Virtualbox and the Xilinx USB Platform cable

Recently, I have been playing around with the ML-505 platform from Xilinx. One thing that kept biting me (a Mac user) is how the USB platform cable did not seem to work inside the Windows and Linux virtual machines (since Xilinx does not support Mac OS X).

If you google for the problem, you'll find many similar problems, and many that suggest plugging and re-plugging your device. Since this worked, I looked a bit closer at the problem and now have a solution that does not require this (for a Windows guest, at least).

The problem is that the USB cable changes its identity (its PRODUCT ID, more properly), from 0x000f to 0x0008 after its firmware has been loaded, causing the connection to the virtual machine to drop. The solution is to put in two capture filters, one with each ID.

Hope this helps someone. I'll keep you posted on the Linux case - but you might want to look at

Update: I can confirm that Linux works as well, but I did have to do the plug/replug routine that has be documented elesewhere (i.e. unplug from one USB port and plug into the other). Nonetheless, happy camper. Update to update: well, the routine is no longer necessary - it seem to work directly if the cable is plugged in at guest boot time.

Update 2: The virutalization of my windows guest is horrible compare to the one for linux. The speed difference is amazing.

Update 3: This is what I use before I start xps_sdk: source /opt/Xilinx/11.1/settings32.sh; export LD_PRELOAD=~/XL_USB/usb-driver/libusb-driver.so; export XIL_IMPACT_USE_LIBUSB=0

Update 4: In response to Ryan's comment (see below), here is my full setup - note the addition of specific vendor and product match strings.

Filters:

Shows the USB filters configured.

Shows the USB filters configured.

Filter for unconfigured device (no firmware):

Filter for unconfigured device.

Filter for unconfigured device.

Filter post-configuration:

Filter after firmware upload.

Filter after firmware upload.