修士論文

Σp 散乱実験のためのMPPC 多チャンネル読み出しシステムの開発
Development of a MPPC multi-channel readout
systemfor the Σp scattering experiment東北大学大学院理学研究科
物理学専攻
塩﨑健弘
平成 26 年

i
概要
核力 (NN 間力) をハイペロン核子 (YN ) 間力に拡張して調べることは核力をクォークの描像から理解することに繋がる。特に Σ+ p 相互作用ではクォークレベルでのパウリ効果により非常に強い斥力芯が予想されており、散乱実験を通してこの斥力芯の強さを調べることが核力の斥力芯の起源を調べることに繋がる。
我々は高統計で Σp 散乱の微分散乱断面積を求める実験 (J-PARC E40 実験) を計画している。本実験は液体水素標的に二次 π ビームを入射し Σ を生成する。Σ の生成及び Σp 散乱事象の同定は、周囲の検出器群で行う。従来用
いられていた画像解析による散乱事象の同定に代わり、標的周囲の検出器の情報から運動学を解くことによる同定を行うため、大強度のビームを用いることができる。
本実験では散乱陽子の飛跡を測定するために円筒形にシンチレーションファ
イバーを配置したファイバートラッカーである Cylindrical Fiber Tracker(CFT) を用いる。CFT はそれぞれのファイバーを個別に半導体光検出器である Multi-Pixel Photon Counter (MPPC) で読み出す。そのために、約 5000

ch というチャンネル数を読み出す必要がある。本研究の目的は、この多チャンネルの MPPC を読み出すためのシステムである、VME-EASIROC ボードの開発である。

MPPC 多チャンネル読み出しシステムを構築するにあたり、1 ボードで多チャンネルの MPPC の信号処理と制御 (波形の整形増幅、バイアス電圧の調節) を行う必要がある。そのため、ASIC を用いた集積化が必須であり、32 chの MPPC 読み出し用 ASIC である EASIROC を使用することとした。1 ボー
ドに EASIROC を 2 chip 搭載した、64 ch の MPPC 読み出しボードを開発した。
まず本ボードでのエネルギー測定について述べる。我々の実験で CFT によって検出される粒子は Minimum Ionizing Particle(MIP) の π 粒子から、低エネルギーの陽子まで、様々なエネルギーをもつ。MIP 粒子による検出光電子数は 20 p.e. 程度、陽子によるそれは、エネルギー損失が大きい場合で、300

p.e. 程度である。EASIROC は広いダイナミックレンジを持ち、これらの要求に充分に応えることができる。本ボードでは、EASIROC に内蔵された電圧保持回路からシリアルに出力される MPPC の波高情報を、ボード上の ADC ICに入力することによって、波高検出型 ADC とした。
次に本ボードでの時間測定について述べる。ファイバー検出器は、ドリフト
チェンバーと比較して非常に良い時間分解能を持つため、トリガーされたイベ

ii
ントとアクシデンタルなバックグラウンドを良い S/N で弁別することができる。ファイバーの時間分解能は 600 ps (σ) 程度であるため、オフライン解析
において数 ns の time gate を設定する。EASIROC からパラレルに出力される Disciminator 出力を FPGA 内に実装した TDC に接続し時間情報を取得することとした。250 MHz の 4 相クロックを用い、LSB = 1 ns の TDC を実装することによって、上述した要求を満たすことができる。MPPC の暗電流によるヒットの発生を考慮し、1 µs のタイムウィンドウ中に 16 hit/event の

depth を持つ Multi-hit TDC (MHTDC) とした。本ボードに対して一定のタイミングでテストパルスを入力する試験によって 1 p.e. に対する TDC の時間
分解能 633 ps (σ) が得られた。
本ボードはトリガー情報として、1st-level-trigger、2nd-level-trigger、Fast

clear、イベントの同期をとるために使用されるイベントタグを受け取る。これ
らのトリガー情報の配布はボード後方の VME J0 バスを介して行われ、KEK

VME クレート内のすべてのボードに対して同一の情報が配布される。本ボー
ドから PC へのデータ転送は SiTCP(100 Mbps) による Ethernet 通信によって行われる。J-PARC E40 実験で予想されるトリガーレートは 2∼3 kHz であるため、これよりも十分早い時間でデータ収集を行うことを目標とする。デッドタイム削減のため、ADC の読み出しクロックの高速化、Double buﬀer の実装によるデータ収集系とデータ転送系の並列動作の実現によって、本ボードは典型的なデッドタイム 12 µs を達成した。
東北大学サイクロトロン・ラジオアイソトープセンター (CYRIC) にて

VME-EASROC と CFT 試作機を用いた性能評価を行った。その結果、80
MeV の陽子と MIP の π 粒子を 4.3 ± 0.7 の分離能で分離できるという結果が得られた。さらに、SFT を用いた時間分解能の評価の結果 1.2 ± 0.1 ns(σ) という結果が得られた。これらの結果は先行研究によって明らかになっている値と整合するものであり、本ボードでも先行研究と同等の性能が得られることが確認された。また、ToT を補助的な波高情報として用いることによる陽子/π分離能の試験では、ファイバー 1 層を用いた場合、2.9 ± 0.8 の分離能が得られた。
以上のことから、本ボードは J-PARC E40 での MPPC 多チャンネル読み出しシステムとして十分な性能を有していることが確認された。

iii

目次

第1章

序論

1

1.1

SUf (3) 空間に拡張されたバリオン間力 . . . . . . . . . . . . . . . . . .

1

1.2

過去の Σp 散乱実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.3

J-PARC E40 実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.3.1
1.4
第2章

2.1

2.2

これまでの開発. . . . . . . . . . . . . . . . . . . . . . . . . .

6

本研究の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10MPPC の多チャンネル読み出し

11

Cylindrical Fiber Tracker (CFT) の構成 . . . . . . . . . . . . . . . . .

11

2.1.1

Cylindrical Fiber Tracker. . . . . . . . . . . . . . . . . . . .

11

2.1.2

CFT 読み出しのための MPPC . . . . . . . . . . . . . . . . . .

11

CFT のための MPPC 多チャンネル読み出し回路 . . . . . . . . . . . .

13

2.2.1

回路に対する要求 . . . . . . . . . . . . . . . . . . . . . . . . .

13

2.2.2

EASIROC . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

2.2.3

PreAmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.2.4

Input DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.2.5

Slow Shaper . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.2.6

Fast Shaper . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.2.7

SlowControl . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.2.8

Probe out . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.2.9

トリガー配布システム . . . . . . . . . . . . . . . . . . . . . . .

20

2.2.10 Master Trigger Module . . . . . . . . . . . . . . . . . . . . . .

21

2.2.11 Receiver Module . . . . . . . . . . . . . . . . . . . . . . . . .

22

2.2.12 Master Trigger Module と Receiver Module を組み合わせたトリガー配布システム . . . . . . . . . . . . . . . . . . . . . . . .
第3章

VME-EASIROC ボードの仕様

22
24

目次

iv

3.1

仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.2

基板レイアウト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

3.2.1

MPPC 入力インターフェース . . . . . . . . . . . . . . . . . . .

28

3.2.2

アナログ信号処理部 . . . . . . . . . . . . . . . . . . . . . . . .

29

3.2.3

AD 変換部 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

3.2.4

デジタル信号処理部 . . . . . . . . . . . . . . . . . . . . . . . .

33

3.2.5

トリガーインターフェース . . . . . . . . . . . . . . . . . . . . .

41

3.2.6

データ転送インターフェース . . . . . . . . . . . . . . . . . . .

41

FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

3.3.1

ADC モジュール . . . . . . . . . . . . . . . . . . . . . . . . . .

46

3.3.2

DoubleBuﬀer . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

3.3.3

MHTDC モジュール . . . . . . . . . . . . . . . . . . . . . . . .

59

3.3.4

データ収集モジュール . . . . . . . . . . . . . . . . . . . . . . .

72

3.3.5

トリガー管理モジュール . . . . . . . . . . . . . . . . . . . . . .

72

3.3.6

StatusRegister モジュール . . . . . . . . . . . . . . . . . . . .

77

3.3.7

SiTCP モジュール . . . . . . . . . . . . . . . . . . . . . . . . .

77

3.3.8

SlowControlController モジュール . . . . . . . . . . . . . . . .

77

3.3.9

ReadRegisterController モジュール . . . . . . . . . . . . . . .

77

3.3.10 SelectableLogic モジュール . . . . . . . . . . . . . . . . . . . .

78

3.3.11 SPI FLASH Programmer モジュール . . . . . . . . . . . . . .

78

3.3.12 ClockManager モジュール . . . . . . . . . . . . . . . . . . . .

79

VME-EASIROC 単体での性能評価

81

4.1

テスト項目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81

4.2

テスト方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

4.2.1

ファンクションジェネレーターから電荷を注入する場合 . . . . .

82

4.2.2

LED からの微少光を MPPC に入射する場合 . . . . . . . . . . .

84

波高測定に対する性能評価 . . . . . . . . . . . . . . . . . . . . . . . . .

85

4.3.1

PreAmp Gein の線形性 . . . . . . . . . . . . . . . . . . . . . .

85

4.3.2

S/N 比の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . .

86

4.3.3

S/N 比の shaping time 依存性 . . . . . . . . . . . . . . . . . .

86

4.3.4

MPPC を接続した際の S/N 比 . . . . . . . . . . . . . . . . . .

87

4.3.5

クロストーク . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89

時間測定に対する性能評価 . . . . . . . . . . . . . . . . . . . . . . . . .

92

MHTDC 単体の時間分解能 . . . . . . . . . . . . . . . . . . . .

92

3.3

第4章

4.3

4.4

4.4.1

目次

4.5

第5章

5.1

5.2

5.3

v
4.4.2

EASIROC 内蔵 Discriminator の時間分解能 . . . . . . . . . . .

92

4.4.3

VME-EASIROC ボードの時間分解能 . . . . . . . . . . . . . .

94

4.4.4

multi-hit 分離能 . . . . . . . . . . . . . . . . . . . . . . . . . .

94

データ転送モジュール . . . . . . . . . . . . . . . . . . . . . . . . . . .

96

4.5.1

データ転送レートとデッドタイムの関係. . . . . . . . . . . . .

96

4.5.2

J-PARC E40 実験におけるデータ転送レートの見積もり . . . . .

98

ファイバートラッカーを用いた性能評価

102

CFT 試作機を用いた、多光量に対する応答及び、陽子/π 分離能の試験 . 102
5.1.1

目的

5.1.2

セットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

5.1.3

エネルギー校正

5.1.4

トラッキング . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

5.1.5

エネルギー分解能 . . . . . . . . . . . . . . . . . . . . . . . . . 107. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102. . . . . . . . . . . . . . . . . . . . . . . . . . 103

SFT 用いた、時間分解能の試験 . . . . . . . . . . . . . . . . . . . . . . 108
5.2.1

目的

5.2.2

セットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

5.2.3

ファイバーを含めたシステムの時間分解能 . . . . . . . . . . . . 109. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

CFT を用いた、Time over Threshold (ToT) を補助的波高情報とする、陽子/π 分離能の試験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

第6章
参考文献

5.3.1

目的

5.3.2

セットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

5.3.3

結果

まとめ

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
117
119

vi

図目次

1.1

Lattice QCD によって計算されたフレーバー基底のバリオン間ポテン
シャル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2

J-PARC E40 実験の概略図 . . . . . . . . . . . . . . . . . . . . . . . .

6

1.3

J-PARC E40 実験の全体図 . . . . . . . . . . . . . . . . . . . . . . . .

7

1.4

BFT の写真と設計図 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.5

SFT の写真と設計図 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.6

CFT 試作機の写真 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

1.7

EASIROC test board の写真 . . . . . . . . . . . . . . . . . . . . . . .

10

2.1

CFT (Φ2 層) の写真 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.2

MPPC 基板の写真 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

2.3

EASIROC chip の写真 . . . . . . . . . . . . . . . . . . . . . . . . . .

14

2.4

EASIROC のブロックダイアグラム . . . . . . . . . . . . . . . . . . . .

15

2.5

InputDAC によるバイアス調節回路 . . . . . . . . . . . . . . . . . . . .

17

2.6

InputDAC とバイアス電圧の関係 . . . . . . . . . . . . . . . . . . . . .

17

2.7

SlowControl レジスター回路図 . . . . . . . . . . . . . . . . . . . . . .

18

2.8

SlowControl タイミングチャート . . . . . . . . . . . . . . . . . . . . .

19

2.9

HighGain PreAmp 出力の様子 . . . . . . . . . . . . . . . . . . . . . .

19

2.10

LowGain PreAmp 出力の様子. . . . . . . . . . . . . . . . . . . . . .

19

2.11

HighGain SlowShaper 出力の様子 . . . . . . . . . . . . . . . . . . . .

20

2.12

LowGain SlowShaper 出力の様子 . . . . . . . . . . . . . . . . . . . . .

20

2.13

FastShaper 出力の様子 . . . . . . . . . . . . . . . . . . . . . . . . . .

20

2.14

Master Trigger Module の写真 . . . . . . . . . . . . . . . . . . . . . .

21

2.15

Receiver Module の写真 . . . . . . . . . . . . . . . . . . . . . . . . . .

21

2.16

オープンドレインバスの回路図 . . . . . . . . . . . . . . . . . . . . . .

22

2.17

トリガー配布システムの模式図 . . . . . . . . . . . . . . . . . . . . . .

23

図目次

vii

3.1

VME-EASIROC ボードの写真 . . . . . . . . . . . . . . . . . . . . . .

28

3.2

VME-EASIROC のブロックダイアグラム . . . . . . . . . . . . . . . .

29

3.3

MPPC 入力インターフェースの回路図 . . . . . . . . . . . . . . . . . .

30

3.4

アナログ処理部の回路図 . . . . . . . . . . . . . . . . . . . . . . . . . .

31

3.5

AD 変換部の回路図 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

3.6

AD9220 のブロックダイアグラム . . . . . . . . . . . . . . . . . . . . .

32

3.7

MDAC 回路の模式図. . . . . . . . . . . . . . . . . . . . . . . . . . .

33

3.8

FPGA のアーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . .

35

3.9

論理セルの回路図. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

3.10

Switch Matrix の模式図 . . . . . . . . . . . . . . . . . . . . . . . . . .

37

3.11

PLL の模式図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

3.12

MMCM のブロックダイアグラム . . . . . . . . . . . . . . . . . . . . .

39

3.13

FPGA 内部回路ブロックダイアグラム . . . . . . . . . . . . . . . . . .

44

3.14

ADC モジュールブロックダイアグラム . . . . . . . . . . . . . . . . . .

48

3.15

ADC Core モジュールブロックダイアグラム . . . . . . . . . . . . . . .

49

3.16

ADC Core モジュールステート遷移 . . . . . . . . . . . . . . . . . . . .

50

3.17

ADC Controller モジュールブロックダイアグラム . . . . . . . . . . . .

52

3.18

ADC Controller モジュールステート遷移図 . . . . . . . . . . . . . . .

53

3.19

DoubleBuﬀer ブロックダイアグラム . . . . . . . . . . . . . . . . . . .

54

3.20

メタステーブル発生の様子 . . . . . . . . . . . . . . . . . . . . . . . . .

54

3.21

Synchronizer 回路図 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

3.22

2 bit 信号を受け渡す時に発生する競合状態 . . . . . . . . . . . . . . . .

56

3.23

binary code →Gray code 変換回路 . . . . . . . . . . . . . . . . . . . .

57

3.24

DoubleBuﬀern の状態遷移の模式図 . . . . . . . . . . . . . . . . . . . .

58

3.25

MHTDC のブロックダイアグラム . . . . . . . . . . . . . . . . . . . . .

59

3.26

MHTDC Counter ブロックダイアグラム . . . . . . . . . . . . . . . . .

61

3.27

MHTDC の使用しているクロック同士の同期関係 . . . . . . . . . . . .

62

3.28

FineCounter ブロックダイアグラム . . . . . . . . . . . . . . . . . . . .

62

3.29

FineCounter タイミングチャート . . . . . . . . . . . . . . . . . . . . .

63

3.30

250 MHz 0◦ の 1 クロックサイクルを 4 つの領域に分ける . . . . . . . .

63

◦

◦

3.31

250 MHz 270 から 250 MHz 0 への転送タイミング . . . . . . . . . .

64

3.32

multicycle path 指定付 FineCounter ブロックダイアグラム . . . . . . .

65

3.33

Channel Buﬀer のブロックダイアグラム . . . . . . . . . . . . . . . . .

66

3.34

MHTDC Builder ブロックダイアグラム . . . . . . . . . . . . . . . . .

67

3.35

MHTDC Builder のステート遷移 . . . . . . . . . . . . . . . . . . . . .

68

図目次

viii

3.36

MHTDC によって時間間隔の狭い 2 つのパルスが統合される様子 . . . .

3.37

FineCounter に幅の短いパルスが入力された場合のタイミングチャート(正極性のパルス) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.38

69
70

FineCounter に幅の短いパルスが入力された場合のタイミングチャート(負極性のパルス) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

70

3.39

DIN のパルス幅をパルスの立ち上がりの検出率の関係 . . . . . . . . . .

71

3.40

トリガー管理モジュールブロックダイアグラム . . . . . . . . . . . . . .

73

3.41

EdgeDetector 回路図 . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

3.42

SynchEdgeDetector 回路図 . . . . . . . . . . . . . . . . . . . . . . . .

73

3.43

リセット優先 RS フリップフロップ回路図. . . . . . . . . . . . . . . .

74

3.44

Delayer 回路図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

3.45

Inter-clock Trigger 回路図 . . . . . . . . . . . . . . . . . . . . . . . . .

75

3.46

トリガー管理モジュールステート遷移図 . . . . . . . . . . . . . . . . . .

76

3.47

Xilix platform cable の写真 . . . . . . . . . . . . . . . . . . . . . . . .

78

3.48

ClockManager モジュールブロックダイアグラム . . . . . . . . . . . . .

79

4.1

ファンクションジェネレーターからのテスト電荷を用いたテスト回路 . .

83

4.2

テスト環境に入力する信号のタイミングチャート . . . . . . . . . . . . .

84

4.3

MPPC からの電荷を用いたテスト回路 . . . . . . . . . . . . . . . . . .

85

4.4

HighGain 側の ADC チャンネルとプリアンプゲインの関係 . . . . . . .

86

4.5

LowGain 側の ADC チャンネルとプリアンプゲインの関係 . . . . . . .

86

4.6

S/N 比の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

4.7

S/N 比のシェーピングタイム依存性 . . . . . . . . . . . . . . . . . . . .

87

4.8

100 ピクセルの MPPC に LED の微少光を入射したときの ADC スペク
トル (Shaping time = 50 ns, Preamp gain = 75) . . . . . . . . . . . .

4.9

100 ピクセルの MPPC に LED の微少光を入射したときの ADC スペク
トル (Shaping time = 175 ns, Preamp gain = 75) . . . . . . . . . . .

4.10

89

400 ピクセルの MPPC に LED の微少光を入射したときの ADC スペク
トル (Shaping time = 50 ns, Preamp gain = 75) . . . . . . . . . . . .

4.13

89

100 ピクセルの MPPC に LED の微少光を入射したときの ADC スペク
トル (Shaping time = 175 ns, Preamp gain = 37.5) . . . . . . . . . .

4.12

89

100 ピクセルの MPPC に LED の微少光を入射したときの ADC スペク
トル (Shaping time = 50 ns, Preamp gain = 37.5) . . . . . . . . . . .

4.11

89

90

400 ピクセルの MPPC に LED の微少光を入射したときの ADC スペク
トル (Shaping time = 175 ns, Preamp gain = 75) . . . . . . . . . . .

90

図目次

4.14

ix
400 ピクセルの MPPC に LED の微少光を入射したときの ADC スペク
トル (Shaping time = 50 ns, Preamp gain = 37.5) . . . . . . . . . . .

4.15

90

400 ピクセルの MPPC に LED の微少光を入射したときの ADC スペク
トル (Shaping time = 175 ns, Preamp gain = 37.5) . . . . . . . . . .

90

4.16

クロストーク測定回路 . . . . . . . . . . . . . . . . . . . . . . . . . . .

91

4.17

信号を入力したチャンネル CH0 と入力していないチャンネル CH1 のADC の関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91

4.18

MHTDC 単体の時間分解能測定のための回路 . . . . . . . . . . . . . . .

92

4.19

MHTDC 単体の時間分解能 . . . . . . . . . . . . . . . . . . . . . . . .

93

4.20

EASIROC 内蔵 Discriminator の時間分解能測定回路 . . . . . . . . . .

93

4.21

入射電荷が 1 p.e. の場合の EASIROC の Discriminator の時間分解能 .

94

4.22

入射電荷が 20 p.e. の場合の EASIROC の Discriminator の時間分解能 .

94

4.23

入射電荷が 1 p.e. の場合の VME-EASIROC の Discriminator の時間分
解能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.24

95

入射電荷が 20 p.e. の場合の VME-EASIROC の Discriminator の時間
分解能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

95

4.25

multi-hit 分離能測定回路 . . . . . . . . . . . . . . . . . . . . . . . . .

95

4.26

パルス間隔 ∆t の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . .

95

4.27

MHTDC に入力した信号のパルス間隔 ∆t と 2 パルス検出率 ε の関係 . .

96

4.28

データ転送レートとデッドタイムの関係を測定する際のネットワーク図 .

97

4.29

J-PARC E40 実験におけるファイバー読み出しシステムのデータ読み出
しネットワーク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

5.1

高発光量に対する応答及び、陽子/π 分離能の試験のセットアップ . . . . 103

5.2

ディグレーダーの厚さと陽子のエネルギーの関係 . . . . . . . . . . . . . 104

5.3

CFT 試作機の各層の名前の定義 . . . . . . . . . . . . . . . . . . . . . . 105

5.4

1 イベントあたりの Φ1_1 層のヒット数

5.5

BGO で測定したエネルギー E とファイバーで測定したエネルギー ∆E. . . . . . . . . . . . . . . . . 106の関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

5.6

時間分解能の試験のセットアップ . . . . . . . . . . . . . . . . . . . . . 108

5.7

ファイバーを含めたシステムの時間分解能 . . . . . . . . . . . . . . . . 109

5.8

CFT を用いた、ToT を補助的波高情報とする、陽子/π 分離能の試験のセットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

5.9ファイバーの ADC と ToT の関係

5.10

ADC と ADC(ToT) の関係 . . . . . . . . . . . . . . . . . . . . . . . . 112. . . . . . . . . . . . . . . . . . . . 111

図目次

x

5.11

ADC と ADC - ADC(ToT) の関係 . . . . . . . . . . . . . . . . . . . . 112

5.12

ADC から求めたファイバーのエネルギー損失 ∆E と BGO で測定されたエネルギー E の関係 . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

5.13

ToT から求めたファイバーのエネルギー損失 ∆E(ADC) と BGO で測定されたエネルギー E の関係 . . . . . . . . . . . . . . . . . . . . . . . 115

5.14

陽子と宇宙線の ∆E の分布 . . . . . . . . . . . . . . . . . . . . . . . . 116

5.15

陽子と宇宙線の ∆E(ToT) の分布 . . . . . . . . . . . . . . . . . . . . . 116

xi

表目次

1.1

ΣN の各ポテンシャルをフレーバー基底で表したもの . . . . . . . . . . .

2

1.2

KEK E289 実験と J-PARC E40 実験の相違点 . . . . . . . . . . . . . .

5

2.1

S10362-11-050P の仕様 . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.2

帰還コンデンサと PreAmp ゲインの関係 . . . . . . . . . . . . . . . . .

16

3.1

VME-EASIROC の基本仕様 . . . . . . . . . . . . . . . . . . . . . . .

25

3.2

EASIROC-test-board の基本仕様と VME-EASIROC の基本仕様の比較

27

3.3

AD9220 の仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

3.4

LUT を 4 入力 AND とする場合の SRAM に書き込む値 . . . . . . . . .

36

3.5

XC7A100T-2FGG676C の仕様 . . . . . . . . . . . . . . . . . . . . . .

40

3.6

VME-EASIROC 用 VME-J0 バスピンアサイン . . . . . . . . . . . . .

41

3.7

4 bit Gray code と binary code の対応表 . . . . . . . . . . . . . . . . .

56

3.8

入力信号の立ち上がるタイミングと Stage0 の過渡的変化の関係 . . . . .

64

3.9

DIN の立ち上がりが属する領域と要求される最小パスル幅の関係 . . . .

71

3.10

ダウンロードケーブルと SPI FLASH Programmer の書き換え方法の比較 79

3.11

クロックの用途 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80

3.12

クロックグループ. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80

4.1

KEITHLEY 3390 の仕様 . . . . . . . . . . . . . . . . . . . . . . . . .

83

4.2

S10362-11-100C と S10362-11-050C の仕様 . . . . . . . . . . . . . . .

88

4.3

MPPC を取り付けた場合の S/N 比 . . . . . . . . . . . . . . . . . . . .

90

5.1

陽子のエネルギーとディグレーダーの厚さの関係 . . . . . . . . . . . . . 104

5.2

BGO で測定されたエネルギー毎のファイバーのエネルギー分解能 . . . . 115

1

第1章

序論
1.1 SUf (3) 空間に拡張されたバリオン間力
バリオンとはハドロンの一種であり、3 つのクォークから構成される、スピンが半整数のフェルミオンである。陽子や中性子などの原子核を構成している粒子 (核子) が代表的なバリオンである。これら核子は核力によって原子核という束縛状態を形成する。核力は遠距離では引力として働き、核子同士が重なるような近距離 (∼ 1 fm) では強い斥力として働く。これらの力の均衡によって原子核が安定して存在し、原子核によって我々の物
質世界が作らている。遠距離における核力は核子-核子 (NN) 散乱のデータを基に、oneboson exchange (OBE) モデル [1, 2] によってよく記述されている。しかし、OBE モデ
ルでは近距離における斥力を扱うことができず、現象論的に斥力芯を取り入れることでNN 散乱のデータを再現している。
核力はクォーク間に働く強い相互作用に由来する。そのため、核子が重なりあうような近距離ではクォーク間の相互作用を考えるのが自然である。NN 散乱では u クォークと d
クォークからなる SU(2) アイソスピン空間の情報しか得ることができない。核力の統一的な理解にはこの SU(2) 空間を s クォークも含んだ SUf (3) フレーバー空間に拡張し調べることが重要である。

SU(2) 空間においては核子のアイソスピン合成により、
2⊗2=3⊕1のアイソスピン 3 重項と 1 重項に対応する 2 つの規約表現が得られる。これを SUf (3) 空間に拡張するとバリオンは J p = 21+の 8 重項と J p = 23+の 10 重項が得られる。8 重項に属するバリオン 2 つの系は8 ⊗ 8 = 27 ⊕ 10∗ ⊕ 10 ⊕ 8s ⊕ 8a ⊕ 1という 6 つの規約表現に分類できる。NN 相互作用におけるアイソスピン 3 重項と 1 重項

第1章

序論

2

はこの (27) 重項と (10∗ ) 重項に含まれることになる。それ以外の項は SUf (3) 空間に拡張することで新たに現れる項である。これらの項を含めてより広くバリオン間力を調べる
ことは核力研究の大きな手掛かりとなる。クォーク描像に基づく理論では、この新たに現れた項は短距離において非常に強い斥力や逆に引力芯などの多彩な現象を示すことが予想されている。そのためこれらの項を含む YN 相互作用を調べることは核力をクォーク描
像から理解するうえで非常に重要である。

2 体のバリオン間相互作用を実験的に最も効果的に調べる方法は散乱実験を行うことである。ΣN に関するバリオン間ポテンシャルは表 1.1 に示すように 6 つのフレーバー
基底のポテンシャルの線形結合として表される。散乱チャンネルによってはこれらのポテンシャルの効果が強く現れると考えられる。ΣN(I = 32 ) のバリオン間ポテンシャルに関しては spin-singlet となる (27) 重項と spin-triplet となる (10) 重項の重ね合わせとして表される。(10) 重項はパウリ効果によって殆どブロックされるチャンネルであり、さらに、(10) 重項は spin-triplet に属するために (27) 重項の 3 倍の寄与がある。そのために、このチャンネルは非常に強い斥力を示すことが予想される。クォーク間のパウリ効
果を取り入れた Kyoto-Niigata RGM モデルにおいても強い斥力が現れることが予測され、それによって大きな微分散乱断面積を示すことが予測されている。一方で Nijgemen

OBE モデルではクォーク間の効果は考慮されていないために予測される微分散乱断面積
は Kyoto-Niigata RGM モデルと比較して 13 程である。ΣN (I = 12 ) のバリオン間ポテ
ンシャルは 4 つの多重項の重ね合わせであり、どれか 1 つのチャンネルの効果のみが強く現れるということはなく、これらのモデルで斥力芯に顕著な差はないと考えられている。
表 1.1 ΣN の各ポテンシャルをフレーバー基底で表したもの。

バリオン間ポテンシャル

spin-singlet

spin-triplet

ΣN (I = 12 )√1 [3(8s) − (27)]10√1 [(8) + (10∗ )]2

ΣN (I = 32 )

(27)

(10)

また、最近では格子上に場の理論を設定して数値計算を行う Lattice QCD の計算からも Σ+ p の斥力芯が大きいことが示唆されている。図 1.1 に Lattice QCD によって計算された S-wave に対応するフレーバー基底でのバリオン間ポテンシャルを示す。NN 間相互作用は図 1.1 中の (27) 重項と (10∗ ) 重項に対応する。新たに現れた項はこれらの項と大きく異なったポテンシャルになっていることが確認できる。(8s) 重項と (10) 項に関してはクォークレベルでのパウリ効果によって強い斥力を示す。特に (8s) 重項はクォークがパウリ効果によって完全にブロックされるチャンネルであり、非常に強い斥力芯をもつ。逆に (1) 重項には他の項で見られるような斥力芯は存在せず、引力を示す。
以上のことから、ΣN (I = 23 ) に対応する Σ+ p チャンネルの微分散乱断面積を測定する

