software
KEKのテストベンチで使用しているマシンは3台(2013.7.24現在)
elec20 : windowsXP(ISE9.2iでHDLの編集をする際に使用) elec21 : linux(SL, SSWの操作をする) elec22 : linux(PPG, Interrupt Register, PT5, TTCの操作をする)
command
基本のコマンドは最上位の“command”というディレクトリにあり,各自,ここからコピー点編集して使用するのが良い.
elec21:/command/ elec22:/command/
PPG
Directory : elec22:/command/PPG/
$ ppg2 [address] [dl,ro] [out_filename] dl ... [out_filename]で指定したfileをPPGに書き込む ro ... [out_filename]で指定したfileを読み出す
$ ppg2 [address] [option] [option] : reset,trigger,single,repeat,int,ext,depth,read_csr reset ... PPG reset trigger ... single ... PPGに書き込む信号を一度だけ出力 repeat ... PPG入力信号を繰り返し出力 int ... 内部clock ext ... 外部clock depth ... PPGに書き込むdataの深さ read_csr
Pulse Patternを設定 → Interrupt Registerからトリガー信号を出す
$ ./setppg.sh テストするパターンに応じて,適宜,編集して使うこと.
Sector-Logic
Directory : elec21:/command/sl_command/
$ sl <sl address> <operation> [arguments] $ sl <sl address> c <chip> <filename> : configure $ sl <sl address> e <chip> : erase $ sl <sl address> ea : erase_all $ sl <sl address> r <chip> <address> : read $ sl <sl address> w <chip> <address> <value> : write $ sl <sl address> p2f <chip> : download PROM to FPGA (※1) $ sl <sl address> p2fa : download_all PROM to ALL FPGA (※1) $ sl address : SL's 32bit address '0x'+(3char)
chip : 0( fpga0 ) , 1( fpga1 ) , 2( fpga2 ), cpld value : CPLD test registor is 8 bit value : FPGA delay register is 32bit [16'b0,4bit,0,3bit,0,3bit,0,3bit] value : GlinkMonitor test register is 32bit
PROMは現在使用していない.configurationする時は<operation>“c”を使い、bit fileから直接FPGAに書きこむ.
Configuration
$ ./conf.sh 3つのchip ( FPGA0, FPGA1, G-link Monitor ) をeraseし,まとめてconfigurationする.
SLへの入力信号を確認する
$ ./glinkmonitor.sh ここで読み出される信号は,SLへのOptical入力に対して,HDLで指定されたdelayをかけただけのもの. SLへの入力が正しいパターンが送られているかどうか,確認するのに便利.
TTC
Directory : elec22:/command/ttc/
$ ./ttc_write : TTCに書き込む TTCに書き込む値を変更するには,ttc_write.cc を編集してmakeして$ ./ttc_write
TTCの設定に関して
- L1A信号のsourceをランダムモード、外部からのNIM入力、ECL入力から選択できる.
- ランダムモードの場合は平均出力周波数を選択できる。
- これらはレジスタによって設定できる。詳しくはTTCviのDocumentを参照。
SSW
Directory : elec21:/command/ssw_command/
$ ./sswmaskcci.sh デフォルトではマスクがかかっている(データが入力できない)のでマスクを外す $ ./setdepth SLB ASICのFIFOの深さ設定 (※編集中)
PT5
directory: elec22:/command/pt5/
$ ./pt5 <pt5 address> <operation> [arguments] $ ./pt5 <pt5 address> c <chip> <filename> : configure $ ./pt5 <pt5 address> e <chip> : erase $ ./pt5 <pt5 address> r <chip> <address> : read $ ./pt5 <pt5 address> w <chip> <address> <value> : write $ ./pt5 address : PT5's 32bit address '0x'+(3char)
chip : 0( fpga0 ), 1( fpga1 ), cpld address : [0-15] value : 32bit
configuration
./pt5 0xf91 c 0 glfifo2.bit glfifo2.bitはテストベンチ用のbit file
読み出し → 翻訳
./doglfifo.sh