DCS

/dcs/scripts/startATLPIX_SR1_FSM.bash

Then go: PIX_BARREL Arrow blue right L2 Arrow blue right L2_B28 Arrow blue right L2_B28_S1_A6

  • Switching-on: START Arrow blue right TURN_ON_OPTO Arrow blue right Yes
    • The OptoBoard status in the summary panel should be READY (with green light)

  • Switching-off: BACK_TO_STARTED
    • this will turn off LV / HV, leaving the Wiener / iSeg crates on

TIP We're working with module M3A, corresponding to Rx=19

TIP Rx=19 corresponds to the hex mask 0x0008000 = 0000 0000 0000 1000 0000 0000 0000 0000

RODs

Naming (layer 2)

ROD Crate Slot ROD IP host with UART output host with JTAG
ROD_C3_S8 3 8 192.168.2.080 control8 control8
ROD_C3_S11 3 11 192.168.2.110 control7 control7
ROD_C3_S15 3 15 192.168.2.150 ros02 control7

TIPThe info with the host with the JTAG can be seen from within the $PIXELDAQ_ROOT/scripts/iblRodCtrl script.

Checking UART output

  1. Stop and start serial output:
          ssh pixeldaq@ros02
          stop_kermit_logging
          start_kermit_logging
          
    Above will create a new PPClog file in /mnt/pixel_mnt/logs/ros02.pixel.cern.ch/kermit/ and the symbolic link PPClog_current will point to the newly created file. For example:
          % ls -ltr /mnt/pixel_mnt/logs/ros02.pixel.cern.ch/kermit/
          lrwxrwxrwx 1 pixeldaq atlas       25 Feb 16 12:02 PPClog_current -> PPClog_20160216120257.txt
          -rw-r--r-- 1 pixeldaq atlas        0 Feb 16 12:02 PPClog_20160216120257.txt
          
  2. watch tail -49 /mnt/pixel_mnt/logs/ros02.pixel.cern.ch/kermit/PPClog_current

Flashing FPGAs

  • using .bit files via JTAG
Master /mnt/pixel_mnt/home/sevilla/daq/RodDaq/IblDaq/RodMaster/Firmware/build/rodMaster.bit
Slave /mnt/pixel_mnt/home/sevilla/daq/RodDaq/IblDaq/RodSlave/Firmware/build/rodSlave_top.bit

By running a simple script containing the following lines:

$PIXELDAQ_ROOT/scripts/iblRodCtrl ROD_C3_S15 flash cpp
$PIXELDAQ_ROOT/scripts/iblRodCtrl ROD_C3_S15 flash slaves
$PIXELDAQ_ROOT/scripts/iblRodCtrl ROD_C3_S15 start all
one should get something like:
sevilla@analysis2]: tf 15
Inferring PIXELDAQ_ROOT from script location: /home/sevilla/daq
=== Running on control7.pixel.cern.ch ===
Setting up Xilinx 14.7 on control7.pixel.cern.ch [x86_64]
. /opt/Xilinx/14.7/ISE_DS/common/.settings64.sh /opt/Xilinx/14.7/ISE_DS/common
. /opt/Xilinx/14.7/ISE_DS/EDK/.settings64.sh /opt/Xilinx/14.7/ISE_DS/EDK
. /opt/Xilinx/14.7/ISE_DS/PlanAhead/.settings64.sh /opt/Xilinx/14.7/ISE_DS/PlanAhead
. /opt/Xilinx/14.7/ISE_DS/ISE/.settings64.sh /opt/Xilinx/14.7/ISE_DS/ISE
Executing TCL script /home/sevilla/.tmp_xmdRodScript.1455635267.tcl:
   fpga -debugdevice devicenr 8 -cable type xilinx_platformusb esn 0000174C85E501 -f /home/sevilla/daq/RodDaq/IblDaq/RodMaster/Firmware/build/rodMaster.bit
Xilinx Microprocessor Debugger (XMD) Engine
Xilinx EDK 14.7 Build EDK_P.20131013
Copyright (c) 1995-2012 Xilinx, Inc.  All rights reserved.
Executing user script : /home/sevilla/.tmp_xmdRodScript.1455635267.tcl
Programming Bitstream -- /home/sevilla/daq/RodDaq/IblDaq/RodMaster/Firmware/build/rodMaster.bit
Fpga Programming Progress ......10....20....30....40....50....60....70....80....90.....Done
Successfully downloaded bit file.

