• 検索結果がありません。

EASIROC

3.2.3 AD 変換部

第3章 VME-EASIROCボードの仕様 30

FX2B-068PA-1.27DSL 100 Ω

0.22 μF

1SS362

1SS362 +5.0 V

第3章 VME-EASIROCボードの仕様 31

EASIROC

EASIROC

FPGA

HG out

HG out Probe out Probe out

Analog Switch

Front panel LEMO out

32 32

3.4 アナログ処理部の回路図。アナログ信号処理は主にEASIROCによって行わ れる。EASIROCからの信号をモニターするための信号線である HG outProbe out はアナログスイッチを介してフロントパネルの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

HG out

LG out

AD9220 AD9220

EASIROC

HG out

LG out

AD9220 AD9220

FPGA

12 12

12

12

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

Analog input

SHA

ADC

MADC1

GAIN=16 ADC

MADC2

GAIN=8 ADC

MADC3

GAIN=4 ADC

5 4 3 3

Digital Correction Logic

12

Output Buffer

12 Digital

output

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

第3章 VME-EASIROCボードの仕様 33

3.3 AD9220の仕様。

変換方式 パイプライン式

分解能 12 bit

最大サンプリングレート 10 MSPS

消費電力 250 mW

INL (Integral NonLinearity) 0.5 LSB DNL (Differential 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ボードの仕様 34

• 大量生産した場合の単価が高い

• アナログ信号処理を行うことができない

今回必要とされているのデジタル信号処理について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の間を縦方向と横方向に走っている配線領域である。

第3章 VME-EASIROCボードの仕様 35

Logic Block

Logic Block

Logic Block

Logic Block

Logic Block

Logic Block

Logic Block

Logic Block

Logic Block

Switch Matrix

Switch Matrix

Switch Matrix Switch

Matrix

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 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

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

IO Port

IO Port

Interconnect

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

第3章 VME-EASIROCボードの仕様 36

SRAM (LUT)

Input DFF Output

MUX

Clock

N Address Data

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

3.4 LUT4入力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 Port

IO 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

Low Pass Filter Voltage-Controlled Oscillator

Input

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)と呼