ChatGPTでUART通信を一発で動かせた話【5cm FPGA基板】
Running UART on a 5cm FPGA Board with ChatGPT — Worked on the First Try
🇬🇧 English Summary
In this article, I tested UART communication on a 5cm FPGA board using code generated by ChatGPT.
The goal was to transmit data from the FPGA to a PC via UART.
Surprisingly, the generated VHDL code worked on the first try without any modifications.
This demonstrates that:
- ChatGPT can generate practical FPGA code for UART communication
- Simple FPGA interfaces can be implemented very quickly
- Hardware verification is still essential
In the next step, I will explore MicroBlaze integration.
はじめに
前回は、5cm FPGA基板で7セグメントLEDを動かしました。
今回はその次のステップとして、
👉 UART通信(PCとの接続)
を行います。
しかも今回は、
👉 ChatGPTで生成したコードをそのまま使って検証
しています。

今回の目標
やることはシンプルです。
- FPGAからUARTでデータを送信する
- PC側で受信して確認する
- できれば修正なしで動作させる
ChatGPTへの指示
今回は以下のような内容で指示しました。
- 5cm FPGA基板を使用
- UART送信(TX)機能
- ボーレート設定(例:115200bps)
- クロック条件(例:50MHz)
- Vivado + VHDL
- XDC制約も含めて出力
👉 ポイントは
具体的に条件を書くことです。
生成された内容
ChatGPTからは以下が出力されました。
- UART送信モジュール(TX)
- トップモジュール
- クロック分周ロジック
- XDC制約例
そのままVivadoに取り込める構成でした。
実装手順
- VHDLファイルを追加
- XDC制約を設定
- 合成(Synthesis)
- 実装(Implementation)
- ビットストリーム生成
- FPGAへ書き込み
動作確認
PC側でシリアル通信ソフトを使用して確認。
結果👇
👉 そのまま一発で動作
- UARTデータ受信成功
- 文字列表示確認
- 通信安定
7SEGとの違い
前回の7SEGでは、
- ピン設定ミス
- 極性のズレ
などで一度ハマりました。
一方、UARTは👇
👉 修正なしで動作
なぜ一発で動いたか
考えられる理由は以下です。
- UARTは構成がシンプル
- ピン数が少ない
- 極性の影響が少ない
- ChatGPTのテンプレ精度が高い
対話ログ
今回のやり取りは保存しています。
まとめ
今回の結果から、
- ChatGPTでUARTレベルのコードは十分実用
- FPGA開発の初期ハードルはかなり下がっている
- 実機検証はやはり重要
と感じました。
次回
次は👇
👉 MicroBlaze(FPGAにCPUを入れる)
を試していきます。
FPGAインフォメーションのホームページはこちら
5SQ XC7S25A FPGAボードはこちらから購入できます。
