[subexp-daq] VULOM4 instead of 4B

Håkan T Johansson f96hajo at chalmers.se
Thu Apr 11 11:56:46 CEST 2024


Dear Günter,

On Thu, 11 Apr 2024, Weber, Guenter Dr. wrote:

> 
> Dear Hans, dear Hakan,
> 
> 
> while migrating an existing DAQ system to the new software, I noticed that this system has a VULOM4 instead if 4B.
> 
> 
> RIO4L-2 mbsdaq > bin/vulomflash --addr=3 --readprogs
> VULOM base address: 0x03000000
> hwmap_mapvme.c:419: LOG: Virtual address for VULOM/TRIDI @ VME 0x03000000 is 0x3005e000.
> Performing command 'readprogs'...
> =========================================================================
> Rng 0: TRLO II  ver/vulom4_trlo         2023-01-08 20:45:08 ( 9.491ns) 6e4ba1a9
> Rng 1: TRLO II  ver/vulom4_trlo         2023-01-08 20:45:08 ( 9.491ns) 6e4ba1a9
> Rng 2: N/A
> Rng 3: N/A
> Rng 4: N/A
> Rng 5: N/A
> Rng 6: N/A
> Rng 7: N/A
> =========================================================================
> Released vme ptr.
> RIO4L-2 mbsdaq > bin/vulomflash --addr=3 --prog=2 fw/vulom4b_trlo/vlogic_4b.rbt
> VULOM base address: 0x03000000
> hwmap_mapvme.c:419: LOG: Virtual address for VULOM/TRIDI @ VME 0x03000000 is 0x3005e000.
> Firmware: fw/vulom4b_trlo/vlogic_4b.rbt
> Comments: fw/vulom4b_trlo/trlo_compile.txt
> From file: firmware: 7819904 bits, comments: 329 bytes.
> INFO: File firmware heuristically identified as: VULOM4B
> INFO: Module heuristically identified (from flash comments) as: VULOM4
> FATAL: Refusing to program firmware with different identification than other flash firmwares.
> Released vme ptr.
> 
> 
> What is the correct procedure to equip the VULOM with the most recent firmware?

Note that this checking is based on the image files already staored in the 
flash memory of the board.  There is no board-level identification.  I.e.,
on a board where enough information to 'determine' which kind of board it 
is by looking at previously programmed images this mistake-avoidance 
feature would not work.

> The first thing I did is to run firmwares.pl and the (hopefully) pick the right one for compilation:
> 
> 
> RIO4L-2 mbsdaq > find_firmwares.pl
> a1729cda ../ver/rimfaxe0_trlo/rfx0_defs.h
> 0866c243 ../ver/rimfaxe1_trlo/rfx1_defs.h
> 5e8f5ef4 ../ver/tridi1_trlo/tridi_defs.h
> 6e4ba1a9 ../ver/vulom4_trlo/trlo_defs.h
> 68f8955e ../ver/vulom4_trlo_all_in/trlo_all_in_defs.h
> af33ed35 ../ver/vulom4_trlo_big/trlo_big_defs.h
> 1409285e ../ver/vulom4b_trlo/trlo_defs.h
> 5e8f5ef4 ../fw/tridi1_trlo/tridi_defs.h
> 6e4ba1a9 ../fw/vulom4_trlo/trlo_defs.h
> 68f8955e ../fw/vulom4_trlo_all_in/trlo_all_in_defs.h
> af33ed35 ../fw/vulom4_trlo_big/trlo_big_defs.h
> a73c5093 ../fw/vulom4_trlo_led/trlo_defs.h
> 1409285e ../fw/vulom4b_trlo/trlo_defs.h
> RIO4L-2 mbsdaq > make fw_6e4ba1a9_trlo_build
> make  -C fw_6e4ba1a9_trlo -f ../trlolib/Makefile \
>           TRLOBASENAME=`cat fw_6e4ba1a9_trlo/trlobasename` FILTERSRC=1
> make[1]: Entering directory `/LynxOS/mbsusr/mbsdaq/daq/2024_polarimeter/trloii/trloctrl/fw_6e4ba1a9_trlo'
>   DEPS   bld_ppc-linux_4.2.2/src/trlo_check_version.d
> make[1]: Leaving directory `/LynxOS/mbsusr/mbsdaq/daq/2024_polarimeter/trloii/trloctrl/fw_6e4ba1a9_trlo'
> make[1]: Entering directory `/LynxOS/mbsusr/mbsdaq/daq/2024_polarimeter/trloii/trloctrl/fw_6e4ba1a9_trlo'
> make[1]: Warning: File `bld_ppc-linux_4.2.2/src/trlo_check_version.d' has modification time 35 s in the future
>    CC    bld_ppc-linux_4.2.2/src/trlo_check_version.o
>    AR    lib_ppc-linux_4.2.2/libtrlo_ctrl.a
>   LINK   bin_ppc-linux_4.2.2/trlo_test
>   LINK   bin_ppc-linux_4.2.2/trlo_ctrl
>   LINK   bin_ppc-linux_4.2.2/trlo_trimi_test
>   LINK   bin_ppc-linux_4.2.2/trlo_trigbus_test
>   LINK   bin_ppc-linux_4.2.2/trlo_tstamp_test
>   LINK   bin_ppc-linux_4.2.2/trlo_tstamp_sample
>   LINK   bin_ppc-linux_4.2.2/trlo_slew_counter_test
>   LINK   bin_ppc-linux_4.2.2/trlo_multi_scaler_test
>   TEST   bld_ppc-linux_4.2.2/do_trlo_test
>  ALIAS-T bld_ppc-linux_4.2.2/do_trlo_alias_test
> make[1]: warning:  Clock skew detected.  Your build may be incomplete.
> make[1]: Leaving directory `/LynxOS/mbsusr/mbsdaq/daq/2024_polarimeter/trloii/trloctrl/fw_6e4ba1a9_trlo'
> 
> But which of the *.rbt files is now the correct one to be transferred as firmware to the VULOM4? And why the VULOM4 seems to have four different firmware versions when 4B just has one?
> 
> 
> ./fw/vulom4_trlo/vlogic_1.rbt
> ./fw/vulom4_trlo_led/vlogic_1.rbt
> ./fw/vulom4_trlo_big/vlogic_1.rbt
> ./fw/tridi1_trlo/tlogic_1.rbt
> ./fw/vulom4b_trlo/vlogic_4b.rbt
> ./fw/vulom4_trlo_all_in/vlogic_1.rbt

The vulom4b_trlo/vlogic_4b.rbt and vulom4_trlo/vlogic_1.rbt would be the 
ones having the same functionality for the two different boards.

The FPGA on the VULOM boards is rather small (used to the limit as far 
as I am able to), so if one want more or less of some logic functions, 
there need to be synthesis-time configuration changes.  This is as far as 
I know not really used by anyone, so I only build that for the VULOM4, as 
kind of testing/keeping it in shape.

Cheers,
Håkan


> 
> 
> Thank you very much!
> 
> 
> 
> 
> Best greetings
> 
> Günter
> 
> 
> 
> 
> 
>


More information about the subexp-daq mailing list