Thursday, July 5, 2012

using urjtag to program a Xlilinx xc2c64a cpld

Get and install urjtag.
Get the bsdl description for the Xilinx cpld  you are using in my case it was the xc2c64a_qf48.bsdl.  It's also available as part of the Xilinx ISE as
/opt/Xilinx/13.4/ISE_DS/ISE/xbr/data/xc2c64a_qf48.bsd.  You'll have to have the ise webpack installed to generate the svf programming file so it doesn't really matter where you get the file from.
Next you need a generate an .svf to program the device.  This is generated with xilinix Impact (part of the Xilinx ISE).  A good tutorial is always helpful.  The just of it though is that you record a script by running the Impact Gui in a special mode.  I named my .svf file program.svf

After that things get pretty simple
Connect cpld to programming cable

then do the following which I'll end up pushing into a script.  The bad part of all this though is that you have to regenerate the .svf file any time you make a change to the cpld.

[crowe@localhost i2cslave_rx]$ jtag

UrJTAG 0.10 #2026
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors

UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.

warning: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.

jtag> cable gnice+
Connected to libftd2xx driver.
jtag> bsdl path /home/crowe/mc/lp-anemometer/i2cslave_rx
jtag> detect
IR length: 8
Chain length: 1
Device Id: 00000110111001011001000010010011 (0x06E59093)
<<  Filename:     /home/crowe/mc/lp-anemometer/i2cslave_rx/XC2C64A_QF48.bsdl
jtag> svf program.svf
jtag> quit




No comments:

Post a Comment