第1章

序論

図 1.1 Lattice QCD によって計算されたフレーバー基底のバリオン間ポテンシャル。
図中の赤と緑がそれぞれ π の質量を 1014 MeV/c2 、835 MeV/c2 として計算した場
合のポテンシャルである。

ことによりそれぞれの理論モデルの検証を行うことができると考えられる。一方で、ΣN(I = 12 ) に対応する Σ− p チャンネルについてはクォーク間のパウリ効果の寄与は小さく、各モデルによる散乱断面積の差異は小さい。これはどちらのモデルでも中間子交換による効果が強く現れるということを意味している。そのため Σ− p チャンネルの散乱断面積の測定によって、SUf (3) フレーバー対称性の下での中間子交換モデルの正当性の検証を行うことができると考えられる。

3

第1章

序論

このような理由から我々は Σp 散乱実験を行い、微分散乱断面積の測定によってバリオン間相互作用をクォークの描像から理解することを推し進める。

1.2 過去の Σp 散乱実験
NN 散乱についてのデータは多く存在するが、YN 散乱のデータは限られた運動量領域のものしか存在せず、統計量も乏しい。その理由としてハイペロンの寿命が短い(τ ∼ 10−10 sec) ことが挙げられる。ハイペロンは標的内で散乱を起こす前に崩壊してしまったり、散乱された場合でも、検出を行う前に崩壊してしまうことがしばしばある。そのため散乱実験を行うことが困難である。過去に行われた YN 散乱実験は散乱事象を画像として保存し、散乱に関連する粒子をすべて解析することで YN 散乱を同定するという手法が用いられていた。この方法の利点は、ハイペロンが崩壊前に散乱を起こすことが保証されることである。

1960 年代にはバブルチェンバーを用いた散乱実験 [3] が行われた。この実験ではハイペロンの生成をタグすることができなかったためにランダムに画像データを取得していた。
また、バブルチェンバーでは一度データを取得した後に安定状態に戻すために時間を要したため、入射粒子の強度は抑えられていた。そのため、効率よくハイペロンを生成するために生成断面積の大きい Stopped K − 反応が用いられており、生成されるハイペロンの運動量は 200 MeV/c 程度に制限され、低い運動量領域でのデータのみが得られた。

1990 年代から 2000 年代の初頭にかけて KEK-PS においてより高い運動量領域の散乱断面積を測定する実験が行われた [4, 5, 6]。これらの実験ではシンチレーションファイ
バー (SciFi) がアクティブ標的として用いられ、後方には kaon spectrometer が置かれた。

SciFi は π ± + p → K + + Σ± 反応における生成標的としての用途と散乱事象の同定のためのイメージング検出器としての用途を持っていた。散乱 K − は後方の spectrometer によって検出され、Σ の生成がタグされた。結果として 350 MeV/c から 750 MeV/c の運動量領域のデータを収集することができた。しかし、SciFi の読み出しに使用されていたImage Intensifier Tube (IIT) 用いられていた蛍光物質の崩壊時定数が長く (数 µs)、ビー
ムレートは 200 k/spill 程度に制限されていた。また、散乱事象を画像として保存していたので、正しく同定するためには Σ の飛跡が 5 mm 程度必要であった。そのため、飛跡がそれ以下のイベントを捨てなければならなかった。さらに、SciFi 中の炭素原子核との準弾性散乱による大きなバックグラウンドも存在した。結果として同定できた散乱事象は数十イベント程度であった。

4

第1章

序論

5

1.3 J-PARC E40 実験
我々はこれら過去の実験の欠点を克服し、高統計で Σp 散乱の微分散乱断面積を求める
実験を J-PARC E40 実験 [7] として計画している。本実験では、過去の実験でよく用いられていた画像による解析は行わず、運動学を解くことによって散乱事象の同定を行う。
そのため、カウンターが耐えることのできる限界までビームレートをあげることが可能である。本実験は 20 M/spill (1 spill = 2 s) の 2 次ビームレートの下で行う。さらに、

KEK-PS 実験で大きなバックグラウンドとなっていた炭素原子核との散乱をなくすために、標的に液体水素を用いる。この水素標的中で π ± + p → K + + Σ± 反応によって Σ を生成する。本実験では 105 イベント程度の高統計で Σp 散乱の散乱断面積を求めることを目標としている。表 1.2 に KEK E289 実験と本実験の相違点を示す。
表 1.2 KEK E289 実験と J-PARC E40 実験の相違点。

KEK E289 実験

J-PARC E40 実験

標的

SciFi

液体水素

ビームレート200 k/spill

10 M/spill

散乱を同定する方法

画像

運動学

図 1.2 に J-PARC E40 実験の概略図を、図 1.3 に J-PARC E40 実験の全体図を示す。
入射 π の運動量ベクトルはターゲット上流に設置された QQDQQ マグネットと位置検出器 (ドリフトチェンバー及びファイバートラッカー) からなるビームラインスペクトロ
メーターによって測定され、散乱 K の運動量ベクトルはターゲット下流の後方スペクト
ロメーター (KURAMA 磁石および位置検出器) によって測定される。これらの運動量ベクトルから生成された Σ の運動量ベクトルが再構成される。Σ + p → Σ′ + p′ によって放出される散乱陽子は液体水素ターゲットを囲むファイバートラッカーによって飛跡が測定され、それによって散乱角 θ が求まる。
ここでは 2 体の弾性散乱を考えているため、Σp 散乱の運動学を仮定することによって散乱陽子のエネルギー Ep′ calc が求まる。また、散乱陽子のエネルギー (Ep′ measured ) をファイバートラッカー及び、そのさらに外側のカロリーメーターで測定する。Ep′ measured
は双方の検出器で測定したエネルギーの和になる。
このとき ∆E を以下の式で定義する。

∆E = Ep′ measured − Ep′ calc
散乱事象が Σp 散乱であるという仮定が正しいのであれば ∆E は 0 になる。よって、この量を評価することによって Σp 散乱事象の同定を行う。

第1章

序論

6
K

+

N
π

Σ'
Σ

θ

π

LH2 targetp'
Fiber tracker

Calorimeter
図 1.2 J-PARC E40 実験の概略図。液体水素標的中に π ビームを入射し、Σ を生成する。Σ の生成は標的前後のスペクトロメーターにてタグする。Σp 散乱事象の同定は標的を囲むファイバートラッカーとカロリーメーターによって散乱角とエネルギーを測定することによって行う。

また、ファイバートラッカーでのエネルギー損失とカロリーメーターで測定されたエネ
ルギーの 2 次元相関 (∆E-E 法) を求めることで、粒子識別を行う。

1.3.1 これまでの開発
本節では本論文以前の J-PARC E40 実験の準備状況について説明する。本実験では大強度のビームを使用するために K1.8 ビームラインにインストールされていた既存のMWPC は安定して動作しない。そのため、新たにビームトラッキングを行うためのト
ラッカーが必要となる。また、散乱陽子の飛跡及びエネルギーを検出するための検出器群の開発も必要である。

1.3.1.1 Beamline Fiber Tracker (BFT)
BFT は 20 M/spill という大ビーム強度下での運用を目的としたビームラインファイ
バートラッカーである [8]。BFT は直径 1 mm のシンチレーションファイバーをシート状に並べた層を持っており、ビームライン上流においてビーム粒子の位置を測定する。ビー
ムラインスペクトロメーター上流は最もビーム強度が高いため、BFT をこの場所にインストールした。BFT は既に J-PARC K1.8 ビームラインにおいて運用されており、従来の飛跡検出器である MWPC では対応できない高ビーム強度下であってもビーム粒子のトラッキングを行うことができる。それぞれのシンチレーションファイバーは半導体光検

第1章

序論

7

K+
Target
BH2

Q13
Q12

BC3,4
(MWDC)D4

GC BH1

Q10

Q11

π+

BFT
図 1.3 J-PARC E40 実験の全体図。π ビームはビームラインスペクトロメーターで、散乱 K + は標的下流のスペクトロメーターでそれぞれ運動量が測定される。

出器である MPPC によって読み出されている。図 1.4 に BFT の写真と設計図を示す。

1.3.1.2 Scattered particle Fiber Tracker (SFT)SFT は標的後方のスペクトロメーター入射直前に配置されるファイバートラッカーである。この場所ではビームが最も収束しているために、ワイヤーチェンバーに変えてファイバー検出器を用いる。水平方向にファイバーを張った層が 1 層、水平後方から ±45◦ 傾
けてファイバーを張った層がそれぞれ 1 層ずつの合計 3 層構造である。このファイバート
ラッカーも BFT と同様に MPPC を用いてファイバーの読み出しを行っている。図 1.5に SFT の写真と設計図を示す。

1.3.1.3 Cylindrical Fiber Tracker (CFT) 試作機
J-PARC E40 実験では円筒形のファイバートラッカーである Cylindrical Fiber Tracker(CFT) を使用する。BFT、SFT では平面状に精度よくファイバーを並べる方法を確立し

第1章

序論

8
MPPC circuit board

Position pin

MPPC (S10362-100P)

Fiber end point
25.09

Position pin

72-M2x0.4 深さ8

25.89

3.96

Fiber end point

4.45

80

506

19.4

5.05

4.4

11.9

13.7

4.4

160- 1 貫通

3.66

17.78

基準穴

3.35
=7×2.54mm

25.09

25.89

Beam active area(160 x 80 mm2 )Fiber active region
cross-sectional view
1mm φ

KURARAY SCSF-78M
70
350

図 1.4

BFT の写真と設計図。
Fiber reflection edge

Position pin
25.09

25.89
4.49

4

120°

45°

160

450

MPPC sensor area

0.5

0.51

0.5

LED

280

0.5 mm φ74
570
LED導入口

3 fibers are readby the same MPPC

図 1.5 SFT の写真と設計図。

たが、その手法をそのまま円筒形にファイバーを並べる方法に適用できない。CFT 試作
機は CFT の製作に先駆けて円筒形にファイバーを配置する構成のファイバートラッカーが製作可能であるかを検証するための試作機である [9]。CFT proto-type は 3 次元的に飛跡を測定するために、円筒に平行な方向にファイバーを張った層 (Φ 層)2 層と円筒に沿うようにファイバーを張った層 (U 層)2 層の計 3 層から構成される。性能評価の結果、検

第1章

序論

9

出効率、角度分解能共に予想される値よりも悪い結果が得られた。この原因として、ファイバーが弛み、理想的な位置にファイバーを張ることができていないということが挙げられる。ファイバーの位置精度に問題はあるものの円筒形ファイバートラッカーの製作が可能であるという結果が得られた。図 1.6 に CFT 試作機の写真と設計図を示す。この試作機で明らかになった問題点を修正しつつ現在 CFT の実機を製作している。

図 1.6 CFT 試作機の写真。

1.3.1.4 EASIROC test board
EASIROC test board は BFT、SFT、及び CFT 試作機の MPPC を読み出すための
read-out board である [10, 11, 12]。PPD 制御用の ASIC である EASIROC を搭載し 1枚で 32 ch の MPPC を読み出すことが出来る。主な機能は ADC、MHTDC のデータの取得、MPPC のゲイン調整である。この EASIROC test board によって EASIROC の制御方法が確立されたが、本実験で使用するためには機能が乏しい。J-PARC E40 実験において必要である、ADC のペデスタルサプレッション機能及び、ADC の FastClear
機能が未実装である。図 1.7 に EASIROC test board の写真を示す。

1.3.1.5 BGO カロリーメーター
BGO カロリーメーターは CFT の外側に配置される、散乱陽子のエネルギーを測定するためのカロリーメーターである [9]。1 本あたりの大きさが 30 × 25 × 400 mm3 の BGO
結晶を 24 本使用する。東北大学サイクロトロンラジオアイソトープセンター (CYRIC)

第1章

序論

10

図 1.7

EASIROC test board の写真。

において陽子ビームを BGO カロリーメーターに照射する実験を行った。その結果、80 MeV 陽子に対してエネルギー分解能 1.2% という結果が得られた。

1.4 本研究の目的
J-PARC E40 実験では散乱陽子の飛跡を測定するために円筒形にファイバーを配置したファイバートラッカーである CFT が用いられる。CFT はそれぞれのファイバーを個別に MPPC で読み出すために読み出しチャンネル数が膨大になる。MPPC 読み出し用の ASIC である EASIROC の制御方法は既に EASIROC test board で確立されたが、このボードは本番の E40 実験で使用するには機能が乏しい。本研究は EASIROC test

board で確立された手法を元に、E40 実験で使用するためのより高集積化された、より高機能の MPPC 読み出しボードである VME-EASIROC の開発を目標とする。

11

第2章

MPPC の多チャンネル読み出し
本章では J-PARC E40 実験における MPPC の多チャンネル読み出しの方法について述べる。また、それを実現するため回路に要求される性能についてもここで述べる。

2.1 Cylindrical Fiber Tracker (CFT) の構成
2.1.1 Cylindrical Fiber Tracker
J-PARC E40 実験において散乱陽子を検出するためのファイバートラッカーとして
CFT を用いる。CFT は円筒形にファイバーを配置したファイバートラッカーである。円筒に沿う方向に 0.75 mm 径のファイバーを配置した Φ 層を 4 層と、円筒に対して螺旋状にファイバーを配置した U 層及び V 層を 4 層もつ。これらの層を用いて散乱陽子及び、

Σ の崩壊によって生じる崩壊 π の 3 次元トラッキングを行う。さらに、それら粒子のファイバー中でのエネルギー損失を測定することによって粒子識別も行う。全層でのファイバー数の合計は約 5000 ch である。図 2.1 に現在製作中の CFT の写真を示す。

2.1.2 CFT 読み出しのための MPPCフ ァ イ バ ー の 読 み 出 し に は Multi-Pixcel Photon Counter (MPPC) を 使 用 す る 。

MPPC とは浜松ホトニクス製の Pixelated Photon Detector (PPD) の一種であり、複数のガイガーモード Avalanche Photo Diode (APD) がピクセル状に敷き詰められている。各ピクセルで検出された電荷量の合計を読み出すことでフォトンカウンティングを行うことが出来る。

Photo Multiplier Tube (PMT) と比較して磁場の影響を受けにくく、チャンネル単価が安価であるという利点を持つ。また、磁場の影響を受けにくいといった利点もある。

CFT は約 5000 ch のファイバーを個別に読み出す必要がある。MPPC を使用するこ第2章

MPPC の多チャンネル読み出し

12

図 2.1 CFT (Φ2 層) の写真。製作が完了した CFT の Φ2 層。Φ2 層は CFT の 2 番
目に内側に位置する Φ 層である。

とでファイバーを高密度かつ安価で読み出すことができ、また、磁場に対する応答を考慮した結果 MPPC が最も適しているとして MPPC を CFT の読み出しに選択した。
図 2.2 に CFT の読み出し用に作成した MPPC 基板を示す。浜松ホトニクス製のMPPC である S10362-11-050P[13] が 32 個配置されている。S10362-11-050P の仕様を
表 2.1 に示す。
表 2.1

S10362-11-050P の仕様。

有効受光面サイズ

1 mm × 1 mm

ピクセル数

400

ピクセルサイズ

50 µm × 50 µm

開口率

61.5%

動作電圧範囲

70 ± 10 V

増倍率

7.5 × 105

パッケージ

Surface Mount Device (SMD)

第2章

MPPC の多チャンネル読み出し

図 2.2 MPPC 基板の写真。1 mm × 1 mm の MPPC を 32 個配置した。

2.2 CFT のための MPPC 多チャンネル読み出し回路
2.2.1 回路に対する要求
以上の議論より、J-PARC E40 実験において必要とされる MPPC 多チャンネル読み出
しシステムに対する要求性能は以下のようになる。

MPPC の読み出しチャンネル数が 5000 ch と大量であるため、ボードあたりの読み出
しチャンネルの集積化が必要となる。1 ボードで多チャンネルの MPPC の制御と信号処理を行うために MPPC 多チャンネル読み出しに特化した ASIC である EASIROC を使用する。EASIROC の詳細についてはこの後に §2.2.2 で詳しく説明する。

CFT によって検出される粒子は低エネルギーの陽子から Minimum Ionizing Particle(MIP) 粒子までの様々なエネルギーを持つ。これらの粒子のファイバーによるエネル
ギー損失を用いて粒子識別を行うためにファイバーの発光量を測定する必要がある。MIP
粒子による検出光電子数は 20 p.e. 程度、陽子によるそれは、エネルギー損失が大きい場
合で、300 p.e. 程度である。そのため、これらの粒子のエネルギーを測定するために広いダイナミックレンジを有する必要がある。
次に読み出しシステムにおける時間測定について述べる。ファイバー検出器はドリフト
チェンバーと比較して良い時間分解能を持っているために、トリガーされたイベントと

13

第2章

MPPC の多チャンネル読み出し

アクシデンタルなバックグラウンドを良い S/N 比で分離することができる。ファイバーの時間分解能は 600 ps(σ) であるために、オフライン解析において数 ns の time gate を設定する。そのため TDC に要求される精度としては LSB = 1 ns 程度である。また、

MPPC は PMT と比較して暗電流が多いために暗電流によるアクシデンタルなヒットの発生も考慮すると、1 イベント中の複数のヒットの時間情報を取得できる Multi-Hit TDC(MHTDC) の構成にする必要もある。
さらに、J-PARC E40 実験において想定されるトリガーレートは 2 ∼ 3 kHz であるため、読み出しシステムとしてはこれよりも十分高速にデータを収集することが要求される。また、K1.8 ビームラインで使用されているハドロン DAQ のトリガー配布方法にも対応する必要がある。トリガー配布方法の詳細については、この後に §2.2.9 で詳しく述べる。

2.2.2 EASIROC
CFT 全体で使用する MPPC のチャンネル数が非常に多いため MPPC の読み出しを効率的に行う必要がある。そのため MPPC の信号処理と制御 (波形の整形増幅、バイアス電圧の調整) を行うために専用の集積回路の ASIC を用いることが、多チャンネルの読み出しをするうえで必須である。この ASIC として MPPC の読み出しに特化した ASIC である EASIROC[14] を使用する。

EASIROC は OMEGA/IN2P3 により開発された ASIC であり、1chip で 32ch のMPPC を読み出すことができる。EASIROC チップの写真を図 2.3 に示す。

図 2.3 EASIROC chip の写真。

ま た 、EASIROC 内 部 の 回 路 の ブ ロ ッ ク ダ イ ア グ ラ ム を 図 2.4 に 示 す 。以 下 に

EASIROC の持つ機能を説明する。

14

から出力される。

Ch1Dinput
Ch0Dinput

Ch31Dinput

25D-D175Dns

SlowShaper

25D-D175Dns

SlowShaper

HGDSlowShaper
VariableDShapingTime

VariableDHigh
GainDPA

10Dbit
DAC

Hold

Hold

CommonDtoDtheD32Dchannels

15Dns

FastShaper

LGDSlowShaper
VariableDShapingTime

PreAmpHighGain

0.1D-D1.5DpF

VariableDLow
GainDPA

8DbitDDAC
0D-D5DV15DpF

1.5DpF

PreAmp
LowGain

0.1D-D1.5DpF

ChannelD0

ChannelD31

Read

Read

DigitalBuffer

AnalogBuffer

AnalogBuffer

Trigger1Doutput
Trigger0Doutput

Trigger31Doutput

HighGainDoutput

LowGainDoutput

第2章

MPPC の多チャンネル読み出し
15…

図 2.4 EASIROC のブロックダイアグラム。MPPC からの入力はゲインの異なる 2系統の回路 (High Gain、Low Gain) によって整形増幅され、電圧保持回路によって波高情報が保存される。これらの波高情報はシリアルに読み出すことが出来る。また、High Gain 側には時定数の短い Shaper と Discriminator があり、パラレルにチップ

第2章

MPPC の多チャンネル読み出し

16

2.2.3 PreAmp
アナログ信号処理部分は正極性の PPD 信号に対応し、AC 結合されたゲインの異なる

2 つの PreAmp を内蔵している。HighGain 側 PreAmp はゲインを 10 から 150 まで調
節することができ、LowGain 側 PreAmp はゲインを 1 から 15 まで調節することができる。これはそれぞれの PreAmp の帰還コンデンサの容量を変化させることで実現されている。表 2.2 に帰還コンデンサの容量と PreAmp ゲインの関係を示す。2 つの PreAmp
を組み合わせることによって 160 fC から 320 pC までのダイナミックレンジを有している。PPD のゲインを 106 とすると、これは 1 p.e. から 2000 p.e. までに相当する。このダイナミックレンジは §2.2.1 での要求に十分応えることができる。
表 2.2

帰還コンデンサと PreAmp ゲインの関係。

帰還コンデンサの容量

LowGain 側 PreAmp のゲイン

HighGain 側 PreAmp のゲイン

1.5 pF

110

1.4 pF

1.07

10.7

1.3 pF

1.15

11.5

1.2 pF

1.25

12.5

1.1 pF

1.36

13.6

1.0 pF

1.5

15

900 fF

1.66

16.6

800 fF

1.875

18.75

700 fF

2.14

21.4

600 fF

2.5

25

500 fF

3.0

30

400 fF

3.75

37.5

300 fF

5.0

50

200 fF

7.5

75

100 fF

15

150

2.2.4 Input DAC
32ch の MPPC 入力にはそれぞれ 8 bit・5 V の DAC (Input DAC) がつながっている (図 2.5)。この InputDAC の電圧を変化させ MPPC のバイアス電圧を個別に調節する

第2章

MPPC の多チャンネル読み出し

17

ことで MPPC のゲインを調整することができる。図 2.5 より、高電圧源の電圧 VHV とMPPC バイアス電圧 VM P P C と InputDAC の値の間には以下の関係がある (図 2.6)。ここで DAC slope はデフォルトでは 20 mV/ ch である。

VMPPC = VHV − (DACslope) · (InputDAC)
HG PreAmp
15pF

MPPC
LG PreAmp
1.5pF

InputDAC

HV

図 2.5 InputDAC によるバイアス調節回路。EASIROC の入力段に内蔵されたInputDAC によって MPPC に印加されるバイアス電圧を調節できる。

VMPPC
VHV
DAC slope

255

InputDAC (ch)図 2.6 InputDAC とバイアス電圧の関係。InputDAC の設定値を大きくすることによって MPPC のバイアス電圧が下がる。また、InputDAC の設定値 (ch) を変更した
時の電圧の変化である DAC slope を変更することも可能である。

2.2.5 Slow Shaper
SlowShaper はシェーピングタイムを 25 ns から 175 ns までの範囲で 25 ns 刻みで調節することができる。そして、SlowShaper 後の Track & Hold 回路に対して、アナログ信号が最大電圧を迎える瞬間に、Hold 信号を与えることで、ピーク時の電圧をコンデンサに記録することができる。記録されたアナログの電圧情報はアナログ出力ピンからシリ第2章

MPPC の多チャンネル読み出し

18

アルに出力することができ、それを外部の ADC に接続することで波高検出型 ADC として動作を実現する。

2.2.6 Fast Shaper
アナログ信号を波高弁別してデジタル信号に変換する信号ラインは HighGain PreAmpの後段にシェーピングタイムが 15 ns の FastShaper が繋がっている。さらにその後段にある Discriminator によってデジタル信号に変換され 32ch のデジタル信号がパラレルに出力される。Discriminator のスレッショルド電圧 Vth は 32ch 共通である。実際にはDiscriminator の後段には波高弁別された信号をラッチする回路も含まれているが、本研究では使用しなかったため図 2.4 では省略した。

2.2.7 SlowControl
InputDAC の設定値、PreAmp のゲイン、SlowShaper の時定数、Discriminator のス
レッショルドの設定は SlowControl により外部から書き換えることができる。EASIROC
は図 2.7 に示す回路によって SlowControl の設定を受け取る。この回路は直列に接続された多数の DFF の列とそれらを並列して読み取る DFF からなる。設定データはSRIN_SR ピンと SRIN_CLK ピンからシリアルに入力される。そして、すべての設定
データが入力された後に LOAD_SC ピンにパルス信号を送ることで、それらが反映される (図 2.8)。なお、この最中は SELECT ピンは常に 1 に保持する必要がある。
SRIN̲SR
CLK̲SR

CLK̲SR

CLK̲SR

bit0
LOAD̲SC

bit1

LOAD̲SC

bitN-1
LOAD̲SC

図 2.7 SlowControl レジスター回路図。多数の DFF がシリアルに SRIN_SR のラインに接続されている。それらの DFF に対してパラレルに接続されている DFF が実際に SlowControl の設定値を格納する DFF である。

2.2.8 Probe out
信号処理中の中間信号を出力するための Probe 出力ラインも用意されている。出力することができる中間信号を以下に示す。

• HighGain PreAmp 出力

第2章

MPPC の多チャンネル読み出し

19

CLK̲SR
LOAD̲SC
SRIN̲SR bit N-1
SELECT

bit N-2

bit N-3

bit 2

bit 1

bit 0

1

図 2.8 SlowControl タイミングチャート CLK_SR に同期した信号を SRIN_SR から入力し、最後に LOAD_SC に正極性パルスを入力することで設定を書き込む。

• LowGain PreAmp 出力• HighGain SlowShaper 出力• LowGain SlowShaper 出力• FastShaper 出力それぞれ 32ch あるこれらの信号の中から 1 つを選んで出力することができる。§2.2.7 で述べた SlowControl インターフェースを使用することでこれらの設定を書き換えることができる。SELECT 信号を 0 にし、出力したいチャンネルの bit のみを 1 にしたデータ
を SlowControl インターフェースに送信することで出力するチャンネルを決定する。
これらの出力をオシロスコープで観測した波形を図 2.9 から図 2.13 に示す。ただし、PreAmp 出力信号については HighGain、LowGain 共に ASIC 内部回路の都合により、ピークの先端部分しか表示することができない。HG 側 PreAmp のゲインは 75、LG 側

PreAmp のゲインは 7.5、SlowShaper の時定数は HG 側 LG 側共に 50 ns であった。

図 2.9 HighGain PreAmp 出力の様子。

図 2.10 LowGain PreAmp 出力の様子。

第2章

MPPC の多チャンネル読み出し

図 2.11 HighGain SlowShaper 出力の様子。

図 2.1320

図 2.12 LowGain SlowShaper 出力の様子。

FastShaper 出力の様子。

2.2.9 トリガー配布システム
J-PARC K1.8 ビームラインでは各検出器ごとにデータを収集する Front-end が存在する。各 Front-end から送信されるデータは EventBuilder によって統合され、最終的にハードディスクに保存される。このように、DAQ が分散型であるために、トリガー
情報を一括して管理し、各 Front-end に分配するモジュールが必要となる。また、各

Front-end 間でのイベントの同期を取るためのデータであるイベントタグの発行も必要となる。そのため、トリガー配布にはトリガー情報の管理とイベントタグの発行を行う

Master Trigger Module (MTM) と、MTM からのデータを各 Readout board に分配す
る Receiver Module (RM) からなるシステムを使用する。本研究により開発する MPPC
多チャンネル読み出しシステムも、このトリガー配布システムに対応させる必要がある。

第2章

MPPC の多チャンネル読み出し

図 2.14Master Trigger Module の写真。
2 本の LAN ケーブルによって最大 4 系統の Receiver Module に対してトリガー情報を送信する。また、Busy 信号の管理もこのモジュールが行う。

21

図 2.15 Receiver Module の写真。このモジュールを KEK VME クレートに挿入することで、MTM からの信号をクレート内の全モジュールに対して配布する。

2.2.10 Master Trigger Module
Master Trigger Module[15] (図 2.14) は J-PARC K1.8 ビームラインで使用されているトリガー配布モジュールである。Master Trigger Module はトリガー生成ロジックによって作られた L1Trigger 信号、L2Trigger 信号、FastClear 信号を 2 本の LAN ケーブルの組を通して最大 4 系統の Receiver Module に分配する。また、内部に Event Numberと Spill Number のカウンターを持ち、これらの信号も前述した信号とともに Receiver

Module に分配される。Event Number 用カウンターは L2Trigger 信号受信時に、Spill
Number 用カウンタは外部からの SINC 信号受信時にカウントアップされる。さらに、
MTM は各 Receiver Module からの Busy 信号を統合する役割も持つ。

第2章

MPPC の多チャンネル読み出し

22

1 つの Master Trigger Module のみでは最大でも 4 つの Receiver Module にしか信号を分配することができない。それ以上の Receiver Module に信号を分配する場合は

FANOUT 機能を持った Repeater を用いる必要がある。

2.2.11 Receiver Module
Receiver Module[16, 17] (図 2.15) は Master Trigger Module からのトリガー信号を受信して、それを VME-J0 バス上の各 Readout Board に送信をするモジュールである。
また、このモジュールは各 Readout Board からの Busy 信号の OR を Master Trigger

Module に対して送信する。
このモジュールには CPLD と FPGA が搭載され、それぞれ通常の VME 規格の VME
バスと KEK カッパー規格の KEK-J0 バス [18] を制御する。本研究では通常の VME バ
スアクセスは用いなかったため、VME バスの制御については省略する。
このモジュールは VME J0 コネクターより S1∼S7 の LVDS 差動出力をサポートしている。また、Busy 信号は図 2.16 に示すように各モジュールが Busy 信号をオープンド
レイン出力することでそれらがバス上でワイヤー OR される。KEK カッパー規格ではEASIROC にて使用される Hold 信号の送信を行えないために、搭載されている FPGAのファームウェアを書き換えることによって Hold 信号送信機能を新たに加えた。Hold
信号は Receiver Module 前面にある NIM 規格の汎用 IO を使用して受け取ることとした。
VME-J0 Bus

Busy
Busy

Busy

Readout Board1

Readout Boardn

to Master Trigger Module

Receiver Module

図 2.16 オープンドレインバスの回路図。Busy 信号はバス上でワイヤー OR され

MTM に送られる。