JTAG chain configuration
--------------------------------------------------
Device   ID Code        IR Length    Part Name
 1       d5059093          16        XCF32P
 2       d5057093          16        XCF08P
 3       4401d093           6        XC6SLX150
 4       d5059093          16        XCF32P
 5       d5057093          16        XCF08P
 6       4401d093           6        XC6SLX150
 7       d5059093          16        XCF32P
 8       632c6093          10        XC5VFX70T

Connection to control7.pixel.cern.ch closed.
Inferring PIXELDAQ_ROOT from script location: /home/sevilla/daq
=== Running on control7.pixel.cern.ch ===
Setting up Xilinx 14.7 on control7.pixel.cern.ch [x86_64]
. /opt/Xilinx/14.7/ISE_DS/common/.settings64.sh /opt/Xilinx/14.7/ISE_DS/common
. /opt/Xilinx/14.7/ISE_DS/EDK/.settings64.sh /opt/Xilinx/14.7/ISE_DS/EDK
. /opt/Xilinx/14.7/ISE_DS/PlanAhead/.settings64.sh /opt/Xilinx/14.7/ISE_DS/PlanAhead
. /opt/Xilinx/14.7/ISE_DS/ISE/.settings64.sh /opt/Xilinx/14.7/ISE_DS/ISE
Executing TCL script /home/sevilla/.tmp_xmdRodScript.1455635281.tcl:
   fpga -debugdevice devicenr 3 -cable type xilinx_platformusb esn 0000174C85E501 -f /home/sevilla/daq/RodDaq/IblDaq/RodSlave/Firmware/build/rodSlave_top.bit
   fpga -debugdevice devicenr 6 -cable type xilinx_platformusb esn 0000174C85E501 -f /home/sevilla/daq/RodDaq/IblDaq/RodSlave/Firmware/build/rodSlave_top.bit
Xilinx Microprocessor Debugger (XMD) Engine
Xilinx EDK 14.7 Build EDK_P.20131013
Copyright (c) 1995-2012 Xilinx, Inc.  All rights reserved.
Executing user script : /home/sevilla/.tmp_xmdRodScript.1455635281.tcl
Programming Bitstream -- /home/sevilla/daq/RodDaq/IblDaq/RodSlave/Firmware/build/rodSlave_top.bit
Fpga Programming Progress ......10....20....30....40....50....60....70....80....90.....Done
Successfully downloaded bit file.

JTAG chain configuration
--------------------------------------------------
Device   ID Code        IR Length    Part Name
 1       d5059093          16        XCF32P
 2       d5057093          16        XCF08P
 3       4401d093           6        XC6SLX150
 4       d5059093          16        XCF32P
 5       d5057093          16        XCF08P
 6       4401d093           6        XC6SLX150
 7       d5059093          16        XCF32P
 8       632c6093          10        XC5VFX70T

Programming Bitstream -- /home/sevilla/daq/RodDaq/IblDaq/RodSlave/Firmware/build/rodSlave_top.bit
Fpga Programming Progress ......10....20....30....40....50....60....70....80....90.....Done
Successfully downloaded bit file.

JTAG chain configuration
--------------------------------------------------
Device   ID Code        IR Length    Part Name
 1       d5059093          16        XCF32P
 2       d5057093          16        XCF08P
 3       4401d093           6        XC6SLX150
 4       d5059093          16        XCF32P
 5       d5057093          16        XCF08P
 6       4401d093           6        XC6SLX150
 7       d5059093          16        XCF32P
 8       632c6093          10        XC5VFX70T

Connection to control7.pixel.cern.ch closed.
Inferring PIXELDAQ_ROOT from script location: /home/sevilla/daq
=== Running on control7.pixel.cern.ch ===
Setting up Xilinx 14.7 on control7.pixel.cern.ch [x86_64]
. /opt/Xilinx/14.7/ISE_DS/common/.settings64.sh /opt/Xilinx/14.7/ISE_DS/common
. /opt/Xilinx/14.7/ISE_DS/EDK/.settings64.sh /opt/Xilinx/14.7/ISE_DS/EDK
. /opt/Xilinx/14.7/ISE_DS/PlanAhead/.settings64.sh /opt/Xilinx/14.7/ISE_DS/PlanAhead
. /opt/Xilinx/14.7/ISE_DS/ISE/.settings64.sh /opt/Xilinx/14.7/ISE_DS/ISE
Executing TCL script /home/sevilla/.tmp_xmdRodScript.1455635311.tcl:
   connect mb mdm -debugdevice devicenr 3 -cable type xilinx_platformusb esn 0000174C85E501
   rst
   dow /home/sevilla/daq/RodDaq/IblDaq/RodSlave/Software/bin/histClient.elf
   run
   connect mb mdm -debugdevice devicenr 6 -cable type xilinx_platformusb esn 0000174C85E501
   rst
   dow /home/sevilla/daq/RodDaq/IblDaq/RodSlave/Software/bin/histClient.elf
   run
   connect ppc hw -debugdevice devicenr 8 -cable type xilinx_platformusb esn 0000174C85E501
   rst
   dow /home/sevilla/daq/RodDaq/IblDaq/RodMaster/Software/PPCpp/bin/PPCpp.elf
   run
