1 of 5

ハードウェアの設定

  • データリンクは10GbEです。1GbEのNICでは通信できません。
  • メタルの10GbEは非対応です。光ファイバーのSFP+モジュールが必要になります。
  • 基板全体で15-20W消費します。必ず風を当ててください(特にFPGA)。

LEDの意味

  • DONE: FPGA config done
  • LED1: TCPコネクション確立
  • LED2: MIKUMARIリンク確立
    • スタンドアロンでは点灯しない
  • LED3: PLL Locked 1 (常時点灯)
  • LED4: PLL Locked 2 (常時点灯)

DIPの設定。写真の通りに設定する

  • DIP1: SiTCP force default
    • 0だとSiTCPXGにデフォルトIP (192.192.10.10)が設定される。写真では0。この設定で使う。
  • DIP2: Use local clock
    • スタンドアロンの場合1。この設定で使う
  • DIP3: Mzn-D absent
    • Mezzanine slot-Dにカードが刺さっていない場合ここを1にする。写真の例では1
  • DIP4: Not in use

リセットボタン

ハードがおかしくなったら押す

2 of 5

Gate入力のLEMO

  • Gate入力は極端に短く(1msなど)なければなんでもよいです。NIM規格で入力してください。
    • デューティ比50%で1 Hzの信号で普段はチェックしています。

ハードウェアの設定(Gate入力)

3 of 5

同梱のソフト(amaneq_software)の使い方

  • デバッグ用に普段使っているツールです。本格的なソフトではないですが、とりあえず使えます。
    • Linuxでコンパイルしてください。gcc 4.8以上ならどれでも大丈夫だと思います。
  • AMANEQへのレジスタ設定に使います。NestDAQとは独立ですが、実行順序があります。
  • メザニンが1つの時はStrHRTDC/src/RegisterMap.hh内のkEnSlotDownをfalseにしてからmakeしてください。
    • 最上位ディレクトリでmakeしてください。ライブラリをメイクしてからリンクします。

電源投入後一回行うこと

  • StrHRTDC/bin/initializeを実行する

RUNごとに行うこと

  • StrHRTDC/bin/activate_localstcを実行する

4 of 5

実行順序

RUNスタート時

  • activate_localstcを実行する
  • NestDAQをRUN状態にする
  • ゲート入力を開始する

RUNストップ時

  • ゲート入力を止める
  • NestDAQを停止する

5 of 5

何かおかしくなったら

  • FPGA内のデータ処理が正しくできなくなるとTDCデータが全く返ってこなくなります。
  • 今のファームウェアは自動復帰する機能を持っていないので、ハードリセットボタンを押して最初からやり直してください。(StrHRTDC/bin/initializeも実行してください)

  • FPGAの動作がおかしくなる原因はほぼ確実にデータが詰まったことによるものです。
    • 連続読み出しDAQはPCが忙しい時にトリガーを止める(データ送出を止める)という機能がありません。
    • PCが読んでくれないとFPGA内にデータがたまり続けてやがておかしくなります。

原因

  • 入力のレートが高すぎて内部の処理レートを超えている。FPGA内部は8Gbpsで動いています。
    • データは64-bit/wordです。入力レートを掛け算すると入力データ量が計算できます。
  • PCのスペックが足りない。
  • DAQスタートストップの手順を間違えた。
    • よくある失敗はRUNスタート時にゲートを入れてからNestDAQをRUNにした(データを読んでくれない)、ストップ時にNestDAQを止めてからゲートを止めた(無駄にデータが生成される)。

今のFPGAファームウェアは正しく使わないとすぐにハングするので、今後ハングしにくくなるように改良は施していきます。