Difference: TDCprogrammingViaJam (1 vs. 15)

Revision 15
01 Jan 2010 - Main.JanMichel
Line: 1 to 1
Changed:
<
<
META TOPICPARENT name="TDCReadoutBoard"
>
>
META TOPICPARENT name="TRBFeaturesAndSoftware"
 

How to generate jam and tcl files

In view of growing number of TRBs the make.pl perl script was made
Revision 14
02 Oct 2007 - Main.SergeyYurevich
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"

How to generate jam and tcl files

In view of growing number of TRBs the make.pl perl script was made to produce jam files with TDC settings and channels enabled/disabled as well as tcl file with settings for TRBs.
Changed:
<
<
The script takes three input configuration files:
>
>
The script takes four input configuration files:
 
  • config/default_TDC_setup.conf (default settings for TDC)
  • config/default_TDC_channels.conf (default channels status for TDC)
  • config/default_TRB_setup.conf (default settings for TRB)
Revision 13
24 Jul 2007 - Main.MarekPalka
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"

How to generate jam and tcl files

Line: 48 to 48
  cvs -d :ext:hadaq@lxi002.gsi.de:/misc/hadesprojects/daq/cvsroot/ checkout trbtdctools

-- SergeyYurevich - 12 Jul 2007
Changed:
<
<
>
>

Old program for trbv1

  -- MarekPalka - 15 Jul 2005

Program creates all needed .jam files to programm and test TDC
Revision 12
23 Jul 2007 - Main.SergeyYurevich
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"
Changed:
<
<

How to generate jam files

>
>

How to generate jam and tcl files

 

In view of growing number of TRBs the make.pl perl script was made to produce jam files with TDC settings and channels enabled/disabled as well as tcl file with settings for TRBs.
Line: 33 to 33
  sub_evt_id from trb_p.tcl is automatically incremented according to TRB number but can be overwritten by the new settings taken from config/TRB_TDC_settings.conf.
Changed:
<
<
Command line: make_jam.pl [-h|--help] [-g|--gen TRB_first_num -g|--gen TRB_last_num] [-j|--jam] [-t|--tcl]
>
>
Command line: make.pl [-h|--help] [-g|--gen TRB_first_num -g|--gen TRB_last_num] [-j|--jam] [-t|--tcl]
 

To get a help:
./make.pl -h|--help
Revision 11
12 Jul 2007 - Main.SergeyYurevich
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"

How to generate jam files

Line: 6 to 6
  to produce jam files with TDC settings and channels enabled/disabled as well as tcl file with settings for TRBs.

The script takes three input configuration files:
Changed:
<
<
  • config/default_TDC_setup.conf (default settings for a TDC)
  • config/default_TDC_channels.conf (default channels status for a TDC)
  • config/default_TRB_setup.conf (default settings for a TRB)
>
>
  • config/default_TDC_setup.conf (default settings for TDC)
  • config/default_TDC_channels.conf (default channels status for TDC)
  • config/default_TRB_setup.conf (default settings for TRB)
 
  • config/TRB_TDC_settings.conf (new settings and new channels status
    for all TDCs on all TRBs)
Revision 10
12 Jul 2007 - Main.SergeyYurevich
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"

How to generate jam files

Changed:
<
<
In view of growing number of TRBs the make_jam.pl perl script was made to produce jam files with TDC settings and channels enabled/disabled.
>
>
In view of growing number of TRBs the make.pl perl script was made to produce jam files with TDC settings and channels enabled/disabled as well as tcl file with settings for TRBs.
 

The script takes three input configuration files:
  • config/default_TDC_setup.conf (default settings for a TDC)
  • config/default_TDC_channels.conf (default channels status for a TDC)
Added:
>
>
  • config/default_TRB_setup.conf (default settings for a TRB)
 
  • config/TRB_TDC_settings.conf (new settings and new channels status
    for all TDCs on all TRBs)
Line: 17 to 18
  outdata/TRB_002_TDC_setup.jam
outdata/TRB_002_TDC_channels.jam
...
Changed:
<
<

For every TDC the default settings are overwritten by the new settings
>
>
and one tcl file with settings for all TRBs:
outdata/trb_p.tcl