Xilinx Microprocessor Debugger (XMD) Engine
Xilinx EDK 14.7 Build EDK_P.20131013
Copyright (c) 1995-2012 Xilinx, Inc.  All rights reserved.
Executing user script : /home/sevilla/.tmp_xmdRodScript.1455635311.tcl

JTAG chain configuration
--------------------------------------------------
Device   ID Code        IR Length    Part Name
 1       d5059093          16        XCF32P
 2       d5057093          16        XCF08P
 3       4401d093           6        XC6SLX150
 4       d5059093          16        XCF32P
 5       d5057093          16        XCF08P
 6       4401d093           6        XC6SLX150
 7       d5059093          16        XCF32P
 8       632c6093          10        XC5VFX70T

MicroBlaze Processor Configuration :
-------------------------------------
Version............................8.50c
Optimization.......................Performance
Interconnect.......................AXI-LE
MMU Type...........................No_MMU
No of PC Breakpoints...............1
No of Read Addr/Data Watchpoints...0
No of Write Addr/Data Watchpoints..0
Instruction Cache Support..........on
Instruction Cache Base Address.....0xc0000000
Instruction Cache High Address.....0xcfffffff
Data Cache Support.................on
Data Cache Base Address............0xc0000000
Data Cache High Address............0xcfffffff
Exceptions  Support................off
FPU  Support.......................off
Hard Divider Support...............on
Hard Multiplier Support............on - (Mul32)
Barrel Shifter Support.............on
MSR clr/set Instruction Support....on
Compare Instruction Support........on
Data Cache Write-back Support......off
Fault Tolerance Support............off
Stack Protection Support...........off

Connected to "mb" target. id = 0
Starting GDB server for "mb" target (id = 0) at TCP port no 1234
System reset successfully

Downloading Program -- /home/sevilla/daq/RodDaq/IblDaq/RodSlave/Software/bin/histClient.elf
   section, .vectors.reset: 0x00000000-0x00000007
   section, .vectors.sw_exception: 0x00000008-0x0000000f
   section, .vectors.interrupt: 0x00000010-0x00000017
   section, .vectors.hw_exception: 0x00000020-0x00000027
   section, .text: 0xc0000000-0xc00264af
   section, .init: 0xc00264b0-0xc00264eb
   section, .fini: 0xc00264ec-0xc002650b
   section, .ctors: 0xc002650c-0xc0026513
   section, .dtors: 0xc0026514-0xc002651b
   section, .rodata: 0xc002651c-0xc002971e
   section, .sdata2: 0xc002971f-0xc002971f
   section, .data: 0xc0029720-0xc0029deb
   section, .eh_frame: 0xc0029dec-0xc0029e67
   section, .jcr: 0xc0029e68-0xc0029e6b
   section, .sdata: 0xc0029e6c-0xc0029e6f
   section, .bss: 0xc0029e70-0xc02d34c7
   section, __DMA_ALIGN: 0xc02d34c8-0xccad34ff
   section, .heap: 0xccad3500-0xccb734ff
   section, .stack: 0xccb73500-0xccc134ff
Download Progress..10.20.30.40.50.60.70.80.90..Done
Setting PC with Program Start Address 0x00000000
System Reset .... DONE

Processor started. Type "stop" to stop processor

RUNNING> 
JTAG chain configuration
--------------------------------------------------
Device   ID Code        IR Length    Part Name
 1       d5059093          16        XCF32P
 2       d5057093          16        XCF08P
 3       4401d093           6        XC6SLX150
 4       d5059093          16        XCF32P
 5       d5057093          16        XCF08P
 6       4401d093           6        XC6SLX150
 7       d5059093          16        XCF32P
 8       632c6093          10        XC5VFX70T

MicroBlaze Processor Configuration :
-------------------------------------
Version............................8.50c
Optimization.......................Performance
Interconnect.......................AXI-LE
MMU Type...........................No_MMU
No of PC Breakpoints...............1
No of Read Addr/Data Watchpoints...0
No of Write Addr/Data Watchpoints..0
Instruction Cache Support..........on
Instruction Cache Base Address.....0xc0000000
Instruction Cache High Address.....0xcfffffff
Data Cache Support.................on
Data Cache Base Address............0xc0000000
Data Cache High Address............0xcfffffff
Exceptions  Support................off
FPU  Support.......................off
Hard Divider Support...............on
Hard Multiplier Support............on - (Mul32)
Barrel Shifter Support.............on
MSR clr/set Instruction Support....on
Compare Instruction Support........on
Data Cache Write-back Support......off
Fault Tolerance Support............off
Stack Protection Support...........off

