投稿者「miyo」のアーカイブ

Vivado/Vitis 2024.1 の MicroBalze Vを使う

Vivado 2024.1でRISC-V ISAのMicroBalzeVが利用できるようになりました.この記事は,Vivado 2024.1 で Arty (Arty A7-100)を対象にMicroBlazeVを利用する手順のメモです.

前半では,Vivadoを使って,MicroBlaze Vを含むFPGA FWの準備をして,後半では,Vitisをclassicモードで起動して,MicroBalze V上でのプログラムの実行を試してみます.

なお,これは,Vitis/Vivado 2020.1でMicroBlazeを使う のMicroBlaze V版です.

続きを読む

VivadoのTclでTCPサーバーを利用する

VivadoはTclスクリプトで操作できるというのは,Vivadoを普段から利用している人はよく知っていると思います.プロジェクト作成やビルドをスクリプト化している人も多いことでしょう.Tcl経由でFPGAにビットファイルを書き込んだり,ILAやVIOを叩くという使い方もできます.

そんな便利なVivadoのTclインタプリタですが,スクリプトの実行のたびにVivadoを起動すると起動時間の長さが気になってきます.というわけで,VivadoのTclインタプリタでコマンド実行用の簡単なTCPサーバーを作ってみました.

とりあえずの最終版は command_server.tcl です.

$ vivado -mode tcl -source ./command_server.tcl

として実行すると,16384番ポートでTCPサーバーが立ち上がって,Tclコマンドを受け付けます.

ちなみに,ここで紹介する方法では,TCP経由でなんでもできてしまいます.使用する場合には,自己責任で十分に注意して実行してください.

続きを読む

ZYBO Z7-10/Z7-20用のPYNQ環境の構築

ZYBO Z7-20でPYNQを使う からだいぶ時間がたって手順がちょっと変わってしまっていました.そこで,あらためて,公式ドキュメントを参考に環境を構築して,ZYBo Z7-10/Z7-20で動作するPYNQ環境を作るまでの手順を紹介します.
作業環境のOSは Ubuntu 22.04で,PYNQのビルド環境はVirtualBox上の Ubuntu 20.04 上に構築します.セットアップするPYNQは,3.0.1 です.ビルドに使用するVivadoとPetaLinuxは2022.1です.https://www.xilinx.com/support/download.html からダウンロードしておきます.

Vivadoのインストール

続きを読む

Kria-PYNQのビルド

GitHubで公開されてているKria-PYNQのbaseをビルドしてみる.ライセンスは https://github.com/Xilinx/Kria-PYNQ/blob/main/LICENSE によるとBSD 3-Clause License なので,オリジナル作るときはこれをベースにすすめればよさそう.というわけでビルドして生成されたVivadoプロジェクトなどを眺めてみました,という話.

続きを読む

KV260のBoot FWのアップデート

KV260で公式のUbuntu 22.04を使おうとしたら Boot Firmware が古くてブートできなかったので更新して事なきを得ましたよ,という話.

ことのはじまり

Kria KV260 Vison AI Starter Kit 向けに Ubuntu 22.04 が公開されています.これまで特に困っていなかったのでUbuntu 20.04を使っていたのですが,そろそろ22.04に移行してみようかとディスクイメージをSDカードに書いて起動しようとするも起動せず…

続きを読む

Efinix Trion 8 Development Kit で遊んでみる

EfinixのFPGAがちょっと気になっていたところに,周囲からもEfinixという話題が聞こえてきたので遊んでみました.実機で遊ぶ前にツール使ってみるかなーとか思ったのだけど,ツールは有償または,評価ボードを買ってライセンス取得の必要があるとのことでボードを購入.購入したのは,Trion 8 Development Kit(T8F81C-DK).Digi-Keyで1万3千円くらいでした.

今回は,お決まりのLチカと,Trion 8ってどのくらいの周波数で動くのかなー?という味見をしてみました,という話です.

続きを読む

Kernel 5.10.17なRaspberryPi 3+にSPIディスプレイを接続する

ラズパイ便利ですよね!で,ちょっとしたしたディスプレイがついてると便利ですよね.SPI接続のTFTモジュールをframebuffer経由で使うことができるfbtftとflexfbを使ってみました.

以下は,2021年10月時点ではオリジナルのfbtftに少し改変が必要でした,という話.

改変したコードはこちらhttps://github.com/miyo/fbtft/tree/for_linx_5.10.17

ことのはじまり

続きを読む

PYNQでAlveo向けにVitisで作ったRTLカーネルを使ってみる

Vitisは、ホスト-FPGA間をOpenCL的に利用できるようにするXilinxの開発環境です。ホストとFPGAの間のデータ転送や制御の仕組みを自分で考えなくていいので楽なのですが、それでもちょっとした回路を動かす時にホスト側のC++コードを書くのがちょっと面倒。

と思っていたら、PYNQでAlveoにxclbinをロードして動かすのが簡単だということを知りました ( 高位合成で加速するアクセラレータ開発 (1) ~ ACRi ルームで体験してみよう )。で、RTLカーネルだったらどうなるのかな?とテストしてみたところ、同じようにRTLから作ったxclbinもPYNQから呼び出せることがわかりました。これは便利。

続きを読む