For every TDC and TRB the default settings are overwritten by the new settings
  taken from config/TRB_TDC_settings.conf.

The script has a built-in setting of tdc_id for 4 TDCs:
Line: 27 to 30
 
  • "TDC_C" tdc_id=0010
  • "TDC_D" tdc_id=0011
Changed:
<
<
Command line: make_jam.pl [-h|--help] [-g|--gen TRB_first_num -g|--gen TRB_last_num]
>
>
sub_evt_id from trb_p.tcl is automatically incremented according to TRB number but can be overwritten by the new settings taken from config/TRB_TDC_settings.conf.

Command line: make_jam.pl [-h|--help] [-g|--gen TRB_first_num -g|--gen TRB_last_num] [-j|--jam] [-t|--tcl]
 

To get a help:
Changed:
<
<
./make_jam.pl -h|--help
To generate config/TRB_TDC_settings.conf.sample for the TRBs with numbers from 2 till 20:
./make_jam.pl -g 2 -g 20
>
>
./make.pl -h|--help
To generate config/TRB_TDC_settings.conf.sample for the TRBs with numbers from 1 till 20:
./make.pl -g 1 -g 20
  To create jam files:
Changed:
<
<
./make_jam.pl
>
>
./make.pl -j
To create tcl file:
./make.pl -t
 

To get this project from CVS:
cvs -d :ext:hadaq@lxi002.gsi.de:/misc/hadesprojects/daq/cvsroot/ checkout trbtdctools
Changed:
<
<
-- SergeyYurevich - 04 Jun 2007
>
>
-- SergeyYurevich - 12 Jul 2007
 

-- MarekPalka - 15 Jul 2005
Revision 9
04 Jun 2007 - Main.SergeyYurevich
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"

How to generate jam files

Line: 36 to 36
  To create jam files:
./make_jam.pl
Added:
>
>
To get this project from CVS:
cvs -d :ext:hadaq@lxi002.gsi.de:/misc/hadesprojects/daq/cvsroot/ checkout trbtdctools
  -- SergeyYurevich - 04 Jun 2007

-- MarekPalka - 15 Jul 2005
Revision 8
04 Jun 2007 - Main.SergeyYurevich
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"
Added:
>
>

How to generate jam files

In view of growing number of TRBs the make_jam.pl perl script was made to produce jam files with TDC settings and channels enabled/disabled.

The script takes three input configuration files:
  • config/default_TDC_setup.conf (default settings for a TDC)
  • config/default_TDC_channels.conf (default channels status for a TDC)
  • config/TRB_TDC_settings.conf (new settings and new channels status
    for all TDCs on all TRBs)

The script produces two jam output files per TRB:
outdata/TRB_001_TDC_setup.jam (settings for 4 TDCs)
outdata/TRB_001_TDC_channels.jam (channels status for 4 TDCs)
outdata/TRB_002_TDC_setup.jam
outdata/TRB_002_TDC_channels.jam
...

For every TDC the default settings are overwritten by the new settings
taken from config/TRB_TDC_settings.conf.

The script has a built-in setting of tdc_id for 4 TDCs:
  • "TDC_A" tdc_id=0000
  • "TDC_B" tdc_id=0001
  • "TDC_C" tdc_id=0010
  • "TDC_D" tdc_id=0011

Command line: make_jam.pl [-h|--help] [-g|--gen TRB_first_num -g|--gen TRB_last_num]

To get a help:
./make_jam.pl -h|--help
To generate config/TRB_TDC_settings.conf.sample for the TRBs with numbers from 2 till 20:
./make_jam.pl -g 2 -g 20
To create jam files:
./make_jam.pl

-- SergeyYurevich - 04 Jun 2007
  -- MarekPalka - 15 Jul 2005

Program creates all needed .jam files to programm and test TDC
Revision 7
20 Jul 2005 - Main.MichaelTraxler
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"
-- MarekPalka - 15 Jul 2005
Line: 43 to 43
  ....

Example of creating setup.jam file:
Changed:
<
<
1: makeTDCjam -isetup.txt -osetup.jam -s
setup.txt - name of file with configuration of setp registers
setup.jam - name of file witch will be created
-s -create setup.jam from setup.dat
2: makeTDCjam -mstatus.jam
status.jam - name of .jam file witch is used to read out status information from TDC
-m - create status.jam
>
>
1: makeTDCjam -isetup.txt -osetup.jam -s
  • setup.txt - name of file with configuration of setp registers
  • setup.jam - name of file witch will be created
  • -s -create setup.jam from setup.dat

