bu_cms_history/JTAG_Programming

SiteMap (Historical BU CMS wiki main page)

The DCC can program various devices (LRBs, logic board device) using JTAG with a port of the altera JAM player included in the DCC software

July 2008 Investigations

Modified a jamstub.cc from hcal_6_3_2 release, added printf's for each call to jam_jtag_io() and jam_delay(). The only delay values used are: 10000, 20, 5, 500 us.

jam_jtag_io() always provides a return value, but it is mostly ignored. The third argument tells whether this is needed.

Two functions jam_jtag_drscan() and jam_jtag_irscan() in file jamjtag.cc do most of the operations. They could easily be modified to use the multi-bit capability of our JTAG hardware.

This was done, and is included in the HCAL online software distributions as of version 6_4_3. It resulted in a 2-3x speedup in LRB programming.

Reference Information

; JTAGInfo : generic information on JTAG ; JTAG Programming : document describes the low-level interface on the motherboard. ; WuProgramming : Wu's original version of above ; [http://www.altera.com/support/devices/tools/jam/tls-jam.html ISP & the Jam Standard Test & Programming Language (STAPL)] : Altera website describing in-system programming.

Essentially what is needed is to port the JAM/STAPL player (C code) to the HAL environment, and to implement the low-level interface described above. See the readme.txt file in the zip archive for more information.

jp_23_unix.taz - initial GNU/Linux port. Works correctly with ByteBlaster cable connected to parallel port.