Difference between revisions of "Programming over Fibre"

From MCEWiki
(MCE Hardware)
(Remote Configuration Software)
Line 20: Line 20:
  
 
== Remote Configuration Software ==
 
== Remote Configuration Software ==
On a MAS PC, get the version of JAM Player software from SVN that is compatible with the version of Clock Card firmware you just loaded in the Factory Configuration Device (i.e. SVN revision 16 is compatible with cc_v0500006).
+
Make sure mce_jam is installed. This is normally installed under /usr/mce/bin. If not, then you need to update your mas and mce_jam will be automatically installed. If you rather not upgrade mas, then just checkout the code under mas/applications/mce_jam, make it and copy it to the mas install directory.
cd ~/jp_25/mce_jam/trunk
 
svn update -r16
 
 
 
Compile the SVN software with the following commands:
 
make clean
 
make
 
  
 
The read_idcode.jam file is included in SVN as a test script to help you determine whether you have set up the system correctly.   
 
The read_idcode.jam file is included in SVN as a test script to help you determine whether you have set up the system correctly.   
  sudo ./jam -u -v -f8000000 -aread_idcode read_idcode.jam                    // For Querying ID Codes
+
  jam -u -v -f8000000 -aread_idcode read_idcode.jam                    // For Querying ID Codes
  
 
If you can run the read_idcode script, then you are ready to re-configure FPGA's, EPC16's and EPCS64's.  For these devices, you will need to generate .jam files that are specifically suited to your JTAG chain's topology.  You will need Quartus II software to do this.  Instructions on generating .jam files are here: [[MCE Programming File Conversions]].  If you do not have access to Quartus II software, send the output of the read_idcode.jam script to UBC, and configuration .jam files can be generated for you.
 
If you can run the read_idcode script, then you are ready to re-configure FPGA's, EPC16's and EPCS64's.  For these devices, you will need to generate .jam files that are specifically suited to your JTAG chain's topology.  You will need Quartus II software to do this.  Instructions on generating .jam files are here: [[MCE Programming File Conversions]].  If you do not have access to Quartus II software, send the output of the read_idcode.jam script to UBC, and configuration .jam files can be generated for you.
sudo ./jam -u -v -f800000 -aprogram -dDO_VERIFY=0 cc_xfpga_rc_pof.jam        // For Programming EPC16's
+
jam -u -v -f800000 -aprogram -dDO_VERIFY=0 cc_xfpga_rc_pof.jam        // For Programming EPC16's
sudo ./jam -u -v -f8000000 -aconfigure cc_xfpga_rc_sof.jam                  // For Configuring FPGA's
+
jam -u -v -f8000000 -aconfigure cc_xfpga_rc_sof.jam                  // For Configuring FPGA's
  
 
Note that programming an EPCS64 is a two-step process:
 
Note that programming an EPCS64 is a two-step process:
sudo ./jam -u -v -f8000000 -aconfigure cc_rcd_jic.jam                        // For Programming EPCS64's (Step 1 of 2)
+
jam -u -v -f8000000 -aconfigure cc_rcd_jic.jam                        // For Programming EPCS64's (Step 1 of 2)
sudo ./jam -u -v -f100000 -aprogram -dDO_VERIFY=0 cc_rcd_jic.jam            // For Programming EPCS64's (Step 2 of 2)
+
jam -u -v -f100000 -aprogram -dDO_VERIFY=0 cc_rcd_jic.jam            // For Programming EPCS64's (Step 2 of 2)
  
 
= Footnotes =
 
= Footnotes =

Revision as of 15:45, 3 December 2010

Remote Firmware Update (RFU), aka Remote Configuration is the ability to reprogram the MCE via the fibre-optic interface. This feature was implemented in February 2010.

User's Guide

MCE Hardware

To enable Remote Configuration, we need to give the Clock Card FPGA access to the JTAG chain:

  • Turn off MCE power
  • On the Clock Card, flip the "BB_EN" DIP switch on SW1:P1 to OPEN
    • Note that with this DIP switch setting, you can not program the FPGA(sof) from the front panel connector (USB_Blaster) anymore.
    • With this DIP switch setting, if CC firmware is pre-5.0.7, you can not access the JTAG chain from the front panel connector (USB_Blaster) anymore. So you need to update your Factory Configuration device on CC first (using the on-board CC JTAG connector).
  • Turn on MCE power

MCE Firmware

The MCE firmware is updated in two steps. First, the factory configuration device is programmed from the on-board header. Second, the application configuration device are modified on all the cards. Note that the factory and application configuration devices on the Clock Card should both be loaded with 5.0.7+ firmware to avoid loading incompatible firmware versions. Clock Card firmware descriptions are available here: Clock Card (CC). Procedure:

  • Configure the Clock Card factory configuration device with this .pof file:
  • Configure the Clock Card application configuration device with the same .pof:
    • Clock Card: cc_v05000007_14may2010.pof

Remote Configuration Software

Make sure mce_jam is installed. This is normally installed under /usr/mce/bin. If not, then you need to update your mas and mce_jam will be automatically installed. If you rather not upgrade mas, then just checkout the code under mas/applications/mce_jam, make it and copy it to the mas install directory.

The read_idcode.jam file is included in SVN as a test script to help you determine whether you have set up the system correctly.

jam -u -v -f8000000 -aread_idcode read_idcode.jam                     // For Querying ID Codes

If you can run the read_idcode script, then you are ready to re-configure FPGA's, EPC16's and EPCS64's. For these devices, you will need to generate .jam files that are specifically suited to your JTAG chain's topology. You will need Quartus II software to do this. Instructions on generating .jam files are here: MCE Programming File Conversions. If you do not have access to Quartus II software, send the output of the read_idcode.jam script to UBC, and configuration .jam files can be generated for you. jam -u -v -f800000 -aprogram -dDO_VERIFY=0 cc_xfpga_rc_pof.jam // For Programming EPC16's jam -u -v -f8000000 -aconfigure cc_xfpga_rc_sof.jam // For Configuring FPGA's

Note that programming an EPCS64 is a two-step process: jam -u -v -f8000000 -aconfigure cc_rcd_jic.jam // For Programming EPCS64's (Step 1 of 2) jam -u -v -f100000 -aprogram -dDO_VERIFY=0 cc_rcd_jic.jam // For Programming EPCS64's (Step 2 of 2)

Footnotes

Generating .JAM Files for Remote Update

Porting Remote Configuration Sofware to DAS

The following C-code will need to be ported to DAS to enable Remote Configuration. You will need to convert the MCE WB and RB commands in the code to use DAS libraries and compile the code with the included Makefile:

Development Notes