2.2.12 Master Trigger Module と Receiver Module を組み合わせたトリ
ガー配布システム
これらのモジュールを組み合わせたトリガー配布システムとして図 2.17 に示すシステ
ムを使用する。

第2章

MPPC の多チャンネル読み出し

23

トリガーロジックによって生成された L1Trigger 信号、L2Trigger 信号、FastClear
信号、SINC 信号、Hold 信号は Master Trigger Module に送られる。Master Trigger

Module はこれらの信号に加えて、MTM 内部で Spill Number 信号、Event Number 信号をカウンタから生成し、各 Receiver Module に送信する。Receiver Module はこれら信号を VME-J0 バスに送信し、各 Readout Board がこれを受信することでトリガー信号の分配が完了する。

Busy 信号については、それぞれの Receiver Module が Busy 信号を出力し、Receiver
Module はそれらが VME-J0 バス上でワイヤー OR された信号を受信する。Receiver
Module は OR された Busy 信号を Master Trigger Module に送信し、Master Trigger
Module 内で各 Receiver Module からの Busy 信号が OR されトリガーロジックに送られる。
また、図 2.17 には書かれていないが、Receiver Module の数が多くなった場合には必要に応じて Repeater を用いる。

Master Trigger Module には Hold 信号を直接送信する機能がないため Receiver Module の汎用 IO ピンを使用する。
L1Trigger
L2Trigger
FastClear
Busy
Spill Number
Event Number

L1Trigger
L2Trigger

Trigger
Logic

FastClear
SINC

MasterTriggerModuleVME-J0 Bus

ReceiverModule
for VME-EASIROC

VME-EASIROC

ReceiverModule
for other read-out

read-out Module

VME-EASIROC

Busy
Hold

read-out Module

図 2.17 トリガー配布システムの模式図。TriggerLogic によって生成されたトリガー
信号は MTM によって管理される。VME-EASIROC のトリガー配布については

VME-EASIROC 専用ファームウェアを書き込んだ RM を用いる。また、MTM とRM からなるシステムは他の read-out 回路に対してもトリガーの管理と配布を行う。

24

第3章

VME-EASIROC ボードの仕様
本章では MPPC の多チャンネル読み出しの読み出しのために私が開発した基板である

VME-EASIROC ボードの仕様について述べる。

3.1 仕様VME-EASIROC ボードの基本仕様を表 3.1 に示す。VME-EASIROC ボードは 1 ボー
ドで 64 ch の読み出しを行うボードである。

MPPC の信号処理 (信号の整形増幅及び弁別) と制御 (バイアス電圧の調整) は MPPC
多チャンネル読み出し用 ASIC である EASIROC によって行われる。EASIROC は 1

chip で 32 ch の MPPC の読み出しを行う ASIC であるため、それを 2 chip 搭載した。
EASIROC によって整形増幅された MPPC 信号の波高情報は EASIROC 内の電圧保持回路によって保存され、それらがボード上の ADC に送られることで波高検出型 ADCとしての動作を行う。この ADC の deadtime は 12 µs であり、Fastclear 機能、Pedestal

suppression 機能を持つ。
EASIROC からパラレルに出力される波高弁別された信号は FPGA である Artix7 に送られ、そこで時間情報の取得を行う。§2.2.1 における議論より LSB = 1 ns の TDC をFPGA 内に実装した。MPPC の暗電流によるヒットを考慮し depth が 16 hits / ch のMHTDC とした。また、EASIROC の Discriminator は Update 型であり、Time overThreshold (ToT) と信号の波高には相関関係がある。そのため、ToT を補助的な波高情報として利用するために leading edge、trailing edge の両方を取得する。Timewindow
は 0 ∼ 4 µs の範囲で可変である。ADC と同様に Fastclear 機能を持っている。
トリガー情報の受信は KEK-VME クレートに搭載されている VME-J0 バスを介して行う。MTM から送られるトリガー情報である、L2 trigger、FastClear、Event tag に加えて、EASIROC の電圧保持回路の保持タイミングを決定するための Hold 信号を受信す

第3章

VME-EASIROC ボードの仕様

25

る。また、Busy 信号も VME-J0 バスを介して送信される。
収集されたデータは SiTCP を用いて PC へ送られる。データ収集回路とデータ転送回
路の間に Double Buﬀer を挿入することでそれぞれが同時並列で動作することができる。
そのため、VME-EASIROC 回路の deadtime は ADC 及び、MHTDC の deadtime のみ
によって決定される。MHTDC の deadtime は hit 数に依存するが、J-PARC E40 実験に典型的な使用法では 12 µs よりも短くなる。よって、VME-EASIROC 回路の deatime
は典型的な使用条件下では 12 µs となる。
表 3.1 VME-EASIROC の基本仕様。

MPPC input

64 ch (EASIROC chip ×2)

FPGA

Artix 7ADC

Deadtime

12 µs

Fastclear○

Pedestal suppression

○

LSB

1 ns

hit/ch16

hit/event

1024

Deadtime

hit 数に依存

Fastclear○

Timewindow

variable (0 ∼ 4 µs)

MHTDC

DAQ

SiTCP[19, 20] 100 Mbps (FPGA internal)
Double Buﬀer
COPPER Trigger(Hold, L2, Busy, Clear, Event tag)
Asynch Trigger

基板規格

VME 6UEASIROC-test-board と比較し機能が向上した部分を表 3.2 に示す。基本的な機能は
EAROC-test-board と変わらないが、本実験での使用を見据え一部機能の向上・高集積化が行われている。

EASIROC-test-board では 50 Ω であった MPPC 入力部のインピーダンスを 100 Ω に変更した。これは MPPC 基板との間を接続するケーブルの特性インピーダンスが 100 Ωであるためである。EASIROC-test-board ではインピーダンスマッチングが行われていなかったことに起因する MPPC からの信号の反射波が Discriminator の threshold を越えることがしばしばあった。VME-EASIROC では、この反射波が抑えられることが確認

第3章

VME-EASIROC ボードの仕様された。また、MPPC 入力部には過電圧から EASIROC を保護するための保護ダイオードを新たに設置した。

EASIROC-test-board では ADC のサンプリング周波数が 300 kHz であった。だが、EASIROC は最大 3 MHz の読み出し周波数まで許容できるため、ADC のサンプリング
クロックを 3 MHz に上げ、Deadtime の EASIROC-test-board の大幅な削減を行った。

ADC の Fastclear、Pedestal suppression 機能、MHTDC の Timewindow 調節機能
は EASIROC-test-board では FPGA のリソース不足から実装することが叶わなかった。

FPGA を Spartan6 から Artix7 にグレードアップすることで使用可能なリソース数が増えこれらの機能を実装することができた。

MHTDC については 250 MHz の 4 相クロックを使用し LSB=1 ns の MHTDC とするという点は EASIROC-test-board と比較して変更はない。主な変更点は EASIROC-

test-board では 1 µs で固定であった Time window を 1 µs ∼ 4 µs の可変にしたことである。

EASIROC-test-board では外部ボードである SOY で SiTCP の機能を実現していた。
SOY では SiTCP の機能をすべて使用することができず、基板サイズ・製造コストの増加に繋がってしまっていたため、SiTCP を FPGA 内蔵のものとした。

EventBuﬀer が 1 イベント分しかなかった EASIROC-test-board は ADC モジュール、
MHTDC モジュールから EventBuﬀer にデータを吸い出す時間に加えて、EventBuﬀer
から PC へデータ転送を行う時間も Deadtime になってしまっていた。そこで、VME-EASIROC では EventBuﬀer を 2-stage にした。これにより、片方の EventBuﬀer が Fullの状態でも、もう片方の EventBuﬀer にデータを吸い出すことができ、EventBuﬀer からPC へのデータ転送を行う期間は Deadtime に含まれない。
EASIROC-test-board は Event tag を汎用入力用 LEMO コネクタから受け取る。この方法では Event tag の LSB 1 bit のみしか受け取ることが出来ない。VME-EASIROC
は VME-J0 バックプレーンでトリガー情報をやり取りし、Event tag をすべて受け取ることができる。

EASIROC-test-board は独自規格の基板サイズであり、コネクタが基板上の 4 方向全てに取り付けられている。ケーブルの配線が煩雑になり集積化する際に障害となる。

VME-EASIROC は VME-6U 規格の基板であり、KEK VME クレートに装着することができる。これにより集積化した際の取り扱いが容易になる。

3.2 基板レイアウト
VME-EASIROC 基板の写真を図 3.1 に示す。
また、VME-EASIROC のブロックダイアグラムを図 3.2 に示す。

26

第3章

VME-EASIROC ボードの仕様

27

表 3.2 EASIROC-test-board の基本仕様と VME-EASIROC の基本仕様の比較。

VME-EASIROCEASIROC-test-board

FPGA

Artix 7

Spartan 6

MPPC 入力部の入力インピーダンス

100 Ω

50 Ω

保護ダイオード○×

Deadtime

12 µs

100 µsFastclear○×

Pedestal suppression

○

×

MHTDC

Timewindow

variable (0 ∼ 4 µs)

fixed (1 µs)

DAQ

SiTCP

FPGA internal

SOY

EventBuﬀer

singledoubleEvent tag○×(only LSB)

ADC

基板規格

VME 6U

Original

この VME-EASIROC ボードは次に述べる部分からなる。

MPPC 入力インターフェース
MPPC からの信号を 100 Ω で終端して EASIROC に入力する。
アナログ信号処理部

MPPC からのアナログ信号を整形増幅・波高弁別して AD 変換部・デジタル信号
処理部に送る。アナログ信号の処理は主に EASIROC によって行われる。

AD 変換部
パイプライン型 ADC である AD9220 を用いて EASIROC からの整形増幅された信号の波高をデジタル変換する。
デジタル信号処理部

FPGA を用い ADC、MHTDC、scaler のデータを SiTCP 経由で PC に送信する。
トリガーインターフェース

VME-J0 バスからの COPPER トリガを受け取る。
データ転送インターフェース

Ethernet 通信を利用し PC とデータのやり取りを行う。
以下ではそれぞれの部分についての詳細を述べる。

第3章

VME-EASIROC ボードの仕様

図 3.1 VME-EASIROC ボードの写真

3.2.1 MPPC 入力インターフェース
MPPC インターフェースの回路図を図 3.3 に示す。図 3.3 の回路図は MPPC 入力 1ch
だけのものである。実際には同様の回路が 64ch 分ある。

MPPC からの信号はハーフピッチコネクタ FX2B-068PA-1.27DSL[21, pp. 26] によって回路に入る。使用しているフラットケーブルの特性インピーダンスが 100 Ω であるた
め回路側でも 100 Ω で終端処理を行っている。
その後段に位置しているダイオード 1SS362 は EASIROC の InputDAC を保護するた

28

第3章

VME-EASIROC ボードの仕様

MPPC input
32 ch

29

VME J1(Power supply only)

Discri out
MPPC in

EASIROCFPGA
ProbeMPPC input
32 ch

HG

LG

AD9220AD9220VME J0Discriout

MPPC in

EASIROC

Slow
Control

Probe
HG

LG

AD9220AD9220Hold, L2, Clear,
Event tag, BusyHighGain out
Probe out
CommonStop

Ethernet

Analog Signal
Digital Signal

図 3.2 VME-EASIROC のブロックダイアグラム。64 ch の MPPC 入力は 32 ch
毎に EASIROC に入力され、波高弁別されたデジタル信号は FPGA に直接接続している。EASIROC 内の電圧保持回路によって保存された MPPC の信号の波高情報は

AD9220 によってデジタル化され、FPGA に送られる。また、トリガー情報の受信はVME J0 バスによって行われ、PC へのデータ転送は Ehtenet を用いて行われる。

めのダイオードである。MPPC と繋がる信号線に過度な電圧が印加された場合に、この保護ダイオードを通り電流が流れ、その結果回路を保護する。

3.2.2 アナログ信号処理部
アナログ信号処理部は主に MPPC 多チャンネル読み出し用 ASIC である EASIROCからなる。図 3.4 にアナログ信号処理部の回路を示す。

EASIROC は MPPC 多チャンネル読み出し用 ASIC であり、1 chip で 32ch の MPPCを読み出すことができる。PreAmp、Shaper、Discriminator を内蔵し、ピークホールド

第3章

VME-EASIROC ボードの仕様

30+5.0 V

1SS362

1SS362EASIROC
100 Ω

0.22 μF

FX2B-068PA-1.27DSL
図 3.3 MPPC 入力インターフェースの回路図。MPPC 入力部は 100 Ω によって終端されている。その後方にある 2 つのダイオードは過電圧から EASIROC を保護するためのダイオードである。

されたアナログ信号と波高弁別されたデジタル信号を出力することができる。より詳細な説明については §2.2.2 に記した。

EASIROC から出力された HG out と Probe out はフロントパネルの LEMO コネク
タから出力される。2 chip の EASIROC からの HG out 出力、Probe out 出力は Analog

switch を経由することで、FPGA によってどちらか 1 つが選択される。

3.2.3 AD 変換部
AD 変換部は EASIROC からの HG out 出力と LG out 出力を AD 変換し FPGA に
デジタル信号を送る。AD 変換部の回路を図 3.5 に示す。

AD 変換を行う方式として、逐次比較型、フラッシュ型、パイプライン型、デルタシ
グマ型がある。デルタシグマ型、及び逐次比較型の ADC はサンプリングレートが高々1 MSPS 程度までの用途において使用する ADC であるために、VME-EASIROC ボードに使用するためには不向きである。また、フラッシュ型は数 10 MHz ∼ 数 GSPS という高サンプリングレート下での運用を目的とした ADC であるため、VME-EASIROC ボードに搭載するためにはオーバースペックであり、費用対効果に優れない。以上のことから

第3章

VME-EASIROC ボードの仕様

31
32

EASIROC
HG outFPGA

Probe out

32

EASIROC
HG outProbe out

AnalogSwitchFront panel
LEMO out

図 3.4

アナログ処理部の回路図。アナログ信号処理は主に EASIROC によって行われる。EASIROC からの信号をモニターするための信号線である HG out と Probeout はアナログスイッチを介してフロントパネルの LEMO コネクタに接続されている。

AD 変換にはパイプライン型 ADC を採用した。
AD 変換に用いている IC である AD9220[22] の仕様を表 3.3 に示す。また、AD9220
内部のブロックダイアグラムを図 3.6 に示す。
パイプライン型 ADC の概要を説明する。パイプライン型 ADC はビット数が少ない

Flash-ADC (Sub-ADC) と Multiplying Digital-to-Analog Converter (MADC) (図 3.7)からなる。Sub-ADC では上位ビットのみが AD 変換され、変換後のデジタル信号と変換
前のアナログ信号が MADC に送られる。MADC では直前の Sub-ADC の変換時における残差を増幅し、Sample-and-Hold アンプ (SHA) により 1 clock cycle の間だけ電圧を保持する。入力されたアナログデータは 1 clock 毎に 1 stage 後段に送られる。1 clock 毎に 1 sample が行われるが、パイプライン遅延があることに注意が必要である。

第3章

VME-EASIROC ボードの仕様

32

EASIROC
FPGA
HG
out

LG
out

AD9220AD92201212EASIROC

HG
out

LG
out

AD9220AD9220
12
12

図 3.5

AD 変換部の回路図。4 つのパイプライン型 ADC である AD9220 が並列動作することによって、1 ADC クロック周期中に 4 回の AD 変換が可能となる。

Analog
input

SHA

MADC1
GAIN=16

ADC
5

MADC2
GAIN=8ADC

MADC3GAIN=4

ADC

4

3

ADC
3

Digital Correction Logic
12

Output Buffer
12

図 3.6

AD9220 のブロックダイアグラム。AD9220 は 3 段構成のパイプライン型
ADC である。各段が並列動作することによって、1 ADC クロック周期で 1 つのデー
タの AD 変換を行う。

Digitaloutput

第3章

VME-EASIROC ボードの仕様

33

表 3.3 AD9220 の仕様。

変換方式

パイプライン式

分解能

12 bit最大サンプリングレート

10 MSPS

消費電力

250 mW

INL (Integral NonLinearity)

0.5 LSBDNL (Diﬀerential NonLinearity)

0.3 LSB

パイプライン遅延3 clock cycles

+

+
-

SHA

DAC
図 3.7 MDAC 回路の模式図。前段の回路によって ADC 変換された結果の残差を増幅し、SHA によってその情報を保持する。

3.2.4 デジタル信号処理部
デジタル信号処理は Field Programmable Gate Array (FPGA) によって行われる。

FPGA とは、回路情報の書き換えが可能なロジックデバイスである。書き換え可能な論
理ゲートが格子状に並んだ構造をしている。

Application Specific Itegrated Circuit (ASIC) と比較して以下のような利点・欠点を有している。
利点• 開発費が安価• 開発期間が短い• 誤りの修正が容易
欠点• 実装面積が大きい• 消費電力が多い• 動作速度が遅い

第3章

VME-EASIROC ボードの仕様• 大量生産した場合の単価が高い• アナログ信号処理を行うことができない

今回必要とされているのデジタル信号処理について FPGA と ASIC のどちらが優れているかを考察する。実装面積については図 3.1 を見れば明らかなように FPGA の大きさ
は VME-6U 規格の基板と比較して十分に小さいので問題にならない。消費電力についても FPGA 全体でも高々 1 W にも満たないため回路上電源回路のボルテージレギュレー
ターで充分に賄うことができる。動作速度については、今回必要とされている TDC のLSB が 1 ns であることを考えると FPGA のクロック周波数でも達成することが出来る。
また、回路から PC へのデータ転送レートも SiTCP を用いれば 100 Mbps で転送することが出来るため問題にならない。今回必要とされる回路の枚数は高々 100 枚程度である
ことを考えると ASIC の製造のための初期費用を回収するだけの数を生産することは考えられない。また、アナログ信号処理は EASIROC がすべて行っている。以上のことから、デジタル信号処理を ASIC で行うメリットがないことが分かるのでデジタル信号処理には FPGA を使用した。
デジタル信号処理に用いる FPGA の仕組みを説明する。FPGA のアーキテクチャを図 3.8 に示す。

FPGA は以下の構成要素からなる。
Logic Block
Logic Block はプログラム可能な論理コンポーネントである。一般的には Logic
Block はいくつかの Logic Cell から構成される。最も簡単な Logic Cell は図 3.9に示すように、Static RAM (SRAM)、D Flip Flop (DFF)、MUX から構成される。
入力信号は SRAM のアドレス入力ピンに接続されている。SRAM の出力は DFF
を通してクロックに同期している信号線と DFF を通さない非同期の信号線に分かれる。最終的な出力はこのどちらかを Multiplexer (MUX) で選択することができる。なおこのような用途の SRAM を Look Up Table (LUT) と呼ぶ。LUT の入力ビット数は FPGA の種類によって異なることがある。たとえば、4 入力 LUT に
表 3.4 のように書き込むと LUT は 4 入力 AND と同等も機能を持つようになる。

FPGA に対して回路情報を書き込むということは、この LUT に情報を書き込むということとおよそ等しい。(もちろん、これから説明する構成要素にも設定を書き換える余地があるが、LUT に書き込む情報が FPGA に書き込む回路情報全体の大部分を占める)Interconnect
Interconnect は Logic Block の間を縦方向と横方向に走っている配線領域である。

34

第3章

VME-EASIROC ボードの仕様

35

Interconnect

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

Logic Block

Logic Block

Logic Block

IO
Port

IO
Port
IO
Port

IO
Port

SwitchMatrixIO
Port

SwitchMatrix

IO
Port

IO
Port

IO
Port

Logic Block

Logic Block

Logic Block

IO
Port

IO
Port
IO
Port

IO
Port

SwitchMatrixIO
Port

SwitchMatrix

IO
Port

IO
Port

IO
Port

Logic Block

Logic Block

Logic Block

IO
Port

IO
Port
IO
Port

IO
Port

図 3.8

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

IO
Port

FPGA のアーキテクチャ。FPGA はプログラム可能な論理コンポーネントである Logic Block、Logic Block 間を繋ぐ Interconnect、縦横方向の Interconnect の接続を制御する Switch Matrix、及び複数の IO 規格にプログラムできる IO Port か
らなる。

第3章

VME-EASIROC ボードの仕様

36
MUX

Input

N

Address

SRAM Data(LUT)

Output

DFF

Clock
図 3.9

論理セルの回路図。論理セルは主に LUT と DFF からなる。MUX を使用することによって出力をクロックに同期させるか否かを選択できる。

表 3.4 LUT を 4 入力 AND とする場合の SRAM に書き込む値。

入力 1

入力 2

入力 3

入力 4

出力

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

1

1

0

0

1

0

0

0

0

1

0

1

0

0

1

1

0

0

0

1

1

1

0

1

0

0

0

0

1

0

0

1

0

1

0

1

0

0

1

0

1

1

0

1

1

0

0

0

1

1

0

1

0

1

1

1

0

0

1

1

1

1

1

各 Logic Block 間に複数本存在し Logic Block の入出力はこの中の任意の配線に接続することができる。一般的に LogicBlock1 つ分の長さを持ち、後述する Switch

Matrix のスイッチを切り替えることで長い配線とすることが出来る。遠く離れた
Logic Block 間での高速な信号伝達のために予め長い配線を用意している FPGAもある。

Switch Matrix
縦方向の Interconnect と横方向の Interconnect を接続しているモジュールが

第3章

VME-EASIROC ボードの仕様

37

Switch Matrix である。図 3.10 に示すように縦方向と横方向の配線が交差している場所に Programmable Switch 群が位置し Wire Segment 同士の結線情報を書き換えることができる。全ての交差しているポイントに対して Programmable

Switch 群を設置するとコストが増加するため、1 つの対角線上のみに限って設置することが一般的である。

Wire Segment

Programmable Switch

図 3.10 Switch Matrix の模式図。縦方向の Interconnect と横方向の Interconnectの接続情報を書き換えることができる。

IO PortIO Port は外部デバイスの仕様に合わせて複数の IO 規格にプログラムすることができる IO である。設定できる項目としては、IO 電圧、スルーレート、シングルエンド・差動の選択、終端抵抗などがある。IO Port が複数個集まった IO バンクという単位でしか IO 規格を書き換えることができない FPGA もある。
また、実用的な FPGA は付加回路として以下のコンポーネントを含んでいることがある。

Clock Network
ClockNetwork はクロック専用の配線である。FPGA でロジック回路を設計する
際には一般的に同期式回路を用いる。同期式回路ではクロック信号を多くのモジュールに供給する必要がある。しかし、配線が長くなると浮遊容量や浮遊インダ
クタンスの増加によって信号の立ち上がり時間が長くなる。また、各モジュール間
でのクロック到達時刻の相対的なずれ (skew) も問題となる。そのため、Clock 専
用の配線領域として Clock Network が用意されている。Clock Network を駆動す

第3章

VME-EASIROC ボードの仕様

38

るドライバは通常のそれよりも駆動能力が強く、それにより立ち上がり時間の改善が図られている。また、配線そのものも浮遊容量、浮遊インダクタンスが抑えられている。クロック以外にも高ファンアウト信号にも使用することでパフォーマンス
の改善が望めることがある。

Phase Lock Loop (PLL)FPGA 内で使用するクロックは一般的には 1 種類だけとは限らず、複数種類のクロックを使用することが一般的である。これは各モジュール毎にパフォーマンスや
インターフェースの都合により必要とされるクロックの種類が異なることが原因である。その際には、ある種類のクロックから別の種類のクロックを作り出す必要がある。PLL を使用することによりあるクロックに同期した別のクロックを作り出すことができる。図 3.11 に示すように Voltage Controlled Oscillator (VCO) か
らのクロックに対してフィードバック制御を加えることで位相が同期した信号を生成することができる。Phase Frequency Detector のフィードバック入力を制御することで様々な種類のクロック信号を作ることができる。例えば、位相比較にオフセットをつけることで位相のずれた信号を出力することができる。
Phase
Frequency
Detector

Input

Low Pass Filter

Voltage-Controlled
Oscillator

Output

図 3.11 PLL の模式図 VCO からのクロックに対してフィードバック制御を加えることで安定したクロック出力を得ることができる。

Block RAM
Block RAM は多くの RAM を必要とする回路のための高度に集積された RAM である。Logic に付属している Flip Flop (FF) を 1 bit のレジスタとし、それらを集積することでも RAM を構築できるが、空間効率が悪い。RAM 専用回路である

Block RAM を使用することでこの問題を解決できる。
使用した FPGA は Xilinx 製 FPGA である XC7A100T-2FGG676C[23] である。このFPGA は 7 シリーズ FPGA の中でも最も低価格・高価格対性能比である Artix-7 シリーズに属している。

Artix7 シリーズの FPGA の構成要素は以下のような特徴を持つ。
CLB、スライス、LUT
Xilinx 社製の FPGA では Logic Block は Configurable Logic Block (CLB) と呼第3章

VME-EASIROC ボードの仕様

39

ばれている。また、Logic Cell はスライスと呼ばれている。スライス内の LUT は

6 入力 LUT として、または出力が別々で入力が共通の 2 つの 5 入力 LUT としてコンフィギュレーションできる。各 LUT 出力はオプションとして FF でラッチすることができる。このような LUT が 4 つ、それらの FF が 8 つ、マルチプレク
サー、そして高速加算用のキャリーロジックが 1 つのスライスを構築している。そして、1 つの CLB はこのスライス 2 つから構築される。全スライスの 25% ∼ 50%
が 64 bit の分散 RAM として、あるいは 32 ビットのシフトレジスタか 2 つの 16
ビットのシフトレジスタとして使用できる。

MMCM、PLL
Artix7 シリーズには最大 10 個の Clock Management Tile (CMT) が含まれ、各CMT は Mixed Mode Clock Manager (MMCM) と PLL1 つずつで構成されている。図 3.12 に MMCM モジュールのブロックダイアグラムを示す。これらのモジュールは入力クロックの広範囲な周波数の合成を行うために使用される。これらには 3 種類のプログラム可能な分周器（D、M、O）がある。前置分周器 D は入力
周波数をさせ Phase Frequency Detector (PFD) にその信号を入力する。フィー
ドバック分周器 M は PFD のフィードバック入力を分周するため乗算器として機能する。VCO には 0◦ 、45◦ 、90◦ 、135◦ 、180◦ 、225◦ 、270◦ 、315◦ の 8 つの位相出力があり、それぞれが出力分周器 O を駆動するように選択できる。最終的な出力
M
周波数は fout = D·O· fin になる。
CLKIN1D

CLKIN2

PFD

CP

LF

VCO

(Fractional Divide)

O0

CLKOUT0
CLKOUT0B

O1

CLKOUT1
CLKOUT1B

O2

CLKOUT2
CLKOUT2B

O3

CLKOUT3
CLKOUT3B

O4

CLKOUT4

O5

CLKOUT5

O6

CLKOUT6

M

CLKFBOUTCLKFBOUTB(Fractional Divide)

図 3.12 MMCM のブロックダイアグラム。最大で 6 系統のクロックを位相オフセット付で出力することができる。

クロック分配Artix7 シリーズには 6 種類のクロックラインが存在し、大きなファンアウト、短い伝搬遅延、小さいクロックスキューなどに対応している。

第3章

VME-EASIROC ボードの仕様

40

ブロック RAM

Artix7 シリーズにはブロック RAM は最大ビット幅が 72 bit のブロック RAM が組み込まれている。それぞれのブロック RAM が 36 Kbit の容量を持ち、2 つの読
み書きポートを有している。このブロック RAM は書き込み、読み出しの動作はク
ロックによって制御される同期式 RAM である。また、追加で 8 つのビットのハミ
ングコードを生成し、読み出し中にシングルビットのエラー訂正、ダブルビットのエラー検出を行う。

IO
各 IO ピンは紺ふぎゅレーション可能であり、多数の IO 規格に準拠している。ほとんどの IO ピンのペアが差動入力、差動出力としてコンフィギュレーションできる。

XC7A100T-2FGG676C の主な仕様を表 3.5 に示す。
表 3.5 XC7A100T-2FGG676C の仕様。

ロジックセル数

101440

スライス数

15850

分散 RAM 容量

1188 Kbit1

ブロック RAM 数 (18 Kbit1)

270

ブロック RAM 数 (36 Kbit1)

135

全ブロック RAM 容量

4860 Kbit1

CMT

6

IO バンク

6

IO 数

300

IO 電圧

1.2 V, 1.35 V, 1.5 V, 1.8 V, 2.5 V, 3.3 V

パッケージ

FGG676

スピードグレード2

温度範囲

0◦ C ∼ +85◦ C

1

1 Kbit = 210 bit = 1024 bit

FPGA 内部に実装した回路の詳細については §3.3 で後述する。

第3章

VME-EASIROC ボードの仕様

41

3.2.5 トリガーインターフェース
トリガー信号は KEK VME クレートに搭載されている VME-J0 バスによって受信される。標準の VME J0 バスは COPPER 規格のトリガーの配布に使用される。だが、VME-EASIROC ボードでは Hold 信号を VME-J0 バスを利用して送信するために、既存のピンアサインを変更したピンアサインを使用する。また、Busy 信号は VME-J0 バス
によって送信される。
表 3.6 に VME-EASIROC 用 VME-J0 バスのピンアサインを示す。
表 3.6 VME-EASIROC 用 VME-J0 バスピンアサイン。

JZS0

Fast clear

JZS1

L2 Trigger

JZS2

Spill Number

JZS3

Hold

JZS4

Event Number[0]JZS5Event Number[1]JZS6Event Number[2]

/C1

Busy

/C2

Reserved

これらの信号は KEK VME クレートに挿されている Receiver モジュール (図 2.15) から受け取る。Fast clear 信号、L2 Trigger 信号、Spill Number 信号、EventNumber[0:2]
信号は Receiver モジュールから VME-J0 バスを通って受信される。VME-J0 バスではMulti-point Low Voltage Diﬀerential Signaling (M-LVDS) 規格で JZS0 から JZS6 の信号線が駆動される。M-LVDS 規格では 1 つのバスに対して 1 つの 100 Ω 終端が必要である。そのため、基板上にはチップ抵抗を半田付けできるパッドのみを実装した。VME-J0
バスの終端に位置する VME-EASIROC のみに対して終端抵抗の実装を行う必要がある。

