1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIとFPGA開発に挑戦してみた

1
Posted at

ボード表面の写真.jpg

AIコーディングエージェントの能力向上が目覚ましい今、FPGA開発もAIが担えるのではないか、という仮説が社内で生まれました。
そこで、転がっていたZYBO Zynq-7010評価ボード Z7-10を使ってAIでなにかやってみよう、ということになりました。
これはその実証実験のレポートです。

目次

実際にやったこと

Vivadoのセットアップ

まずは開発環境のセットアップをします。
どうやらZYNQボードでの開発にはVivadoというIDEを使うようです。
AIに 言われるがままにボタンをポチポチして 手取り足取り教えてもらって無事インストールできました。

画像_1.png

PYNQのセットアップ

開発用PCのセットアップが完了したので次はボードのセットアップを行っていきます。
どうやらPYNQというものを導入するとPythonからFPGAに対して指示が出せるようになって便利らしい、ということでこちらはAIに 丸投げして SSHで実際にボードを操作してもらって、無事に導入が完了しました。

画像_2.png

FPGAでUARTを作ってそこから文字を出力する

無事セットアップも完了したのでなにかやってみよう、ということでまずはUARTを実装してみました。
Vivadoの操作はAIに聞きつつ私の方で作業して、FPGAの実装はまるっとAIに担当してもらいました。
無事エコーバックできるようになりました🎉

画像_3.png

HDMIの映像に半透明の四角を合成

ここまででFPGAというものがなんとなくわかってきたような気がする、繰り返し行う必要がある特定の処理をFPGAに逃がすという使い方がよさそうな気がする、ということで次はHDMIの映像に対してなにか合成してみよう、ということになりました。
この作業をしている時に知ったのですが、VivadoによるBit Streamの作成はCLIからも行えました。
しかもプロジェクトの作成も、TCLというテキストファイルで内容を定義してコマンドラインから行うことができる、つまり人間がIDEを操作することなくAIコーディングエージェントに全て任せることができる、ということが判明しました。
なので作成から実機への配置まで全てAIに任せてみた結果、赤い半透明の四角形がオーバーレイされるようになりました。

メディア.jpg

HDMIをパススルーしつつ任意のタイミングでキャプチャ

先ほどの実験を経て、HDMIの映像に対していろいろできそうだなと思ったので次はHDMIの映像をキャプチャしてみます。

まずは、コマンドラインでキー入力を監視し S キーが入力されたらUSBメモリに保存されるようにして、実際に実機で動かしてみます。

スクリーンショット 2026-08-18 164958_2.png

画像の保存先に使ったUSBメモリをWindows PCに挿して確認すると

スクリーンショット 2026-08-18 165406.png

いいかんじです。
次はNASに保存してみます。

スクリーンショット 2026-08-19 084046_2.png

Windows PCからNASにアクセスして

スクリーンショット 2026-08-19 084136_2.png

こちらもいいかんじに動いています。
固定の場所に対する保存は実証できたので最後は、もっと実戦を意識してWebアプリから操作と画像の取得ができるようにしてみます。

スクリーンショット 2026-08-19 084740_2.png

シンプルながらちゃんとスタイリングされたWebアプリになっていますね。
キャプチャボタンを押して

スクリーンショット 2026-08-19 084907_2.png

画像が出ました。
画像を右クリックして「名前を付けて画像を保存」を選ぶと

スクリーンショット 2026-08-19 085100.png

ちゃんと保存できました。
ブラウザの開発者ツールでソースを確認してみると

スクリーンショット 2026-08-19 085346_2.png

バックエンドを用意して、そこで画像をホストしているようです。
これならダウンロードボタンを用意したり、ボードのスペック次第ではWebRTCで画像ではなく映像をストリーミングしたりといろいろなことに応用が利きそうです。

まとめ

いろいろと試してみましたが、イマドキのAIはFPGA開発のコーディングも十分に担えるようです。
実際に仕事で使うにはテストケースを用意してAIが作ったものが正しいか検証するための仕組みを整備したりする必要がありますが、そのあたりに関してはもとからFPGA開発を行っていた方や組み込み一筋のベテランエンジニアの方々が社内にいるので、その方たちを頼ればなんとかなるかなと思っています。
あとはボードのスペックとアイデア次第、というところでしょうか。

当初の「FPGA開発もAIが担えるのではないか」という仮説については実証成功ということで、今後の弊社の武器になってくれればいいなと思っています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?