2: makeTDCjam -mstatus.jam
  • status.jam - name of .jam file witch is used to read out status information from TDC
  • -m - create status.jam
 
Changed:
<
<
All files are in:
file:///misc/hadaq/cvsroot/rpctrbtdc
>
>
All files are in CVS:
account: hadaq
cvsroot: /misc/hadaq/cvsroot/
module: rpctrbtdc

So, the following will check out the module: cvs -d :ext:hadaq@lxi007:/misc/hadaq/cvsroot co rpctrbtdc
 

setup.txt is configuratoin file to setup registers.
control.txt is configuratoin file to control registers.
Revision 6
20 Jul 2005 - Main.MichaelTraxler
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"
-- MarekPalka - 15 Jul 2005
Line: 72 to 72
  # Set the Window with of the TDC, values in picoseconds TDCWindowWidth = 10
Deleted:
<
<
Did you implement this? If not, no big problem.
 
Changed:
<
<
CU on Monday, Michael
>
>
The current format: [bit-range]= value is OK.

Michael
 

Revision 5
19 Jul 2005 - Main.MarekPalka
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"
-- MarekPalka - 15 Jul 2005

Program creates all needed .jam files to programm and test TDC
Changed:
<
<
Usage:makeTDCjam [-a:(name of file)...-p:] [-[h][g][k][r]]
In some cases first shuld be delivered names of files which
has to be created :g(two names),k(2),r(4)

  • a - Coretest Access to internal coretest scan registers (production testing)
  • b - EXTEST. Boundary scan for test of inter-chip connections on module.
  • c - IDCODE. Scan out of chip identification code.
  • d - INTEST. Using boundary scan registers to test chip itself.
  • e - BIST Memory self tests (production testing)
  • f - Readout Read of TDC output data via JTAG
  • g - Control load/read of control information. Needs m,o paramters
  • h - makeTDCjam help
  • i - SAMPLE. Sample of all chip pins via boundary scan registers.
  • j - SCAN Scan of all internal flip-flops (production testing)
  • k - Start files - files use to start up TDC (PLL, DLL reset)Needs: m,n,o,p parameters
  • l - Status Read of status information
  • m - Read control - name of control data file (40 bits)in wright format
  • n - Read setup - name of setup data file (647 bits)in wright format
  • o - Write control - name of control file wich has to be created
  • p - Write setup - name of setup file wich has to be created
  • r - Setup load/read of setup information.Needs: n,p parameterts

    Right format of data:
#JTAG instructions-Setup register(part of config file)
>
>
Usage:makeTDCjam -c/s/l i-inputfile o-outputfile [-a|-b|-c|-d|-e|-f|-g|-h|-j|-k|-m]

-a: -- coretest Access to internal coretest scan registers (production testing)
-b: -- extest. Boundary scan for test of inter-chip connections on module.
-c: -- Control_file Create file do download data to control register. Needs i,o paramters
-d: -- INTEST Using boundary scan registers to test chip itself.
-e: -- BIST Memory self tests (production testing)
-f: -- Readout Read of TDC output data via JTAG
-g: -- IDCODE Scan out of chip identification code.
-h -- Help View makeTDCjam help
-i: -- Input_file Name of control or setup .jam file wich has to be created
-j: -- SAMPLE Sample of all chip pins via boundary scan registers.
-k: -- SCAN Scan of all internal flip-flops (production testing)
-l -- Start_files Files use to start up TDC (PLL, DLL reset)Needs: i,o parameters
-m: -- Status Read of status information
-o: -- Output_file Name of control or setup .jam file wich has to be created
-s -- Setup_file To download data into setup registers.Needs: i,o parameterts
Right format of data:

#JTAG instructions-Setup register(part of config file)

  [3:0]_he #Selection of test output signal (for testing),hexadecimal style
[4]_b1 #Mark events with error if global error signal set, binary style
[5]_b0 #Bypass TDC chip if global error signal set,binary style
Line: 34 to 30
  [19:17]_b000 #Serial transmission speed in single cycle mode, binary style