3.2.6 データ転送インターフェース
VME-EASIROC から PC へのデータ転送には Ethernet を使用する。
Ethernet は Local Area Network (LAN) で最も広く使われているデータ転送規格である。Ethernet には使用するケーブル・通信距離・通信速度によっていくつかの細分化された規格が存在する。
本研究で使用した規格は 100BASE-T である。100BASE-T ではメタルケーブルを用第3章

VME-EASIROC ボードの仕様

いて 100 m の距離を 100 Mbps の通信速度で通信することができる。この規格は §2.2.1
で評価した要求仕様を十分に満たす。
一般的な PC では OS、特にソケットライブラリやデバイスドライバ、がオーバーヘッ
ドとなり、用いている Ethernet 規格の転送速度に近い転送速度でデータ通信を行うことは困難である。しかし、SiTCP は OS の処理による処理を一切挟まないため 100BASE-Tの理論値である 100 Mbps の 80% ∼ 90% の転送速度でデータ通信を行うことができる。

Ethernet 転送のために Media Independent Interface (MII) 対応の PHY チップである LAN8710A を使用した。MII は Ethernet の、特に 100BASE-T における事実上の標
準的な物理層のインターフェース規格であり、SiTCP もこれに準拠している。

3.3 FPGAFPGA の論理合成には Xilinx 社製の論理合成ツールである Vivado Design Suite
Design Edition 2014.3.1[24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34] を使用した。
Vivado は Xilinx 社製の FPGA の論理合成、シミュレーション、FPGA への書き込みを行うツールである。VHSIC Hardware Description Lauguage (VHDL) や Verilog

HDL 等の HDL で記述されたソースコードを論理合成し FPGA 内にインプリメントするための回路情報を生成することができる。また、論理合成された回路情報のタイミング解析を行いタイミング違反が存在しないかを確認することもできる。シミュレーションは伝搬遅延を考慮しない RTL レベルのシミュレーションから、論理合成後の回路情報を対象とした、実際のデバイス上での遅延情報を含んだシミュレーションまで幅広いモデルでシミュレーションを行うことができる。論理合成後の回路情報に対して、タイミング、消費電力、ネットリスト等の情報を出力することもできる。FPGA への回路情報の書き込み
も Vivado を使用して行う。
従来、Xilinx 社製 FPGA の論理合成には ISE というツールが使われていた。だが、7シリーズ FPGA の論理合成には Vivado を使用することが推奨されている。Vivado の論
理合成アルゴリズムは 7 シリーズ FPGA に最適化されているため、Vivado を使用する
ことで、ISE と比較して、論理合成時間の短縮、デバイス使用効率の向上、消費電力削減が図られる。

Vivado には無料版の WebPACK もあるが、WebPACK には FPGA に内蔵されているロジックアナライザーコアを使用して PC で信号の状態をデバッグするための機能である ChipScope が含まれていない。大規模の FPGA 開発では ChipScope を用いたデバッ
グが事実上必須になるので有料版である Design Edition を使用した。
以下のコマンドを用いて FPGA の論理合成を行った。
synth_design - top $top - part $device - fla t t en _hi er a rc h y none

42

第3章

VME-EASIROC ボードの仕様

opt_design
po w e r _ o p t_ d esi gnplace_design
ph y s_ op t _designroute_design

先 ず 、synth_design コ マ ン ド に よ り HDL 記 述 を RTL に 変 換 す る 。そ の 後

opt_design コマンド、power_opt_design コマンドによって回路の最適化を行う。最適化後の回路に対して place_design コマンドを適用し、CLB への割り当てを行う。

phys_opt_design コマンドは割り当て後の回路に対して最適化を行うコマンドである。
最後に route_design コマンドによって CLB 間のインターコネクトの結線を行う。こ
の時点で FPGA 内の回路情報がすべて決定されるのでタイミング解析を行い、タイミン
グ違反している信号線がないことを確認する。

FPGA 内部回路のブロックダイアグラムを図 3.13 に示す。
FPGA 内部回路は以下のモジュールからなっている。
ADC モジュールADC モ ジュ ー ルは EASIROC の ReadRegister イン ター フェ ー スを駆 動し、AD9220 のアナログ入力ピンにアナログ信号を送る。また、それと同時に AD9220
からの AD 変換後のデータを DoubleBuﬀer に書き込む。ペデスタルサプレッショ
ンもこのモジュールによって行われる。

Double Buﬀer
Double Buﬀer は 2 つまでのイベントを格納することが出来るバッファである。読み出しクロックと書き込みクロックが非同期である場合にも対応している。1 つ目のバッファがフルの状況であり、1 つ目のバッファからデータを読み出している最中であっても、2 つ目のバッファにデータを格納することができる。トリガレートが回路から PC へのデータ転送レートより十分低い状況では、Double Buﬀer を用いることで回路から PC へのデータ転送時間はデットタイムに含まれなくなる。

Fast clear 機能に対応するために直前のイベントを消去する機能も持っている。
MHTDC モジュール
EASIROC か ら の Discri out 信 号 と CommonStop 信 号 の 間 の 時 間 間 隔 を
1 LSB = 1 ns の分解能で測定する、depth が 16 hits / event の MHTDC である。
250 MHz の 4 相クロック (0◦ 、90◦ 、180◦ 、270◦ ) をサンプリングクロックとして使用している。Leading Edge と Trailing Edge の両方を取得することができ、波高情報の補助情報として使用することができる。Time window は PC から設定可
能で最大 4096 ns にまで対応する。
データ収集モジュール

43

第3章

VME-EASIROC ボードの仕様

AD922044

Sender

DoubleBuffer

TCPtransfer

Gatherer
AD9220SiTCP

Ethernet

RBCP Bus

DoubleBuffer
ADC

AD9220

DoubleBuffer

AD9220

DoubleBuffer

EASIROC1, 2
Discri out

MHTDC

DoubleBuffer
TDC
Trigger

ADC
TriggerTramsnit
Start

Hold, L2 Trigger, Fast clear,
Spill number, Event Number, BusyVME-J0

TriggerManager

FrontPanel
CommonStop
Send ADC,
Send TDC
DAQ mode?

EASIROC1, 2
ReadRegister IF

StatusRegister

1
ReadRegisterController

0

EASIROC1, 2
SlowControl IF

SlowControlController

FrontPanel
SelectableLogic

SelectableLogic
SPI FLASH
Programmer

SPI FLASH

Clock Oscillator
50 MHzClockManager

25 MHz for SiTCP, Gatherer, Sender
6 MHz, 3 MHz for ADC, SlowControlManager
125 MHz, 250 MHz (0°, 90°, 180°, 270°) for MHTDC
500 MHz for TriggerManager
66 MHz for SPI FLASH Programmer

図 3.13 FPGA 内部回路ブロックダイアグラム。AD9220 によってデジタル化された MPPC の波高情報は ADC モジュールによって DoubleBuﬀer に書き込まれる。また、MHTDC によって測定された時間情報も Double Buﬀer に書き込まれる。それらの情報は Gatherer モジュールによって 1 つのイベントデータに纏められ SiTCP モ
ジュールによって PC への Ethernet 経由で送られる。TriggerManager によってこれ
らモジュールの状態の管理が行われる。さらに、EASIROC のパラメーターを変更するための SlowControl モジュールや、EASIROC の信号モニター用機能を制御するための ReadRegister モジュールも実装されている。

第3章

VME-EASIROC ボードの仕様

データ収集モジュールは Gatherer モジュールと Sender モジュールからなる。

Gatherer モジュールは ADC モジュール、MHTDC モジュールからのデータを収集し 1 つのイベントデータにする。また、Event Header、Event tag、Event

Number、Spill Number の付与もこのモジュールが行う。
Sender モジュールより上流のモジュールではワード単位が 1 word ̸= 1 bit である。一方、SiTCP ではワード単位は 1 word = 1 bit である。Sender モジュール
は上流からのモジュールのワードを分割して 1 word = 1 bit のワード単位にする。
トリガー管理モジュール
トリガー管理モジュールは外部からのトリガー信号によって内部状態を変化させ各モジュールにトリガーを配布する。Hold 信号を受信したタイミングで ADC モ
ジュールに、CommonStop 信号を受信したタイミングで MHTDC モジュールにトリガー信号を配布する。そして各モジュールはそのトリガー信号によってデータの吸い出しを開始する。また、その後 L2 トリガー信号を受信した場合はデータ転送モジュールに PC へのデータ転送命令を送信し、Fast clear 信号を受信した場合は ADC モジュール、MHTDC モジュールにデータ消去命令を送信する。

Status Register モジュール
VME-EASIROC は 2 つのモードを持っている。MPPC からの信号をオシロス
コープなどで観測するためのモード (モニターモード) とトリガー信号に応じてPC へデータ転送を行うモード (DAQ モード) の 2 種類である。これらのモードの管理は Status Register によって行われる。モニターモードの時にはほぼすべてのトリガー信号 (CommonStop、L2 Trigger, Fast clear) を無視する。ただし、Hold信号を受信した時には内部の Gate Generator によって 2 µs 程度の長さに引き伸ばされた Hold 信号が EASIROC に送られる。モニターモードでは Busy 信号は常に L である。

SiTCP モジュール
SiTCP モジュールは PC にデータを転送するためのモジュールである。データの通信には TCP/IP を用いる。また、UDP/IP を利用した Remote Bus Control

Protocol (RBCP) というバス転送もサポートされている。TCP/IP は主に測定データなどの大容量データを転送するために使い、RBCP はスローコントロールなどの小容量データを転送するために使用する。

SlowControlController モジュール
SlowControlController モジュールは EASIROC の SlowControl IF を駆動してEASIROC の設定変更を行う。RBCP バスから SlowControl 用データを受け取り、シリアライズして EASIROC に転送する。

ReadRegisterController モジュール

45

第3章

VME-EASIROC ボードの仕様

ReadRegisterController モジュールは EASIROC の ReadRegister IF を駆動してHG out 出力から出力する ch の選択を行う。また、Probe IF の駆動も行い Probeout 出力から出力する ch の選択も行う。ReadRegister IF の駆動は ADC モジュー
ルと競合するため DAQ モードでない時のみ Readregister IF を駆動する。

SelectableLogic モジュール
Selectablelogic モジュールは EASIROC の Discri out 出力をフロントパネルの
NIM に出力するためのモジュールである。64 ch 存在する Discri out から任意の1 ch を選択して出力することができる。また、64 ch 分の OR (OR64)、EASIROC
chip 毎の 32 chOR (OR32U, OU32D) を出力することもできる。
SPI FLASH Programmer モジュール
SPI FLASH Promgrammer モジュールは FPGA の回路情報を記録している SPIFLASH の書き込みを行うモジュールである。SPI FLASH への書き込みは通常では Xilinx 社製のダウンロードケーブルを使い Joint Test Action Group (JTAG)
経由で行われるが、この方法では多数のボードに書き込みを行うときにケーブルの抜き先を頻繁に行う必要があり煩雑である。SPI FLASH Programmer モジュールを使用すると Ethernet 経由で SPI FLASH の書き換えを行うことができるた
め、ファームフェアの更新を効率的に行うことができる。

ClockManager モジュール
Clock Manager モジュールは FPGA 外部の 50 MHz の水晶振動器のクロック信号を他のモジュールで必要とされているクロック信号に変換する。内部に 2 つのMMCM を持ち周波数合成を行っている。
それぞれのモジュールの詳細な説明はこれ以降行う。

3.3.1 ADC モジュール
ADC モジュールは図 3.14 に示すように、ADC Core モジュールと ADC Controller
モジュールに大別できる。

ADC Core モジュールは AD9220 からのデータを受信し、その内容に対してペデスタ
ルサプレッションを行い、Double Buﬀer に書き込みを行う。ペデスタルサプレッション用のデータは RBCP 通信を通して PC からの SlowControl で受け取る。このモジュールは AD9220 の個数と同じ 4 つ実装されている。これら 4 つのモジュールは同時に並列動作するため ADC モジュールのデッドタイムは ADC Core 単体のデッドタイムに等しい。

ADC Controller モジュールは 4 つの ADC Core モジュールを統括するモジュールである。TriggerManager モジュールからの Trigger 信号、Fast clear 信号はこのモジュー

46

第3章

VME-EASIROC ボードの仕様

47

ルによって各 ADC Core モジュールに配られる。また、各 ADC Core モジュールからのBUSY 信号もこのモジュールによって統合される。EASIROC の ReadRegister IF に送られる制御信号及び、AD9220 へのクロック信号はこのモジュールによって作られる。

3.3.1.1 ADC Core モジュール
図 3.15 に ADC Core モジュールのブロックダイアグラムを示す。

ADC Core モジュールは AD9220 からの信号を DoubleBuﬀer に書き込むモジュールである。AD9220 からのデータの出力タイミングの管理は ADC Controller によって行われるため、ADC Core は ADC Core によって決められたタイミングで AD9220 が出力するデータを処理する。

AD9220 からのデータは AD 変換を行った結果のデータに加え AD 変換結果がオー
バーフロー、アンダーフローしたことを示す Over The Range (OTR) 信号も含まれている。ADC Core はこれらのデータとチャンネル情報のデータ、フッター識別子を Double

Buﬀer に書きこむ。チャンネル情報も書き込む理由はペデスタルサプレッションを行う
ため、Double Buﬀer のアドレスと AD9220 のチャンネル情報が 1 対 1 対応しなくなるためである。
ペデスタルサプレッション用のスレッショルドは RBCP 通信によって DualPortRAMに書き込まれる。RBCP Receiver は RBCP バスへのアクセスを SRAM へのアクセスに変換するモジュールである。書き込まれたスレッショルドデータは Channel Counter
によって順番に読み出され、AD9220 からのデータとコンパレータによって比較される。

AD9220 からのデータがスレッショルドを上回っていた場合は、DoubleBuﬀer への書き込みと Address のカウントアップが行われる。
読み出しには 3 MHz のクロックを使用しており、1 つの ADC Core モジュールが読みだすチャンネル数は 32 ch である。このため ADC のデッドタイムは、(32+3) ch
3 MHz = 12 µsである。チャンネル数に 3 を加算している理由は、パイプライン型 ADC である AD9220の変換待ち時間に由来するものである。実際には外部からのトリガー信号を内部のクロッ
クに同期する回路によるオーバーヘッドなどもあり、先の計算結果よりもデッドタイムは伸びる。なお、ペデスタルサプレッションが行われたとしてもこの時点でのデッドタイム
は減少しない。これは結局すべてのチャンネルのデータの読み出しを行うためである。ペデスタルサプレッションの効果は、このモジュールより下流において初めて現れる。
また、ChannelCounter、AddressCounter のカウント値の制御及び、DoubleBuﬀer への一部の制御線 (FULL, WCOMP, DEC_WPTR) は Finit State Machine (FSM) によって行われる。図 3.16 に ADC Core モジュールのステート遷移を示す。リセット直後の状態は IDLE 状態である。START 信号が受信されると FSM は先ず WAIT_ADC
状態になり AD9220 による変換待ち時間だけ待つ。ADC Controller からの START

第3章

VME-EASIROC ボードの仕様

48

RBCP BusADC̲DATA

12

AD9220 ADC̲OTR

DoubleBuffer

ADC̲Core

ADC̲CLK

Pedestal Suppression Data
CORE̲START
CORE̲BUSY

ADC̲DATA

12

AD9220 ADC̲OTR

DoubleBuffer

ADC̲Core

ADC̲CLK

Pedestal Suppression Data
CORE̲START
CORE̲BUSY

ADC̲DATA

12

AD9220 ADC̲OTR

DoubleBuffer

ADC̲Core

ADC̲CLK

Pedestal Suppression Data
CORE̲START
CORE̲BUSY

ADC̲DATA

AD9220 ADC̲OTRADC̲CLK

12

DoubleBuffer

ADC̲Core

Pedestal Suppression Data
CORE̲START
CORE̲BUSY4ADC̲Controller

DAQ̲MODE?

EASIROC1
EASIROC2

図 3.14

ReadRegisterIF

CLK̲READ
RSTB̲READ
SRIN̲READ

1
0

ReadRegisterController

ReadRegisterIF

ADC モジュールブロックダイアグラム。ボード上に 4 つ実装されている
AD9220 の信号を同時並列に読み取り、Double Buﬀer に書き込む ADC_Core モ
ジュールとそれらの状態遷移を管理する ADC_Controller モジュールからなる。

第3章

VME-EASIROC ボードの仕様

49

信号は少し遅れているためにここで待つ時間は 1 clockcycle のみでよい。その後は

COUNTUP_CHANNEL 状態と WRITE_ADC_DATA 状態を 32 回ずつ通過する。
ここで 32 ch 分のデータの AD9220 からの読み出しと DoubleBuﬀer への書き込みが行われる。その後は WRITE_FOOTER 状態になり、フッターが書き込まれる。さらに、WRITE_DATA_SIZE 状態になり、サプレスされなかったチャンネルの個数が書き込まれる。その後は、必要に応じて Double Buﬀer の FULL が 0 になるのを待ち、

DoubleBuﬀer に対して 1 イベント分の書き込み処理が終わったことを示す、WCOMP 信号を発行する。FAST_CLEAR が受信された場合は現在のステートによってクリアに必要な動作が異なる。通常であれば、FAST_CLEAR 受信時には現在実行している処理を中断し、直ちに IDLE 状態に戻ればよい。しかし、DoubleBuﬀer を利用しているために、場合によっては、以前に DoubleBuﬀer に書き込んだデータを消去する必要がある。その必要がある状態としては IDLE 状態と WRITE_COMPLETE 状態の 2 つが考えられる。
よってこれらの状態にあるときに FAST_CLEAR を受信した場合は、一度 CLEAR 状態に遷移し DoubleBuﬀer に DEC_WPTR 信号を発行したのちに IDLE 状態に遷移する。
その他の状態にあるときに FAST_CLEAR を受信した場合は速やかに IDLE 状態に移行する。なお、この処理の妥当性については §3.3.2 にてより詳細に述べる。
ADC̲DATA

12

13

18

19

DIN

AD9220 ADC̲OTR
Channel Count
CounterCountUpCountClear

RBCP Bus
ReadAddress

RBCP Receiver

5

DualPortRAM

ReadData

5
WE

13

DoubleBufferCountUp

Address
Counter

6

Count

WADDR

CountClear

Footer?
FULL

FSM

WCOMP
DEC̲WPTR

CORE̲START
CORE̲FAST̲CLEAR

CORE̲BUSY

ADC̲Controller

図 3.15 ADC Core モジュールブロックダイアグラム。AD9220 からのデータは中央にあるコンパレーターによってペデスタルサプレッションが行われ、順に Double-

Buﬀern に書き込まれる。

第3章

VME-EASIROC ボードの仕様

FAST̲CLEAR = 1

50

CLEAR
FAST̲CLEAR = 1

FAST̲CLEAR = 0&
START = 0
FAST̲CLEAR = 0&
START = 1

IDLE
FAST̲CLEAR = 1

WAIT̲ADC̲DATA
FAST̲CLEAR = 0

COUNTUP̲CHANNEL
FAST̲CLEAR = 0

FAST̲CLEAR = 0&
Channel ≠ 31

WRITE̲ADC̲DATA
FAST̲CLEAR = 0

WRITE̲FOOTER
FAST̲CLEAR = 0

WRITE̲DATA̲SIZE

FAST̲CLEAR = 0

FAST̲CLEAR = 0&
FULL = 1
FAST̲CLEAR = 0&
WAIT̲FULL
FULL = 1
FAST̲CLEAR = 0&
FULL = 0

FAST̲CLEAR = 0&
FULL = 0

WRITE̲COMPLETE
図 3.16 ADC Core モ ジ ュ ー ル ス テ ー ト 遷 移 。ト リ ガ ー 信 号 受 信 後に WAIT_ADC_DATA 状 態 に て AD9220 の パ イ プ ラ イ ン 遅 延 を 待 ち 、

COUNTUP_CHANNEL 状態と WRITE_ADC_DATA 状態でチャンネルカウン
ターのインクリメントと Double Buﬀer へのデータの書き込みを行う。その後はFooter とペデスタルサプレッション後のデータサイズの書き込みを行い、Double
Buﬀer の FULL 解除を待った後に WRITE_COMPLETE 信号を Double Buﬀer に対して発行する。

第3章

VME-EASIROC ボードの仕様

3.3.1.2 ADC Controller モジュール
ADC Controller モジュールのブロックダイアグラムを図 3.17 に示す。ADC Controller モジュールは TriggerManager モジュールから受け取ったトリガー情報を各 ADC
Core モジュールに分配している。また、各 ADC Core モジュールからの BUSY 信号の統合も行っている。さらに、EASIROC の ReadRegister IF に対する制御信号の生成も行っている。

TriggerManager モジュールからのトリガー情報は内部で遅延させてから ADC Core
モジュールに送っている。これはパイプライン型 ADC である AD9220 には変換開始時に変換待ち時間があるためである。
各 ADC Core モジュールからの BUSY 信号は ADC Controller 内部の FSM によって作られる InternalBusy 信号と OR をとったあとに TriggerManager モジュールに

ADC_BUSY として送られる。TriggerManager からの ADC_TRIGGER 信号を受信した後すぐに ADC_BUSY を H にするためである。
これらの処理の流れは FSM によって管理される。図 3.18 に FSM のステート遷
移 を 示 す 。リ セ ッ ト 直 後 の 状 態 は IDLE 状 態 で あ る 。ADC_TRIGGER を 受 信 す
る と SRIN_HIGH_0 状 態 、続 い て SRIN_HIGH_1 状 態 に 移 行 す る 。こ れ ら の 状
態 で EASIROC に 保 存 さ れ た 電 圧 情 報 を シ リ ア ル に 読 み 出 す た め の 制 御 線 で あ る

SRIN_READ ピンを H にする。その後は CLK_LOW 状態と CLK_HIGH 状態を
32 回ずつ繰り返すことによって EASIROC に対して 3 MHz のクロック信号を 32 周期分だけ送信している。AD9220 への CLK 信号の供給はいずれかの ADC Core モジュールの ADC_BUSY が H になっている限り行われ続ける。また、FAST_CLEAR 信号を受信した場合は、どの状態からも、速やかに IDLE 状態に移行する。ADC Core モジュールに対しての CORE_START 信号の発行は CLK_LOW 状態かつ Channel Counter が4 になっているタイミングで行う。

3.3.2 DoubleBuﬀer
DoubleBuﬀer のブロックダイアグラムを図 3.19 に示す。
DoubleBuﬀfer 内には SRAM が 2 つ実装されており、読み書きの対象となる SRAM
を切り替えることで DoubleBuﬀer として動作する。DoubleBuﬀer の製作に当たっては非同期 FIFO の製作方法 [35, 36, 37] を参考にした。DoubleBuﬀer は異なるクロックド
メイン間でのデータの受け渡しを行うという役割も持つ。

SRAM に対して 1 イベント分のデータの書き込みが完了したタイミングで上流モ
ジュールが WCOMP 信号を発行する。この信号によって Wptr がインクリメントされ、

51

第3章

VME-EASIROC ボードの仕様

EASIROC1, 2

52

SlowControl
IF

ChannelCounter
CLK̲READ
RSTB̲READ
SRIN̲READCountUpCountClear

ADC̲TRIGGER
FAST̲CLEAR

TriggerManager

FSM
InternalBusy

ADC̲BUSY

4

CORE̲START
CORE̲BUSY

ADC̲CORE × 4

図 3.17 ADC Controller モジュールブロックダイアグラム。TriggerManager モ
ジュールからのトリガー信号を各 ADC_CORE モジュールに分配し、Busy 信号を統合して TriggerManager モジュールに送る。また、EASIROC の ReadRegister イン
ターフェースの制御もこのモージュールが行う。

図 3.19 左側のスイッチが切り替わる。読み出しの場合も同様で、1 イベント分の読み出しが完了したタイミングで下流モジュールが RCOMP 信号を発行し、それによって Rptr
がインクリメントされる。

Wptr と Rptr の比較によって FULL 信号、EMPTY 信号の生成を行う。スイッチの切り替えを行うことだけを考えると Wptr、Rptr 共に 1 bit あれば足りるが、FULL、EMPTY の生成のために 2 bit カウンターとしている。スイッチの切り替えには下位 bitのみを用いている。このとき、FULL の条件は「下位 bit が一致 かつ 上位 bit が不一致」、

EMPTY の条件は「全 bit の一致」となる。しかし、これらは異なるクロックドメインに属しているために直接の比較を行うことができない。異なるクロックドメイン間のデータの受け渡しのために、Gray code と Synchronizer を用いた。以下ではそれらのモジュールについて述べる。

3.3.2.1 クロックドメインをまたぐ信号の受け渡し異なるクロックドメイン間でのデータを受け渡しする際にはメタステーブルと競合状態について考慮する必要がある [38]。
メタステーブルは、図 3.20 に示すように、フリップフロップの入力データ信号が変化

第3章

VME-EASIROC ボードの仕様

FAST̲CLEAR = 1

53

ADC̲TRIGGER = 0

IDLE
ADC̲TRIGGER = 1

SRIN̲HIGH̲0
FAST̲CLEAR = 0

SRIN̲HIGH̲1
FAST̲CLEAR = 0

CLK̲LOW
FAST̲CLEAR = 0

FAST̲CLEAR = 0&
Channel = 0

FAST̲CLEAR = 0&
Channel ≠ 0

CLK̲HIGH
図 3.18ADC Controller モ ジ ュ ー ル ス テ ー ト 遷 移 図 。ト リ ガ ー 受 信 後 、2 つ のSRIN_HIGH 状態で SRIN_READ 信号を EASIROC に対して発行する。その後、
CLK_LOW 状態と CLK_HIGH 状態で EASIROC に対する読み出しクロックを生成する。