System reset successfully

Downloading Program -- /home/sevilla/daq/RodDaq/IblDaq/RodSlave/Software/bin/histClient.elf
   section, .vectors.reset: 0x00000000-0x00000007
   section, .vectors.sw_exception: 0x00000008-0x0000000f
   section, .vectors.interrupt: 0x00000010-0x00000017
   section, .vectors.hw_exception: 0x00000020-0x00000027
   section, .text: 0xc0000000-0xc00264af
   section, .init: 0xc00264b0-0xc00264eb
   section, .fini: 0xc00264ec-0xc002650b
   section, .ctors: 0xc002650c-0xc0026513
   section, .dtors: 0xc0026514-0xc002651b
   section, .rodata: 0xc002651c-0xc002971e
   section, .sdata2: 0xc002971f-0xc002971f
   section, .data: 0xc0029720-0xc0029deb
   section, .eh_frame: 0xc0029dec-0xc0029e67
   section, .jcr: 0xc0029e68-0xc0029e6b
   section, .sdata: 0xc0029e6c-0xc0029e6f
   section, .bss: 0xc0029e70-0xc02d34c7
   section, __DMA_ALIGN: 0xc02d34c8-0xccad34ff
   section, .heap: 0xccad3500-0xccb734ff
   section, .stack: 0xccb73500-0xccc134ff
Download Progress..10.20.30.40.50.60.70.80.90..Done
Setting PC with Program Start Address 0x00000000
System Reset .... DONE

Processor started. Type "stop" to stop processor

RUNNING> 
JTAG chain configuration
--------------------------------------------------
Device   ID Code        IR Length    Part Name
 1       d5059093          16        XCF32P
 2       d5057093          16        XCF08P
 3       4401d093           6        XC6SLX150
 4       d5059093          16        XCF32P
 5       d5057093          16        XCF08P
 6       4401d093           6        XC6SLX150
 7       d5059093          16        XCF32P
 8       632c6093          10        XC5VFX70T

PowerPC440 Processor Configuration
-------------------------------------
Version.............................0x7ff21912
User ID.............................0x00f00002
No of PC Breakpoints................4
No of Addr/Data Watchpoints.........2
User Defined Address Map to access Special PowerPC Features using XMD:
   I-Cache   (Data)........0x70000000 - 0x70007fff
   I-Cache   (TAG).........0x70008000 - 0x7000ffff
   D-Cache   (Data)........0x78000000 - 0x78007fff
   D-Cache   (TAG).........0x78008000 - 0x7800ffff
   DCR...................0x78020000 - 0x78020fff
   TLB...................0x70020000 - 0x70023fff

Connected to "ppc" target. id = 32
Starting GDB server for "ppc" target (id = 32) at TCP port no 1235
System reset successfully

Downloading Program -- /home/sevilla/daq/RodDaq/IblDaq/RodMaster/Software/PPCpp/bin/PPCpp.elf
   section, .vectors: 0x00000000-0x000004af
   section, .text: 0x000004b0-0x0016dd03
   section, .init: 0x0016dd04-0x0016dd27
   section, .fini: 0x0016dd28-0x0016dd47
   section, .boot0: 0xffffff00-0xffffffcb
   section, .boot: 0xfffffffc-0xffffffff
   section, .rodata: 0x0016dd48-0x001a0b7c
   section, .data: 0x001a0b80-0x001a11fb
   section, .got2: 0x001a11fc-0x001a1217
   section, .ctors: 0x001a1218-0x001a140f
   section, .dtors: 0x001a1410-0x001a15fb
   section, .eh_frame: 0x001a15fc-0x001a8da3
   section, .jcr: 0x001a8da4-0x001a8da7
   section, .gcc_except_table: 0x001a8da8-0x001ab8b5
   section, .sdata: 0x001ab8b8-0x001ac03b
   section, .sbss: 0x001ac040-0x001ac767
   section, .bss: 0x001ac770-0x0365128b
   section, .stack: 0x0365128c-0x0b65128f
   section, .heap: 0x0b651290-0x1365128f
Download Progress..10..20..30.40..50..60.70..80..90....Done
Setting PC with Program Start Address 0xfffffffc
System Reset .... DONE

Processor started. Type "stop" to stop processor

