Can all registered uses please login, even just for a few minutes..
It helps build a picture where our "good traffic" is coming from..
Thanks :)

Ditching iMPACT: a short tale of a long evening

Blogs & guides and tales of woo by forum members.
Post Reply
User avatar
exxos
Site Admin
Site Admin
Posts: 29628
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Ditching iMPACT: a short tale of a long evening

Post by exxos »

I wanted an alternative to Xilinx iMPACT for programming the XC95288XL that works on both Windows and Linux. Simple enough job, I thought. Famous last words.

Round 1: Windows 7 laptop
The obvious candidate is openFPGALoader, which is open source, actively developed and already supports the XC9500XL family. The catch is that the normal Windows builds no longer run on Windows 7, so I cross-compiled a static Win7 build on the server. That bit actually worked first time, which should have been my warning.

Then came the cable. My Xilinx Platform Cable USB is the older DLC9 type (USB ID 03FD:0007). openFPGALoader only officially knows the newer DLC10 type, so that needed patching in. You also have to swap the driver over to WinUSB with Zadig, which I'd fought with years ago and had happily forgotten about.

Result: the firmware loaded into the cable, then nothing. The cable is supposed to restart and come back as 03FD:0008 once its firmware is loaded, and mine just sat there looking at me.

Somewhere along the way Chrome decided it needed most of the laptop's RAM as well, so the laptop is now getting a memory upgrade. Not quite the hardware purchase I had in mind when I started this.

Round 2: MX Linux
Same again on Linux, using both openFPGALoader and fxload (the standard tool for loading these Cypress USB chips). The firmware loads fine, the CPU resets, and the cable still won't budge from 0007. So it wasn't openFPGALoader's fault, and it wasn't a Windows thing either.

Round 3: going through Xilinx's bins
I dug the driver files out of Windows. The INF showed the Xilinx driver for this cable (xusbdfwu.sys) doesn't use the xusbdfwu.hex file from ISE at all. It has its own firmware built inside it, and that turned out to be a different build. Once that was extracted and loaded with fxload, the cable finally came up as 0008. First proper progress of the night.

It still couldn't talk JTAG though. The iMPACT log on my Windows PC explained why: it's a two-stage load. The driver loads its own firmware (version 1027), then iMPACT loads xusbdfwu.hex (version 1100) on top. Only then does the cable's internal CPLD wake up and report a version (0012h). Nobody mentions that anywhere, of course.

Round 4: the breakthrough
I let Claude Code loose on the Linux PC with the cable plugged in, which saved me a lot of copy and pasting. It found that the ISE firmware does run when loaded straight onto the blank 0007 cable. It just never does the "restart as 0008" bit. If you carry on talking to it as 0007 and switch to the cable's second interface setting, the JTAG side works.

The result, read back from my board:

Code: Select all

IDCODE 0x59616093  Xilinx XC95288XL, version 5
That's exactly what iMPACT reports, so the old cable now works on Linux.

Where it's at now
  • Chain detection works on Linux with the old DLC9 cable.
  • I've got a simple Linux GUI on the go (cable, JED file, Detect, Program, Verify, and a log you can actually copy from). It also has a Find cable button that hunts for the cable and picks the right firmware file for you.
  • Next step is a fixed, patched copy of openFPGALoader bundled in the installer, so future updates can't break it.
  • Programming hasn't been tested yet. I'm not letting anything near my CPLDs until detect is rock solid.
If you're buying one of these cables for this, go for a DLC10 / "Platform Cable USB II" (USB ID 03FD:0013). That's the one openFPGALoader supports out of the box. Or get a Digilent JTAG-HS2 and skip the firmware palaver altogether. Only the DLC10 is 3x the cost !

All this to replace one bit of software that already worked. Still, it's cheaper than therapy, apart from the RAM.
User avatar
Badwolf
Site sponsor
Site sponsor
Posts: 3163
Joined: Tue Nov 19, 2019 12:09 pm

Re: Ditching iMPACT: a short tale of a long evening

Post by Badwolf »

Does xc3sprog not support your cable?

Impact has never worked for me so I've only ever used xc3sprog and it works across all my platforms.

BW
DFB1 Open source 50MHz 030 and TT-RAM accelerator for the Falcon
Smalliermouse ST-optimised USB mouse adapter based on SmallyMouse2
FrontBench The Frontier: Elite 2 intro as a benchmark
User avatar
exxos
Site Admin
Site Admin
Posts: 29628
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: Ditching iMPACT: a short tale of a long evening

Post by exxos »

Badwolf wrote: Fri Oct 30, 2026 10:26 am Does xc3sprog not support your cable?
nope,tried everything already. A good 8 hours of trying in Windoze and MX!
Impact has never worked for me so I've only ever used xc3sprog and it works across all my platforms.
I've always used impact on windows. But I remember I had a right battle in getting the programmer to work.

So I am trying to build a new program for wondoze and MX which *does* work with my programmer. Its pretty cheap to buy the programmer and it may help others in updating their firmware on stuff if they don't have to screw around or install the whole ISE just to get impact working.

The GUI in MX works fine. Now working on the Windoze version.
User avatar
PhilC
Moderator
Moderator
Posts: 7725
Joined: Fri Mar 23, 2018 8:22 pm

Re: Ditching iMPACT: a short tale of a long evening

Post by PhilC »

Cool idea. I got impact working on windows 11 but it installed a VM etc, so a more direct route would be great.

Could use a Mac version too though :D
If it ain't broke, test it to Destruction.
User avatar
exxos
Site Admin
Site Admin
Posts: 29628
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: Ditching iMPACT: a short tale of a long evening

Post by exxos »

PhilC wrote: Fri Oct 30, 2026 11:03 am Cool idea. I got impact working on windows 11 but it installed a VM etc, so a more direct route would be great.

Could use a Mac version too though :D
I can build but can't test them.
User avatar
JezC
Posts: 2898
Joined: Mon Aug 28, 2017 11:44 pm

Re: Ditching iMPACT: a short tale of a long evening

Post by JezC »

exxos wrote: Fri Oct 30, 2026 11:13 am
PhilC wrote: Fri Oct 30, 2026 11:03 am Cool idea. I got impact working on windows 11 but it installed a VM etc, so a more direct route would be great.

Could use a Mac version too though :D
I can build but can't test them.
I'll have to check which programmer I have (USB version) - though I do have a much older serial one as well (which we used for the XC95xx parts back in the late 90s/early 2000s).

I have a modern Mac as well as a couple of Mac Minis and Win 7 & 10 (no 11 anymore :D ).

So, happy to try out and test what I can...
don_apple
Posts: 52
Joined: Mon Mar 25, 2024 5:54 pm

Re: Ditching iMPACT: a short tale of a long evening

Post by don_apple »

PhilC wrote: Fri Oct 30, 2026 11:03 am Cool idea. I got impact working on windows 11 but it installed a VM etc, so a more direct route would be great.

Could use a Mac version too though :D
openFPGALoader is available for macOS via homebrew:
https://trabucayre.github.io/openFPGALo ... html#macos

And xc3sprog should be easy to build yourself for macOS, see for example https://gnu-mcu-eclipse.github.io/arch/ ... y-reflash/

Or instead of fighting with getting this all to work on Windows or macOS, you could also just use a Raspberry Pi: viewtopic.php?t=7528
User avatar
exxos
Site Admin
Site Admin
Posts: 29628
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: Ditching iMPACT: a short tale of a long evening

Post by exxos »

Win7 version now working ! still a long way to go..

win.PNG
win.PNG (82.82 KiB) Not viewed yet
Post Reply

Return to “MEMBER BLOGS”