Archive of posts with tag 'FPGA'
大学の同期でいまはJAXAの石川くんの、Zynqを使ったデータ取得(DAQ)ボードが論文としてでていました。
GROWTH実験で使用するFPGA/高速ADCボードと制御・読み出し用のDAQソフトウエアは、高エネルギー実験でよく使われるCERN/ROOTのROOTファイル形式で波形データを書き出す機能があるのですが、動作試験ができていなかったのでいくつかバグがありました。
GROWTH FPGA/ADCボードにドーターカードを載せた様子。PMT用HVとアンプ(チャージアンプ・整形アンプ)、温湿度計(BME280)、情報表示用OLED(128×64ピクセル)を搭載したドーターカードは東京大学和田くん設計、P板.com製造の名作)。
Cent OS 5.5 64bitで動いているメニーコアマシンに、GROWTH FPGA/ADCボード(雷雲ガンマ線観測実験で使用中)のFPGA開発用のXilinx Vivado 2016.2をインストールしました。XilinxのサポートOS一覧には、Cent OS 6.7/7.1しか記載されていないのですが、結論だけ書くと、Cent OS 5.5でもとくに問題なくインストールできました。Webインストーラをダウンロードし、以下のようにして起動。
雷雲ガンマ線プロジェクト(GROWTH / Thundercloud Project)で開発したGROWTH FPGA/高速ADCボードに関する記事の第四回です。
最近Vivado HLSで高位合成を使い始めました。やっぱり、HDLを生で書くよりも圧倒的に早くコーディング・検証できるので、計算処理の記述ではとても助かっています。もしかすると、他の人の参考になるかもしれないので、作業していて気がついた点をまとめておきます。間違った記述があったらコメント欄で指摘してください。
GRWOTH FPGA/ADCボードでは、USBインタフェースとしてFuture Technology社のFT2232Hを搭載しています。FT2232は、USB2の高速伝送(最高40MBytes/s)に対応したシリアル-USB変換とパラレル-USB変換を2ch搭載したインタフェース変換ICで、秋月ではUSBコネクタ付きのFT2232Dのモジュール版が1450円で販売されています。
雷雲ガンマ線プロジェクト(GROWTH / Thundercloud Project)で開発したGROWTH FPGA/高速ADCボードに関する記事の第三回です。
GROWTH FPGA/高速ADCボードに関する記事の第二回です。
左がGROWTH実験用のFPGAボード。右がRaspberry Pi3。
自分用メモ。ちゃんと動くようになったら、サンプルをまとめたいと思います。
VHDLを記述していると、とくにXilinxのISEではコードの整形が結構めんどうです。EclipseだとShift+Command+Fとすると、自動的に指定したルールにもとづいてフォーマットしてくれて、authorによらず統一的な見た目にできますが、残念ながらEclipseのVHDLプラグインはいいものがありません。 そこへくると、Emacsはさすが機能豊富で、整形機能付きの「VHDLモード」を持っています。 MacにインストールされているEmacsでは、.vhdや.vhdlという拡張子のファイルを開くと自動的にVHDLモードになり、 syntax coloringをしてくれます。このモード内で、
Ctrl+C をしたあと、 Ctrl+B
すると、コードが整形されます。以下がその例。
XilinxのISEでは、NGCという形式のIPコアを取り込むことができます。IPコアをNGCファイルとして配布すると、C言語やC++言語の.o、Javaの.jarのような感覚でライブラリとして配布できます。ソースコードは配布できないが、IPコアの機能はみなさんのコードに取り込んで使ってもらいたい場合には、自分で記述したVHDL/VerilogをNGCにコンパイルして渡すとよいでしょう。
で、このNGCファイルですが、検索しても作成方法が全然出てこなくて困っていたら、Eli Billauerさんが自身のページで説明してくれていました (thank you for very nice summary of the NGC create procedure!!)
NGCファイルの作成方法(IPコアのブラックボックスライブラリ化)
日本語で手順をまとめると、
ISEで新規プロジェクト作成。たとえばSDRAMコントローラをライブラリとして配布したいなら、SDRAMController等のプロジェクト名とする。