FPGA

AXI VDMAでHDMI出力

概要 AXI VDMAの使い方についてのメモです。 ArtyZ7でHDMI出力をしてみたいと思います。 回路構成はArty-Z7のHDMI OUTのサンプルデザインを参考にデザインを一から作り直して調べていこうと思います。 この記事は、調べながら順に更新をしていこうと思います…

MicroBlazeで実行時間を測定する方法

概要 MicroBlazeで命令の実行時間を測定する方法について考えました。 MicroBlazeではxtime_l.hが存在せず、sys/time.hのgettimeofday()が使えなかったため、 外部にAXI_Timer IPを入れることで実行時間を測定することにしました。 Vivadoプロジェクトの作成…

ZYNQのPSで実行時間を測定する方法

概要 ZYNQである処理の実行時間を測定したいときにどうすればよいのかについて紹介します。 一般的なCのコードではtime.hを使ったりしますが、ZYNQではこの方法は非推奨なようです。 今回はXilinxが用意したxtime_l.hというファイルを用います。 Vivadoプロ…

AXI GPIOについて

概要 AXI GPIOの使い方についてのメモ書きです。AXI GPIOはFPGAのピンの入出力としてももちろん使えますが、 FPGA内部のIPの入出力をコントロールすることもできて非常に便利なIPです。 Vivadoプロジェクトの作成 Block DesignなどでAXI GPIOを追加するだけ…

Cmod A7のSPIFlashにSDKのプロジェクトを書き込む

概要 Digilent社のCmodA7というFPGAボードにMicroBlazeを実装したBitstreamとそのSDKプロジェクトをSPI Flashに書き込む方法についてです。この方法はDigilent社の公式HPに、そのやり方が書いてあるのですが、かなり省略された説明でわかりにくかったため、 …

仮想I/O (VIO) IPコアを使ったFPGAのデバッグ

今回は、LogiCORE IP Virtual Input/Output (VIO) コアを用いてFPGAの内部信号をPCからコントロールしてみます。 どんなことができるのか VIOを使うと、Vivadoの画面上でピンや信号線の状態を監視したり、操作したりすることができます。ILAと同じくデバッグ…

FPGAの差動入力でAD変換

はじめに XilinxのXcell Journal 94号に掲載されている「1つのザイリンクス FPGA で数百の信号をデジタル化する方法」がとてもおもしろそうだったので実際に実装してみました。 Xcell Journal 日本語版 差動入力1つと抵抗,コンデンサがそれぞれ1つだけで…

zynqでlinuxをブートするために必要なファイルは何か

はじめに zyboやzedboardに載ったzynq上でlinuxを動かす際に必要なファイルについて,各ファイルがどんな意味を持つのか簡単にまとめていこうと思います。 zynqでlinuxを動かす zynqでlinuxを動かす方法についてはいろいろなサイトで紹介されているのでそち…

図形描画

これまでに作成したVGA表示回路で図形を描画できるようにしました. NIOS IIでVRAMにアクセスして図形を描画しています.図形の描画アルゴリズムはこちらのサイトを参考にしました. アルゴリズムの紹介まだ直線と画像の描画しか実装していないのですがとりあえ…

DE0でVGA出力(VRAMを実装)

前回作成したVGAコントローラーにVRAMを実装した.taltalp.hatenablog.jp前回までに作成したVGA表示回路は表示画像を回路で作成していたため特定の画像以外は表示することができなかった.今回はVRAMとNIOS2を実装してソフトウェアから画像を変えられるように…

DE0でVGA出力

DE0でVGA出力をしてみた. 今回作成した回路はVGAを出力することが目的であるため,VRAM等の実装は今回はしない. 1.仕様 解像度・・・640×480 水平同期周波数・・・31.25kHz 垂直同期周波数・・・59.5Hz 2.タイミング HS, VSのタイミングチャートは図のように…

Nios II で Hello World

Qsysを使用してDE0にNios IIを実装してPCに Hello World! を表示させました.実際には自分でソースコードを書いたりだとかはほとんどしておらず,どちらかと言えばQuartusとQsysの使い方がメインです. 1.使用した環境・Windows7・Quartus II Ver.13.1 Web Edit…