Xilinx VHDL sources for the ISA Debug and POST Card
Compiled .jed and ready to upload .xsvf / .svf files are available in the output folder.
Detailed instructions are TODO.
- Install Xilinx ISE 10.1
- Create a new project targeting XC95144XL QFP-100
- Import VHDL and constraint sources
- Use
goal_optimize.xdsas the design strategy to successfully fit the design - Finally, compile
There are various ways to upload the firmware to the CPLD. The board provides a JTAG interface for this. You can use Xilinx iMPACT or openFPGALoader with a Xilinx Programming Cable, or even use projects that emulate Xilinx Virtual Cable (XVC) using popular microcontrollers.
Note: The XC95144XL core is powered by 3.3V, so your JTAG cable must also operate at 3.3V.
I personally used a Raspberry Pi Pico with the xvc-pico project to upload the firmware directly from Xilinx iMPACT 14.7 using the .xsvf file. However, you don’t need to install iMPACT - openFPGALoader also works. I think it's the cheapest and easiest option:
- Get a Raspberry Pi Pico with the xvc-pico firmware flashed. Connect it to the POST card. Use the correct pinout as shown on the xvc-pico GitHub. Connect +5V of the card to the Pico’s VBUS pin!
- Launch the
xvc-picodaemon - Run:
openFPGALoader -c xvc-client --port 2542 --detectto detect the CPLD. If detection fails, check your connections. - Upload firmware:
- Preferred (.jed):
openFPGALoader -c xvc-client --port 2542 --file-type jed file.jed. In my case uploading .jed directly causes segmentation fault. I am not sure what causes it, but there's the second option that works fine. - Alternatively (.svf):
openFPGALoader -c xvc-client --port 2542 --file-type svf ./main_clean.svf. Note: Uploading via.svfis much slower (~8 minutes in my case), but it works in more cases.
- Preferred (.jed):