[23:20]_b0000 #Programmable delay of serial input Time unit ~ 1ns, binary style
[83:72]_d156 #march winwdow in clock cyckles, decimal style
Deleted:
<
<
...
 
Changed:
<
<
In some cases when bit field is too large it can be divided to smaller parts e.g.:
>
>
... In some cases when bit field is too large it can be divided to smaller parts e.g.:

 

[16:6]_b11111111111 #Enable of internal error types for generation of global error signal
|
Line: 44 to 40
  [6]_b1 #Enable vernier error (DLL unlocked or excessive jitter)
[7]_b1 #Enable coarse error (parity error on coarse count)
[8]_b1 #Enable channel select error (synchronisation error)
Changed:
<
<
....
>
>
....

 

Example of creating setup.jam file:
Changed:
<
<
1: makeTDCjam -nsetup.dat -psetup.jam -r
setup.dat - name of file with configuration of setp register
>
>
1: makeTDCjam -isetup.txt -osetup.jam -s
setup.txt - name of file with configuration of setp registers
  setup.jam - name of file witch will be created
Changed:
<
<
-r -create setup.jam from setup.dat
2: makeTDCjam -lstatus.jam
>
>
-s -create setup.jam from setup.dat
2: makeTDCjam -mstatus.jam
  status.jam - name of .jam file witch is used to read out status information from TDC
Changed:
<
<
-l - create status.jam
>
>
-m - create status.jam

All files are in:
file:///misc/hadaq/cvsroot/rpctrbtdc

setup.txt is configuratoin file to setup registers.
control.txt is configuratoin file to control registers.
makeTDCjam.cpp is source code file witch generate all needed files to program or test HPTDC

 

Comments from Michael:

Changed:
<
<
  • What do you mean by "Wright"?
  • Please put at least two examples of a complete command line. One for the "normal" operation, where one has to write a file with setup-information.
>
>

 
  • When we discussed the human-readable format we agreed on a syntax like this:
Deleted:
<
<
 
Added:
>
>
  EnableTDCGroupHeader = 1 EnableTDCGroupTrailer = 1 # Set the Window with of the TDC, values in picoseconds TDCWindowWidth = 10
Changed:
<
<
# and so on Did you implement this? If not, no big problem. But what is really needed is, that you are able to accept decimal, hexadecimal and binary values as arguments to the settings!

  • Please put an example "human-readable-config-file" into the documentation!
  • Where is the path to the CVS, where I can checkout the program?
>
>
Did you implement this? If not, no big problem.
 

CU on Monday, Michael
Added:
>
>

META FILEATTACHMENT attr="" comment="Configuration file to control registers" date="1121782027" name="control.txt" path="control.txt" size="372" user="MarekPalka" version="1.1"
META FILEATTACHMENT attr="" comment="Configuration file to setup registers" date="1121782065" name="setup.txt" path="setup.txt" size="9372" user="MarekPalka" version="1.1"
 
META TOPICMOVED by="MichaelTraxler" date="1121462767" from="DaqSlowControl.TDCprogramming" to="DaqSlowControl.TDCprogrammingViaJam"
Revision 4
18 Jul 2005 - Main.MarekPalka
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"
-- MarekPalka - 15 Jul 2005
Line: 27 to 27
 
  • r - Setup load/read of setup information.Needs: n,p parameterts

    Right format of data:
#JTAG instructions-Setup register(part of config file)
Changed:
<
<
[3:0]_1110 #Selection of test output signal (for testing)
[4]_1 #Mark events with error if global error signal set
[5]_0 #Bypass TDC chip if global error signal set
[16:6]_11111111111 #Enable of internal error types for generation of global error signal
[19:17]_000 #Serial transmission speed in single cycle mode
[23:20]_0000 #Programmable delay of serial input Time unit ~ 1ns
>
>
[3:0]_he #Selection of test output signal (for testing),hexadecimal style
[4]_b1 #Mark events with error if global error signal set, binary style
[5]_b0 #Bypass TDC chip if global error signal set,binary style
[16:6]_b11111111111 #Enable of internal error types for generation of global error signal, binary style
[19:17]_b000 #Serial transmission speed in single cycle mode, binary style
[23:20]_b0000 #Programmable delay of serial input Time unit ~ 1ns, binary style
[83:72]_d156 #march winwdow in clock cyckles, decimal style
  ...