するタイミングとクロック信号の変化するタイミングがほぼ同時になった時に発生する。
メタステーブルの状態ではフリップフロップ内部の信号を保持している回路が発振してしまう。図 3.20 ではデジタル的な発振の様子が示されているが、実際にはアナログ的に発振する。この発振は寄生抵抗などによってエネルギーを奪われやがて H か L かの定常状態になる。しかし、次のクロックエッジまで発振が持続した場合は下流のフリップフロッ
プにまで発振が伝搬する。実際には下流のフリップフロップまでの間の信号の伝搬遅延も考慮する必要がある。たとえ発振が速やかに収まったとしても、伝搬遅延が長い場合は下流のフリップフロップに発振が伝搬する。発振が伝搬することによりシステム全体の動作が不安定になることもある。そのため、フリップフロップにはクロックエッジの前にデー
タが変化してはいけない期間である Setup time とクロックエッジの後にデータが変化してはいけない期間である Hold time が定められている。フリップフロップに対してデー
タを送る側のクロックとデータを受け取るフリップフロップのクロックが同じものであれば、タイミング解析を行い Setup time と Hold time が満たされているかを確認することができる。(実際にはクロックが同じでなくても、送信側フリップフロップのクロック

第3章

VME-EASIROC ボードの仕様

SRAM1

DIN
WADDR
WE
WCOMP
DEC̲WPTR

FULL

54

DOUT
RADDR

SRAM1
Wptr

Rptr

bin → Graybin → Gray

Synchronizer

Synchronizer

Comparator

Comparator

WCLK Domain

RCLK Domain

RCOMP

EMPTY

図 3.19 DoubleBuﬀer ブロックダイアグラム。イベント情報を格納するためのバッ
ファが 2 つ用意されている。片方のバッファに対して書き込みを行っている最中に、もう片方のバッファから読み出しを行うことで、書き込み側と読み出し側の並列動作を行うことができる。

エッジから受信側フリップフロップのクロックエッジまでの最短時間が分かればよい。そのため、クロックの周波数・位相が異なっていてもタイミング解析を行うことが出来る場
合がある。また、2 つのクロックがこのような状態にあるとき、それらのクロックは同期関係にあるという）
DOUT

DIN

DFF
CLK

DIN
CLK
DOUT
metastate

図 3.20 メタステーブル発生の様子。CLK 信号が立ち上がると、同時に DIN が変化することによって DFF が発振する現象であるメタステーブルが発生する。

第3章

VME-EASIROC ボードの仕様

55

メタステーブルの解消には図 3.21 に示す Synchronizer 回路を使用する。Synchronizer
回路は DFF1 と DFF2 からなる回路である。1 つ目の DFF で発生するメタステーブル
は原理的に回避不可能である。そのため、DFF1 で発生したメタステーブルが DFF2 に伝搬しないことに重点を置かれている。DFF1 と DFF2 の間には一切のロジックゲート
を挟まない。これによって DFF 間のゲート遅延を 0 になる。また、DFF 間の配線は可
能な限り短くすることで配線遅延を抑える。FPGA 内に Synchronizer を実装する際にはこれらの DFF が隣接するスライスに入るように、論理合成段階で配置制約を与える。

as short as possible

DFF

図 3.21

DFF1

CLK1

CLK2

CLK1 Domain

CLK2 Domain

DFF2

Synchronizer 回路図。CLK2 ドメインに属する 2 つの DFF が Synchronizer回路である。仮に DFF1 でメタステーブルが発生しても、DFF2 には伝搬させないことでメタステーブルを抑えることができる。

クロックドメインを越えて 1 bit の信号線を受け渡す場合は Synchronizer 回路を用いることで事足りるが、多 bit の信号線を受け渡そうと思うと別の問題が発生する。それは、
多 bit 信号の変化タイミングが僅かにことなることに起因する競合状態である。図 3.22
は 2 bit 信号である DATA[1:0] を別のモジュールに受け渡す場合のタイミングチャートである。DATA[1:0] 信号は 10 から 01 に変化しているが、その途中に 11 という中間状態を経由している。このような中間状態は DATA[0] の変化するタイミングと DATA[1] の変化するタイミングが僅かに異なるときに発生する。送受信している DFF 間でクロックが同期関係にあれば、タイミング解析を行い中間状態でクロックが立ち上がることがない
ようにすることも可能である。しかし、同期関係にないクロック同士では中間状態をキャプチャしてしまうこともある。例えば、カウンタの値が 1 →2 →3 →7 →4 →5 と変化しているように見えることもある。
この中間状態のキャプチャを防ぐ方法はいくつかあるが、DoubleBuﬀer では Gray code

counter を用いた。Gray code とは数値の符号化方式の 1 種で、ある値から隣接した値に変化する時に、常に 1 bit しか変化しないという特性を持つ。そのため多 bit 信号の変化タイミングによる中間状態が発生しえない。もし、信号の変化のタイミングとクロック

第3章

VME-EASIROC ボードの仕様

56

DATA[0]DATA[1]DATA[1:0]

10

11

01

CLK
図 3.22 2 bit 信号を受け渡す時に発生する競合状態。2 つの信号線の変化するタイミ
ングに差によって、中間状態である 11 がキャプチャされてしまう。

エッジがほぼ同時刻であった場合は、一時的に一部の DFF がメタステーブル状態になることもあるが、最終的には変化前後のどちらかの値に落ち着く。Gray code は任意の bit数の信号に対して作ることができる。表 3.7 に 4 bit の場合の Gray code と binary code

(通常の 2 進符号化方式) の対応表を示す。
表 3.7 4 bit Gray code と binary code の対応表。

decimalbinary code

Gray code

0

0000

0000

1

0001

0001

2

0010

0011

3

0011

0010

4

0100

0110

5

0101

0111

6

0110

0101

7

0111

0100

8

1000

1000

9

1001

1101

10

1010

1111

11

1011

1110

12

1100

1010

13

1101

1011

14

1110

1001

15

1111

1000

第3章

VME-EASIROC ボードの仕様

57

binary code から Gray code への変換は図 3.23 に示すように、変換したいバイナリ
コードと、変換したいバイナリコードを 1 bit 右シフトし先頭に 0 を付与したものとでXOR 演算をすることによって求まる。変換に必要なゲート遅延量は bit 数に依らない。
Nbinary[N-1:0]

N

binary[N-2:1]
N-1

Gray[N-1:0]

N0
図 3.23binary code →Gray code 変換回路。バイナリーコードをシフトした後、XOR 演算することによって Gray コードに変換できる。

DoubleBuﬀer 内では Wptr と Rptr が binary counter であるため、それらを一度 Graycode に変換してから Synchronizer 回路で反対側のクロックドメインに Gray code 化された Wptr、Rptr を送る。Gray code 化された Wptr、Rptr を比較する際には binary

code への変換のオーバーヘッドを防止するために Gray code のままで比較を行っている。このとき、FULL の条件は「Gray code 化された Wptr の否定と Gray code 化された Rptr の一致」であり、EMPTY の条件は「Gray code 化された Wptr と Gray code化された Rptr の一致」である。

binary code →Gray code 変換回路及び Synchronizer 回路を経由することによって、反対側に送られる Wptr、Rptr の情報がいくらか過去のものとなる影響について考察する。Wptr の情報が遅れることによって EMPTY が H から L に変化するタイミングが早くなり、L から H に変化するタイミングが遅くなる。また、Rptr の情報が遅れることによって FULL が H から L に変化するタイミングが遅くなり、L から H に変化するタイミ
ングが早くなる。このように、Wptr、Rptr が遅れることによって EMPTY、FULL の変化するタイミングがずれる。いずれの場合でも数クロック分の無駄が生じるが、書き込まれているデータが破損することはない。

3.3.2.2 Fast clear の対応
Fast clear 機能の実装にあたり DoubleBuﬀer に求められる機能について考察する。
トリガー待ち状態から DoubleBuﬀer への書き込み、DoubleBuﬀer からの読み出しの状態遷移を図 3.24 に示す。初期状態では ADC、MHTDC は SRAM1 に接続されている (①)。その後 L1 Trigger 信号を受信することで DoubleBuﬀer にデータを書き込む(②)。データの書き込みが完了すると DoubleBuﬀer に対して WCOMP 信号を発行し、
ADC、MHTDC は SRAM2 と接続される (③)。Gatherer が L2 Trigger を受信すると、DoubleBuﬀer から信号を読み出す (④)。
ADC、MHTDC が②の状態で Fast clear を受信した場合は直ちに SRAM1 に対する書

第3章

VME-EASIROC ボードの仕様

58

1
ADC
MHTDC

2
ADC
MHTDC

Data

3
ADC
MHTDC

4
Data

ADC
MHTDC
図 3.24 DoubleBuﬀern の状態遷移の模式図 ADC、MHTDC からのデータが Dou-

bleBuﬀer に書き込まれたのちに、下流回路に読まれるまでを示す。

き込みを終了しトリガー待ち状態に戻る。③の状態で Fast clear を受信した場合はトリガー待ち状態に戻るだけでは不十分である。ADC、MHTDC がただトリガー待ち状態に戻っただけでは先に書き込んだイベントのクリアが行われない。正しく Fast clear の動作を行うためには、ADC、MHTDC は DoubleBuﬀer に書き込んだデータを消去してからトリガー待ち状態に戻る必要がある。そのため DoubleBuﬀer 側には Wptr をデクリメン
トする機能が必要となる。
このような機能を DoubleBuﬀer に実装したことによる下流モジュールへの影響を考察してみる。上流モジュールと下流モジュールが完全に独立して動作していた場合には、下流モジュールがデータを読み出している際に上流モジュールが Wptr をデクリメントし突然 EMPTY が L から H に遷移するということが起こりうる。その場合には下流モジュー
ル側でも Fast clear 受信処理を考える必要がある。そのような状態が発生するケースは④の状態で Fast clear 信号を受信した場合である。しかし、これは L2 トリガーの発行が行われた後に Fast clear の発行も行われた場合である。これはトリガーロジック側で防がれるべき不正なトリガーの発行である。なのでこのようなケースについては想定しないこと

第3章

VME-EASIROC ボードの仕様

59とする。よって、Wptr のデクリメント機能を実装しても、DoubleBuﬀer の下位モジュー
ルは Wptr がデクリメントされる場合をそれを気にすることなく読み出しを行うことができる。

3.3.3 MHTDC モジュール
MHTDC モジュールは EASIROC Discri out 64 ch の Leading edge と Trailing edge
を 1 LSB = 1 ns の分解能で測定する回路である。ブロックダイアグラムを図 3.25 に
示す。

MHTDC
Counter

DIN

ChannelBufferCommonStop
TimeWindow

MHTDC
Builder

DoubleBuffer

START

MHTDC
Counter

ChannelBuffer×64

CommonStop
TimeWindow

MHTDC
Builder
START

COMMONSTOP

MHTDCCounter

Register

RBCP
Receiver

TimeWindow

RBCP Bus

図 3.25 MHTDC のブロックダイアグラム。MHTDC Counter は 1LSB = 1 ns の精度で DIN の立ち上がりを検出するカウンター回路である。ヒットしたタイミング
で MHTDC Counter の値が深さ 16 の Channel Buﬀer に書き込まれる。COMMONSTOP 信号の受信によって MHTDC Builder が TimeWindow に含まれているヒット情報を Double Buﬀer に書き込む。trailing エッジの検出は DIN 信号を反転させる
ことによって行う。

EASIROC Discri out からの信号は MHTDC Counter に接続されている。MHTDCCounter は入力信号の立ち上がりエッジを 1 LSB = 1 nsn の分解能で検出する回路であDoubleBuffer

第3章

VME-EASIROC ボードの仕様

る。250 MHz の 4 相クロックを利用してこの分解能を達成している。また、データ転送のために 125 MHz のクロックも利用している。

Channel Buﬀer は深さ 16 の Ring Buﬀer である。深さ 16 の同期式 FIFO と似ているが、容量以上のデータを書き込もうとした際の挙動が異なる。同期式 FIFO は内部の容量すべてを使い切ると、これ以上データを書き込むことができないということを FULL 信
号で通知し、書き込み命令を無視する。それに対し Channel Buﬀer は内部の容量を使い切っても、1 番古いデータを消去することで、新たなデータを書き込むことができる。このようなバッファーを MHTDC Counter の下流に接続することで、最近の 16 hit 分の

hit した時間情報を格納することができる。
これらの回路は Discri out の Leading edge しか取得することができないので、Discri

out の極性を反転させた信号も同様の回路に接続している。これによって Discri out のTrailing edge もも取得することができる。
Common Stop 信号も Discri out 信号と同様に MHTDC Counter に接続されている。
だが、Common Stop 信号は最近の 1 つ分の情報だけあれば足りるため、MHTDC の下流には通常の Register のみが接続されている。また、Common Stop 信号は複数のChannel Buﬀer からデータを収集し 1 つの MHTDC イベントにするためのモジュール
である MHTDC Builder モジュールの収集開始信号にもなっている。

Time window は 0 ∼ 4096 の範囲で可変であり、設定変更は RBCP Bus を通して行う。
MHTDC モジュールは 64 ch の Channel Buﬀer からデータを読み、1 つの MHTDC
イベントとして DoubleBuﬀer に書き込むモジュールである。MHTDC Builder モジュー
ルは 64 ch の Channel Buﬀer から順にデータを読み、それが Time window 内に入っているかどうかを比較する。もし読み出したデータが Time window 内のデータであれば、Common Stop との差を Double Buﬀer に書き込む。Chennel Buﬀer からの読み出しは
最近の hit 情報から行われるため、あるデータが Time window 外であった場合はそのチャンネルのデータをそれ以上読み出すことはしない。MHTDC のデッドタイムはこの

MHTDC Builder の収集時間に大きく依存する。2 つある MHTDC Builder モジュール
は同時に動作することができるので、それらが別々に動作する場合と比較してデッドタイ
ムが半分になる。

3.3.3.1 MHTDC Counter
MHTDC Counter は入力信号の立ち上がりエッジを 1 LSB = 1 ns の分解能で検出する回路である。ブロックダイアグラムを図 3.26 に示す。以下ではこの MHTDC Counterの動作原理について説明する。
入力された信号は FineCounter によって 1 LSB = 1 ns の分解能で立ち上がりエッジが検出される。FineCounter で使用している 250 MHz のクロックは下流モジュールでの

60

第3章

VME-EASIROC ボードの仕様

61

データ転送に使用するには高速すぎる。そのため 4 bit の DFF を 2 つ直列にした回路を使用してクロックの乗り換えを行う。250 MHz から 125 MHz に乗り換えを行う際には、クロック周波数が 2 倍異なるため、DFF2 つで十分なことが分かる。これを読み出す際には 2 つの DFF から並列にデータを読めばよい。

FineCounter のデータ符号化方式は通常の binary counter のものとは異なる。binary
counter のデータ符号化方式に直す処理は FineCounterDecoder モジュールによって行われる。

FineCounterDecoder でデコードしたデータは 5 bit しかないため、このままでは測定できる時間が 25 = 32 ns までの時間しか測定できない。そのため、上位 bit を補うために Coarse Counter を用意した。Coarse Counter は通常の free-run binary counter である。FineCounter がオーバーフローした際にインクリメントされるようにタイミングを調節してある。

CoarseCounter

4

DIN

Fine
Counter

250 MHz 0°
250 MHz 90°
250 MHz 180°
250 MHz 270°

4

4

DFF

4

DFF

5

FineCounter
Decoder

125 MHz図 3.26 MHTDC Counter ブロックダイアグラム。MHTDC Counter は 250 MHzの 4 相クロックを用いて 1 LSB = 1 ns の精度でカウントアップする 2 bit の Fine

Counter と上位ビットを補うための Coarse カウンターからなる。

MHTDC Counter では 5 種類のクロックが使用されている。これらのクロックの関係を図 3.27 に示す。250 MHz の 4 相クロックは入力信号の立ち上がりエッジを高精度で検出するために使用される。125 MHz のクロックは検出されたデータを下流モ
ジュールに送信するために使用される。この 125 MHz のクロックは立ち上がりエッジが250 MHz 0◦ のクロックの立ち上がりエッジと一致している。なお、これらのクロックは同一の MMCM によって生成されているため、互いに同期関係にある。

FineCounter の動作原理について説明する。FineCounter のブロックダイアグラムを
図 3.28 に示す。FineCounter は 1 bit の DFF8 つからなっている。前段の DFF4 つを

COUNT
HIT̲FIND

第3章

VME-EASIROC ボードの仕様

62

4 ns
250 MHz 0°
250 MHz 90°
250 MHz 180°
250 MHz 270°
125 MHz図 3.27 MHTDC の使用しているクロック同士の同期関係。125 MHz のクロックは

250 MHz 0◦ のクロックに同期している。

Stage0、後段の DFF4 つを Stage1 と呼ぶ。Stage0 では 250 MHz 0◦ から 250 MHz 270◦までの 4 つのクロックを使用して入力信号の取り込みを行う。そして、Stage1 は Stage0の出力を 250 MHz 0◦ のクロックを使用して取り込みを行っている。なお、Stage0、Stage1 の DFF のデータを多ビットデータとして表現する際には、図 3.28 の上側 DFF
を LSB 側、下側 DFF を MSB 側として扱う。この回路を使用することで入力信号の立ち上がりエッジを 1 LSB = 1 ns で検出することができる。
4

Stage0[3:0]
DIN
250 MHz 0°

250 MHz 90°

250 MHz 180°

250 MHz 270°

DFF

DFF

DFF

DFF

Stage1[3:0]
250 MHz 0°

250 MHz 0°

250 MHz 0°

250 MHz 0°

DOUT

DFF
LSB

DFF

DFF

DFF
MSB

図 3.28 FineCounter ブロックダイアグラム。FineCounter は DIN を 4 相クロッ
クでキャプチャする Stage0 と、それを 0◦ のクロックでキャプチャする Stage1 からなる。

具体例として図 3.29 のようなタイミングで入力信号が立ち上がった場合を考える。入

第3章

VME-EASIROC ボードの仕様

63

力信号が立ち上がった後、Stage0[3:0] のデータは 1 ns 毎に 1 bit ずつ 1 になり、0 →2→6 →E →F と遷移する。それをキャプチャしている Stage1[3:0] は、0 →E →F と遷移する。この場合では Stage0[3:0] は即座に 0 →F と遷移せずに E という過渡的な状態を経由する。この過渡的な状態をデコードすることによって 1 LSB = 1 ns の分解能を達成することができる。250 MHz 0◦ のクロックサイクルを図 3.30 の示すように 1 ns ずつの 4つの領域に分け、それぞれを① ∼ ④と呼ぶ。この時の、入力信号の立ち上がりが属している領域と Stage1[3:0] の過渡的な変化の様子を表 3.8 に示す。④の場合では過渡的な変化が見られず、0 からいきなり F に変化する。それ以外の場合では 0 と F との間に固有の過渡状態がある。いずれの場合でも F になった直前の状態を読むことによって①から④のどの領域で入力信号が立ち上がったのかを検出することができる。

250 MHz 0°
250 MHz 90°
250 MHz 180°
250 MHz 270°
DIN
Stage0[3:0]Stage1[3:0]

0

2

6

E

F

0

E

F

図 3.29 FineCounter タイミングチャート。DIN が立ち上がって以降、各クロックによって DFF に立ち上がりがキャプチャされる。その結果 Stage1 には 0 から F になる
途中の中間状態が現れる。

250 MHz 0°
1

2

3

4

図 3.30 250 MHz 0◦ の 1 クロックサイクルを 4 つの領域に分ける。各領域の時間はそれぞれ 1 ns である。

しかし、この方法を FPGA 内にそのまま実装すると、250 MHz 270◦ から 250 MHz 0◦への転送を行っている信号線でタイミング違反が発生する。図 3.31 に示すように、①のエッジのタイミングで 250 MHz 270◦ で駆動されている DFF がデータを出力した時に、250 MHz 0◦ のクロックで駆動されている DFF は②のクロックエッジでデータを取り込

第3章

VME-EASIROC ボードの仕様

64

表 3.8 入力信号の立ち上がるタイミングと Stage0 の過渡的変化の関係。

入力信号が立ち上がった領域

Stage0 の過渡的変化の様子①

0 →E →F②

0 →C →F③

0 →8 →F④

0 →0 →F

む必要がある。①から②までの時間差はわずか 1 ns しかないが、FPGA 内のもっとも近い場所に 2 つの DFF を配置してもこれ以上の配線遅延が生じてしまう。そのためこの信号線でタイミング違反が発生する。そこで、この信号線には特別にマルチサイクルパス指定を設定した。マルチサイクルパス指定をすることで①で出力されたデータは③のタイミ
ングでキャプチャされる。①から③までの時間は 5 ns なので配線遅延に余裕が生じタイ
ミング違反が解消される。なお、マルチサイクルパス指定の際にはセットアップタイミン
グの解析だけでなくホールドタイミングの解析も③で行うように設定をした。
1

250 MHz 270°2

3

250 MHz 0°
1 ns
5 ns

図 3.31 250 MHz 270◦ から 250 MHz 0◦ への転送タイミング。①のタイミングで出力されたデータを②のタイミングでキャプチャする場合はわずか 1 ns の時間で行う必要がある。

250 MHz 270◦ のクロックドメインから 250 MHz 0◦ のクロックドメインへの転送を
マルチサイクル指定したため、Stage1[3:0] の過渡的遷移が表 3.8 とは異なるものになる。
他の配線に対してもマルチサイクル指定を行えば解決することができるが、マルチサイク
ル指定を多くの信号線に対して行うことは推奨されていないため、DFF を追加してタイミングの調整を行った。Stage1 の直後に Stage1’ を配置し、250 MHz 270◦ 以外の信号を 1 clockcycle 遅らせることで、250 MHz 270◦ の信号とタイミングが揃う。最終的にはFineCounter の回路は図 3.32 に示すものとなる。
FineCounterDecoder は FineCounter の デ コ ー ド を 行 う モ ジ ュ ー ル で あ る 。
FineCounter の出力が F 以外のから F に変わった瞬間に HIT_FIND 信号を発行する。

第3章

VME-EASIROC ボードの仕様

65
4Stage0[3:0]Stage1[3:0]Stage1'[3:0]

DFF

DFF

DFF

DIN
250 MHz 0°

250 MHz 90°

250 MHz 180°

250 MHz 270°

DOUT

LSB

DFF

DFF

DFF

DFF

DFF

DFF

DFF

DFF
MSB

250 MHz 0°
図 3.32

multicycle path 指 定 付 FineCounter ブ ロ ッ ク ダ イ ア グ ラ ム 。
250 MHz 270◦ から 250 MHz 270◦ に転送する信号線にはマルチサイクル指定をしている。そのため Stage1’ にて各信号のタイミングを合わせる。

また、F になる直前の値を見ることによって LSB 側 2 bit の情報の付与を行う。

FineCounterDecoder からの信号は Coarse Counter の信号と合わせて Channel Buﬀerに送られる。

3.3.3.2 Channel Buﬀer
Channel Buﬀer は MHTDC Counter からのヒット情報を最大で 16 hit 分記録することができるリングバッファである。図 3.33 に Channel Buﬀer のブロックダイアグラムを示す。

MHTDC Counter がヒットを検出した際には SRAM への書き込みと WPtr のインクリメントを行う。SRAM の容量分データが書き込までている状態でヒットを検知した場
合は一番古いデータの領域に最新のデータが書き込まれる。この時に WPtr と有効なデー
タ数との関係性はなくなるため、有効なデータ数の管理は NumberOfData カウンターで行う。NumberOfData カウンターはデータの書き込みの度にインクリメントされる。ただし、16 になった状態では、CountUp 信号が発行されてもそれ以上インクリメントしない。また、データの読み出しの度にデクリメントされる。この値が 0 であるか比較することで EMPTY 信号を生成している。また、Channel Buﬀer の特性上 FULL 信号は必要ないので FULL 信号生成回路は実装していない。

第3章

VME-EASIROC ボードの仕様
DIN

DIN
WE

66
DOUT

DOUT
RE

WE
WADDR

RADDR

SRAM
CountUpCountUp

Wptr

Rptr

CountUpCountDown

NumberOfData
Counter

=0 ?

EMPTY

図 3.33 Channel Buﬀer のブロックダイアグラム。基本的な構成は同期式 FIFO であるが、16hit 分以上のデータが書き込まれた場合には最も古いデータが上書きされる。

Channel Buﬀer は同一クロックドメイン間のデータ転送に使用するため、DoubleBuﬀerに実装したようなクロックドメインをまたぐための回路は必要ない。

3.3.3.3 MHTDC Builder
MHTDC Builder は 64 ch の MHTDC Channel Buﬀer からデータを逐次的に読み、それを DoubleBuﬀer に格納するモジュールである。MHTDC Builder のブロックダイア
グラムを図 3.34 に示す。

MHTDC Builder の動作を説明する。まず、MHTDC Channel Buﬀer からの入力と CommonStop 信号受信時のカウントとの差を求め、それが Time window 内に入っているかを検証する。Time window 内に入っている場合は DoubleBuﬀer に対して書き込みを行う。これらの信号の制御は FSM によって行われる。図 3.35 に FSM のス
テート遷移を示す。初期状態は IDLE 状態である。COMMON_STOP 信号の受信によって FSM は動作を開始する。あるチャンネルのデータが空でなく、尚且つ Timewindow 内に収まっている限り、READ_DATA 状態と WRITE_DATA 状態の間を遷移することで MHTDC Channel Buﬀer からのデータの読み出しと Double Buﬀer への書き込みを行う。そのチャンネルの有効データがなくなった場合は NEXT_CHANNEL状態になり、Channel Counter をインクリメントすることで次のチャンネルのデー
タを読む。また、最終チャンネルに有効データがない場合は WRITE_FOOTER 状
態、WRITE_DATA_SIZE 状態に移行し、フッター及びデータサイズの書き込みを行う。その後は必要に応じて WAIT_FULL 状態で Double Buﬀer の FULL が解除されるのを待ち、WRITE_COMPLETE 状態で Double Buﬀer に対して 1 イベントの書き込みが完了したことを通知する。FAST_CLEAR を受信した場合は、IDLE 状
態、WRITE_COMPLETE 状態以外では直ちに IDLE 状態に移行する。IDLE 状態、

WRITE_COMPLETE 状態では、一旦 CLEAR 状態に移行し DoubleBuﬀer に対して

第3章

VME-EASIROC ボードの仕様

67

DIN[0]
DIN[1]DOUT

DIN[63]

InTimeWindow?
CountUpWADDRCounter

COMMON̲STOP
COUNT

WADDR

CountClear

TIME̲WINDOWEMPTY[0]EMPTY[1]EMPTY[63]ChannelCounterCountUpCountClear

COMMON̲STOP
FAST̲CLEAR
BUSY

WE
FSM

WCOMP
FULL
DEC̲WPTR

図 3.34 MHTDC Builder ブロックダイアグラム。MHTDC Channel Buﬀer からの hit 情報と COMMON STOP 信号受信時の時間情報との差を求め TimeWindow
内か否かを検査する。TimeWindow 内の hit 情報のみを DoubleBuﬀer に対して書き込む。

DEC_WPTR 信号を発行することで以前に書き込んだイベントの消去を行う。そしてその後は IDLE 状態に移行しトリガー待ち状態となる。

MHTDC のデッドタイムは、この MHTDC Builder が決める。MHTDC Builder の
BUSY 時間は有効データ数によってことなる。
あるチャンネル c の有効データ数を dc とすると、そのチャンネルのデータ処理に必要なクロックサイクル数は 2(dc + 1) + 1 clockcycle である。また、1 イベント毎に必要なクロックサイクル数は 3 clockcycle である。ただし、これには Double Buﬀer の FULL
解除待ち時間は含まれていない。よって全 64 ch のデータを読むために必要なクロックサ

第3章

VME-EASIROC ボードの仕様

68

CLEAR
FAST̲CLEAR = 1
FAST̲CLEAR = 0&
COMMON̲STOP = 0

IDLE

FAST̲CLEAR = 0&
COMMON̲STOP = 1

FAST̲CLEAR = 1

READ̲DATAFAST̲CLEAR = 0

FAST̲CLEAR = 0&
InTimeWindow? = 1&
EMPTY = 0

FAST̲CLEAR = 0

WRITE̲DATA
FAST̲CLEAR = 0&
InTimeWindow? = 0 or EMPTY = 1&
Channel ≠ 63

FAST̲CLEAR = 0&
InTimeWindow? = 0 or EMPTY = 1&
Channel = 63NEXT̲CHANNELWRITE̲FOOTER
FAST̲CLEAR = 0

WRITE̲DATA̲SIZE

FAST̲CLEAR = 1

FAST̲CLEAR = 0

FAST̲CLEAR = 0&
FULL = 1
FAST̲CLEAR = 0&
WAIT̲FULL
FULL = 1
FAST̲CLEAR = 0&
FULL = 0

FAST̲CLEAR = 0&
FULL = 0

WRITE̲COMPLETE
図 3.35

MHTDC Builder の ス テ ー ト 遷 移 。COMMON STOP 信 号 受 信 後 、READ_DATA 状態にて Channel Buﬀer からデータを読み、WRITE_DATA 状
態で DoubleBuﬀer への書き込みを行う。1 チャンネル分のデータを読み尽くした後は NEXT_CHANNEL 状態に遷移し、次のチャンネルのデータの読み込み準備を行う。全チャンネルのデータを読んだ後はフッターとデータサイズを DoubleBuﬀer に書き込み、DoubleBuﬀer の FULL 解除を待った後 WRITE_COMPLETE 信号を
DoubleBuﬀer に発行する。

第3章

VME-EASIROC ボードの仕様

69

イクル数は、
63
63∑∑{2(dc + 1) + 1} + 3 = 2
dc + 195 clockcycle
c=0

c=0

である。MHTDC Builder は 125 MHz のクロックで駆動されているため、1 clockcycleの時間は 8 ns である。よって全チャンネルを読むために必要な時間は、

16

63
∑

dc + 1560 ns

c=0

である。

3.3.3.4 multi-hit 分離能VME-EASIROC に実装されている TDC は MHTDC であるため、1 つのイベント中に複数の立ち上がりエッジ、立下りエッジの情報が記録される。しかし、あるパルス信号
から次のパルス信号の間の時間差が短過ぎる場合にはエッジの検出ができず、複数のパル
ス信号が繋がった信号として記録されてしまう。
図 3.36 上に示す信号は連続する 2 つのパルス信号である。①から④までの 4 つのエッジが存在している。しかし、②から③までの時間差が非常に短い場合はこれら 2 つのエッジの検出ができず、①と④のエッジのみが検出される。結果として、図 3.36 下に示すような 1 つの長いパルスとして記録される。

1

2

3

4

図 3.36 MHTDC によって時間間隔の狭い 2 つのパルスが統合される様子。②と③の時間間隔が狭い場合には 1 つのパルスとして検出されてしまう。

なぜこのようなことが起こるのかを説明する。図 3.37 に FineCounter に幅の短い(∼ 2 ns) パルスが入力された場合のタイミングチャートを示す。図 3.29 で示した場合とは異なり、Stage0 の 4 つの DFF がすべて 1 になる前に DIN が 0 に戻っている。そのため、Stage1 が F になることはなく、このパルスの立ち上がりエッジは無視される。また、
図 3.38 に示すように負極性のパルスを入力した場合も幅が短い場合は立ち上がりエッジの検出を行うことができない。負極性のパルスを入力した場合は Stage1 が F になるが、

第3章

VME-EASIROC ボードの仕様

70

F になる直前の値が表 3.8 のいずれの場合にも該当しない。そのため、このステート遷移
はノイズを判断され、FineCounterDecoder が HIT_FIND 信号を出力することはない。

250 MHz 0°
250 MHz 90°
250 MHz 180°
250 MHz 270°
DIN
Stage0[3:0]0Stage1[3:0]

2

6

4

0

0

6

0

図 3.37 FineCounter に幅の短いパルスが入力された場合のタイミングチャート (正極性のパルス)。パルスの幅が短いために State1 の出力が F になる前に 0 になってしまっている。

250 MHz 0°
250 MHz 90°
250 MHz 180°
250 MHz 270°
DIN
Stage0[3:0]Stage1[3:0]

F

D

F

9

B

F

9

F

図 3.38 FineCounter に幅の短いパルスが入力された場合のタイミングチャート (負極性のパルス)。パルスの幅が短いために Stage1 の出力が 0 になる状態が存在しない。

以上の議論から FineCounter で幅の短い正極性パルスの立ち上がりを検知しようとした場合は、Stage1 の出力が F になるまで DIN を 1 に維持する必要がある。パルスの立ち上がりから Stage1 の出力が 1 になるまでの必要な時間は図 3.30 に示す 4 つの領域の中のどの領域においてパルスが立ち上がるかによって異なる。最も厳しい条件が課せられる場
合は 250 MHz 0◦ のクロックの立ち上がり直後に DIN が立ち上がった場合であり、この第3章

VME-EASIROC ボードの仕様

71

場合は 8 ns 以上のパルス幅が要求される。最も緩い条件が課される場合は 250 MHz 0◦のクロックの立ち上がり直前に DIN が立ち上がった場合であり、この場合は 4 ns 以上のパルス幅が要求される。その他の場合については表 3.9 に示す。
表 3.9

DIN の立ち上がりが属する領域と要求される最小パスル幅の関係。

DIN の立ち上がりが属している領域

立ち上がりを検出するために必要な最小パルス幅①

7 ∼ 8 ns②

6 ∼ 7 ns③

5 ∼ 6 ns④

4 ∼ 5 ns

また、250 MHz のクロックと DIN が独立しているという仮定の下では、DIN のパル
ス幅とパルスの検出率は図 3.39 に示す関係に従う。

検出率 (%)
100
75
50
25
0
0

4

8

12

DINのパルス幅 (ns)

図 3.39 DIN のパルス幅をパルスの立ち上がりの検出率の関係パルス幅が短くなるに
つれ検出率が下がる。パルスを確実に検出するためには最低でも 8 ns のパルス幅が必要である。

このことは負極性のパルスを入力した場合においても成り立つ。
ここで、2 つの連続するパルス信号が存在した時にそれらのパルスが 2 つのパルスとして認識されるために十分なパルス同士の時間間隔を multi-hit 分離能として定義する。この値が小さいほうが MHTDC の性能が良いということを意味している。
上記の考察が妥当であれば、この方式によって作られた MHTDC の multi-hit 分離能は 8 ns である。

第3章

VME-EASIROC ボードの仕様

3.3.4 データ収集モジュール
データ収集モジュールは Gatherer モジュールと Sender モジュールからなる。

Gatherer モジュールは TriggerManager モジュールから L2 トリガーを受け取ることで処理を開始する。Gatherer モジュールは先ず、各モジュールの DoubleBuﬀer に格納されているワード数の合計を求める。さらに、求めた全ワード数に L2 トリガー信号と同時に TriggerManager モジュールが発行するイベントタグ情報を併せてイベントヘッダーを作成する。そして、そのイベントヘッダーを Sender モジュールに送信する。その後は各 DoubleBuﬀer からのデータを逐次的に読み Sender モジュールに送信する。

Sender モジュールは Gatherer と SiTCP との間のバッファー機能及び 32 bit から 8bit
へのワード数変換機能を持っている。Sender モジュールは幅が 32 bit の同期式 FIFO とシリアライザーからなっている。Sender モジュールが受信したデータは FIFO に書き込まれる。シリアライザーは FIFO から 32 bit のデータを読み出し、それを 8 bit データ 4
つにシリアライズして SiTCP モジュールに送信する。SiTCP に送信する際には 8 bit の送信を 4 回連続して行う。SiTCP が発行する FULL 信号は実際には ALMOST_FULL
信号であり、FULL 信号が発行されてから 4 clockcycle 以内に書き込みを中止すればよい。このため 4 回連続した書き込みの最中で FULL 信号が発行されても問題になることはない。

3.3.5 トリガー管理モジュール
トリガー管理モジュールは外部からのトリガー情報を受け取り、それを各モジュールに配布するモジュールである。BUSY 信号、HOLD_TO_EASIROC 信号の管理もこのモジュールによって行われる。また、外部からのクロックに同期していない信号を内部のクロックに同期させる機能も持つ。トリガー管理モジュールのブロックダイアグラムを
図 3.40 に示す。このモジュールは 500 MHz のクロックで駆動されている。
トリガー管理モジュールに入力される信号の多くはクロックに同期していないため、必要に応じてクロックに同期させる処理を行う。非同期信号をクロックに同期されるためには図 3.21 の Synchronizer 回路を使用する。また、信号の立ち上がりエッジを検出するための EdgeDetector 回路 (図 3.41) を用いる。この回路の入力信号が立ち上がった
タイミングでクロックサイクルの信号が出力される。クロックへの同期化と立ち上がり
エッジ検出を同時に行うための SynchEdgeDetector 回路 (図 3.42) も用いる。この回路
は Synchronizer 回路の後段に EdgeDetector 回路の接続させたものである。
ト リ ガ ー 管 理 モ ジ ュ ー ル に 入 力 さ れ る ト リ ガ ー 信 号 で あ る 、HOLD 信 号 、

72

第3章

VME-EASIROC ボードの仕様

73

EdgeDetector

DAQ̲MODE?

Reset

HOLD

Synch
EdgeDetector

L1̲TRIGGER

Set

Synch
EdgeDetector

1

Synch
EdgeDetector

FAST̲CLEAR

Synch
EdgeDetector

ADC̲BUSY

Set

Delayer

Synchronizer

TDC̲BUSY

FSM

BUSY

RS FF

HOLD̲NReset

0

L2̲TRIGGER

RS FF

EdgeDetector

Inter-clock
Trigger

ADC̲TRIGGER

Inter-clock
Trigger

TRANSMIT̲STARTInter-clock
Trigger

ADC̲FAST̲CLEAR

Inter-clock
Trigger

TDC̲FAST̲CLEAR

COMMON̲STOP̲OUT

COMON̲STOP

図 3.40 トリガー管理モジュールブロックダイアグラム。外部からのトリガー情報はこのモジュールによって管理され、各モジュールに分配される。Busy 状態では Hold
信号をマスクしているために Busy 状態での Hold 信号は無視される。DAQ モードでないときには Hold 信号は内部の Gate Generator によって 2 µs の時間幅に引き伸ばされ出力され、DAQ モードでは ADC の変換完了まで Hold 信号が保持される。各モ
ジュールは独自のクロックドメインで動作しているために、トリガー信号の受け渡しには Inter-clock Trigger 回路を用いる。

DIN

DFF

DFF

DOUT

図 3.41 EdgeDetector 回路図。DIN が立ち上がったタイミングで 1 クロック周期の幅のパルスを出力する。

DIN
図 3.42Synchronizer

EdgeDetactor

DOUT

SynchEdgeDetector 回路図。EdgeDetector と Synchronizer を組み合わせ

ることによって、非同期信号の立ち上がりエッジを検出する。

第3章

VME-EASIROC ボードの仕様

74

L1_TEIGGER 信号、L2_TRIGGER 信号、FAST_CLEAR 信号は DAQ_MODE?信号でマスクをかけた後に、SynchEdgeDetector 回路によって同期化とエッジ検出が行われて FSM に入力されている。また、HOLD 信号は BUSY 信号の否定によってもマスクされているため、BUSY 信号が出力されている期間 HOLD 信号は無視される。

BUSY 信号と HOLD_TO_EASIROC 信号の管理は図 3.43 に示す同期型リセット優
先 RS FF 回路によって行われる。この回路に RESET 信号が発行された際には出力が Lになり、SET 信号が発行された際には出力が H になる。RESET 信号、SET 信号のどちらも発行されていない状態では以前の出力を保持する。また、RESET 信号、SET 信号の両方が発行された際には RESET 信号が優先され、出力は L になる。

RESET

DFF

DOUT

SET

図 3.43 リセット優先 RS フリップフロップ回路図。SET 信号によって出力が 1 になり、RESET 信号によって出力が 1 になる。両方の信号が同時に発行された場合は

RESET 信号が優先される。

BUSY 信号は HOLD 信号の受信によって H になり、FSM からの BUSY 解除信号によって L になる。また、DAQ_MODE を抜けた際にも L になる。これは、DAQ_MODE?
信号の否定を EdgeDetector 回路に入力することで立下りエッジを検出することによって実現している。

HOLD_TO_EASIROC 信号は BUSY 信号と同様に HOLD 信号によって H になる。L になるタイミグは DAQ_MODE であるか否かによって異なる。DAQ_MODE
である時には FSM からの BUSY 解除信号によって解除される。DAQ_MODE でな
い時には HOLD_TO_EASIROC 信号自身の立ち上がりエッジを図 3.44 に示す De-layer によって一定時間遅らせて HOLD_TO_EASIROC 信号の解除信号としている。
Delayer 回路でカスケード接続されている DFF の数は 100 個であるため、この時のHOLD_TO_EASIROC 信号の幅は、
100= 2 µs500 MHzである。HOLD_TO_EASIROC 信号は 500 MHz のクロックに同期しているため、HOLD 信号の立ち上がりから HOLD_TO_EASIROC 信号の出力までは、最大で 2 nsのずれが生じる可能性がある。しかし、EASIROC の SlowShaper の Shaping time が数
十ns 程度であるため、このずれは問題ない。

第3章

VME-EASIROC ボードの仕様
DIN

DFF

DFF

75

DFF

DFF

DFF

DOUT

図 3.44 Delayer 回路図。多数の DFF を直列に接続することで信号を遅らせる。遅らせる時間は DFF の段数によって調節する。

FSM は ADC モジュール、TDC モジュールに対して TRIGGER 信号、FAST_CLEAR
信号を生成する。これらの信号は 500 MHz のクロックに同期しているため、各モジュー
ルに応じたクロックに同期させる必要がある。クロックドメインを超えてトリガー信号を伝達させるためには、図 3.45 に示す InterclockTrigger 回路を使用する。この回路は CLK_IN 信号に同期したパルス信号を TRIGGER_IN から入力することで、TRIGGER_OUT から CLK_OUT に同期したパルス信号が出力される回路である。
CLK_IN と CLK_OUT の周波数がいかなる周波数であってもトリガー信号の伝達を行うことができる。TRIGGER_IN からの入力は一度 RS FF によってラッチされる。この RS FF の出力は CLK_OUT 信号と CLK_IN 信号によって駆動されている

Synchronizer 回路を経由してセルフリセット信号を生成する。Synchronizer が 2 つのクロックドメインにまたがっているために、後段の EdgeDetector 回路が CLK_IN と

CLK_OUT の周波数に依らず、確実に信号を取り込めることが保障されている。

TRIGGER̲IN

Set

Reset

Synchronizer

EdgeDetector

TRIGGER̲OUT

RS FF

Synchronizer
CLK̲IN Domain

CLK̲OUT Doomain

図 3.45 Inter-clock Trigger 回路図。異なるクロックドメインにトリガー信号を送信するための回路。入力されたトリガーは RS FF によって保持され、2 つのSynchronizer を通した後に自己 Reset される。これにより確実に CLK_OUT ドメイ
ンに信号が送信されることが保証される。また、出力には EdgeDetector 回路が含まれているために出力パルスの幅は 1 CLK_OUT 周期になる。

トリガー管理モジュールのステート遷移を図 3.46 に示す。初期状態は IDLE 状態である。IDLE 状態である時に Hold 信号を受信することで SEND_ADC_TRIGGER 状態に遷移し、ADC モジュールに対してトリガー信号を発行する。HOLD_RECEIVED 状態では L1Trigger 信号を待ち、L1Trigger 信号の受信によって L1_RECEIVED 状態に遷移す第3章

VME-EASIROC ボードの仕様

76

る。L1_RECEIVED 状態では L2Trigger 信号または FastClear 信号を待つ。L2Trigger
信号を受信した場合は WAIT_GATHERER_BUSY 状態に遷移し、GathererBusy 信号の解除を待つ。以前のイベントがまだ DoubleBuﬀer から読み切れていない場合にはGathererBusy 信号が発行されるため、この GathererBusy 待ちによって今回取得したイベントを Gatherer モジュールが処理する準備ができたことが保障される。その後は SEND_TRANSMIT_START 状態で Gatherer モジュールに対して転送命令を発行し、WAIT_ADC_TDC_BUSY 状態に遷移する。WAIT_ADC_TDC_BUSY 状態
では ADC モジュールと TDC モジュール両方の BUSY の解除を待つ。双方の BUSYが解除されると次のイベントの受け入れが可能な状態であることが保障されるため、

RESET_BUSY 状態に遷移して BUSY 信号の解除を行う。また、L1_RECEIVED 状態
で FastClear 信号を受信した場合は CLEAR 状態に移行し、ADC モジュールと TDC モ
ジュールに FAST_CLEAR 信号の送信を行う。その後は WAIT_ADC_TDC_BUSY
状態に遷移し、両モジュールの再初期化が完了されるのを待つ。これらのステート遷移からトリガー信号の順序が異常であった場合は、無視されることがわかる。

IDLE

Hold = 0

Hold = 1

SEND̲ADC̲TRIGGER
HOLD̲RECEIVED
L1Trigger = 1

L1̲RECEIVED

L1Trigger = 0
L2Trigger = 0&
FastClear = 0

L2Trigger = 1&
FastClear = 0

FastClear = 1

WAIT̲GATHERER̲BUSY

GathererBusy = 1

CLEAR

GathererBusy = 0

SEND̲TRANSMIT̲START

WAIT̲ADC̲TDC̲BUSY

AdcTdcBusy = 1

AdcTdcBusy = 0

RESET̲BUSY
図 3.46 トリガー管理モジュールステート遷移図。各種トリガー信号が正規の順で受信された時のみステートが遷移する。

第3章

VME-EASIROC ボードの仕様

3.3.6 StatusRegister モジュール
StatusRegister モジュールは RBCP バスから DAQ_MODE の切り替えを行うモジュールである。また、取得するデータの種類を ADC と TDC 両方、ADC のみ、TDC
のみの 3 種類から切り替えることができる機能も有している。

RBCP バスからの信号は RBCP Receiver モジュールによって内部の 8 bit レジスタに格納される。このレジスタの出力が各モジュールに配布されることによって各モジュールが動作を変える。

3.3.7 SiTCP モジュール
SiTCP モジュールは VME-EASIROC から PC へのデータ転送を行うためのモジュールである。データ転送には TCP 通信を使用する。また、Internet Control Message

Protocol (ICMP) にも対応しているため、必要に応じて PC から ping コマンドを利用して VME-EASIROC がネットワーク上に存在しているかを確認することができる。TCP
通信を行うためのポートは他のモジュールから見ると FIFO のインターフェースと同様に見える。他のモジュールは 8 bit の幅の FIFO に書き込むのと同様の方法で TCP 通信をすることができる。また、TCP 通信とは別に RBCP 通信というバス通信を利用することもできる。RBCP 通信はシンプルなバス通信機能を提供する。データバスは 8 bit、ア
ドレスバスは 32 bit である。TCP 通信と比較すると通信得度は遅いが、多くのモジュールを簡単にバス上に接続させることができる。

3.3.8 SlowControlController モジュール
SlowControlController モジュールは EASIROC の SlowControl IF を制御するためのモジュールである。RBCP 通信を経由して受信したデータを内部の 8 bitFIFO に格納
し、START 信号が受信されたタイミングでそのデータをシリアライズして EASIROCに転送する。START 信号は RBCP バスの特定のアドレスにデータを書き込むことで発行できる。

3.3.9 ReadRegisterController モジュール
ReadRegisterController モジュールは EASIROC の ReadRegister IF を制御するためのモジュールである。基本的な構成は SlowRegisterController と同じである。ReadReg-

ister IF は ADC モジュールからも制御されることがあるため、DAQ_MODE によって

77

第3章

VME-EASIROC ボードの仕様

どちらのモジュールが ReadRegister IF の制御の行うかを切り替える。

3.3.10 SelectableLogic モジュール
SelctableLogic モジュールは EASIROC の Discri out をフロントパネルから出力するモジュールである。Discri out 信号は 2 つの EASIROC chip で合計 64 ch ある。さらに、EASIROC chip1 つ分のチャンネルすべての OR 信号である OR32U 信号、OR32D
信号、EASIROC chip 2 つ分のチャンネルすべての OR 信号である OR64 信号を出力することもできる。どのチャンネルの信号を出力するか RBCP 通信を用いて決定することが出来る。

3.3.11 SPI FLASH Programmer モジュール
SPI FLASH Programmer モジュールは FPGA のコンフィグ用 SPI FLASH ROM[39]に回路情報を書き込むためのモジュールである。SPI FLASH の書き換えには Xilinx 製のダウンロードケーブル (図 3.47) を用いて行うこともできるが、この方法は書き込み対象のボードにダウンロードケーブルを接続する必要がある。書き込み対象のボードが多くなった時には書き込むための時間と手間が多く必要になってしまう。SPI FLASH

Programmer モジュールを使用することで SiTCP の RBCP バスを用いて書き込みを行うことが出来るので、Ethernet ケーブルの接続のみでファームウェアの書き換えを行うことができる。また、書き込みに必要な時間そのものもダウンロードケーブルを用いた場合と比較して短い。さらに、この書き換え方法は複数のボードを並列して書き換えることも可能である。表 3.10 にこれらの 2 つの書き換え方法の比較をまとめる。

図 3.47 Xilix platform cable の写真。

SPI FLASH Programmer は先ず SPI FLASH からデバイスに固有の JEDEC ID を読み取る。この JEDEC ID には SPI FLASH のメーカーコード、製品シリーズコード、デバイスの容量などが含まれている。JEDEC ID を元に SPI FLASH Programmer は各デバイスに応じて送るコマンドを切り替える。
その後は SPI FLASH に対して Erase、Write、Verify の各コマンドを順に送る。Writeの前に Erase を行うのは SPI FLASH が内部で FLASH Memory を使用しているためで

78

第3章

VME-EASIROC ボードの仕様

79

表 3.10 ダウンロードケーブルと SPI FLASH Programmer の書き換え方法の比較。

SPI FLASH Programmer

ダウンロードケーブル

対応 OS

Windows

Windows, Linux, Mac OS

書き換え時間

1:22

8:00

並列書き換え○×

書き換えに使用する IF (ボード側)

Ethernet & SiTCP

JTAG

書き換えに使用する IF (PC 側)

ソケット通信USBある。FLASH Memory は一般的には 256 bit のページと呼ばれる単位でビットの 1 を 0にすることができる。しかし、ビットの 0 を 1 にするためにはページよりも大きいセク
ターと呼ばれる単位でしか行うことできない。そのため、Write の前に SPI FLASH を書き換えるときには、前もって書き換えたい領域が属するセクターに対して Erase コマンドを送る必要がある。書き込みを行った後は SPI FLASH の内容を Read コマンドを用いて PC 内のデータと突き合わせる (Verify)。その結果 PC 内のデータと一致することが分
かれば書き込み成功とする。

3.3.12 ClockManager モジュール
ClockManager モジュールは FPGA 外部の水晶振動器の 50 MHz のクロック信号から
FPGA 内部で使用されるクロックを生成するためのモジュールである。ClockManager
モジュールのブロックダイアグラムを図 3.48 に示す。また、それぞれのクロックの用途を表 3.11 に示す。
IBUFG
EXT̲CLK̲50M

BUFG
CLK̲IN

25M

25M

25M

BUFG

MMCM

250M̲0250M̲0

66M

66M

250M̲90

250M̲90

6M

6M

250M̲180

250M̲180

250M̲270

250M̲270

MMCM
BUFG
3M
DFF

125M

125M

500M

500M

図 3.48 ClockManager モジュールブロックダイアグラム。50 MHz の入力クロック
から各モジュールで使用するためのクロックを生成する。異なる MMCM によって生成されているクロック同士には同期関係がない。

第3章

VME-EASIROC ボードの仕様

80

表 3.11 クロックの用途。

クロックの種類

用途

500 MHz

TriggerManager

250 MHz 0◦ 、250 MHz 90◦ 、250 MHz 180◦ 、

MHTDC

◦

250 MHz 270 、125 MHz
25 MHzSiTCP、Gatherer、Sender

66 MHzSPI FLASH Programmer

6 MHz、3 MHz

ADC、SlowControl、ReadRegister

ClockManager モジュールは 2 つの MMCM からなっている。1 つ目の MMCM は
外部クロック 50 MHz から、25 MHz、250 MHz 0◦ 、250 MHz 90◦ 、250 MHz 180◦ 、

250 MHz 270◦ 、125 MHz、500 MHz のクロックを生成する。これらのクロックは同一の MMCM から生成されているために同期関係にある。
外部クロックに接続されている IBUFG は外部からのクロック信号を MMCM に接続するためのバッファである。また、各出力クロックに接続されている BUFG は

ClockNetwork に接続するためのバッファである。
2 つめの MMCM では 25 MHz のクロックから、25 MHz、66 MHz、6 MHz のクロックを生成している。3 MHz のクロックは MMCM で生成できるクロックの周波数の下限を下回っているために DFF を用いて 6 MHz のクロックを分周して生成している。1 つ目の MMCM から 2 つめの MMCM を接続している信号線のタイミング解析を行うことができないために、これらのクロックは 1 つめの MMCM で生成したクロックと同期関係にない。
実際には表 3.12 に示すようなクロックグループに分けて、各グループ内のパスのみを対象にタイミング解析を行った。グループ 1 に所属しているクロックは MMCM にしか接続されていないため、実質的に 3 つのグループに分けられている。
表 3.12 クロックグループ。

クロックグループ名

属しているクロックグループ 1

EXT_CLK_50M

グループ 2500 MHz、250 MHz 0◦ 、250 MHz 90◦ 、
250 MHz 180◦ 、250 MHz 270◦ 、125 MHz

グループ 325 MHz、6 MHz、3 MHz

グループ 4

66 MHz81

第4章

VME-EASIROC 単体での性能評価
本章ではテスト電荷も用いた VME-EASIROC ボードの性能評価について述べる。最初にテストを行うための回路について述べ、その後 ADC、MHTDC、データ転送モジュー
ルの各モジュールについてのテスト結果について述べる。

4.1 テスト項目
以下に本テストにおいてテストした項目述べる。

PreAmp Gain
EASIROC は PreAmp Gain を切り替えることで広いダイナミックレンジを達成している。本試験では、テスト電荷を入力し、EASIROC の PreAmp Gain の設定値を変えた際の応答を測定する。

S/N 比の shaping time 依存性
EASIROC の shaping time を変化させることによって、ピーキングタイムだけでなく、整形増幅後の波形の波高も変化する。また、整形増幅後の波形のベースラインのノイズも変化する。本試験では、テスト電荷を入力し、shaping time が S/N比に与える影響について測定する。

MPPC を接続した際の S/N 比
本試験では、MPPC を VME-EASIROC に接続し、LED からの微少光を MPPCに入射する。400 pixel 及び、100 pixel の MPPC の 1 p.e. に対する S/N 比を

PreAmp Gain、shaping time を変化させながら測定した。
クロストーク
本試験では、あるチャンネルに大量の電荷が VME-EASIROC に入力された時の隣接するチャンネルに対する影響を測定した。

第4章

VME-EASIROC 単体での性能評価

EASIROC 内蔵 Discriminator の時間分解能
本試験では、テスト電荷を入力し、EASIROC に内蔵されている Discriminator の
時間分解能を、外部の TDC にて測定した。入力した電荷量は 1 p.e. 及び、20 p.e.
である。20 p.e. は MIP 粒子がファイバーを通過した際の検出光子数に相当する。

MHTDC 単体の時間分解能
本試験では、FPGA 内に実装した MHTDC 単体の時間分解能の測定を行った。測定をする際には EASIROC 内蔵 Discriminator の影響を受けないよう、フロント
パネルの NIM IO から信号を入力した。

VME-EASIROC の時間分解能
本試験では、VME-EASIROC に対してテスト電荷を入力し、EASIROC 内蔵のDiscriminator で波高弁別した信号を FPGA 内蔵の MHTDC において測定した。
入力した電荷量は 1 p.e. 及び、20 p.e. である。

multi-hit 分離能MHTDC は 2 つの連続する入力パルスの時間間隔が短くなると、1 つのパルスと認識してしまう。本試験では、2 つの連続するパルスの間隔と、それらのパルスが2 つのパルスとして検出される割合の関係を測定した。
デッドタイムのデータ転送レート依存性

VME-EASIROC のデッドタイムは典型的な場合では 12 µs である。だが、DAQの下流部においてデータ転送に時間がかかってしまう場合においてはこの限りではない。本試験では、データ転送レートを変化された時の、デッドタイムの振る舞いを測定した。

4.2 テスト方法
4.2.1 ファンクションジェネレーターから電荷を注入する場合
図 4.1 にファンクションジェネレーターから電荷を直接注入する場合のテスト回路を示す。
ファンクションジェネレーターからのパルス波をコンデンサーで AC 結合することでVME-EASIROC の MPPC 入力ピンに対して電荷を注入する。パルス波の波高を V 、コンデンサーの静電容量を C とすると注入される電荷 Qinj は、Qinj = CVで あ る 。コ ン デ ン サ ー の 静 電 容 量 を 10 pF と 100 pF で 切 り 替 え る こ と に よ っ て

EASIROC chip のダイナミックレンジ全体の相当する領域の電荷を注入することが

82

第4章

VME-EASIROC 単体での性能評価

83

Capacitor
10 pF or 100 pF

Function
Generator

VME-J0 Bus
MPPC in

Sync

VME-EASIROC
TTL to NIM

Gate
Ganerator

Delay

CommonStop

Delay

VETO
Hold

ReceiverModuleLAN Cable x 2

L1Trigger

Delay

L2Trigger
Busy

図 4.1

MasterTriggerModuleファンクションジェネレーターからのテスト電荷を用いたテスト回路。ファンクションジェネレーターからのテストパルスを用いて VME-EASIROC にテスト電荷を入力する。

できる。
ま た 、型 番 S10362-11-050C の MPPC を 用 い て 光 子 1 つ を 受 光 し た 際 に VME-EASIROC に注入される電荷量を 1 p.e. と定義する。
ファンクションジェネレーターからのパルス波は時間幅、波高、周波数を調整することができる。表 4.1 に使用したファンクションジェネレーターである KEITHLEY 3390 の仕様を示す。
表 4.1 KEITHLEY 3390 の仕様。

項目

設定可能な値

周波数

500 µHz ∼ 10 MHz

出力電圧−5 V ∼ 5 V

最小パルス幅20 ns

立ち上がり時間

5 ns

出力インピーダンス

1 Ω ∼ 10 kΩ

パルス波の時間幅は EASIROC の SlowShaper 時定数よりも十分に長い時間である

1 µs に設定した。これはパルス波の立ち上がりで正電荷が注入され、パルス波の立下りで負電荷が注入されるためである。パルス波の時間幅が短い場合は、これら 2 つの波が重なってしまい、注入される電荷量が計算値からずれてしまう。また、パルス波の周波数はVME-EASIROC から PC へのデータ転送量を考慮して 1 kHz に設定した。

第4章

VME-EASIROC 単体での性能評価

84

ファンクションジェネレーターからはパルス波に同期した Sync 信号が出力されている。この信号を利用してトリガー信号を生成する。Sync 信号は TTL レベルで出力されているため、先ず TTL から NIM へのレベルコンバーターで NIM レベルに変換する。
その後、その信号を適度に遅らせた信号を Hold 信号、CommonStop 信号、L1Trigger
信号、L2Trigger 信号としている。Hold 信号の Delay は SlowShaper の出力をオシロ
スコープで確認しながら SlowShaper 出力が最大値に達するタイミングで Hold 信号が入力されるように設定した。Hold 信号から CommonStop 信号を生成する Delay は

900 ns に設定した。CommonStop 信号は L1Trigger 信号と同じ信号を使用している。
CommonStop 信号から L2Trigger 信号を生成する Delay は 10 µs に設定した。また、MasterTriggerModule からの Busy 信号は TTL レベルから NIM レベルへの信号変換器の直後のゲートジェネレーターによって処理している。図 4.2 にこれらの信号のタイミン
グチャートを示す。

MPPC in
Hold
CommonStop
L1Trigger
L2Trigger
900 ns10 μs

図 4.2 テスト環境に入力する信号のタイミングチャート。MPPC input への信号が入力された 900 ns 後に CommonStop 信号が入力され、その 10 µs 後に L2Trigger が入力される。

4.2.2 LED からの微少光を MPPC に入射する場合
LED からの微少光を MPPC に入力してそれをテストする場合の回路図を図 4.3 に示す。基本的な回路は図 4.1 と同じであるが、VME-EASIROC へ信号を入射する部分がLED と MPPC になっている。ファンクションジェネレーターからの信号によって LEDが発光する。LED からの微少光は MPPC に入射し VME-EASIROC へのアナログ信号を生成する。LED からの微少光は光子数個程度になるようにファンクションジェネレー
ターの波形を調節した。
トリガー信号生成部は図 4.1 の回路と同じである。

第4章

VME-EASIROC 単体での性能評価
LED

Function
Generator

85
VME-J0 Bus

MPPCMPPC in

Sync

VME-EASIROC
TTL to NIM

Gate
Ganerator

Delay

CommonStop

Delay

VETO
Hold

ReceiverModuleLAN Cable x 2

L1Trigger

Delay

L2Trigger
Busy

MasterTriggerModule

図 4.3 MPPC からの電荷を用いたテスト回路。MPPC に対して LED の微少光を入射することでテスト電荷の入力を行う。

4.3 波高測定に対する性能評価
本節では ADC を用いた波高測定に対する性能評価の結果について述べる。
各データの測定において、shaping time が 50 ns の場合と、175 ns の場合のデータを取得した。shaping time = 50 ns は実験室にて測定を行うときに、しばしば用いる条件である。また、shaping time = 175 ns は、EASIROC に設定可能な最長の shaping time
であり、ピーキングタイムが最も遅い条件である。そのため、J-PARC E40 実験において使用する予定の条件である。

4.3.1 PreAmp Gein の線形性
VME-EASIROC に対して図 4.1 の回路を用いて 1 p.e. の電荷を注入した。この時のADC チャンネルの平均値をプリアンプゲインを変化させながら取得した。
PreAmp のゲインは表 2.2 に示すように、PreAmp の帰還コンデンサの容量によって調節することができる。図 4.4 に HighGain 側の PreAmp のゲインを変化させた時の ADC
チャンネルと PreAmp ゲインの関係を示す。また、図 4.5 に LowGain 側のそれを示す。

PreAmp ゲインが設計値通りの値であるならばこれらのデータ点は直線になるはずである。LowGain 側は全領域を通して線形性の良い結果が得られているが、HighGain 側のプリアンプゲインは高い領域で飽和している。しかし、PreAmp ゲインは実験前にある

1 つの値に決め、実験中を通してその値を使用することになるため、実用上この線形性の悪さは問題にならない。

VME-EASIROC 単体での性能評価

880

86

ADC (ch)

ADC (ch)

第4章

860

762
760
758

840

756

820

754
800
752
780
0

20

40

60

80

100

120

140

160

PreAmg Gain

750
0

2

4

6

8

10

12

14

16

PreAmg Gain

図 4.4 HighGain 側の ADC チャンネルとプリアンプゲインの関係。プリアンプゲ
インの高い領域で ADC チャンネルが飽和しているが、J-PARC E40 実験中はプリア
ンプゲインを固定して実験を行うために、
実用上問題ない。

図 4.5 LowGain 側の ADC チャンネルとプリアンプゲインの関係。こちらもプリア
ンプゲインの高い領域での飽和が見られるが、HighGain 側と同様に実用上問題はない。

4.3.2 S/N 比の定義
MPPC に対して微少光を入射した状態で ADC のデータを取得し、ヒストグラムとして図示すると図 4.6 のようになる。ADC カウントのもっとも少ない部分のピークが光子
が 1 つも入射していないときのピーク (ペデスタル) である。そこから ADC カウントが大きくなるにつれて光子が 1 つ入射したときのピーク (1 p.e.)、光子が 2 つ入射したときのピーク (2 p.e.)、光子が 3 つ入射したときのピーク (3 p.e.)…が見られる。ペデスタルのピークの幅を σ 、ペデスタルと 1 p.e. の中心値の差を ∆Mean とする。この時に Signal

to Noise ratio (S/N 比) を次のように定義する。
S/N ratio =

∆Mean
σ

4.3.3 S/N 比の shaping time 依存性
VME-EASIROC に対して図 4.1 の回路を用いて 1 p.e. の電荷を注入した。この時のS/N 比をシェーピングタイムを変化させながら取得した。その結果得られたシェーピン
グタイムと S/N 比の関係を横軸をシェーピングタイム、縦軸を S/N 比として図 4.7 に示す。
シェーピングタイムが長い時に S/N 比が悪化するという結果が得られた。1 つの要因としてシェーピングタイムが短い時には外来ノイズの長周波成分が SlowShaper によって

第4章

VME-EASIROC 単体での性能評価

87

ΔMean

1 p.e. 2 p.e. 3 p.e.
Count

Pedestalσ

ADC(ch)
図 4.6 S/N 比の定義。S/N 比はペデスタルと 1 p.e. のピーク間隔とペデスタルのピークの幅の比によって定義される。

減衰される効果が考えられる。また、入力している電荷の量が同じ場合では、シェーピン
グタイムが長くなるにつれピーキングタイムが長くなり波高が低くなる。この効果によっ

S/Nてもシェーピングタイムが長い場合に S/N 比が悪化する。
40
35
30
25
20
15
10
5
0

20

40

60

80

100

120

140

160

180

Shaping time(ns)
図 4.7

S/N 比のシェーピングタイム依存性。シェーピングタイムが長くなることによって、波形成形後の波高が低くなり、ノイズが増すため S/N 比は悪化する。

4.3.4 MPPC を接続した際の S/N 比VME-EASIROC に MPPC を接続した際の Signal-to-Noise ratio (S/N 比) について測定した結果について述べる。テストには図 4.3 の回路を用いた。

第4章

VME-EASIROC 単体での性能評価

88

測定に用いた MPPC はピクセル数が 100 ピクセルの S10362-11-100C と 400 ピクセルの S10362-11-050C である。それぞれの MPPC の仕様を表 4.2 に示す。これらの MPPC
は MPPC 基板 (図 2.2) で使用している MPPC (表 2.1) と同じシリーズである。これらの違いはパッケージ、保存温度範囲、オペレーション温度範囲のみであり、それ以外の基
本特性は同じである。
表 4.2

S10362-11-100C と S10362-11-050C の仕様。

S10362-11-100C

S10362-11-050C

1 mm × 1 mm

有効受光面サイズ
ピクセル数

100

400

ピクセルサイズ

100 µm × 100 µm

50 µm × 50 µm

開口率

78.5%

61.5%
70 ± 10 V

動作範囲電圧
増倍率

2.4 × 106

パッケージ

7.5 × 105

セラミック

これらの MPPC に対して SlowShaper の時定数が 50 ns と 175 ns の場合、PreAmpのゲインが 75 と 37.5 の場合のそれぞれの組み合わせについて測定を行った。その結果のADC スペクトルを図 4.8 から図 4.15 に示す。
また、これらの結果について先に定義した方法に基づいて S/N 比を計算した結果を
表 4.3 に示す。直接ファンクションジェネレータからの電荷を注入した場合と同様に、

Shaping time が長い場合の方が S/N 比が悪化する傾向にある。Shaping time を 175 ns
から 50 ns に変化させた場合、直接電荷を注入した場合は S/N 比が約 10% に悪化する
が、MPPC を取り付けた場合は約 30% に悪化した。これは、ファンクションジェネレー
ターからの電荷注入と MPPC からの電荷注入での周波数成分の相違によるものである。
また、PreAmp ゲインが高い場合の方が S/N 比が良い。これは、PreAmp ゲインが高くなることによってペデスタルピークの中心値と 1 p.e. ピークの中心値との間隔が広くなるためである。PreAmp ゲインは 37.5 からその 2 倍の 75 に変化しているが、S/N 比の変化は 2 倍以下である。その 1 つの要因として、図 4.4 に示すように PreAmp ゲインの高い領域では PreAmp ゲインが飽和しているとこが挙げられる。さらに、信号のみならず外来ノイズまでも PreAmp が増幅してしまい、ペデスタルのピークの幅が広がる効果も要因として挙げられる。特に 400 ピクセル MPPC、Shaping time 175 ns の環境では最も外来ノイズが大きかったために、この影響を受けてしまい、逆に PreAmp ゲインが低い場合の方が S/N 比が良いという結果になった。
いずれの環境でも S/N 比は 2.2 以上であり、フォトンカウンティングを行うことがで

第4章

VME-EASIROC 単体での性能評価

89

CountsCounts

きる。

5000

2200
2000
1800
1600

4000

1400
1200

3000

1000
800

2000

600
400

1000

200
0
600

700

800

900

1000

1100

0
600

1200

700

800

900

1000

ADC (channel)

図 4.8 100 ピクセルの MPPC に LED の100 ピクセルの MPPC に LED の
微少光を入射したときの ADC スペクトル(Shaping time = 175 ns, Preamp gain =75)。

CountsCounts(Shaping time = 50 ns, Preamp gain =
75)。

8000
7000

4500
4000
3500

6000

3000

5000

2500

4000

2000

3000

1500

2000

1000

1000

500

0
600

1200

図 4.9

微少光を入射したときの ADC スペクトル

9000

1100

ADC (channel)

700

800

900

1000

1100

1200

0
600

700

図 4.10 100 ピクセルの MPPC に LED

800

900

1000

1100

1200

ADC (channel)

ADC (channel)

図 4.11 100 ピクセルの MPPC に LEDの微少光を入射したときの ADC スペクトの微少光を入射したときの ADC スペクト

ル (Shaping time = 50 ns, Preamp gain

ル (Shaping time = 175 ns, Preamp gain

= 37.5)。

= 37.5)。

4.3.5 クロストーク
本節では ADC のクロストークについて述べる。テストには図 4.1 の回路を用いた。
この回路の CH0 に対してテスト信号を入力し、CH1 をどこにもつながない状態(図 4.16) において、CH0 に注入する電荷の量を変えながら ADC を取得した。その結果を、横軸を CH0 のピークの中心値とペデスタルの差、縦軸を CH1 のピークの中心値とペデスタルの差として図 4.17 に示す。この時、PreAmp のゲインは 37.5、シェーピングタ

VME-EASIROC 単体での性能評価

90
CountsCounts

第4章

140
120

600
500

100

400

80
300
60
200
40
100

20
0
600

700

800

900

1000

1100

0
600

1200

700

800

900

1000

1100

1200

ADC (channel)

図 4.12 400 ピクセルの MPPC に LED

図 4.13 400 ピクセルの MPPC に LEDの微少光を入射したときの ADC スペクトの微少光を入射したときの ADC スペクト

ル (Shaping time = 50 ns, Preamp gain

ル (Shaping time = 175 ns, Preamp gain= 75)。

= 75)。
CountsCounts

ADC (channel)

100

1000

80

800

60

600

40

400

20

200

0
600

700

800

900

1000

1100

1200

0
600

700

800

900

1000

1100

1200

ADC (channel)

ADC (channel)

図 4.14 400 ピクセルの MPPC に LED

図 4.15 400 ピクセルの MPPC に LEDの微少光を入射したときの ADC スペクトの微少光を入射したときの ADC スペクト

ル (Shaping time = 50 ns, Preamp gain

ル (Shaping time = 175 ns, Preamp gain

= 37.5)。

= 37.5)。
表 4.3 MPPC を取り付けた場合の S/N 比。

MPPC のピクセル数

PreAmp ゲイン

Shaping time (ns)

S/N 比

100

75

50

23.3 ± 0.1

1758.5 ± 0.050

20.4 ± 0.1

1757.6 ± 0.050

8.4 ± 0.0

175

2.2 ± 0.150

7.2 ± 0.4175

2.4 ± 0.1

37.5
400

75
37.5

第4章

VME-EASIROC 単体での性能評価

91

イムは 50 ns であった。
横軸が 2000 ch よりも大きい領域については CH0 側が飽和しているので、横軸が0 ch から 2000 ch までの領域を用いてフィッティングを行った結果、クロストークは0.43 ± 0.02% という結果が得られた。
この結果が波高測定に与える結果について考える。仮に、あるファイバーで 300 p.e. の光電子を検出したとする。これは J-PARC E40 実験において低エネルギーの陽子がファイバーに入射した場合に相当する。この時、隣のチャンネルで発生するクロストークは1.2 p.e. 程度である。これは MIP 粒子通過による検出光電子数である 20 p.e. と比較して十分に小さく無視できる。よってクロストークによる PID への影響は無視できると考えられる。

Function
Generator

CH0

Empty

{

CH1

VME-EASIROC
MPPC input
CH63

図 4.16 クロストーク測定回路。CH0 に対してテスト電荷を入力し、その他のチャンCH1 ADC - pedestal (ch)ネルは未接続にする。

0
-2
-4
-6
-8
-10
-12
0

500

1000

1500

2000

2500

CH0 ADC - pedestal (ch)図 4.17 信号を入力したチャンネル CH0 と入力していないチャンネル CH1 の ADCの関係。CH0 にテスト電荷を入力することによって CH1 に逆極性のクロストークが現れる。また、CH0 の ADC が大きい領域では CH0 の ADC の飽和が見られる。

第4章

VME-EASIROC 単体での性能評価

92

4.4 時間測定に対する性能評価
本節では MHTDC の性能評価の結果について述べる。

4.4.1 MHTDC 単体の時間分解能
MHTDC 単体の時間分解能の測定のために図 4.18 に示す回路を用いて測定を行った。

VME-EASIROC
FPGA

Function
Generator

UserInput

DIN[0]

CommonStop

CommonStop

MHTDC
Delay

図 4.18 MHTDC 単体の時間分解能測定のための回路。EASIROC 内蔵の Discrimi-

nator の時間分解能を影響を防ぐために、フロントパネルの NIM 入力を用いた。

通常、MHTDC の入力は EASIROC の Discriminator out に接続されている。しかし、その状態で MHTDC 単体の時間分解能を測定しようとすると、EASIROC 内部のDiscriminator の時間分解能も含めたシステムの時間分解能を測定してしまう。ここでは、MHTDC 単体の時間分解能を知りたいため、図 4.18 に示すように、MHTDC の入力に EASIROC を一切介さない回路を用いた。MHTDC の入力はフロントパネル全面の

LEMO コネクターから NIM 規格の信号として入力される。
この回路に対して一定のタイミングのテストパルスを入力した結果、図 4.19 に示すヒストグラムが得られた。このヒストグラムより、MHTDC 単体の時間分解能が500 ± 4 ps(rms) と求まった。

4.4.2 EASIROC 内蔵 Discriminator の時間分解能
次に、EASIROC 内蔵の Discriminator の時間分解能を測定するために図 4.20 に示す回路を用いて測定を行った。
ファンクションジェネレーターからの信号は EASIROC 内の PreAmp、FastShaper、

VME-EASIROC 単体での性能評価

93

counts / 1 ns

第4章

5000

4000

3000

2000

1000

0
76

77

78

79

80

81

82

83
time (ns)

図 4.19 MHTDC 単体の時間分解能。

VME-EASIROCEASIROC
Function
Generator

MPPC Input

PA

FPGA

FS
ThresholdUser output

IN0

Delay

CommonStop

V775

図 4.20 EASIROC 内蔵 Discriminator の時間分解能測定回路。EASIROC 内蔵のDiscriminator の時間分解能を外部の TDC によって測定する。

Discriminator を経由して FPGA に送られる。FPGA 内部にはこの信号をフロントパネ
ルの User output に直結する回路を書き込む。User output からの信号は外部 TDC である V775[40] によって測定される。
この回路に対してファンクションジェネレーターを用いて、1 p.e. 及び 20 p.e. の電荷を注入した。Discriminator の Threshold はそれぞれ 0.5 p.e.、2.5 p.e. に設定した。20

p.e. は MIP 粒子がファイバーに入射した際の検出光子数に相当する。
この結果を図 4.21、図 4.22 に示す。これらの図から、入射電荷が 1 p.e. の場合の時間

第4章

VME-EASIROC 単体での性能評価

94

分解能として 193 ps(σ)、20 p.e. の場合の時間分解能として 160 ps(σ) という結果が得られた。注入した電荷量が多くなることで FastShaper 出力の立ち上がりが急峻になり、

counts / 35 ps

counts / 35 ps

ジッターが軽減する。そのため入射電荷が 20 p.e. の方が時間分解能が良い結果となる。
1000

800
700

800

600
600

500
400

400
300
200
200
100
0
17

17.5

18

18.5

19

19.5

20

20.5
21
time (ns)

図 4.21 入 射 電 荷 が 1 p.e. の 場 合 の

0
23

23.5

24

24.5

25

25.5

26

26.5
27
time (ns)

EASIROC の Discriminator の時間分解

図 4.22 入 射 電 荷 が 20 p.e. の 場 合 のEASIROC の Discriminator の時間分解能。

能。

4.4.3 VME-EASIROC ボードの時間分解能§4.4.1 節及び §4.4.2 節で測定した系を合わせることで、VME-EASIROC ボードの時間分解能を求めることができる。測定には図 4.1 の回路を使用した。
注入した電荷量は §4.4.2 と同様に 1 p.e. 及び、20 p.e. であり、Discriminator のThreshold もそれぞれ同様に設定した。
その結果図 4.23、図 4.24 に示す結果が得られた。このピークをガウス関数にてフィッ
ティングすることによって、VME-EASIROC ボードの時間分解能として、1 p.e. の場合は 633 ± 3 ps(σ)、20 p.e. の場合は 618 ± 5 ps(σ) という結果が得られた。

4.4.4 multi-hit 分離能
本節では MHTDC モジュールの multi-hit 分離能に対する性能評価について述べる。

VME-EASIROC に実装されている TDC は MHTDC であるため、1 つのイベント中に複数の立ち上がりエッジ、立下りエッジの情報が記録される。しかし、あるパルス信号
から次のパルス信号の間の時間差が短過ぎる場合にはエッジの検出ができず、複数のパル
ス信号が繋がった信号として記録されてしまう。このような現象が発生する原因については §3.3.3.4 にて議論した。

multi-hit 分離能を測定するために、図 4.25 に示す回路を用いて測定を行った。Function Generator からの信号を FANIN/FANOUT で分岐させた後に、片方のみを遅延さVME-EASIROC 単体での性能評価
counts / 1 ns

95

counts / 1 ns

第4章

4000

3000

4000

5000

3500

2500
3000
2000
1500

2000

1000
1000
500
0
194

195

196

197

198

199

200

0
187

201
time (ns)

188

189

190

191

192

193

194
time (ns)

図 4.23 入射電荷が 1 p.e. の場合の VME-

図 4.24 入 射 電 荷 が 20 p.e. の 場 合 のEASIROC の Discriminator の時間分解

VME-EASIROC の Discriminator の時間

能。

分解能。

せ、FANIN/FANOUT で統合することによって 2 つの連続するパルス信号を作った。
VME-EASIROC
FPGA

Function
Generator

FANIN/FANOUT

Delay

FANIN/FANOUT

UserInput

DIN[0]

CommonStop

CommonStop

MHTDC
Delay

図 4.25 multi-hit 分離能測定回路。Function Generator からの信号を FANIN/-

FANOUT で分岐させた後に、片方のみを遅延させて FANIN/FANOUT で統合させている。

この時のパルス間隔 ∆t の定義を図 4.26 に示す。すなわち、1 つ目のパルスの trailingedge から 2 つ目のパルスの leading edge までの時間をパルス間隔 ∆t と定義する。
Δt

図 4.26 パルス間隔 ∆t の定義。1 つ目のパルスの trailing edge から 2 つ目のパルスの leading edge までの時間をパルス間隔 ∆t と定義する。なお、図中の信号レベルはNIM である。

また、2 パルス検出率 ε を以下の式で定義する。

ε=2 つのパルスがあると検出されたイベント数
全イベント数第4章

VME-EASIROC 単体での性能評価

96

パルス間隔 ∆t を変化させながら、2 パルス検出率を測定した結果を図 4.27 に示す。パルス間隔 ∆t はオシロスコープにて測定をした。2 パルス検出率 ε = 100% となる ∆t の下限値を、multi-hit 分離能と定義すると、この MHTDC の multi-hit 分離能は 7.0 ns となる。設計上の ε と ∆t の関係の予想である図 3.39 と比較すると似た傾向を示している
ことが分かる。厳密に図 3.39 と等しくならない原因としては FPGA の IO ポートから 4

efficiency (%)

相クロックでキャプチャしている FF までの配線遅延のばらつきが考えられる。

100

80

60

40

20

0

2

3

4

5

6

7

8

9

10

pulse interval (ns)
図 4.27

MHTDC に入力した信号のパルス間隔 ∆t と 2 パルス検出率 ε の関係。

また、VME-EASIROC に実装されている MHTDC は leading edge の取得と trailingedge の取得に関して対称的な構造をしている。そのために、この multi-hit 分離能は100% 検出可能なパルス幅の下限でもある。

4.5 データ転送モジュール
本節ではデータ転送モジュールの性能評価の結果について述べる。

4.5.1 データ転送レートとデッドタイムの関係
VME-EASIROC のデッドタイムは、典型的な場合においては 12 µs である。これはデータ転送系が転送すべきデータを十分に高速に処理している場合にあたる。だが、データ転送系の転送容量以上のデータをネットワークで送信しようとすると、データ転送系がBusy 状態になり、VME-EASROC がデータ転送系の Busy 解除を待つことになる。その結果として、VME-EASIROC のデッドタイムが典型的な場合のデッドタイムである

第4章

VME-EASIROC 単体での性能評価

97

12 µs より長くなる。
本節ではトリガーレートを変化させながら、データを取得することによって、デッドタ
イムが 12 µs で維持されるデータ転送レートの範囲を測定した。測定に際しては図 4.28に示すネットワークでデータ取得を行った。VME-EASIROC、Front-end PC、Event

Builder PC はハブを介して接続されており、VME-EASIROC とハブの間は 100 Mbpsの Ethernet で、PC とハブの間は 1 Gbps の Ethernet で接続をされている。Front-end

PC は VME-EASIROC と通信を行い、VME-EASIROC からのデータを読み出すである。Event Builder PC は、本来であれば、複数の Front-end からのデータを統合して 1
つのイベントに纏める役割を持っている。だが、今回の測定においては Front-end が 1 つのみであるために、ただ Front-end からのデータを受信するのみの役割を持つ。
実際の実験においては読み出したデータを保存するためのプログラムである recoder によってデータを保存が行われる。しかし、今回の測定では VME-EASIROC、Front-end

PC 間のデータ転送に関する性能評価を目的としているために、recoder は動作させず、読み出されたデータは捨てられる。

VME-EASIROC

Ethernet
100 Mbps

Ethernet
Gigabit Ethernet 1 Gbps
Front-end
HubPC

Ethernet
1 GbpsEvent BuilderPC
図 4.28 データ転送レートとデッドタイムの関係を測定する際のネットワーク図。

VME-EASIROC、Front-end PC、Event Builder PC はハブを介して接続されている。

4.5.1.1 許容可能トリガーレートの上限の見積もり
先ずこの条件の下での、デッドタイム 12 µs を維持したまま許容可能なトリガーレートの上限値を見積もる。
本測定においてはテスト電荷の入力は行わなかった。ADC のペデスタルサプレッ
ションの Threshold は 0 ch に設定したため全 ADC チャンネルでペデスタルデータが取得される。ADC には High Gain と Low Gain があるため、取得される ADC データのワード数は 1 イベント当たり 64 × 2 = 128 word である。また、EASIROC 内蔵のDiscriminator の Threshold はベースラインと比較して十分に高く設定したため、TDCのデータ数は 0 である。さらに、これらのデータに加えて、イベントの先頭に長さ 1 word

第4章

VME-EASIROC 単体での性能評価のイベントヘッダーが付加されるため、1 イベント当たりのワード数は 129 word である。

VME-EASIROC では 1 word = 4 byte であるため、1 イベント当たりの bit 数は、
129 word/event × 4 byte/word × 8 bit/byte = 4.13 kbit/event
である。

VME-EASIROC、Front-end PC 間のデータ転送路で、転送にあたり最もボトルネッ
クとなっているのは VME-EASIROC、ハブ間の 100 Mbps Ethernet である。そのため、この部分のデータ転送容量を超えるデータ転送をする場合にデータ転送系が Busy になる。この部分の転送速度は 100 Mbit/s であるため、データ転送系が許容できるトリガー
レートの上限値は、

100 Mbit/s= 24.2 kHz
4.13 kbit/eventである。

4.5.1.2 許容可能トリガーレートの上限の測定結果
実際に、図 4.28 のネットワークの下でトリガーレートを変化されながらデータの取得を行った。トリガーレートを 10 kHz から 1 kHz ずつ上昇させながら、オシロスコープにて VME-EASIROC からの Busy 信号の様子を観察した。その結果、トリガーレートが24 kHz 以上の条件下では、データ転送系の転送容量を超えてしまったことによるデッド
タイムの増加が確認された。
この結果は前節にて計算した見積もりを非常によく再現している。このことから

FPGA 内蔵の SiTCP モジュールは仕様通りの 100 Mbps でデータ転送を行っていることが分かる。また、FPGA 内蔵の ADC モジュール、MHTDC モジュール、Gatherer モ
ジュールは 100 Mbps よりも早い速度でデータ収集を行っていることも確認できた。

4.5.2 J-PARC E40 実験におけるデータ転送レートの見積もり
本節では、前節での結果を踏まえ、J-PARC E40 実験におけるデータ転送レートの見積もりを行う。また、ADC のペデスタルサプレッション機能の必要性についても議論する。

J-PARC E40 実験におけるデータ収集ネットワークを図 4.29 と仮定する。VMEEASIROC とハブの間は 100 Mbps Ethernet で、ハブと各 PC の間は 1 Gbps Ethernetで接続されている。CFT のチャンネル数は 5000 であるため、必要な VME-EASIROCの枚数は約 80 枚である。VME-EASIROC のデータを PC に転送するための Front-end
プログラムは VME-EASIROC のボード枚数と同じ数起動している。これらの Front-end
プログラムはすべて Front-end PC 内で実行されているとする。そして、これらのプログ
ラムが独立して Event Builder PC にデータを送信し、Event Builder PC で起動してい

98

第4章

VME-EASIROC 単体での性能評価

99

る Event Builder プログラムが各 Front-end からのデータを統合し、1 つのイベントデー
タとする。

VME-EASIROC

Ethernet
100 Mbps

Ethernet
1 GbpsFront-end
PC
Gigabit Ethernet
Hub

VME-EASIROC

Ethernet
1 GbpsEvent Builder
PC

VME-EASIROC

図 4.29 J-PARC E40 実験におけるファイバー読み出しシステムのデータ読み出し
ネットワーク。VME-EASIROC とハブの間は 100 Mbps Ethernet で、ハブと各 PCの間は 1 Gbps Ethernet で接続されている。

この時、データ転送においてボトルネックとなる部分はハブと Front-end PC を接続している部分である。また、Front-end PC は VME-EASIROC から受信したデータをすべで Event Builder PC に送信するために、ハブと Event Builder PC の間も同様にボト
ルネックとなる。この部分には全 VME-EASIROC からのデータが集中して転送される。
これ以降のデータ転送量の見積もりにおいては、この部分のデータ転送量について考察する。

4.5.2.1 ADC のペデスタルサプレッション機能を使用しない場合
先ず、ADC のペデスタルサプレッション機能を使用しない場合について考える。
この場合は全 EASIROC ボードが、ファイバーに粒子が通過したか否かに関わらず、

64 × 2 = 128 word の ADC データを送信する。粒子が通過したファイバーに対応するチャンネルには TDC データも存在するが、ADC データと比較してデータ量が少ないので無視する。また、各 VME-EASIROC はイベントの先頭にイベントヘッダーを付加するが、これについてもデータ量が少ないために無視をする。よって、1 イベント当たりのシステム全体のデータ量は、

80 × 128 word/event = 10.2 kword/event= 326 kbit/event
である。

J-PARC E40 実験において想定されるトリガーレートは約 3 kHz である。よって、シ

第4章

VME-EASIROC 単体での性能評価

100

ステム全体のデータ転送レートは326 kbit × 3 kHz = 0.98 Gbpsである。
この値はボトルネック部の仕様上の通信速度である 1 Gbps にほぼ等しい値である。また、この書き込み速度でハードディスクに安定してデータを書き込むことは現実的ではない。
その結果として、VME-EASIROC のデッドタイムは典型的な場合の値である 12 µs と比較して長くなってしまうことが考えられる。

4.5.2.2 ADC のペデスタルサプレッション機能を使用する場合
次に、ADC のペデスタルサプレッション機能を使用する場合について考える。
この時は粒子が通過したファイバーに対応するチャンネルのみの ADC データを転送する。そのため、データ転送量の見積もりを行うためには、1 イベント当たりの粒子が通過したファイバーの本数が必要となる。粒子が通過したファイバーの本数の計算にあたり、以下の過程を置いた。

1 イベントあたりの CFT で検出されるトラック数
CFT では標的周りの散乱粒子、崩壊粒子の測定を行う。1 イベントあたりの CFTで検出されるトラック数として 3 本という値を用いた。

1 トラックあたり、1 レイヤーあたりのファイバーのヒット数あるレイヤーに 1 つの粒子が通過しても、1 本のファイバーのみを通過するとは限らず、場合によっては複数本のファイバーを通過することがある。そのため、1 ト
ラックあたり、1 レイヤーあたり 3 本のファイバーにヒットすると仮定した。
また、CFT は 8 つのレイヤーをもつため、1 イベントあたりのヒットするファイバーの本数は以下のように求まる。

3 track/event × 3 hit/layer · track × 8 layer = 72 hit/event
それぞれのヒットしたファイバーに対して、ADC データが 2 word、TDC データが2 word 読み出される。さらに、各 VME-EASIROC はイベントの先頭に 1 word のイベ
ントヘッダーを付加するため、システム全体では 80 word のイベントヘッダーが転送される。よって、1 イベントあたりのデータ量は、

72 hit/event × (2 + 2) word/hit + 80 word/event = 368 word/event= 11.8 kbit/event

(4.1)

第4章

VME-EASIROC 単体での性能評価である。

J-PARC E40 実験において想定されるトリガーレートは約 3 kHz であるため、システ
ム全体のデータ転送レートは、11.8 kbit × 3 kHz = 35.4 Mbpsである。
この転送レートはボトルネック部の仕様上の通信速度である 1 Gbps と比較して十分に小さいため、安定したデータ転送が行え、VME-EASIROC のデッドタイムは 12 µs が維持されると考えられる。また、ペデスタルサプレッション機能を使用することで、使用しない場合と比較して、96% のデータ量を削減させることができることも確認できた。
以上の議論より、J-PARC E40 実験を行う上でペデスタルサプレッション機能は必須の機能であるといえる。

101

102

第5章

ファイバートラッカーを用いた性能評価
本章では東北大学サイクロトロンラジオアイソトープセンター (CYRIC) にて行った、

VME-EASIROC とファイバーとファイバートラッカーを用いたファイバー読み出しシス
テム全体としての性能評価の結果について述べる。

5.1 CFT 試作機を用いた、多光量に対する応答及び、陽子/π分離能の試験
5.1.1 目的
本テスト実験では、特に CFT 試作機を用いてファイバーの発光量が多い領域でのVME-EASIROC ボードの応答を調べ、先行研究にて開発された EASIROC-test-boardと同等の性能を示すことを調べることを目的とする。また同時に J-PARC E40 実験にて要求される陽子/π 分離能についても同時に調べた。π の通過による MPPC の検出光子数の見積もりには、MIP の π 粒子が通過した場合のエネルギー損失を Bethe-Bloch の式から求めた値を使用した。

5.1.2 セットアップ
図 5.1 にテスト実験のセットアップを示す。本テスト実験ではファイバートラッカー
として CFT 試作機を用いた。80 MeV の陽子をディグレーダーによってエネルギーを 80 MeV から 30 MeV まで 10 MeV 毎に変えながら、CFT 試作機に入射し VME-EASIROC によって読み出しを行った。CFT 試作機は 0.75 mm のファイバーを円筒に第5章

ファイバートラッカーを用いた性能評価

103

沿う方向に配置した Φ 層を 2 層使用した。各層に陽子が 2 回ずつ当たるため、実質的には 4 層を利用することとなる。本テスト実験では Φ 層すべてを読むことはせず、陽子が照射される領域のファイバーのみを読み出した。読み出したファイバーの本数は各層 32
本ずつ、4 層合計で 128 本である。
また、このセットアップは J-PARC E40 実験にて散乱陽子と崩壊 π をファイバート
ラッカー及び、その周辺を囲む BGO カロリーメーターでのエネルギー損失の関係から粒子識別を行う配置と同等である。そのため、このテスト実験によって CFT 試作機の陽子/π 分離能についても調べることができる。CFT 試作機の陽子/π 分離能については既に先行研究によって測定されているため、その値と同等の値になることの確認も本テスト
実験の目的とする。

Degrader

CFT prototype

BGO

80 MeV
proton

図 5.1 高発光量に対する応答及び、陽子/π 分離能の試験のセットアップ。陽子のエネルギーをディグレーダーによって変えながら CFT 試作機に入射する。

5.1.2.1 ディグレーダー
入射陽子のエネルギーを変化させるために銅製のディグレーダーを用いた。本節では要求する入射陽子のエネルギーを得るために必要なディグレーダーの厚さの計算について述べる。
荷電粒子が物質中でエネルギーを損失する様子は Bethe-Bloch の式 [41] に従う。

Bethe-Bloch の式によって求めた陽子のエネルギー E とディグレーダーの厚さ x の関係を図 5.2 に示す。この結果から、各エネルギーの時に使用するディグレーダーの厚さを
表 5.1 に示すように決定した。

5.1.3 エネルギー校正
ファイバーのエネルギー校正は宇宙線によって行った。
宇宙線がファイバーのどの位置を通過したかによってファイバー内を通過する経路長が異なるために、ファイバーの通過位置による発光量のばらつきを補正する必要がある。そこでファイバーと同じ幅、同じ断面積の直方体に宇宙線が入射した場合を想定することにファイバートラッカーを用いた性能評価

Energy of Proton (MeV)

第5章

104

80
70
60
50
40
30
20
10
0
0

1

2

3

4

5

6

7

8

Thickness of Copper (mm)
図 5.2 ディグレーダーの厚さと陽子のエネルギーの関係。

表 5.1

陽子のエネルギーとディグレーダーの厚さの関係要求する陽子のエネルギー (MeV)

ディグレーダーの厚さ (mm)

80

0

70

1.7

60

3.3

50

4.7

40

5.8

30

6.8

よってファイバーの実行的な厚さを考えた。ファイバーの実効的な厚さは以下の式によって定義される。

πr2 = 2rt
ここで、r はファイバーの半径であり、t がファイバーの実効的な厚さである。

CFT 試作機で用いられているファイバーの径は 0.75 mm であり、そのうち粒子が通過した際に発光するコア部分の直径はファイバー全体の 92% である。よってファイバーの実効的な厚さは、0.54 mm と求まる。この厚さのプラスティックシンチレーターに MIPの µ 粒子が通過した際のエネルギー損失の計算値である 1.01 MeV を用い、以下の式でファイバーのエネルギー校正を行った。

第5章

ファイバートラッカーを用いた性能評価

Efiber = 1.01 ×

105

ADC [ch] − pedestal [ch][MeV]
宇宙線通過時の ADC [ch] − pedestal [ch]また、BGO のエネルギー校正はディグレーダー、CFT 試作機を設置せずに BGO に直接ビームを照射した際のデータを用いて、以下の式でエネルギー校正を行った。その際にはビーム粒子である陽子のエネルギーを 80 MeV とし、BGO に入射した陽子は BGO 内
で全エネルギーを損失し静止するとした。

EBGO = 80 ×

ADC [ch] − pedestal [ch][MeV]
80MeV 陽子照射時の ADC [ch] − pedestal [ch]5.1.4 トラッキング
この実験では図 5.1 に示すように CFT の Φ 層を実質的に 4 層使用している。本節ではこれらの層を用いてトラッキングを行う方法について述べる。
本実験においては CFT の Φ1 層、Φ2 層をそれぞれ 2 層ずつ使用している。図 5.3 に示すように、Φ1 層のうち、ビーム上流部を Φ1_1 層、ビーム下流部を Φ1_2 層と定義する。また、Φ2 層についても同様に定義する。

CFT prototype

protonΦ2̲1

Φ1̲1 Φ1̲2

Φ2̲2

図 5.3 CFT 試作機の各層の名前の定義。ビーム上流から Φ2_1 層、Φ1_1 層、Φ1_2
層、Φ2_2 層の順に層の名前を定義する。

CFT のファイバーは互い違いに配置されているために、1 つの粒子が通過した場合でも複数のファイバーが発光することがある。そのため、粒子の通過位置を正確に測定するために、隣接したファイバーのヒット情報をまとめたクラスターを作成する。複数のヒット情報を 1 つのクラスターにまとめる条件として、ヒットしたファイバー同士が隣接していることを要求し、隣接していないヒット情報は別粒子の通過とみなした。また、ファ第5章

ファイバートラッカーを用いた性能評価

106

イバーのクロストークを考慮して、1 つのクラスターに属するファイバーの本数は高々 4本とした。クラスターの位置は、クラスターを構成しているファイバーの位置の平均とした。クラスター全体のエネルギー損失はクラスターを構成しているファイバーの内、もっともエネルギー損失の大きいファイバーのエネルギー損失を採用した。
この時に、1 イベントあたりの Φ1_1 層にヒットがあったファイバーの本数を図 5.4 の黒線に示す。また、隣接するファイバーのヒット情報をクラスターにまとめた後の、1 イ
ベントあたりの同層のクラスターの個数を図 5.4 の赤線に示す。ファイバーをクラスター

Counts化することによって 1 イベントあたりのヒット数が減少していることが確認できる。

106

105

104

103

102

0

1

2

3

4

5
6
Number of hits

図 5.4 1 イベントあたりの Φ1_1 層のヒット数。黒線はファイバーをクラスター化す
る前のヒット数。赤線はクラスター化した後のヒット数。

このようにして求めたクラスターに対して 2 次元トラッキングを以下の手順で行った。

1. 複数のファイバーヒット情報をクラスターにまとめた。
2. CFT 試作機の各層に 1 つ以上のクラスターが存在するイベントのみを選択した。
3. 各層から 1 つずつのヒットを選択するすべての組み合わせに対して、直線にてフィッティングを行った。

4. そのうち最も χ2 の小さいフィッテング結果をトラッキング結果として採用した。
CFT 試作機 4 層でのエネルギー損失 ∆E は、トラックに属しているクラスターのエネ
ルギー損失の合計とした。

第5章

ファイバートラッカーを用いた性能評価

107

5.1.5 エネルギー分解能
ファイバーでのエネルギー損失 ∆E と BGO で測定されたエネルギー E の関係として図 5.5 に示す結果が得られた。図中の黒線は Bethe-Bloch の式の計算によって求めた∆E と E の関係であり、赤線は MIP 粒子が通過した際のファイバーにおけるエネルギー損失を示している。陽子のエネルギーが低い領域においては、測定したファイバーのエネ
ルギー損失が飽和しているが、VME-EASIROC ボードに対するテスト電荷の入力試験においてはこの領域に対しても線形性を示しているため、この飽和は MPPC の飽和によるFiber ∆ E (MeV)

ものであると考えられる。
70
7
60
6
50
5
40
4
30

3

20

2

10

1

0
0

10

20

30

40

50

60

70
80
BGO E (MeV)0

図 5.5 BGO で測定したエネルギー E とファイバーで測定したエネルギー ∆E の関係。黒線は計算によって求めた E と ∆E の関係であり、赤線は MIP 粒子が通過した
際のファイバーのエネルギー損失を示している。

ここで、粒子を弁別する際の性能の指標として弁別分離能を定義する。陽子が通過した
際のファイバーでのエネルギーの中心値と σ を、それぞれ M1 、σ1 とする。また、π が通過した際のそれらを、それぞれ M2 、σ2 とする。この時、弁別分離能を以下の式で定義する。

M1 − M2
σ1 + σ2第5章

ファイバートラッカーを用いた性能評価

108

80 MeV の陽子を入射した際のファイバーでのエネルギー分解能は、エネルギー損
失 2.1 MeV に対して 0.23 MeV(σ) である。MIP の π 粒子によるエネルギー損失は0.56 MeV であるため、光子数の統計のみを考慮すると、この場合エネルギー分解能は0.12 MeV(σ) と求まる。
よって 80 MeV の陽子を 4.3 ± 0.7 の分離能で分離できるという結果が得られた。この結果は先行研究によって得られた値と整合するものであり、VME-EASIROC によっても先行研究と同等の結果が得られることを示している。

5.2 SFT 用いた、時間分解能の試験
本節では Scattered particle Fiber Tracker (SFT) を用いた、ファイバーも含めたシス
テムにおける時間分解能の試験の結果を述べる。

5.2.1 目的
前章にて述べたファイバーの VME-EASIROC 単体での時間分解能の試験に加え、SFTと VME-EASIROC を組み合わせた状態での時間分解能を測定することを目的とする。
そして、先行研究にて EASIROC test board にて読み出しを行った結果から求まった

SFT の時間分解能と同等の性能が VME-EASIROC でも達成できることの確認を目的とする。

5.2.2 セットアップ
図 5.6 に本実験のセットアップを示す。測定にはファイバー径 0.5 mm の平面型ファイ
バートラッカーである SFT を用いた。本実験は CYRIC にて、80 MeV の陽子を SFT に照射することで行った。SFT の下流にはプラスティックシンチレーターを設置し、これを時間の基準として用いた。

SFT

Plastic Scintillator

80 MeV
proton

図 5.6 時間分解能の試験のセットアップ。80 MeV 陽子を SFT に照射し、その下流のプラスティクシンチレーターを時間の基準とした。

第5章

ファイバートラッカーを用いた性能評価

109

5.2.3 ファイバーを含めたシステムの時間分解能
本テスト実験の結果として図 5.7 に示す結果が得られた。このヒストグラムをフィッ
ティングすることで、ファイバーを含めたシステムの時間分解能として 1.2 ± 0.1 ns(σ)という結果が得られた。

counts / 1 ns

この値は既知の SFT の時間分解能と同程度である。

60

50

40

30

20

10

0

645

650

655

660

665

670
time (ns)

図 5.7 ファイバーを含めたシステムの時間分解能。

5.3 CFT を用いた、Time over Threshold (ToT) を補助的波高情報とする、陽子/π 分離能の試験
本節では CFT の Φ2 層を用いた、ToT を補助的な波高情報とする、陽子/π 分離能の試験結果について述べる。

5.3.1 目的
現状の K1.8 ビームラインではファイバー検出器などが設置されている場所とトリガー
ロジックを生成する回路は約 50 m のケーブルでつながれて計測室へ送られている。そのため、検出器からの信号をトリガーロジック生成回路に送り、その結果を VME-EASIROCに入力する際には、この距離を信号が往復する必要があり、少なくとも約 600 ns の遅延が

第5章

ファイバートラッカーを用いた性能評価

110発生する。一方、VME-EASIROC の slow shaper の時定数は、最も長いものでも 175 nsである。よって、このままでは、MPPC からの信号を整形増幅した後の信号が既に減衰してしまったタイミングで Hold 信号を入力してしまう。これを防ぐために以下の 2 つの方法が考えられる。

1. トリガーロジック生成回路を検出器付近に移設する。
2. ADC の情報を使用せずに実験を行う。
本性能試験においては後者の方法である、ADC の情報を利用せずに実験を行うことの可能性について検証を行うことを目的とする。EASIROC の Discriminator は Update型であるために、波高情報と ToT には相関がある。ToT を補助的な波高情報として用いた場合の陽子/π 分離能を ADC を用いた場合と比較し、ToT を使用した場合の性能の劣化が許容できるかについて議論する。

5.3.2 セットアップ
図 5.8 に本テスト実験のセットアップを示す。本実験は CYRIC にて 80 MeV の陽子
を用いて行った。陽子を CH2 標的に照射し、標的周囲を囲む CFT 及び、BGO によって

pp 散乱事象、pC 散乱事象を測定する。本テスト実験を行った時点では CFT の Φ2 層とUV2 層の計 2 層のみが製作されていたため、これらの層のみを用いた。
BGO
CFT Φ2
CFT U2

proton80 MeV
CH2 target

CFT U2
CFT Φ2BGO
図 5.8 CFT を用いた、ToT を補助的波高情報とする、陽子/π 分離能の試験のセットアップ。CFT 中に CH2 標的を設置し、CFT 全体を囲むように BGO を設置した。本
テスト実験では CFT の Φ2 層及び UV2 層の計 2 層を用いた。

第5章

ファイバートラッカーを用いた性能評価

111

5.3.3 結果
本テスト実験では、CFT "Φ2 層"に属する 1 本のファイバー、そのファイバーを粒子が通過した場合に幾何学的に粒子が入射することが予想される BGO カロリーメーターの情報を用いた。ファイバーのエネルギー校正は宇宙線を MIP 粒子と仮定して行った。本
セットアップにおいて pC 散乱事象が測定された際の BGO で検出されるエネルギーの最大値をシミュレーションで見積もり、その値を用いて BGO のエネルギー校正を行った。

5.3.3.1 ADC ToT 相関
本テスト実験において測定された ADC と ToT の関係を、横軸を ADC、縦軸を ToTとして図 5.9 に示す。ADC が 1000 ch を超える領域から ToT の飽和が見られる。

ADC のデータは 800 ch から 2000 ch の範囲に分布しており、有効に使用することのできるチャンネル範囲は約 1200 ch である。一方、ToT は 10 ns から 120 ns の範囲に分布している。VME-EASIROC 内に実装された MHTDC は LSB=1 ns であるため、有効に使用することのできる ToT チャンネル範囲は約 110 ch である。よって、ToT で使用

ToT (ns)1
することのできる有効チャンネル範囲は ADC の場合の 10に制限される。

25
120
20

100
80

15

60
10
40
5
20
0

600

800

1000 1200 1400 1600 1800 2000 2200 2400

0

ADC (ch)
図 5.9 ファイバーの ADC と ToT の関係。ADC が 1000 ch を超える領域で ToT の飽和が確認できる。

図 5.9 から 100ADC チャンネル毎に代表点を抽出し、フィッティングを行うことでToT を ADC に換算するレスポンスファンクションを求めた。以下にレスポンスファン

第5章

ファイバートラッカーを用いた性能評価

112

クションを示す。

ADC[ch] = expa×ToT[ns]+b +c
ここで、a、b、c はフィッティングパラメーターである。フィッティングの結果を以下に示す。

a = 0.033
b = 3.1
c = 750

このレスポンスファンクションを用いて ToT を ADC に変換した。以降、ToT からレスポンスファンクションを用いて求めた ADC を ADC(ToT) と表記する。

ADC と ADC(ToT) の関係を ADC を横軸に、ADC(ToT) 縦軸として図 5.10 に示す。
また、ADC と ADC-ADC(ToT) の関係を ADC を横軸に、ADC - ADC(ToT) 縦軸として図 5.11 に示す。ADC が高い領域での ToT の飽和の効果から、ADC が 1400 ch より

2400

500

2200

600
500

100

400

0

300

-100

200

100

-200

100

0

-300

1800
300

1600

300
200

400

2000

ADC - ADC(ToT) (ch)ADC(ToT) (ch)大きい領域で ADC(ToT) の広がりが確認できる。

1400
200

1200
1000
800
600
600

800

1000 1200 1400 1600 1800 2000 2200 2400

600

ADC (ch)

図 5.10 ADC と ADC(ToT) の関係。

800

1000 1200 1400 1600 1800 2000 2200 2400

0

ADC (ch)

図 5.11 ADC と ADC - ADC(ToT) の関係。

5.3.3.2 path length 補正
本節では粒子がファイバーに対して斜めに入射した際の補正について述べる。

CFT にて検出されたすべての粒子がファイバーに対して垂直に入射したとは限らず、ファイバーに対して斜めに入射する粒子も存在する。粒子がファイバーに対して斜めに入射した場合は、同じエネルギーの粒子がファイバーに垂直入射した場合と比較して、発光量が多くなり、見かけのエネルギー損失が大きくなる。そのため、粒子のエネルギーを正確に求めるためにこの効果を補正する必要がある。

第5章

ファイバートラッカーを用いた性能評価

113

本実験では入射粒子、標的粒子ともに陽子である。散乱後の散乱陽子の運動エネルギーを E1 、反跳陽子の運動エネルギーを E2 とすると、pp 散乱の運動学より散乱角は以下のように求まる。

(√
θ = tan−1

E2
E1

)

さらに、入射粒子のエネルギーを 80 MeV と仮定することで、以下の式に変形される。

√
θ = tan−1 
80 [MeV]− 1
E1

pp 散乱の散乱角を θ とすると、粒子がファイバーに入射する際の入射角は 90◦ − θ である。入射角 0◦ でファイバーに入射する時のファイバーの経路長を l0 とすると、入射角90◦ − θ で入射した時の経路長 l は以下の式で求まる。
l0
cos(90◦ − θ)
l0
=
sin θ

l=

ファイバーに対して斜めに入射することで経路長が ll0 になる効果によって、ファイバーの発光量も ll0 になることを仮定する。このとき、ファイバーの見かけのエネルギー
損失に ll0 = sin θ を乗じた値が、ファイバーに垂直に入射した際のエネルギー損失に換算された値となる。
散乱陽子のエネルギーである E1 はファイバーでのエネルギー損失 ∆E と BGO で測定されたエネルギーの和である。本実験では CFT の Φ2 層及び U2 層を用いたため、本来であれば、これら 2 層のエネルギー損失を求める必要がある。しかし、本研究では Φ2 層のエネルギー損失を 2 倍して 2 層分のエネルギー損失とした。

5.3.3.3 陽子/π 分離能
本節では、ファイバーでのエネルギー損失 ∆E と BGO で測定されたエネルギー Eの二次元相関を用いた、陽子/π 分離能について述べる。∆E を求める際には、VME-EASIROC の ADC を用いる方法と ToT を用いる方法の 2 つの方法を使い、分離能の比較も行う。
図 5.12 に ADC を用いた時の 1 本のファイバーでのエネルギー損失 ∆E と BGO で測定されたエネルギー E の関係を示す。ファイバーでのエネルギー損失は前節で導出した式を用いて、ファイバーに対して垂直に粒子が入射した時のエネルギー損失に換算してい第5章

ファイバートラッカーを用いた性能評価

114

る。さらに、同図に宇宙線通過時のイベントを重ねて示す。宇宙線の多くは MIP の µ 粒子であるため、宇宙線による像は ∆E が低い領域に分布している。
また、同様の計算を ToT からレスポンスファンクションを使い算出された ADC(ToT)に対して行った。ToT から求めたファイバーでのエネルギー損失 ∆E(ToT) と BGOで測定されたエネルギーの関係を図 5.12 に示す。path length 補正は図 5.12 と同じ方法で行った。また、図 5.13 でも同様に宇宙線通過時のイベントを重ねて表示してある。
図 5.12 と比較して、ファイバーでのエネルギー損失の分解能が悪化していることが確認

Fiber ∆ E (MeV)

できる。

1.6
25
1.4
1.2

20

1
15
0.8
0.6

10

0.4
5
0.2
0
0

10

20

30

40

50

60

70

0

BGO E (MeV)
図 5.12 ADC から求めたファイバーのエネルギー損失 ∆E と BGO で測定されたエネルギー E の関係。∆E はファイバーに対して粒子が垂直に入射した時のエネルギーに換算している。宇宙線による像は ∆E が低い領域に分布している。

これらのヒストグラムに対して、BGO で測定されたエネルギーの範囲毎に ∆E に射影することで、各エネルギー毎のエネルギー分解能を求めることができる。表 5.2 に各エネ
ルギー毎のファイバーでのエネルギー分解能を示す。
今回の測定で、陽子と宇宙線の像が最も近づく、BGO で測定されたエネルギーが45 ∼ 55 MeV の範囲を選択し、∆E に射影した結果を図 5.14 に示す。宇宙線は MIP 粒子であり、∆E は BGO で測定されたエネルギーに依らないと考えられるので、宇宙線については BGO のエネルギー領域を選択せずに、すべてを ∆E に射影した。また、同様のFiber ∆ E(ToT) (MeV)

第5章

ファイバートラッカーを用いた性能評価

115

1.6
30
1.4
25

1.2

20

1
0.8

15

0.6
10
0.4
5

0.2
0
0

10

20

30

40

50

60

70

0

BGO E (MeV)
図 5.13 ToT から求めたファイバーのエネルギー損失 ∆E(ADC) と BGO で測定されたエネルギー E の関係。∆E はファイバーに対して粒子が垂直に入射した時のエネ
ルギーに換算している。宇宙線による像は ∆E が低い領域に分布している。

表 5.2 BGO で測定されたエネルギー毎のファイバーのエネルギー分解能

BGO で測定された

ADC を使用した場合のToT を使用した場合のエネルギーの範囲 (MeV)

エネルギー分解能 (%)

エネルギー分解能 (%)

55 ∼ 451217

45 ∼ 3513

19

35 ∼ 2513

19

25 ∼ 1514

18

15 ∼ 513

15

操作を ToT から求めたエネルギー損失 ∆E(ToT) に対して行った結果を図 5.15 に示す。
図 5.15 は ToT の情報のみを用いているため、図 5.14 と比較して、エネルギー分解能の悪化が確認できる。
図 5.14 からファイバー 1 層に対する、50 ± 5 MeV の陽子/π 分離能は 3.4 ± 0.7 と求まった。さらに、図 5.15 から ToT を用いた場合の分離能は 2.9 ± 0.8 と求まった。
今回はファイバー 1 層に対してのみに対して評価を行ったが、J-PARC E40 実験にお

ファイバートラッカーを用いた性能評価

220

countscounts

第5章

200

116

250

180
200

160
140

150

120
100

100

80
60

50

40
20
0
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0
0

0.1

0.2

図 5.14 陽子と宇宙線の ∆E の分布。

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Fiber ∆ E(ToT) (MeV)

Fiber ∆ E (MeV)

図 5.15 陽子と宇宙線の ∆E(ToT) の分布。

いて使用される CFT は層数が 8 層ある。このため、光子数の統計のみを考慮すれば弁別
分離能は

√
√
8 = 2 2 倍に向上することが期待される。よって J-PARC E40 実験における陽子/π 分離能は ToT を用いた場合でも 8.1 になることが予測される。これは、J-PARC

E40 実験を行う上で十分な分離能である。
以上のことから、J-PARC E40 実験では ADC の情報を取得せずとも、ToT を用いる
ことで、十分な陽子/π 分離能が達成できると考えられる。

117

第6章

まとめ
本研究では J-PARC E40 のための MPPC 多チャンネル読み出しボードである VME-EASIROC を開発した。
CFT で読み出す必要のある MPPC のチャンネル数は約 5000 ch と大量であるため、読み出し回路の集積化を目的として 32 ch の MPPC の信号処理 (信号の整形増幅) と制御 (バイアス電圧の調整) を行う ASIC である EASIROC を用いた。VME-EASIROC は
この EASIROC を 2 チップ搭載した、64 ch の MPPC の ADC と TDC のデータを取得するためのボードである。

EASIROC 内の電圧保持回路によって保持された MPPC の波高情報を、基板上のパイ
プライン型 ADC にて AD 変換することで、波高検出型 ADC としての動作を実現した。
また、EASIROC からパラレルに出力される Discriminator 出力を FPGA 内に実装した

TDC に接続し時間情報を取得する。ファイバーの時間分解能が約 600 ps であるため、この TDC の LSB は 1 ns とし、暗電流によるヒットを考慮して Multi-hit TDC とした。また、EASIROC の Discriminator は Update 型であり、波高と ToT には相関がある。そのため、ToT を補助的な波高情報として用いるために leading edge と trailing edge を取得する。本回路はトリガー情報として、1st level trigger、2nd level trigger、fast clear を受け取る。これらのトリガー情報の配布はボードの後方の VME-J0 バスを介して行われる。本回路から PC へのデータ転送は SiTCP を用いて行われる。ADC のペデスタルサ
プレッション機能の実装、DoubleBuﬀer の実装によるデータ収集回路とデータ転送回路の同時並列動作の実現などによって、本回路は典型的なデッドタイム 12 µs を実現した。
本回路に対してピクセル数 400 の MPPC を接続し ADC を取得した結果、J-PARC

E40 実験にて使用する PreAmp ゲイン、Shaping time の条件下で、1 p.e. に対する S/N
比 2.2 ± 0.1 が得られた。また、MHTDC の時間分解能として 633 ± 3 ps(σ)、multi-hit
分離能として 7.0 ns という結果が得られた。これらの値から本回路はファイバーのエネ
ルギー分解能、時間分解能を損ねることなく ADC、TDC を取得することができることが

第6章

まとめ

118

確認された。さらに、ADC のペデスタルサプレッション機能の実装によってネットワー
ク上のデータ転送量の約 96% を削減させることが可能であることも確認できた。これによりネットワークの負荷が大幅に軽減されることが期待される。
本回路とファイバートラッカーを組み合わせ、ファイバーを含めたシステムの性能評
価を CYRIC で行った。本回路と CFT 試作機を用いた試験から CFT 試作機を用いた際の陽子/π 分離能が 4.3 ± 0.7 であるという結果が得られた。また、本回路と SFT を組み合わせた試験からファイバーを含めたシステムの時間分解能が 1.2 ± 0.1 ns(σ) であるという結果が得られた。これらの値は先行研究によって得られた値と整合するものであり、

VME-EASIROC によっても先行研究と同等の結果が得られたことを示している。さらに、ToT を補助的な波高情報として利用することで ADC のデータが使用できない状況下
でも、ファイバー 1 層での陽子/π 分離能 2.9 ± 0.8 が得られた。
以上より、VME-EASIROC は J-PARC E40 実験における MPPC 読み出しシステムとして十分な性能を有していることが示された。

119

参考文献
[1] M. Nagels, T. Rijken, and J. de Swart. Baryon-baryon scattering in a oneboson-exchange-potential approach. ii. hyperon-nucleon scattering. Phys. Rev.
D, Vol. 15, pp. 2547–2564, May 1977.
[2] T.A. Rijken, P.M.M. Maessen, and J.J. de Swart. The Nijmegen Y N and Y Y
interaction. Nucl.Phys., Vol. A547, pp. 245C–254C, 1992.
[3] F. Eisele, H. Filthuth, W. Foehlisch, V. Hepp, and Gunter Zech. Elastic sigma+p scattering at low energies. Phys.Lett., Vol. B37, pp. 204–206, 1971.
[4] J.K. Ahn, et al. A Study of Sigma+ p elastic scattering in the region of 300MeV/c <= p(Sigma) <= 600-MeV/c with a scintillating fiber target. Nucl.Phys.,Vol. A648, pp. 263–279, 1999.
[5] Y. Kondo, et al. Sigma- p elastic scattering in the region of 400-MeV/c p(Sigma) less than 700-MeV/c with a scintillating fiber active target. Nucl.Phys., Vol.
A676, pp. 371–387, 2000.
[6] J.K. Ahn, et al. Sigma+p elastic scattering cross sections in the region of 350 <=P(Sigma+) <= 750-MeV/c with a scintillating fiber active target. Nucl.Phys.,Vol. A761, pp. 41–66, 2005.
[7] K. Miwa, et al. Proposal for an experiment at the 50-GeV PS measurement of thecross sections of Sigmap scatterings. http://j-parc.jp/researcher/Hadron/en/pac_1101/pdf/KEK_J-PARC-PAC2010-12.pdf.
[8] 松本祐樹. J-PARC 大強度ビームトラッキング用ファイバー検出器の開発. Master’s
thesis, 東北大学大学院, 理学研究科物理学専攻, 2012.
[9] 赤澤雄也. シグマ陽子散乱実験のための散乱陽子検出器群の開発. Master’s thesis,
東北大学大学院, 理学研究科物理学専攻, 2013.

[10] 本多良太郎. マルチファイバー飛跡検出器による陽子測定システムを用いた Σp 散乱
実験. Master’s thesis, 東北大学大学院, 理学研究科物理学専攻, 2010.

[11] 本多良太郎. EASIROC テストボード仕様書, March 3 2013.

参考文献[12] 本多良太郎. The development of the multi ppd readout electronics with easiroc
and sitcp. In Photo Det, 2012.
[13] 浜松ホトニクス株式会社. S10362-11 シリーズデータシート.
[14] OMEGA. EASIROC DATASHEET, fifth edition, April 5 2011.
[15] ジー・エヌ・ディー. GNN-570 NIM MASTER TRIGGER MODULE マニュアル.
[16] ジー・エヌ・ディー. GNV-250 VME GPIO UNIT マニュアル.
[17] ジー・エヌ・ディー. GNV-490 VME SUB UNIT(RM) マニュアル.
[18] KEK. KEK-VME crate backplane specification, first edition, June 28 2003.
[19] 内田智久. SiTCP 説明書. Electronics system group IPNS KEK, 第 1.6 版, August 11 2014.
[20] 内田智久. SiTCP ライブラリ. Electronics system group IPNS KEK, 第 1.1 版,
October 24 2012.
[21] ヒロセ電機. ハーフピッチ・多機能 2 ピースコネクタ FX2 シリーズ カタログ.
[22] ANALOG DEVICES. AD9221/AD9223/AD9220 データシート.
[23] Xilinx. 7 Series FPGAs Overview, October 8 2014.
[24] Xilinx. Vivado Design Suite User Guide Synthesis, April 10 2013.
[25] Xilinx. Vivado Design Suite User Guide Implementation, March 20 2013.
[26] Xilinx. Vivado Design Suite User Guide Programming and Debugging, May 30
2014.
[27] Xilinx. Vivado Design Suite Tcl Command Reference Guide, Decenber 18 2013.
[28] Xilinx. Vivado Design Suite User Guide Design Flows Overview, October 2 2013.
[29] Xilinx. Vivado Design Suite User Guide Using Tcl Scripting, November 16 2012.
[30] Xilinx. Vivado Design Suite User Guide I/O and Clock Planning, June 19 2013.
[31] Xilinx. Vivado Design Suite Logic Simulation, June 28 2013.
[32] Xilinx. Vivado Design Suite User Guide Using Constraints, January 24 2014.
[33] Xilinx. Vivado Design Suite User Guide Design Analysis and Closure Techniques,
January 24 2014.
[34] Xilinx. Vivado Design Suite Properties Reference Guide, September 4 2012.
[35] 長谷川裕恭. VHDL によるハードウェア設計入門. CQ 出版社, 第 3 版, 2007.
[36] Mark Zwoliński. VHDL デジタル回路設計. 翔泳社, 2007.
[37] 小林芳直. 定本 ASIC の論理回路設計. CQ 出版社, 第 4 版, 2007.
[38] STARC 監修（編）. RTL 設計スタイルガイド VHDL 編. 培風館, 2011.
[39] Micron. M25P32 データシート.
[40] CAEN. Technical Information Manual V775 series, 12 edition, December 12
2012.

120

参考文献

[41] W. R. Leo. Techniques for Nuclear and Particle Physics Experiments. SpringerVerlag, 1994.

121