wiki:HCALngFEC

Version 42 (modified by Eric Hazen, 7 years ago) (diff)

--

Nav: HCALFrontEnd

2017-06-28 (hazen)

Trying to use Dan's new tool. There are some issues.

  $ svn co svn+ssh://ehazen@svn.cern.ch/reps/cactus/branches/dgastler_newtool
  $ cd dgastler_newtool
  $ source env.sh
  $ source WIB.sh
  $ make
    ...
  $ BUTool.exe
  >add_device GLIB 192.168.100.10 ngfec.xml

Sort of works but there is an upper/lower case problem with the address table so it's useless at the moment. Try to fix it. Change in glib_device.hh change RegisterHelper(UPPER) to RegisterHelper(CASE_SENSITIVE). Make doesn't notice so do make clean; make. Now it works.

Try to reboot with my bit file (link below) but then the board is bricked. Finally remembered have to have rarpd running on cmssun1.bu.edu.

Reload firmware using procedure below from ngfec_test_9_2_1_b.bit from watt:Proj/CMS/ngFEC. Now we actually see the new version!

>r user_board_id
                                     user_board_id: 0xFEC10910

Getting a new copy to edit in watt:Proj/CMS/ngFEC_24:

 $ svn co https://ehazen@svn.cern.ch/reps/cms-firmwsrc/hcal/HCAL_ngFEC_fc7/branches/HB_HE_FC7_Vivado
 $ svn co https://ehazen@svn.cern.ch/reps/ph-ese/be/fc7/tags/fc7_5.0.2
 $ svn co https://ehazen@svn.cern.ch/reps/ph-ese/be/gbt_fpga//tags/gbt_fpga_5_0_0/
 $ svn co https://ehazen@svn.cern.ch/reps/cactus/tags/ipbus_fw/ipbus_2_0_v1
 $ cp -r fc7_5.0.2/fw/src/* HB_HE_FC7_Vivado/fw/src/
 $ edit HB_HE_FC7_Vivado/fw/tcl/ngFEC_vivado.tcl

       set GBT_PATH /home/hazen/Proj/CMS/ngFEC_24/gbt_fpga_5_0_0
       set IPBUS_PATH /home/hazen/Proj/CMS/ngFEC_24/ipbus_2_0_v1

 $ open HF_FC7_Vivado/fw/prj/ngFEC_HF_viv/ngFEC_HF_viv.xpr in Vivado 2016.4
 > source HB_HE_FC7_Vivado/fw/tcl/ngFEC_vivado.tcl    (in Tcl Console)

This produces a working bit file.

2017-05-02 (yash)

Changed the address table path to read the correct registers for date and firmware version. Added the "clock" command that displays clock frequencies of the CCM device.

2017-05-02 (eric)

New file with firmware revision and date updated for register read test: http://ohm.bu.edu/~hazen/CMS/HCAL_FE/ngfec_test_9_2_1_b.bit

2017-05-1 (yash, eric)

Added fwv command to the BUTool to display the firmware version running on the device. List now shows the Serial no., version and the ip address for the connected device.

Firmware and data are in ngFEC_logic.vhd as constants, e.g.:

   stat_reg(0)               <= x"fec1_0310";          -- ID "fec1" revision 3.1.0
   stat_reg(1)               <= x"2903_2017";          -- Date 2017-03-29

2017-04-21 (yash)

Ran two more delay scans with power cycle with the old firmware.

scan2 scan3

Updated the firmware version to 9.2.1 firmware_ver

Power cycled again and ran the delay scan again

scan4

2017-04-21 (eric)

Building new firmware. Current user version is 1.2.1. Change to 9.2.1 for testin.

2017-04-21 (yash, eric)

Note: CCM Board J15. We turned switches 1 and 2 towards the serial board, cycled the power and connected the cable. Ran the script uart_rpd_scan.py.

Results: scan1

2017-04-13 (yash, eric)

Made a backup image of firmware supplied on flash card with ngFEC. Copied to another flash card and booted the module successfully.

Using glibtool2.exe, we can read the firmware revision:

>r system_regs.firmware_id
Looking for "system_regs.firmware_id"
Name system_regs.firmware_id translated to address 0x2
   system_regs.firmware_id: 0x50021f79

(N.B. there are bugs in glibtoo2; it doesn't handle masks correctly).

To reprogram firmware using the CCM server:

  $ /opt/ngFEC/ngFEC.exe -c -p 64000
  tput fec-fg go_offline
  boot fec ...image_file_name.bit
  tput fec-fg go_online

2017-04-11 (hazen)

Attempting an ngFEC build to test in the lab. 2016.4 build is at ~/Proj/CMS/ngFEC.

2017-04-10 (hazen)

Proper connections for power and fiber:

http://ohm.bu.edu/~hazen/CMS/HCAL_FE/pix/power_conn_sm.jpg http://ohm.bu.edu/~hazen/CMS/HCAL_FE/pix/ccm_fiber_sm.jpg http://ohm.bu.edu/~hazen/CMS/HCAL_FE/pix/fec_fiber_sm.jpg]

2017-04-05 (hazen)

ngFEC installed. CCM server installed by Alan C on cms4.bu.edu. Basic instructions:

$ /opt/ngFEC/ngFEC.exe -c -p 64000
...
table
timestamp
...
tget HE2-cg fnrR1      # read front-end I2C regs
...
get fec-sfp[2-7]_status.RxLOS_rr   # read fiber status (LOS)

2017-03-31

2017-03-30

Trying using Vivado 2016.4 on home machine.

In ngFEC_vivado.tcl:

set GBT_PATH /home/hazen/Proj/CMS/ngFEC/gbt_fpga_5_0_0
set IPBUS_PATH /home/hazen/Proj/CMS/ngFEC/ipbus_2_0_v1

Change version by 1 to x"fec1_0311". Build in 15-20 min on home machine.

Apparently IP address is fixed at 192.168.0.80 in ngFEC_logic.vhd:

   ip_addr_o                 <= x"c0_a8_00_50";

But see FC-7 Adventures. There is more to this than meets the eye.

Now attempting to reproduce the success on watt.bu.edu using Vivado 2016.4.

2017-03-28

Downloading ngFEC firmware for Vivado per Costanza Email 2017-03-25, esp README.txt.

 svn co https://ehazen@svn.cern.ch/reps/cms-firmwsrc/hcal/HCAL_ngFEC_fc7/branches/HB_HE_FC7_Vivado
 svn co https://ehazen@svn.cern.ch/reps/ph-ese/be/fc7/tags/fc7_5.0.2
 svn co https://ehazen@svn.cern.ch/reps/ph-ese/be/gbt_fpga//tags/gbt_fpga_5_0_0/
 svn co https://ehazen@svn.cern.ch/reps/cactus/tags/ipbus_fw/ipbus_2_0_v1