In some cases when bit field is too large it can be divided to smaller parts e.g.:
Changed:
<
<
[16:6]_11111111111 #Enable of internal error types for generation of global error signal
>
>
[16:6]_b11111111111 #Enable of internal error types for generation of global error signal
  |
V
Changed:
<
<
[6]_1 #Enable vernier error (DLL unlocked or excessive jitter)
[7]_1 #Enable coarse error (parity error on coarse count)
[8]_1 #Enable channel select error (synchronisation error)
>
>
[6]_b1 #Enable vernier error (DLL unlocked or excessive jitter)
[7]_b1 #Enable coarse error (parity error on coarse count)
[8]_b1 #Enable channel select error (synchronisation error)
  ....
Revision 3
16 Jul 2005 - Main.MarekPalka
Line: 1 to 1
 
META TOPICPARENT name="TDCReadoutBoard"
-- MarekPalka - 15 Jul 2005
Line: 24 to 24
 
  • n - Read setup - name of setup data file (647 bits)in wright format
  • o - Write control - name of control file wich has to be created
  • p - Write setup - name of setup file wich has to be created
Changed:
<
<
  • r - Setup load/read of setup information.Needs: n,p parameterts
    Wright format of data:
    [3:0]_1010 #comments can be placed behind:'#'
    [4]_1 #some coments....
>
>
  • r - Setup load/read of setup information.Needs: n,p parameterts

    Right format of data:
#JTAG instructions-Setup register(part of config file)
[3:0]_1110 #Selection of test output signal (for testing)
[4]_1 #Mark events with error if global error signal set
[5]_0 #Bypass TDC chip if global error signal set
[16:6]_11111111111 #Enable of internal error types for generation of global error signal
[19:17]_000 #Serial transmission speed in single cycle mode
[23:20]_0000 #Programmable delay of serial input Time unit ~ 1ns
...

In some cases when bit field is too large it can be divided to smaller parts e.g.:

[16:6]_11111111111 #Enable of internal error types for generation of global error signal
|
V
[6]_1 #Enable vernier error (DLL unlocked or excessive jitter)
[7]_1 #Enable coarse error (parity error on coarse count)
[8]_1 #Enable channel select error (synchronisation error)
....

Example of creating setup.jam file:
1: makeTDCjam -nsetup.dat -psetup.jam -r
setup.dat - name of file with configuration of setp register
setup.jam - name of file witch will be created
-r -create setup.jam from setup.dat
2: makeTDCjam -lstatus.jam
status.jam - name of .jam file witch is used to read out status information from TDC
-l - create status.jam
 

Comments from Michael:

Revision 2
15 Jul 2005 - Main.MichaelTraxler
Line: 1 to 1
Added:
>
>
META TOPICPARENT name="TDCReadoutBoard"
  -- MarekPalka - 15 Jul 2005

Program creates all needed .jam files to programm and test TDC
Line: 28 to 29
  [3:0]_1010 #comments can be placed behind:'#'
[4]_1 #some coments....
Added:
>
>

Comments from Michael:

  • What do you mean by "Wright"?
  • Please put at least two examples of a complete command line. One for the "normal" operation, where one has to write a file with setup-information.
  • When we discussed the human-readable format we agreed on a syntax like this:

EnableTDCGroupHeader = 1
EnableTDCGroupTrailer = 1
# Set the Window with of the TDC, values in picoseconds
TDCWindowWidth = 10
# and so on
Did you implement this? If not, no big problem. But what is really needed is, that you are able to accept decimal, hexadecimal and binary values as arguments to the settings!

  • Please put an example "human-readable-config-file" into the documentation!
  • Where is the path to the CVS, where I can checkout the program?

CU on Monday, Michael

META TOPICMOVED by="MichaelTraxler" date="1121462767" from="DaqSlowControl.TDCprogramming" to="DaqSlowControl.TDCprogrammingViaJam"
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Hades Wiki? Send feedback
Imprint (in German)
Privacy Policy (in German)