FPGAを用いた原子核実験 トリガーシステム 原子核物理 高橋俊行 野村洋、加藤文章、中村哲 (有)コメット 窪田さん Hypernuclear Spectroscopy by (e,e’K+) Reaction ― Appratus in Nuclear Physics Experiments ― What’s FPGA ? ― APEX20K ― Universal Logic Module ― TUL-8040 ― Examples of Programable Circuits & Test Results Summary
Lハイパー核分光 L粒子―Pauli排他律を受けない 陽子 (p) 強い相互作用(核力) L粒子 中性子 (n) (通常の) Lハイパー核 原子核深部を探るスパイ 強い相互作用(核力) Baryon-Baryon Interaction スピン依存LN相互作用 Level Structures of Hypernuclei 陽子 (p) L粒子 中性子 (n) (通常の) 原子核 Lハイパー核 高分解能での分光測定 Ge-detectorによるg線測定 a few keV (e,e’K+) 反応のよる反応分光 ~ 300 keV L
Detectors for (e,e’K+) Spectroscopy ― JLab E01-011 ― Focal plane detectors K+ e’ H Particle Identification (1st-level) Trigger counters High-resolution Kaon Spectrometer
Segmented Kaon Trigger Trajectories for Good Events Expected singles-rates (kHz) AC1,2,3 WC1,2 Target p+ K+ p e+ 12C 420 0.34 150 ? 28Si 0.29 130 51V 410 0.26 120 1.35 GeV/c 1.2 GeV/c 1.05 GeV/c HTOF1X HTOF2X Ie=30mA, 100mg/cm2 Segmented or Grouping Trigger Kaon = HTOF x AC x WC Good Trajectory Sellection Reduce Accidental Kill Rate Accidental Kill
Conventional NIM Modules 4-fold 1-veto Coincidence FanIn-FanOut lemo cables A OUT OUT IN B C D OUT VETO 4 circuits 2 circuits
Problems in Using Conventional NIM Modules for Trigger Counter # Condition HTOF1X 17 Top, Bottom T Ä B HTOF2X 18 AC1 7 T Å B ? AC2 AC3 WC1 12 WC2 WC3 HTOFY 9 Left, Right L Ä R Cost ~\200,000/module 単機能のものが主流 配線が複雑 変更の自由度が少ない Time-delay 5-10ns/module 1st-level trigger 100-200ns 低CostでFlexibleな回路を FPGAを用いて製作する。 Triggerを構成するChannel数が多い
What’s FPGA ? Field Programmable Gate Array 使用現場でプログラム可能な論理集積回路 ¹ ASIC ( Application Specific Integrated Circuit ) 工場でカスタム化された集積回路 Altera FLEX10Kシリーズ APEX20Kシリーズ Xilinx SPARTANシリーズ VIRTEXシリーズ
Altera APEX20K ― Logic Element (LE) ― carry in cascade in Look Up Table multiplexer 4 inputs outputs to interconnects reset D Flip-flop clock carry out cascade out
Altera APEX20K ― LAB & MegaLAB ― (Logic Array Block) MegaLAB LE MegaLAB interconnect LE LE LAB LAB LAB LAB local interconnect ESB (Memory Function) LE 16LABs LE 10LEs carry chain cascade chain
Altera APEX20K ― Block Diagram ― clock management IOE IOE IOE IOE row-interconnect Mega LAB Mega LAB Mega LAB Mega LAB IOE IOE Mega LAB Mega LAB Mega LAB Mega LAB IOE IOE Mega LAB Mega LAB Mega LAB Mega LAB IOE IOE IOE IOE IOE IOE I/O element column-interconnect
APEX20K -1X Grade ― Clock Boost ― 同期式回路 CLOCKが必要 Timing・時間分解能はCLOCKで決まる。 外部CLOCK あまり高い周波数にはしたくない。(ノイズ) Clock Boost回路 Phase Lock Loopにより、300MHzまでの内部CLOCK fint = fext m/n m = 1~160, n=1~280
APEX20K300EQC240-1X 300,000 gates 11,520 LEs 72 ESBs 4 PLLs Max. Internal Clock 300 MHz 152 I/O Pins Power 1.8V multi I/O voltage 1.8, 2.5, 3.3, 5.0 V
TUL-8040 Inputs Outputs NIM FPGA OUT ECL OUT NIM 4 + 12 (34pin) LED JTAG APEX/ROM Rot. SW NIM OUT Inputs NIM 4 + 12 ECL/LVDS 64 Dip SW 8bits Rot. SW 4bits Outputs NIM 8 ECL 32 LED 4 FPGA APEX 20K300EQC240-1X ROM EPC8QC100 JTAG dowoload program to APEX or ROM VME-6U, 2span only power ( +5V ) ~2.5A@5V ECL OUT (34pin) NIM IN ECL IN (64pin)
TUL-8040 ― Block Diagram ― EP20K300 EQC240-1X DC-DC converter ROM JTAG/ROM 33MHz DC-DC converter ROM EPC8QC100 +5V -> +3.3V +1.8V -5.2V JTAG/APEX Power On ECL ECL/LVDS EP20K300 EQC240-1X MC10H124 NIM NIM SN65LVDS32B comparator LVTTL LED dip SW, rotary SW
NIM Out NIM In ECL Out ECL/LVDS In FPGA APEX EP20K300EQC240-1X dip SW 33MHz Oscillator DC-DC Converter dip SW ROM EPC8QC100 Rot. SW NIM Out NIM In LED ECL Out ECL/LVDS In JTAG ROM/APEX
Programming Quartus II software AHDL, Verilog, VHDL, GUI Compiler download program via LPT Simulation
Example 非同期回路 ― 4ch. OR ― 5ns の幅でも ちゃんと出力 遅延 25ns 25ns IN1 OUT IN2 IN3
Example 非同期回路 ― Width 調整 ― IN OUT 入力幅を狭くする RS Flip Flop set reset 幅の調整 (delay) IN OUT ~7ns 入力幅によらず 出力幅一定
Example 非同期回路 ― Mean Timer ― delay-chain 同一LABでの結果 IN1 IN2 MeanTime-In2 3ns OUT MeanTime-In1 s~0.31ns 分解能 delay time of single cell uniformity of the delay-chain 同一LAB内であればよい LAB間は? 現在テスト中 -4 4 ns
Example 同期回路 ― primitive D Flip Flop ― OUT clock 33 x 23/3 = 253 MHz IN clock clear 300MHz ~ 3.3nsの Time Resolution Time Jitter でTriggerが組める。 4ns (1clock)
Example 同期回路 ― Logic ― logicAnd Verilog reset clk inA out inB reset module logicAnd( inA, inB, clk, reset, out ); input inA, inB, clk, reset; output out; reg out; always @(posedge clk or posedge reset) begin if( reset ) begin out <= 1’b0; end else begin if( inA & inB ) begin out <= 1’b1; endmodule inA logicAnd out inB clk reset inA inB out reset 0 -> 1 1 - clk 0 -> 1
Example 同期回路 ― Width, Delay ― module width( in, clk, out ); input in, clk; output out; reg out, status; parameter MAXCOUNTER=5; parameter COUNTERBITS =3; parameter MINCOUNTER=0; reg [COUNTERBITS-1:0] counter always @(posedge clk) begin if( counter >= MAXCOUNTER ) begin out <= 1’b0; counter <= MINCOUNTER; status <= 1’b0; end else if( counter != MINCOUNTER ) begin out <= 1’b1; counter <= counter + 1; else if( in & ~status ) begin else begin status <= in; endmodlue clockを数え(counter), それに応じて出力する。 clock周期の整数倍での 調整が可能 300MHzなら、3.3ns
History & Present Status 2003/5 コメットと設計打ち合わせ 2003/8 試作品完成 2003/9 試作品によるデバッグ&テスト 2003/10 量産品(10台)製作開始 2003/11 量産品納入 Present 量産品のチェック 今後 JLab E01-011用のProgramの開発・テスト 他の実験への応用 他のカスタムmoduleの設計・製作
Summary 今後の原子核実験では、検出器チェンネル数はますます増加する。 コスト、扱い安さ等からこれまでの様に NIM moduleで回路を組むというスタイルでは対応できない。 FPGAを用いて汎用Logic module ( TUL-8040 )を開発 80 inputs ( 64 ECL + 16 NIM ), 40 outputs ( 32 ECL + 8 NIM ) Programmable Propagation Delay ~50 ns Time Jitter ~4 ns@250MHz同期回路 ~0.5 ns@非同期回路 JLab でハイパー核分光実験のSegmented Trigger を組むために使用。 こういった技術/経験は、来るべきJ-PARCでの実験には要求される。
入手したい人のために ― 必要なもの ― TUL-8040 VME Crate Quartus II software (有)コメット 022-390-7601 定価¥290,000 テストは自分達でする必要あり。 VME Crate 6U Moduleがささるもの。 P1のみでもよい。 Power容量に注意 Quartus II software 使用したFPGAはfree版では使えない。 download cable Alteraで販売。自作も可能。
使用上の注意 ― ECLの極性 ― ECL InputがOPEN時 ProgramでInvertorを入れる。 出力の極性にも注意 論理1がFPGAの入力 ProgramでInvertorを入れる。 前段のECL極性に注意 JLabで使うDiscri.はOK Testで用いたNIM-ECLはNG 出力の極性にも注意 +3.3V SN65LVDS32B IN + IN - 100W to APEX GND DVin ³ -32mV H -32mV > DVin ³ -100mV ? DVin < -100mV L
使用上の注意 download cableの自作 ROMへの書き込み D-sub側を短く作ること Noiseがのり、再現性がない 最大書き込み回数が存在 Program Test中はROMには書かないようにする JTAG D-sub 74HC244