Quick notes on my CPLD board:
- Make UCF file manually
- Don't forget that button is pulled up, and pressing the button drives it LOW
- Button input is on P18
- LED D1 is on P39
- LED D2 is on P38
- Proof: http://dangerousprototypes.com/docs/XC9500XL_CPLD_breakout_board#Overview
- Xilinx ISE VM is configured to capture various programming cables, but that includes "Digilent USB Cable" which captures the Bus Pirate too (
FTDI FT232R USB UART [0600]
) - I can't launch "Floorplan IO - Pre-Synthesis". Various reasons might apply. I nearly got to run
pace_old
manually but it segfaults. 32-bit version might work by doing something likesource /opt/Xilinx/14.7/ISE_DS/settings32.sh;pace_old
, but it complains about:/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin/_pace_old: error while loading shared libraries: libXm.so.3: cannot open shared object file: No such file or directory
-- This can probably be fixed; see: https://forums.xilinx.com/t5/Installation-and-Licensing/ISE-Webpack-14-7-installation-under-Debian-8/m-p/760035/highlight/true#M17873 - Ideally, should configure the ISE project to have separate source directories, build directories, and output directories.
- This page shows how to set up the design and synthesize it, and then refers to this page with instructions to build the
.xsvf
file. Should learn to use the "Automate it" steps though. - I'm not sure what the proper way is to "rebuild" the
.xsvf
file after the first time, but I've found that if you just re-run the "Program" command in ISE iMPACT, it will append to the file. I had tried deleting the file and doing "Program" again but this doesn't work as expected. Instead, I went toOutput => XSVF File => Create new
- I was able to program the XC95 using:
D:\FPGA\BPv3.XSVFplayer.v1.1>BPXSVFplayerV01a.exe -p COM13 -x -f c:\users\admin\Documents\shared_projects\sandpit\fpga\XC9572XL\test01\Anton-ISE-Project-1\test01.xsvf
- This leaves it in a programming state when finished, but doing this a couple of times seems to do a JTAG reset and then it works as expected:
...or just re-plug the USB cable.
BPXSVFplayerV01a.exe -p COM13 -r BPXSVFplayerV01a.exe -p COM13 -r
Other notes for future improvements:
- Pushbutton pads need to be bigger, and perhaps spaced a little more widely.
- Chuck on some more LEDs, even if they don't get populated. They don't take up much space, and are very handy. Just make sure we don't go over current limits of the CPLD.
- Longer QFP pads will make it easier to drag-solder, especially when doing the wicking part to clean up.
- Need a clearer pin-1 (dot) indicator for the QFP.
- Proper markings for XO.
- I think the order I will solder in future is:
- PSU, inc. LED to show that it works. We can then test it.
- CPLD chip.
- Decoupling caps, and other resistors and LEDs.
- Larger mechanical parts.
- Put component values on silkscreen, and mark pos/neg ends of components more clearly.