HSIO2 Instruction
Useful links
Hardware and Software setup
- HSIOHardwareSetup
- HSIOForPixelReadout
Artix7にFirmwareを焼く
1. 新しいターミナルで:
bash> source /opt/Xilinx/Vivado/2015.4/settings64.sh
bash> vivado &
2.
Open Hardware Managerを開く
3.
open target -> auto connect
だめだったら、open target -> ~ connectで選択
4.
xc7a200t_0(1)を右クリック -> Program Device... ->
Bitstream file: /home/atlasj/Dropbox/SiliconMemo/memo/HSIO2/HsioCosmic_00000003.bit
-> Program
5. caliserver&calibGuiを立ち上げ直して確認
※電源を落とすとFPGAに書き込んだものは失われてしまう. FPGA & memoryに書き込む必要有.
メモリーに書き込む
xc7a200t_0(1)を右クリック -> Add Configuration Memory Device
All,1024, bpi, x16, -> ok,ok
HsioCosmic _00000003.mcs
(eraseからのprogramming)
Tuning & Source scan
CalibGuiの立ち上げ方
Running calibserver on the RCE:
bash> ssh rce0 -l root
root> source setup.sh
root> calibserver &
On the linux host:
bash> source ~/daq/rce/scripts/setup-gen3.sh
bash> calibGui &
Tuning Manual
calibGuiが立ち上がってから...
1) コンフィグファイルについて
/home/atlasj/Dropbox/FEI4tunings/HSIO2/macro/single_tuning_orgをコピーしてきて, 入ってるモジュールの名前にする。(ex. KEK82_KEK83)
rceconf/KEK*.cfg, config/KEK*_primlist_4_local__fe0.cfgを編集。
・rceconf/KEK*.cfg(全体のconfig)
rceに繋がっているセンサーを変える。
数字の意味は, (enable, inlink, outlink, gomi, gomi)
・config/KEK*_primlist_4_local__fe0.cfg (chipのconfig file)
ModuleID, Adress, Chip_SNを変える
2) calibGuiにおいて、
・Config Root Dir ... Browse → KEK~のディレクトリにいって、"rceconf"とタイプしてOpen
・Data Dir ... Browse → "data"とタイプしてOpen
・Load ... KEK~/rceconf/KEK~.cfgを選択してOpen
Config Halfstave A タブに選択したモジュールが入っているか確認(前の設定が残ってたら一回Quitする, そしたら治る)
3) Scan Configを選択(Digital, Analog, etc.)
4) Start Run → 結果は、Plotsタブに表示される
5) Prim Listを使いたいときはLoad Primlistでファイルを選択。
(/scratch/atlasj/Dropbox/FEI4tunings/HSIO2/primlist)
Tuningの手順
1) DIGITAL_TEST, ANALOG_TESTを確認
2) THRESHOLD_SCANをとってみて、KEK*_primlist_4_local__fe*.cfgのパラメータを調節しながら合わせる。
変えるパラメータは、Vthin_AltCoarse、Vthin_AltFineの2つ。Vthin_AltCoarseはthreshldを大まかに決めるパラメータで、0-3のどれかを入力。
Vthin_AltFineはthresholdを細かく決めるパラメータで、0-255の間で入力。
3)tuning targetに合わせてprimlistを読み込む。(例:fasttune_th3000_ToT7at10ke.pk)
4)thresold scan,ToT scanなどをしてtuning結果を確かめる
Hardware connection & software setup
Config file template
Mask
1.ANALOG_TESTを実行後、noisyなピクセルを確認。
2.CalibGuiの上のにあるUpdateを押し、maskを適用する。
3.noise scanを実行。
4.scanが終わったら、mask対象がどれくらいあるか確認(maskのヒストグラムを見る)。
5.mask対象が適切なら、同様手順でmaskをかける。 (noiseが多すぎるとコアダンプすることがあるので、その場合はnoise scan selftriggerを回し、これでmaskする。)
6.noiseがほとんど見えなくなったらソーススキャン("selftrigger")をする。
Tips
- リセット方法
-> HSIO-IIにあるボタン(SOFT RST, COLD BOOT, DTM BOOTの三段階)
- Threhoshold scanの範囲等を変える↓↓
THRESHOLD_SCAN,FEI4B,THRESHOLDTARGETVALUE=3000,TOTTARGETCHARGE=21000,TOTTARGETVALUE=7,MASKSTAGEMODE=FEI4_ENA_BCAP,LOOPVARVALUES=0[0;200;101]
(FEI4_ENA_BCAP...大きい方のcapacitorも入れる。)
Troubleshooting
基本的にlenovoでHSIO2を動かすこと前提です。。。
〇rce0にpingが通らない
・HSIO2に電源が入っているか
→電源を入れて下さい
・電源が入っているのに通らない
→/etc/sysconfig/network-scripts/ifcfg-eth0 をsudoで開いて"BOOTPROTO=dhcp"部分をコメントアウトし、HSIO2用の該当部分(for HSIO2や#####HSIO2#####などで分かりやすくなっているハズ)のコメントアウトを解除
sudo service network restart を実行
service dhcpd status でdhcpサーバーの状態を確認
→止まっていたらsudo service dhcpd start
/etc/hosts のrce0が正しいdtm番号の場所にいるか確認(いつも使ってるHSIO2のdtm番号は50 or 56)し、必要なら直して保存
〇rce0が見つからない
/sbin/ifconfig -a でeth0が無いことを確認(代わりに他のeth5とかがいたりする)
/etc/udev/rules.d/70-persistent-net.rules を開いて NAME="eth0" と書いてあるPCI deviceの行を削除し、NAME="eth5"(上で代わりにいたethの名前)と書かれている部分をeth0に書き換えてサーバー再起動
/sbin/ifconfig -a でeth0のMACアドレス(HWaddr)を取得し、/etc/sysconfig/network-scripts/ifcfg-eth0 内のHWADDRを取得したものに書き換え
sudo service network restart でeth0がいるのを確認
EUTelescope Integration
--
Koji Nakamura - 2016-03-14