ATLAS実験における FTK受信モジュールの 開発構築と実機試験 早大理工 白神賢 飯澤知弥、木村直樹、郡川智洋、昌子貴洋、 仲松弥、寄田浩平、他 ATLAS-FTK group 日本物理学会 2013年秋季大会 高知大学 朝倉キャンパス 2013/9/20(金) 20pSM-10 “ATLAS実験におけるFTK受信モジュールの開発構築と実機試験”ということで、早大理工の白神賢が発表をさせて頂きます。 FTK開発の中でもとくに、実際に早稲田が開発構築を行っているFTK受信モジュールである”Input Mezzanine”についての詳細を発表させて頂きます。
FTK全体像 ATCA Data Fomatter Input Mezzanine Dual-output HOLA 各処理単位へ分配 Input Mezzanine RODからのhitを Cluster化 Dual-output HOLA RODの出力を FTK用にコピー Waseda UChicago FNAL ATCA AM board(並列) パターンパッチング AUX board(並列) トラックフィッティング まず、FTK全体像です。 先ほどの講演で郡川がFTKの全体像について発表致しましたので、詳細は省略させて頂きます。 早稲田が開発を行っているInput Mezzanine、IMは、FTKの受信モジュールとして、FTK最上流に位置します。 IMは、Mezzanine cardとして、マザーボードであるData Formatterに実装され、そのDFはこのようにATCA Crateに格納されます。 FTK最上流は後続の並列処理の準備をしており、このIM及びDFとATCA crateで構成されるようになっています。 PISA Argonne FTK to LVL2 Crate FTK全飛跡情報をLVL2へ 13/09/20 日本物理学会 2013年秋期大会
FTKのInput DF IM (計128枚) Advanced Telecom Computing Architecture ROD Output Fiber Pixel IBL N/A→56 (2015) 56 B 44 1 38 →76 (2018) 76 2 26 →52 (2015) 52 Disk 24 Total 132 → 252 (~2018) 252 SCT 90 → 128 (2015) 128 222 → 380 (~2018) 380 Advanced Telecom Computing Architecture LVL2 CPU Farm Pixel (IBL) 80Mch (12M) ROB SCT 6Mch ROD x 4crate DF バンチ衝突 ~20(40)MHz x 8枚 ~75kHz Within 2.5μs Event rate: 100kHz FTKはInputとして、Pixel/IBL/SCTのヒット情報を受け取ります。 内部飛跡検出器であるPixel-80Mch. IBL-12Mch. SCT-6Mch.のヒット情報をRead Out Driver、RODが受け取ります。 そのRODの出力をDual-Output-HOLAがFTK用にコピーし、 FTKの受信モジュールであるIMに、fiber linksを介してヒット情報を送信します。 この際のEvent rateは100kHzですが、実際にIMに送られてくるデータはRODデータと呼ばれ、40MHz32bitデータとなっています。 → 実際に存在するRODの数です。 2018年までに、Pixel及びIBLのoutputは252、SCTは128となり、 OutputのFiber数は合計380になります。 ATCAにつきDFが8枚実装され、ATCAは4cratetとなるので、合計32枚のDFが実装されます。 IMがDFにつき4枚乗りますので、合計128枚のIMが存在することになります。 さらに、IMにつき4Fiberありますので、512本のfiber linksを持つことになり、 この512本のうち、半分の256本がPixel/IBL用に、残りの半分256本がSCT用となります。 これは2018年のROD数、Pixel-252、SCT128を想定しても、現在のIMの枚数で受信することができるようになっています。 ~1kHz Within 40ms ROD data: 40MHz 32bit data (最大2hitを含む) Fiber x4 IM (計128枚) 512 Fiber links(Pixel/IBL:256, SCT:256) 13/09/20 日本物理学会 2013年秋期大会
受信部の詳細(IM) from ROD to DF Pixel SCT Pixel SCT Pixel 1 2 3 4 5 SCT FPGA一つがPixel, SCTそれぞれを一つずつ受け取りClusteringを行う →FPGAには全て同じFWを実装できる Pixel FMC FPGA Spartan6 SCT from ROD to DF Pixel SCT Fiber links Clustering 小 中 大 ToT Pixel : ToTの重み付け平均 φ η 1 2 3 4 5 平均: 3.5 幅: 4 SCT FTK受信部であるIMの詳細です。 IMにはSpartan-6のFPGAを2つ積んでおり、ここでヒットをクラスター化します。 4つのFiber linksのうち、上の2つが上のFPGAに、下の2つが下のFPGAにそれぞれ接続されています。 それぞれのFiber2本からヒット情報をFPGAでクラスター化し、FMCコネクタを介してDFに送信するデザインとなっています。 この際に、一つのFPGAにつき、 Pixel、SCTひとつずつのヒットを受信するので、全てのFPGAは同一のFWを実装することができ、 また、ヒット情報が非常に多いPixel + Pixelとなることがない為,安定して動作することが出来ます。 下の図がIMが行うクラスタリングのアルゴリズムです。 Pixelでは、ヒットのある領域を特定し、Time Over Thr.の重み付け平均を出力します。 SCTは、このように、モジュールIDが1,2,3,4,5とあるうち、2,3,4,5が鳴ったときは、 平均である3.5とヒットの幅である4を出力するようになっています。 13/09/20 日本物理学会 2013年秋期大会
並列処理のためのデータ分割及びoverlap regionにおけるhitのsharingを行う 受信部の詳細(DF) 並列処理のためのデータ分割及びoverlap regionにおけるhitのsharingを行う η方向を4分割 φ方向を16分割 overlap region ビーム軸 ビームスポット η方向ではビーム衝突点の z positionを考慮して、φ方向ではトラックの曲率からヒットを重複分配する → 取り回しが複雑に 最上流における、高速・複雑な処理を可能にし、柔軟性や堅牢性を持たせる為にATCAを採用 ATCA用にIMのoutputを変更 DFの詳細です。 DFでは、IMからクラスター化されたヒット情報を受け取り、 FTKで扱うデータ形式へのreformatと、FTKの並列処理のために各処理単位へのデータ分割を行います。 FTKでは、ηを4分割、φを16分割して、 計64regionで並列処理を行っているのですが、 ただ分割を行うのではなく、 η方向では、ビーム衝突点のz positionのばらつきがあるために、 普通にregion分けをしてしまうと、境界線をまたいでしまうtrackが再構成できなくなってしまうので、 overlap regionと呼ばれる重なったregionを定義して、このoverlap regionに入ったヒットはそれぞれ双方のregionに分配されるようになっています。 φ方向でも、トラックの曲率からoverlap regionを定義しています。 このように定義する事で、飛跡を取りこぼしなく再構成出来るのですが、その分、region間で、overlap regionに入ったヒットのシェアリングをする必要があり、 取り回しが複雑になっています。 FTK最上流では、このような高速で複雑な処理を可能にし、柔軟性や堅牢性を持たせる為にATCA規格が採用されました。 これに伴って、ATCAではなくVME規格をテストを行っていたIMをATCA用へと変更することになりました。 13/09/20 日本物理学会 2013年秋期大会
少ない線で通信できるように、output線を減少 テスト用IMから実機用IMへ Outputプロトコルの変更 VME用IM ATCA用IM frequency 40MHz 320MHz output線 Single-ended 24lines LVDS 3lines 1wordあたりのclock数 1clockで1word(24bits) 8clockで1word(24bits) 少ない線で通信できるように、output線を減少 → high frequencyでのLVDSによるserializeへ DFの開発に伴いIMをそれまでのテスト版から実機版へと変更 VME用IM ATCA用IM DF EDRO VME ATCA VME用IM ATCA用IM 左がVME規格で、右がATCA規格です。 IMの開発に取りかかるにあたって、DFがまだ存在していなかった際には、 左のVME規格でのテスト用プロトタイプを作製し、テストを行っていました。 そこでDFのプロトタイプの完成に伴って、早稲田でもIMを以前のVMEのマザーボード用であるEDROではなく、実機環境であるATCAの”DF”に乗るようにIMを変更しました。 主な変更点は、 → まずマザーボードとの接続部分であるコネクタが、QTHコネクタからFMCコネクタに変更になりました。 また、Input dataである40MHz 32bitのROD dataをクラスタリングをすることにより、 VME用のマザーボードであるEDOROとは、40MHz 24bit dataとして24本のラインで出力していたのですが、 DFとは、少ない線で通信ができるように 320MHzで3lineで8回に分けて24bitを送るようになり、 それに伴い、320Mhzというhigh frequencyに耐えられるようにLVDS、差動伝送での出力としました。 実際に部品のピン配置を回路図から工夫して、 LVDSのラインが離れないようにだったり、遠回りをしないようにと注意して引きました。 このような、主にマザーボードがEDROからDFに変わりましたので、output部分の変更を施して、今年の3月にATCA用IMが納品され、テストを開始しました。 13/09/20 日本物理学会 2013年秋期大会
IMテスト戦略 Standalone Test @Waseda Test @FNAL Test @Waseda Test @CERN ・ 変更点であるOutputのテスト 読み出し Standalone Test @Waseda ↓評価ボード ・ IM-DF Communicationテスト 読み出し Mini-backplane Test @FNAL DF ・ Inputのテスト ・ データフローテスト ←疑似ヒット 送信モジュール Test @Waseda ATCA 読み出し Test @CERN ・ 実際の運転環境でのデータフローテスト Pixel/SCT ROD HOLA ATCA FTKシステム下流へ η-φ Tower ATCA用IMのテスト戦略です。 各テストの詳細はあとで話しますので、大まかなテストの流れについて話します。 まず、 IMを、評価ボードとFMCコネクタで接続してテストを行いました。 “IMのみ”のテストということで、Standalone testと呼んでいます。 まずは、新しいATCA用IMが断線・導通がないか各ピンの接続確認から行い、 変更点であるOutput周りのテストを行いました。 評価ボードにはDFと同じKINTEX7のFPGAが乗っています。 → 先々月にDFがreadyになりましたので、 IMのみのStandaloneテストを行った後に、 先月、実際にIMを、DFがあるフェルミラボに持っていって、IM-DFのコミュニケーションテストを行いました。 このテストでは、DFとATCAの問題を切り分けるために、ATCAに実装する前にMini-backplaneから電源供給を行っていて、IM-DFのみのテストとなっています。 現在は、早稲田にDFを持ち帰って、疑似ヒット送信モジュール-IM-DFでのテストを行っています。 Standaloneテスト及びFnalでのテストでは主に変更点であるOutput周りのテストを行っていたのですが、ここではIMのInput部分であるFiber linksの動作テストも行っています。 このFiber linksの動作確認が終わり次第、 このようにDFをATCAに実装してのテストに移行します。 これがIMの量産に向けて、早稲田でできる最終的なテストスタンドとなります。 疑似ヒット送信モジュールから、疑似ヒットを出力され、IMがその出力をFiber linksで受け取ります。 更に、IMでは実際にクラスタリングのFWを実装して、DFにデータを出力し、DFからATCAを介して読み出しを行います。 疑似ヒット送信モジュール→IM→DF→ATCAと、一連のデータフローテストを行う予定です。 疑似ヒット送信モジュール以外、実際の運転環境でのテストとなります。 さらに、CERNにIMを持っていって実際の運転環境でのテストも行う予定です。 ここでは内部飛跡検出器から実際にヒットを受け取って、データフローテストを行います。 DONE ~2013,7 DONE ~2013,8 On-going 2013,9 ~ 2013,11~ 13/09/20 日本物理学会 2013年秋期大会
Standalone Test @Waseda 3になってしまう 立ち上がりが早い 320MHzでは output全線を同一のClock phaseで読み出すのは困難 それぞれの線ごとに読み出すClock phaseを変えることも可能だが、、、 DATA (2進数表示) 16進数 4 データ読み出しの様子 IMが送信するデータ : X”888…8”→ X”444…4” → X”222…2” → X”111…1” →.. DATA (2進数表示) 16進数 1 データ読み出しの様子 IMが送信するデータ : X”888…8”→ X”444…4” → X”222…2” → X”111…1” →.. DATA (2進数表示) 16進数 8 データ読み出しの様子 IMが送信するデータ : X”888…8”→ X”444…4” → X”222…2” → X”111…1” →.. データ読み出しの様子 IMが送信するデータ : X”888…8”→ X”444…4” → X”222…2” → X”111…1” →.. DATA (2進数表示) 16進数 4 DATA (2進数表示) 16進数 2 データ読み出しの様子 IMが送信するデータ : X”888…8”→ X”444…4” → X”222…2” → X”111…1” →.. データ読み出しの様子 IMが送信するデータ : X”888…8”→ X”444…4” → X”222…2” → X”111…1” →.. DATA (2進数表示) 16進数 3 2 データ読み出しの様子 IMが送信するデータ : X”888…8”→ X”444…4” → X”222…2” → X”111…1” →.. DATA (2進数表示) 16進数 1 データ読み出しの様子 IMが送信するデータ : X”888…8”→ X”444…4” → X”222…2” → X”111…1” →.. DATA (2進数表示) 16進数 8 評価ボードを用いてIMのみのテスト VME用IM → ATCA用IMに伴う変更点の動作確認を行った PCで読み出し ↓評価ボード Kintex7 FPGA Spartan6 FPGAs 200MHz DDRでラッチすることで、FPGA内での線ごとの配線の差が減少 →→ データ読み出しに成功 IMでデータ作製 ↓ FMCコネクタを介してLVDS 320MHzでoutput 評価ボードでreferenceと比較し、PCで読み出し ~finalize Output プロトコルを最適化 frequency 320MHz 200MHz DDR output線 LVDS 3lines LVDS 4lines clockあたりのbit数 3bits 8bits 1wordあたりの clock数 8clockで1word(24bits) 4clockで1word(32bits) DF(評価ボード)とのclockの同期方法 IM内で delay tuning Clockを送信 まず、早稲田で行ったStandaloneテストの詳細です。 DFと同じFPGAが乗っている評価ボードとIMをFMCコネクタで接続してテストを行いました。 もちろん、電源供給から始めて、断線や導通はしていないか各ピンの接続確認等も行いましたが、 おもにVME用IMからATCA用IMへの変更点であるOutput周りのテストの詳細を話します。 まず、IMが簡単なパターンのデータを作製し、FMCコネクタに出力し、 評価ボードがその出力をreferenceと比較してPCで読み出すテストとなっています。 → これが、実際に読み出しているところです。 一番上がデータを16進数表示したもので、 そのほかは2進数表示となっています。 2進数表示なので、この行ごとが、実際にoutput線1本に対応します。 このXの列の数字は、この青い線での値を表しています。 この時はIMが16進数表示で8、4、2、1、8、4、2、1と簡単なパターンを送っていて、 それを、データがうまく読み出せるクロックのdelayに調整して読み出しています。 このように1の次は 8、 4 2となるのですが、この時は、この部分が、本来は2とならなければならないのに、3となってしまっています。 これはこの線が早く立ち上がってしまっているからなのですが、 これは読み出すクロックを早めてあげればいいのですが、 今の320MHzでは、こっちを合わせると、違うところが上手く行かなくなったりと、このようにあと1本が合わなかったして、また、 クロックフェーズを変える為に、FWを書き換えてコンパイルするのですが、 コンパイルし直す事で、内部配線がまた変わってしまったりと、 なかなか全ての線を綺麗に読み出せるクロックのフェーズが探すのが難しい状況でした。 戦ごとに読み出すクロックのフェーズを変えることもでたきたのですが、、、 →→ それより、Outputプロトコルを変更して、 200MHzのDouble Data Rateでラッチしてあげることで安定して、 データ読み出しに成功しました。 それに伴って、Output線が3本から4本に、4cycleで32bitの1wordを出力するようになりました。 さらに、IM内でデータを送り出すクロックのフェーズを変えていたのですが、 クロックを評価ボードに送り返すようにすることで、delay tuningも簡単になりました。 次のIスライドで説明しますM-DFのテストでも実際にこのOutputプロトコル使用してテストを行いました。 これが200MHzDDRにして上手く行った時の読み出しの例です。 全部ぴったりとそろっています。 13/09/20 日本物理学会 2013年秋期大会
Test @FNAL 2013,8/29 Fermilab High-rise 10Fにて → データの読み出しに成功 IM-DF間のコミュニケーションテスト ATCAに実装する代わりにMini backplaneからの電源供給にてテスト 2013,8/29 Fermilab High-rise 10Fにて データ読み出しの様子 IMが送信するデータ : X”aaa…a”→ X”555…5” →.. (200MHz : 1clockあたり5ns) IMでデータ作製 ↓ DF内のreferenceと比較 μ controller、Mini backplaneを介して、PCで読み出し good bad Clockを5/16 ns 遅らせて読み出し さらに、5/16 ns bad Clockを5/16 ns 遅らせて読み出し good さらに、5/16 ns Mini backplane IMと評価ボードのStandaloneテストが一段落して、DFのプロトタイプボードが先々月にreadyになりましたので、 先月に、実際にIMをFermiLabに持っていって、 IM-DFのコミュニケーションテストを行いました。 FMCコネクタでIMとDFを接続し、データのやりとりを行いました。 → これが、IM-DF初接続の瞬間の写真です。 FermilabのHigh reise 10Fで作業をしていました。 自分達で一から部品を集めて、回路図も書いて作製したIMですので感慨深いものがありました。 ここでもまず、IMが簡単なパターンのデータを作製し、FMCコネクタを介して出力します。 DFに乗っているFPGAがデータを読み出し、DFが持っているreferenceと比較します。 この裏にμcontrollerが乗っており、Mini-backplaneを介してethernet経由でPCで読み出しを行いました。 データ読み出しの様子です。 ここ例では、IMが16 進数でaaa、555、aaa、555と簡単なパターンを送信しているところです。 まずは、何もデータを受け取るクロックのフェーズを変えずに読み出したのがこの一番上の部分です。 クロックをDFに送り返しているので、クロックのフェーズを変えなくても読み出しに成功しています。 本当は沢山読み出しを行っているのですが、簡略のため4つしか書き出していません。 それから一つしたのこの部分がクロックフェーズを5/16ns遅らせて読み出したものです。 200MHzなので、0.31ns遅らせたことになります。 これも本来は周期を64分割して78pずつ遅らせて読み出せるのですが、省略して16分割したものをお見せしています。 こにように、5/16nsずつずらしてデータをモニターしていくと、そのうち、データのうまく読み出せなくなり、 さらに続けていくと、また読み出せるフェーズに戻ってきます。 DDRで送っており、1clockが5nsなので、だいたい2.5nsぐらいのプラトーとなっています。 このようにクロックをスキャンして最適なフェーズを確認して、そのフェーズでテストを行ったところ、 10^16回のデータのやり取りのうち、エラーが0で、エラーレートが ATLASのエレキの要求の10^-16以下であることを確認しました。 裏には μ controllerが IM-DF初接続の記念すべき瞬間!! PCで読み出し → データの読み出しに成功 ATLASで使用するエレクトロニクスの要求:Error Rate < 10-16をクリア 13/09/20 日本物理学会 2013年秋期大会
量産に向けた最終テストスタンド構築@Waseda Clustering FWを実装しての、データフローテスト 疑似ヒット送信モジュール → IM → DF(ATCA) → PC 現在は、Mini backplaneでのテストを行っている Inputの動作確認を行った後、 DF(ATCA)でのテストに移行 Run controlで制御 PC ATCA Mini backplane PC 疑似ヒット クラスター化 疑似ヒット 送信モジュール 現在行っているテストの詳細です。 早稲田にて量産に向けて最終テストスタンドの構築を行っています。 疑似ヒット送信モジュールからIM、DF、更にATCAを介して読み出しを行う予定です。 実際にクラスタリングFWを実装して、IM回りの一連のデータフローテストを行います。 現在は、VME用IMから代わっていないInputの部分、早稲田でのStandalone Testでも、 FermilabでのIM-DF間のテストでも行っていなかったInputの動作確認を行っているところです。 ここでは、疑似ヒット送信モジュールからFiber links を介して疑似ヒットを受信し、IM、DF、Mini backplaneを介してデータの読み出しを行っています。 ATCAとの問題を切り分けるためにもまずは、Mini backplaneでのテストを行っています。 Inputの動作確認が出来次第、ATCAを用いて一連のデータフローテストに移行していく予定です。 実際にrun-controleも使用して、 疑似ヒット送信モジュール以外は実機に近い状況となる予定です。 ここまでを早稲田でテストする予定で、 これが出来ればあとは実際にCERNに持っていって、実機でのテストを行うのみとなります。 13/09/20 日本物理学会 2013年秋期大会
Test @CERN 最終テストスタンド@Waseda Test @CERN ATLASのトリガーフロー本流に干渉しないように、Pixel/SCTの一部領域の実データを受け取って、実際の運転環境でのFTK動作テストを行う 並列処理における単一の処理単位系でのテスト(Vertical Slice) 昨年末、VME用IMではテスト済 最終テストスタンド@Waseda Test @CERN 疑似ヒット 送信モジュール IBL/Pixel/SCT DF IM 実ヒット 疑似ヒット DF IM そのCERNでのテストの詳細です。 ATLASのトリガーフロー本流に干渉しないように 内部飛跡検出器の実ヒットを受け取り、実際の運転環境でテストを行う予定です。 まずは、全並列処理を行うのではなく、単一の処理単位でのテストとなります。 このように本来は、DFも32枚あって、後続にも64のη-φTowerがあるのですが、 その並列処理の全てでテストするのではなく、並列を抜き出して1η-φTowerのみでテストを行います。 これは並列になっているものを縦にスライスしてテストを行うことになりますので、Vertical Slice Testと呼ばれています。 昨年末、このVertical Slice TestをVME用IMでテスト済みです。 このテストは、 早稲田で出来る最大のテストスタンドでのテストを終えてから望む事になります。 クラスタ情報 クラスタ情報 読み出し η-φ Towerへ 13/09/20 日本物理学会 2013年秋期大会
今後の予定 2014 2015 LHC Test @CERN (with IBL ROD & ATCA) 13(14) TeV Run シャットダウン (増強) LHC Test @CERN (with IBL ROD & ATCA) Quality Controlを整備 インストール・運用 IM 今後の予定です。 → 今年中に、量産に向けての最終テストスタンド構築を行います。 それに平行して、現在のIMとはマイナーチェンジを施した次期IM設計及び製造も行います。 今年の終わりから来年の始めにかけてVertical SliceテストをCERNで行います。 さらに、それに平行して、量産に向けてQuality Controlを整備します。 今年度終わりにかけて、 最終版IMの量産にとりかかります。 それに伴い、量産したIMをQuality Controlを行った後、 来年度始めには、CERNに運んで、インストールをする予定です。 次期IM設計・製造 量産に向けて、最終テストスタンドの構築 最終版IMの量産 Quality Control 13/09/20 日本物理学会 2013年秋期大会
纏めと展望 開発は戦略的かつ段階的に行っており、順調である IM-DFテストを行った@FNAL 読み出しに成功、エラーレート < 10-16 IM-DF間の通信プロトコルを決定 IM量産に向けて、最終テストスタンドの構築を開始@Waseda SCT, PixelのFWも作成中 次期IM(〜最終版)のデザインを開始 年内にIBL ROD & ATCAを含めたテストを行う予定@CERN IMの量産に向けたQCを整備する 年度内に最終版を決定・量産へ QCを終えた後、2014年度始めにCERNへ輸送しインストール 纏めと展望です。 13/09/20 日本物理学会 2013年秋期大会