Top / 研究関係
研究関係

更新終了しました( 2016/2/17) ここの情報は古いかもしれません。

解析関係

解析で使うことのメモ

ATLAS関係リンク

CERN
ATLAS
ATLAS JAPAN

教科書、論文等リンク

  • sauli先生の教科書(リンク)
  • ATLAS関係の有用な論文、発表資料集(リンク)
  • 放射線計測学
  • クオークとレプトン(リンク)

VMEの基礎知識

現在、N研が所有しているのは6U、9Uのもの。

VME通信

  • VME通信の作法について。
    • VMEではシステムクロック16MHzと同期してデータを送る必要はない。
    • A01−A31、AM1-AM5、D00-D31までは”H”で有効になる。
    • レベルで意味をもつものと、エッジで意味をもつものの2種類ある。
    • *付きの物は負論理、”L”で有効になる。
  • プロトコル
    • タイミングで重要なのは DS0* 、 DS1*、 DTACK* の3つのピン。
    • マスタ側の準備完了、送信、受信完了を表わすのが DS0* と DS1*
    • スレーブ側の準備完了、受信完了を表わすのが DTACK*
  • コントロールラインのまとめ
AS*
 アドレス、アドレス幅を決めるAMコード、LWORD* 、WRITE* 、IACK*が有効であることを示す。
 AS* がアサートされないときはこれらの“L”か”H”は問わない。
DS1* DS0*
 マスタ側から出力されデータ転送のタイミングを決定する。
 アドレスの偶数、奇数を決定する。( D08オプションの時 )これら2つの役割がある。
 また、後述する LWORD* との組み合わせにより、ロングワードの転送を決定する。
LWORD*
 DS1* 、DS0*、A01 とこの信号が”L”であるときにロングワード転送(32bit)のデータ転送を可能にする。
PT5では DS1* DS0* LWORD* の3つは“L”になっており、ロングワード転送( 32bit通信 )を行っている。
PT5 のレジスタをリードすると 0x ff ff ff 00 等と表示されるのはこのためである。
WRITE*
 ライトの方向を示す。
 “L” ならば マスタ から スレーブ に “ライト” する。
 “H” ならば スレーブ から マスタ に ”リード” する。
DTACK*
 スレーブ側からの応答信号。
 “ライト“ ではバス上のデータを受信したときに出力される。
 “リード” ではバス上にデータを転送したときに出力される。
BERR*
 正常にデータが転送されなかったときに出力される。
 リードオンリーの部分に書き込みを行おうとするときにはスレーブが出力し
 何もないアドレスにアクセスしようとするとバスタイマが出力する。

コントロールラインとは少し意味合いが違うが...

IACK*
 割り込み要求に対する応答をする。
 “H” のとき通常の転送サイクルを示す。
 “L” のとき A01-A03 はアドレスと別の意味を持つ。
 IRQレベル・コードが A01-A03 に送られる。

9Uクレート

  • 64bitの通信ができる?
  • 裏からバックプレーンに直接アクセスできる。

6Uクレート

  • 主に使っている、結構古い。
  • 電源関係が少し弱い?(PT5で電源をモニタしているレジスタで確認)
  • 裏からバックプレーンに直接アクセスできない。

VMEの仕様書

現在あるものは本のコピー。アトラス部屋に一部あるのでここからコピーするしかない...
近いうちにデジタル化しておこう。

PT5の基礎知識

PT5はTGCのパイプラインとコントロールラインを理解するための1つの道具。 ただ、バグが多くて困る。 CPLDを書き換えれば直りそう。 バグの詳細はSLと一緒に挿すとSLとのcominucationが取れなくなること(2009/7/30 奥村さん情報)

PT5はトライステートバッファが搭載されているが、Hi-zにすることができないもったいないレイアウトになっている。 デフォルトでは バス→PT5 にデータが流れる設定になっているが、CPLD内部でバスをつかまないようになっている。 しかし、もったいない。。。

現在、6UのクレートでのみFPGAのConfigurationが成功する。
http://tsukasa.icepp.s.u-tokyo.ac.jp/cgi-bin/cvsweb/cvsweb.cgi/を参照すると詳しい情報、ソースなど手に入る。

PT5を動かすためのソフトウェア

上のリンクからソースをすべてコピーする。ただし、そのままではmakeさえできない。

  1. 足りないオブジェクトファイルの追加
    hbconvert.oとhbconvert.hhをほかのフォルダからコピーする。どこかしらのフォルダにあると思う。
  2. Pt5Module.ccの変更
    ドライバの部分を /dev/vmedrv32d32 に書き換える。 これはアドレス32bit、データ32bitの意味。
  3. すべてのソースの unsigned long を unsigned int に変更
    32bitPCでは前者が正しいが VME Machean が64bitPCなので後者にしないと32bitのデータで扱えない。
  4. make
    これでうまくmakeできなかったら自分で何とかする!!

PT5の仕様書

東大桑原さんのページにもあるのだが、CERNで公開されてるものの方が新しいバージョン。
レジスタの部分が違っている。

東大桑原さんのページは更新されないので情報が古い。FPGAなどの仕様書は最新のものが他にある。

Verilog-HDLの基礎知識

PT5のHDL

回路記号

HDLはハードウェアを記述する言語であるが、必ずハードとの対応がある。これを確認しながら設計していく必要がある。
AND回路

O = A & B

OR回路

O = A | B

NOT回路

O = ~ A

CPLDの基礎知識

Xilinxs社製 CoolRunner-II CPLD XC2C256
VMEとのコミュニケーションの要であり、FPGAをコンフィグする際のマスタに相当するもの。 内部のHDLを現在解読中。。。
バグがあるとするとこの部分が大きいはず。

JTAG焼機で書き換え可能だが、現在機器が紛失中。

仕様書、HDLソース

CPLD (リンク)
HDLソース(リンク)

What is FPGA ?

Xilinxs社製 Spartan-3シリーズ XC3S400-FG320
詳しくはコンフィグレーションガイドを読むべし。パラレルスレーブモード

仕様書

FPGA (リンク)
FPGAユーザーズガイド(リンク)

コンフィグレーションガイド

FPGAコンフィグレーションガイド (リンク)