Xilinx Platform USB Cable on a Mac - Page 1
Forum section: electronics / general

author: lazarusr
author_rank: Regular Contributor
timestamp: June 09, 2017, 11:51:56 am
content: I have a Xilinx Platform USB Cable Model DLC9LP (almost certainly not a real one but a Wun Hung Lo knock-off from China).The only computers I have access to are all Macs. I have tried connecting it to Xilinx iMPACT in a virtual machine running either Windows 7 or Windows 10 with no success. (In the Windows 10 machine I have carried out the mod to libportability.dll as advisedhere.)I can see the device correctly in Windows device manager and it reports that it is working correctly. But iMPACT returns the error "write cmdbuffer failed 20000015". The status LED on the device appears to be a weird mix of yellow and red.I have a suspicion that the device is defective. But before I order a replacement, I was wondering whether anyone had any success getting one of these to work on a Mac under a Windows virtual machine.

author: legacy
author_rank: Super Contributor
timestamp: June 09, 2017, 12:39:30 pm
content: The problem resides in how these eusb-jtag cable present themselves to the usb host. If you look with a magnifier you see they present twice. The first time as generic usb device looking for firmware, then a specific binary file is sent (through usb-bulk), the cable uploads it, resets, reboots, and presents itself again the usb host as jtag cable.It means, from the HOST-OS point of view, it sees endpoints changed after the reset, also the vendor and the device id change, and, since changes happen without an un-plug (which invokes device.driver.done) plug-in (which invokes device.driver.init) event, this makes virtualizers like VirtualBox to go nuts as they can't understand what happens on their upper end-point, which is not directly connected to the hardware, it's passed trough a glue melt software layer from the host OS.A smarter virtualizer like Xen, or Wmware, comes with a smarter glue able to simulate both the un-plug/plug-in events as virtual events, therefore the virtualizer is now able to handle the reloaded device.Another option is ... to buy/build an ethernet-jtag.Here I built mine using an embedded linux-box (Arietta G25 by Acme System), but it's not compatible with Xilinx-Impact, it doesn't understands the bitstream, it simply uploads it through the lan into the target (Xilinx Spartan S3, S6).

author: lazarusr
author_rank: Regular Contributor
timestamp: June 09, 2017, 03:25:11 pm
content: Thanks for the advice. I used a colleague's 'real' Windows machine and, sure enough, it all works just fine. It's disappointing that Parallels (which I use) is not as sophisticated as VMWare with its USB solution. (I have found other reports of people succeeding with VMWare, but none with Parallels).Now I have got to think of a solution for myself. Whatever I do it seems like a real PITA just to program a CPLD.Thanks again for the help.

author: kripton2035
author_rank: Super Contributor
timestamp: June 09, 2017, 04:02:44 pm
content: Parallels quite only works with standard usb devices (mouses, keyboards, printers, scanners)when it comes to special usb devices (programmers, diy usb, etc) I've never been able to make it work.switching the same configuration to mac vmware fusion, and everything works out of the box ...better: vmware can import a parallels virtual machine, no installation, just open the old vm, and run it, it works !

author: Bassman59
author_rank: Super Contributor
timestamp: June 09, 2017, 04:45:45 pm
content: Quote from: lazarusr on June 09, 2017, 03:25:11 pmI gave up on Parallels years ago. VMWare works with all sorts of USB devices, including the Xilinx, Altera, MicroSemi and Silicon Labs dongles I have lying around here.

author: lazarusr
author_rank: Regular Contributor
timestamp: June 09, 2017, 04:48:07 pm
content: I have now installed a trial of VMWare Fusion and, as kripton2035 says, it just works!

author: stevelup
author_rank: Regular Contributor
timestamp: June 10, 2017, 04:16:53 pm
content: Parallels p1ssed me off years ago forcing you to pay for a paid upgradeeverytime Apple updated OS X.VMWare - usually works anyway, but without fail, drop a maintenance release usually within weeks of the latest OS Xbetabeing released if there are any problems.I may be accused of needing a tinfoil hat here, but I'm absolutely convinced that Parallels had deliberate built-in obsolescence to force continuous paid updates.

author: lazarusr
author_rank: Regular Contributor
timestamp: June 10, 2017, 06:51:38 pm
content: Update #1: I have now successfully replaced a 74LS02 in one of my synth projects with a CPLD. Hardly a big deal. But I have never used a CPLD before and I am quite pleased. (Note: this is not the ultimate goal. I want to replace all the logic in a much more complex project.)Update #2: Compared to Parallels, VMWare Fusion seems to eat massive amounts of battery life. I have turned off 3D acceleration (which I clearly don't need) and it is somewhat improved, but it still doesn't seem to be a viable option unless the MacBook is connected to the mains.

author: stevelup
author_rank: Regular Contributor
timestamp: June 10, 2017, 09:39:47 pm
content: I have not noticed any battery life issues. I use it daily on a 2015 15" Retina MBP.Have you checked task manager in Windows to see if any processes are using CPU?For me, if the guest OS is idle, then the Mac CPU is also idle. VMware seems to add virtually no overhead whatsoever.

author: lazarusr
author_rank: Regular Contributor
timestamp: August 20, 2018, 07:54:04 pm
content: Just a little update in case it is of assistance to anyone. As the previous posts explain the Xilinx Platform USB Cable is not recognised under Parallels because of its less than perfect USB implementation. It does work under VMWare Fusion.However, I personally prefer Parallels for everything else and was not keen on buying it. Instead, I have bough a Bus Pirate and have got that working nicely using XVSF Player.

author: technix
author_rank: Super Contributor
timestamp: August 21, 2018, 10:02:57 pm
content: Quote from: blueskull on June 10, 2017, 10:24:35 pmCY7C68013... That rang a bell... I was tackling ADUSB2EBZ a while ago and cloned it into my SigmaLink USBi using that same chip...If there is a way to find out the uploaded program, it is likely to be able to cook an EEPROM image out of it and force the Cypress chip to boot directly into that program, saving an reenumeration.