Difference: RD53ADAQtop (29 vs. 30)

Revision 302020-08-19 - KatsuyaSato

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

RD53A DAQ

Line: 25 to 25
 
Added:
>
>

Preparation

Firmware

Firmwareのversionが古い場合,新しいversionをもってくる.

FirmwareをXpressk7にflashする.
  • (Ohio cardのそれぞれのPortに載っているパーツがAC or DCか確認する)
  • JTAGをXpressk7とPCのUSBポートに接続.
  • $ source /opt/Xilinx/Vivado/2019.02/setting64.sh
  • $ cd YARR-FW-20yymmdd/scripts
  • $ ./flash.sh or $ python flash.py
    • flash.shの場合は,該当するbit fileをstrageからinstallする.old versionやFNAL versionなどはない.
    • flash.pyの場合は,YARR-FW-20yymmdd下にあるbit fileから選ぶことができる.よく,syn/xpressk7下に置いたりする(?)
  • 基本的に以下のversionを選択する.
    • Xpressk7_325 (現在持っているXpressk7のversionが325というものらしい)
    • Ohio card
    • 160Mbps
    • 4x4 (data line数)(FNALのように1つtrigger用=DCだと3x4)
  • 問題なく焼き終えたらreboot.(焼くのにだいたい10分くらいかかる)
Check Communication with XpressK7

Softwareが古い場合,新しいversionのを持ってくる.

RD53にconfigを通す前に,Xpressk7とPCIe communicationできているか確認する.
  • $ cd YARR-20yymmdd
  • $ ./bin/specBenchmarkDma
Config File

scanをする際にcontroller configやconnectivity config, scan configを指定する必要がある.

connectivity config

  • Xpressk7 (Ohio card)のどのportを使い,どのchip config fileを使うかを指定.
  • "config": 使用するchip config file. 存在しない場合は自動的にdefaultのが作られる.
  • "tx": talk channel. (0,1,2,3)=port(A,B,C,D)
  • "rx": read channel. (0,1,2,3)=port(A,B,C,D)
  • "enable": 使用するか否か.0 or 1
  • "locked": chip config fileの書き換えの有効化.0 or 1
scan config chip config (主要なものだけ説明)
  • EnCoreCol [Diff1,2/Lin1,2/Sync]: Front Endごとにマスクするなら,65535->0, 1->0にする.
  • DiffLcc (En): Leakage Current Compensation bias (En: 1 is enable)
  • Sldo[Analog/Digital]Trim: analog or digital regulator output voltage trim.
    • RD53A とのcommunicationでinvalid dataを受け取る場合,この数値を変えると解決する場合がある.(22->19とか)
  • Name: scan結果のデータやhistogramの名称.
-- Katsuya Sato - 2020-08-19

Configure Chip and Run Scan, Tune

参照:https://gitlab.cern.ch/YARR/YARR/-/blob/master/docs/rd53a.md

基本的にscanをする際は,

$ ./bin/scanConsole -r configs/controller/specCfg.json -c configs/connectivity/CONNECTIVITY.json -s configs/scans/rd53a/SCAN.json [OPTION]

[OPTION]

  • -p: histogram plotting enable
  • -m 0: No change masks
  • -m 1: reset masks
  • (no add -m: add masks)
Digital / Analog Scan

$./bin/scanConsole -r configs/controller/specCfg.json -c configs/connectivity/example_rd53a_setup.json -s configs/scans/rd53a/std_digitalscan.json -p

$ ./bin/scanConsole -r configs/controller/specCfg.json -c configs/connectivity/example_rd53a_setup.json -s configs/scans/rd53a/std_analogscan.json -p

Threshold Scan

$ ./bin/scanConsole -r configs/controller/specCfg.json -c configs/connectivity/example_rd53a_setup.json -s configs/scans/rd53a/std_thresholdscan.json -p

Range

  • defaultでは,Vcal:50-300 i.e. 500e-3000eしか測れない.
  • scans/rd53a/std_thresholdscan.jsonの中の"parameter":"InjVcalDiff"のmax,minを変更すればよい.
  • inject charge [e]~Vcal*10
ちなみに,analog/digital scanでは100発injectしているが,threshold scanの場合は50発
ToT (Time over Threshold) Scan

$ ./bin/scanConsole -r configs/controller/specCfg.json -c configs/connectivity/example_rd53a_setup.json -s configs/scans/rd53a/std_thresholdscan.json -p -t [CHARGE] [Target ToT ]

ToT Scanをする際はinject charge=MIPが落とすcharge~10k[e]を入力する.(1um siliconに対しておよそ80electrons)

Tune

Tunigはscriptsが用意されている.(詳しくは中を見てほしい)これには引数が必要で,

$ ./scripts/tune-rd53a.sh [1st Target Threshold] [2nd Target Threshold] [Inject Charge] [Target ToT ] configs/controller/specCfg.json configs/connectivity/example_rd53a_setup.json

  • [1st Target Threshold]: Linear Front Endをtuningする際に使われる.final targer thresholdが1500eの場合は,[1st Target Threshold]=2000とか?
  • [2nd Targer Threshold]: final target threshold.
  • [Inject Charge]: 10000 (10k[e])
  • [Targer ToT ]: 7 or 8 [b.c]とか.(final thresholdと関係する)
  • controller configやconnectivity configの前に"-r"や"-c"は不要.
Sync F.E.やLinear F.E.使わない場合は,shell scriptの中身をcomment outすれば時間短縮になる.だいたい10分くらいかかる?
Cross-Talk Scan

$ ./bin/scanConsole -r configs/controller/specCfg.json -c configs/connectivity/example_rd53a_setup.json -s configs/scans/rd53a/std_crosstalk_scan.json -p

Inject Pattern

  • scan configの中の"maskSize"
  • readout pixel (center)に対して上下左右どのpixelにchargeをinject (max:40ke)するか指定する.
  • maskSize=(0,1,2,3,4,5,6,7,8,9,10,11)
Mask Stage
  • defaultだと全てのpixelを読んでくれるわけではない.analog scanのようにすべてのpixelを読み込むためには,
  • "loopAction": "Rd53aMaskLoop"の中の"max":1536->64に変更すればよい.
  • "loopAction": "Rd53aCoreColLoop"の中の"nSteps"は1でも問題なく動く.(analogscanは5で,これにするととても時間がかかる)
Source Scan

参照: SelfTriggerScan

参照: ExtTriggerScanFNAL

Scan後に.raw dataを作成させるには,scan configに"algorithm": "DataArchiver"の項を追加する必要がある.

(.raw dataを解析するのは,plotting/read_rawData or bin/analyseRawDataを使えばよい)

-- Katsuya Sato - 2020-08-19

 

#OLD# preparation

  • source /opt/Xilinx/Vivado/2016.4/settings64.shをして、vivadoでVivadoを起動
  • Open Hardware Manegerに入り、Open targetのAuto connectをクリック
 
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.
Ideas, requests, problems regarding TWiki? Send feedback