LUPO
MEMO
- LUPO で interrupt をかけることは普通に出来る。ただし、以下のことに注意。
- LUPO でインタラプトをかけるにはボード側面で IRQ の番号を設定し、Base + %A0 に書き込みアクセスをすると IRQ がかかるようになる。Disenable Interrupt : Base + %80 に D16 で write。
- LUPO でインタラプトを書ける場合、コントローラーの近くに LUPO を挿したほうがよいらしい?例えば、Mesytec MADC32 を一緒に使って Interrupt を書ける場合、モジュールを挿す位置によって、Interrupt がかからない場合があるらしい。LUPO で interrupt をかけたい場合、VME controller と LUPO の間に MADC32 を入れてはいけない?同じように、MADC32 で interrupt をかけたい場合、VME controller と MADC32 の間に LUPO を入れてはいけない?とにかくこれらは相性が悪いらしい。
--> チェックが必要。
- Scaler として使う場合、レート耐性に注意。どのくらいのレートに耐えられるかチェック。
FPGA の書き込み
- mcs ファイルを FPGA に書き込む。mcs ファイルはコンパイル済みのイメージファイルのようなもの(?)で、このファイルさえあれば LUPO の FPGA に書き込みが出来る。(mcs ファイルの生成方法は次の節を参照。) 谷内君にいろいろ教えてもらった。
まず mcs ファイルを用意。馬場さんが書いたコードから mcs ファイルを作るか(次の節参照)、RIBFDAQ - DAQ - Download に行き、例えば vlupotimestamp11.mcs を任意のフォルダにダウンロード。
- LUPO を VME クレートに挿し電源を供給。VME のコントローラは必要ない。
- FPGA の書き込み用デバイス Platform Cable USB II を用意し、これを使って PC と LUPO を接続。
iMPACT を起動する。iMPACT のインストール方法は Google で調べるか、Xilinx ISE Design Suite のインストールについてのメモ を見る。スタートメニュー > すべてのプログラム > Xilinx Design Tools > Lab Tools 14.7 > iMPACT 64 bit とたどって起動。32 bit でも良いかも?コマンドプロンプト的な画面が出るが気にしない。
- Automatic Project File Load というウィンドウで "Do you want iMPACT to automarically load the last saved project for you?" と聞かれるので [ No ] ボタンを押す。Automartically create and save a project というウィンドウで "Do you want the system to automatically create and save a project file for you?" と聞かれるので [ No ] ボタンを押す。New iMAPACT Project というウィンドウで [ Cancel ] ボタンを押す。
- iMPACT 起動。"Boundary Scan" というところをダブルクリック。下の右図のようになる。
File > Initilize Chain を選択。チップが認識され、下の右図のようなウィンドウが表示されるので [ Yes ] ボタンを押す。
Assign New Configration Files というウィンドウが表示されるので [ Cancel ] ボタンを押す。すぐさま新たなウィンドウが立ち上がり、 mcs ファイルが選択できるようになるので、ここで先ほどダウンロードした vlupotimestamp11.mcs ファイルを選択。
- Device Programming Properties というウィンドウが開くので、Device 2 (PROM xfc04s) をクリックし、 Load FPGA をチェックし [ OK ] ボタンを押す。Device 1 (FPGA xc3s500e) の方は変更しなかった。
- 下のような画面になるので、xfc04s のところで右クリックし、Program を選択。1 分程度で書き込み完了。Program succeeded というメッセージが出て書き込み完了。
- VME の電源を落としたりしても、LUPO に書き込んだ内容は消えない。
mcs ファイルの作成
馬場さんが書いたコードから bit ファイルと mcs ファイルを生成する。馬場さんの LUPO (FPGA) training も参照。谷内君にいろいろ教えてもらった。
https://ribfsvn.riken.jp/daq/fpga/LUPO/Project/VLUPODAQMaster/ へ行き、すべてのファイル (*.vhd, *.ucf, *.xise) を任意のフォルダにダウンロード。F:\Xilinx\14.7\Project\VLUPODAQMaster というフォルダを作ってそこに保存した。パスワードがかかっているので、知っている人にパスワードを聞く。
スタートメニュー > すべてのプログラム > Xilinx Design Tools > ISE Design Suite 14.7 > ISE Design Tools > 64-bit Project Navigator を起動。ISE Design Suite のインストール方法は Google で調べるか、Xilinx ISE Design Suite のインストールについてのメモ を見る。Tip of the Day が表示されるので Tip を確認したら [ OK ] ボタンを押す。File > Open Project... からダウンロードしたプロジェクトファイル (VLUPODAQMaster.xise) を選択。"Generate Programming File" をダブルクリックし bit ファイルの生成を行う。数分で F:\Xilinx\14.7\Project\VLUPODAQMaster\vlupodaqmaster.bit というファイルが生成される。
vlupodaqmaster.bit ファイルから mcs ファイルを生成するために iMAPCT を立ち上げる。"Manage Configuration Project (iMAPCT)" という部分をダブルクリック。iMPACT が立ち上がる。Create PROM FIle (PROM FIle Formatter) という部分をダブルクリック。"PROM File Formatter" が立ち上がる。"Xilinx Flash/PROM" を選択し、[ -> ] ボタンを押す。Device (bits) で xcf04s [4M] を選択。[ Add Storage Device ] ボタンを押す。xcf04s [4M] を選択し [ -> ] ボタンを押す。Outpu File Name を "vlupodaqmaster" (他の名前でも良い) に変更し、Output File Location も F:\Xilinx\14.7\Project\VLUPODAQMaster (他の場所でも良い) に変更。[ OK ] ボタンを押す。
- "Start addling device file to Revision: 0" というメッセージがでるので、 [ OK ] ボタンを押す。bit ファイルの場所を聞かれるので、F:\Xilinx\14.7\Project\VLUPODAQMaster\vlupodaqmaster.bit を選択。"Would you like to add another device file to Revision: 0" と聞かれるので [ No ] ボタンを押す。 [ OK ] ボタンを押す。Generate File... をダブルクリックすると "Generate Succeeded" というメッセージが出て F:\Xilinx\14.7\Project\VLUPODAQMaster\vlupodaqmaster.mcs ファイルができる。このファイルを iMPACT を使って LUPO の FPGA に書き込めばよい。書き込み方法は上記を参照。