RUNNING> Connection to control7.pixel.cern.ch closed.

PixelDaq software

Environment

Login

% ssh -XY sevilla@lxplus.cern.ch
% ssh -YXC sevilla@atlpix01.cern.ch
The atlpix01.cern.ch interface is a PC located in 2175-RS-0102, and it is in fact an alias to analysis2.pixel.cern.ch.

TIPIf physically located at SR1, I may directly do ssh -YXC sevilla@atlsr1NOSPAMPLEASE.cern.ch (again, an alias to analysis2.pixel.cern.ch).

Building PixelDaq

% cd /home/sevilla
% git clone -b sr1/PixelDAQ-02-02-00-RC1 https://git.cern.ch/reps/atlaspixeldaq
% ln -s atlaspixeldaq daq
% cd daq
At this point, the environment variable PIXELDAQ_ROOT should point to /home/sevilla/daq. Now, let's compile:
make -C VmeInterface && make -C VmeInterface inst
make -C $ROD_DAQ/RodCrate && make -C $ROD_DAQ/RodCrate inst
make -C PixLibInterface && make -C PixLibInterface inst
make -C $ROD_DAQ/IblUtils/HostCommandPattern
make -C $ROD_DAQ/IblDaq/RodMaster/Software/PPCpp
make -C $ROD_DAQ/IblDaq/RodSlave/Software/

Environment variables

PIXELDAQ_ROOT ${HOME}/daq
ROD_DAQ ${HOME}/daq/RodDaq

Binaries

Console

  1. Launch the Console: Console

  1. Select appropriate ROD (for example ROD_C3_S11) Connectivity_DB_selection_panel.png

  1. click "Apply Selection". The Calibration Console finally appears: Calibration_Console.png

Git

Git is a distributed version control system, meaning that the repository is no longer kept in a single central server (as other version control systems as e.g. svn) but locally. Each team member / contributor to a given project has its own local copy of the repository, which is very convenient as one can almost always work locally.

Data location

Git organises the data in different places which are important to know. A very nice cheatsheet with available commands for each possible state of your data can be found in http://ndpsoftware.com/git-cheatsheet.html.

Upstream repository

This is the repository which which one shares changes (git push), get the changes from others (git pull) or simply the one from where one wants to clone the repository fro (git clone). Several upstream repositories are possible as git is distributed version control system. For ATLAS Pixel DAQ, the main upstream repository is https://git.cern.ch/reps/atlaspixeldaq. The original repository I have clone from is normally called origin.

Local repository

This is my local copy of the upstream repository that I have cloned. It is important to remember that the local repository is a complete copy of origin, and that almost everything happens locally. Therefore, some operations one might expect to be applied to the upstream repository are applied instead to the local repository.

  • in particular, when I commit changes, I commit them to the local repository. The upstream repository remains unchanged.

Index (or staging area)

The index is a file that tells Git what to commit (and Git keeps religiously to the index).

  • sometimes one needs to be careful with this. I should not assume that only because I modified a previous committed file, Git is going to add these modifications to the next commit (in fact Git will not). One needs so stage these modifications (git add).

Workspace

The workspace or working tree holds the current state of all the files and directories I am working on.

Stash

The stash is a place where I can save modifications that I want to apply later, but for the moment I am concerned with something else and those modifications (that I already made) have to wait.

  • example: I start editing file A by adding some new feature, and after some time of work, I realise that I have to fix some bug on file B. But in order to go on with the bug fix, I need to keep A unchanged (e.g. for testing purposes). Instead of loosing the work done on A, I can just stash A (git stash save), work on the bug fix and then unstash A (git stash pop).

Branches

A branch is a duplication of the current workspace (or of another branch), so that work can be done in parallel in the parent branch (the original branch) and in the new one. Note that with this definition, the workspace can be seen as the current branch I am working on.

  • TIP: normally each Git repository has a main branch called master.

Git calls switching to a branch to check out (git checkout). So when I checkout a branch, I make this branch my working tree or workspace.

Common operations

creating a git repository

% mkdir myrep
% cd myrep 
% git init
Initialized empty Git repository in /Users/sevilla/myrep/.git/

Git just creates a .git repository

-- SergioGonzalez - 2016-02-09

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng Calibration_Console.png r1 manage 134.1 K 2016-02-29 - 14:50 SergioGonzalez  
PNGpng Connectivity_DB_selection_panel.png r1 manage 67.6 K 2016-02-29 - 14:47 SergioGonzalez  
Edit | Attach | Watch | Print version | History: r9 < r8 < r7 < r6 < r5 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r9 - 2016-02-29 - SergioGonzalez
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback