Archive of posts with tag 'FPGA'

Zynqを使ったデータ取得(DAQ)ボード

大学の同期でいまはJAXAの石川くんの、Zynqを使ったデータ取得(DAQ)ボードが論文としてでていました。

Raspberry Pi 3 (Jessie)にroot 5.34.36をインストール

GROWTH実験で使用するFPGA/高速ADCボードと制御・読み出し用のDAQソフトウエアは、高エネルギー実験でよく使われるCERN/ROOTのROOTファイル形式で波形データを書き出す機能があるのですが、動作試験ができていなかったのでいくつかバグがありました。

GROWTH FPGA/ADCボードにGPS NMEA出力を追加

GROWTH FPGA/ADCボードにドーターカードを載せた様子。PMT用HVとアンプ(チャージアンプ・整形アンプ)、温湿度計(BME280)、情報表示用OLED(128×64ピクセル)を搭載したドーターカードは東京大学和田くん設計、P板.com製造の名作)。

Vivado 2016.2をCent OS 5.5 (64bit) にインストール

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インストーラをダウンロードし、以下のようにして起動。

4. パルス計測プログラムのビルドと測定実行 - GROWTH FPGA/高速ADCボード

雷雲ガンマ線プロジェクト(GROWTH / Thundercloud Project)で開発したGROWTH FPGA/高速ADCボードに関する記事の第四回です。

Vivado HLSのメモ

最近Vivado HLSで高位合成を使い始めました。やっぱり、HDLを生で書くよりも圧倒的に早くコーディング・検証できるので、計算処理の記述ではとても助かっています。もしかすると、他の人の参考になるかもしれないので、作業していて気がついた点をまとめておきます。間違った記述があったらコメント欄で指摘してください。

FT2232のFT245 FIFOモードを使うときの留意点

GRWOTH FPGA/ADCボードでは、USBインタフェースとしてFuture Technology社のFT2232Hを搭載しています。FT2232は、USB2の高速伝送(最高40MBytes/s)に対応したシリアル-USB変換とパラレル-USB変換を2ch搭載したインタフェース変換ICで、秋月ではUSBコネクタ付きのFT2232Dのモジュール版が1450円で販売されています。

GROWTH FPGA/高速ADCボード – 3 – FPGA書き込み

雷雲ガンマ線プロジェクト(GROWTH / Thundercloud Project)で開発したGROWTH FPGA/高速ADCボードに関する記事の第三回です。

GROWTH FPGA/高速ADCボード – 2 – 拡張コネクタ

GROWTH FPGA/高速ADCボードに関する記事の第二回です。

GROWTH FPGA/高速ADCボード - 1 - 概要など

左がGROWTH実験用のFPGAボード。右がRaspberry Pi3。

【PIC】XC8で使用するRAM領域を制限する

自分用メモ。ちゃんと動くようになったら、サンプルをまとめたいと思います。

VHDLを整形(format)したい

VHDLを記述していると、とくにXilinxのISEではコードの整形が結構めんどうです。EclipseだとShift+Command+Fとすると、自動的に指定したルールにもとづいてフォーマットしてくれて、authorによらず統一的な見た目にできますが、残念ながらEclipseのVHDLプラグインはいいものがありません。 そこへくると、Emacsはさすが機能豊富で、整形機能付きの「VHDLモード」を持っています。 MacにインストールされているEmacsでは、.vhdや.vhdlという拡張子のファイルを開くと自動的にVHDLモードになり、 syntax coloringをしてくれます。このモード内で、 Ctrl+C をしたあと、 Ctrl+B すると、コードが整形されます。以下がその例。

Xilinx FPGA用のIPコアをNGCファイルとして(ブラックボックスとして)配布できるようにする

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等のプロジェクト名とする。