FPGAの基礎
EasyFPGA
本講義では、FPGAの基本概念と動作原理を理解し、FPGAが持つ利点およびASICとの違いを検討します。続いて、FPGA設計プロセスとFPGA詳細設計分野について説明します。FPGA開発ツールの種類と役割を学び、AMD FPGA開発ツールであるVivadoのインストールを行います。 簡単な例題デザイン実習を通じて、FPGA設計過程を経験します。
入門
Verilog HDL, FPGA, system-verilog
UARTは最も基本的で広く活用されているシリアル通信方式であり、FPGA設計に初めて触れる初心者にとって非常に適した学習テーマです。本講義では、UARTの通信原理とフレーム構造を詳細に理解し、これを基にRTL(Register Transfer Level)設計を通じて送受信ロジックを直接実装する過程を進めます。FPGA上でUARTを実装することで、デジタル回路設計能力を体系的に養い、シミュレーションおよび検証を通じて実際のハードウェアレベルでの動作を確認する経験を積むことができます。また、Soft ProcessorであるMicroBlazeとXilinx UART IPを活用した方式も共に学習し、プロセッサベースのシステム設計フローおよびインターフェース構成を幅広く理解するようになります。これにより、論理設計とプロセッサ設計を網羅する包括的な開発能力を身につけることができます。
UART 通信について理解する
HDLを用いて UART TXとRXモジュールを設計する
MicroBlazeプロセッサとUART IPを活用した実装方式
シミュレーション検証およびハードウェア検証
UART(Universal Asynchronous Receiver/Transmitter)は最も基本的で、実務で広く使用されているシリアル通信方式です。特にFPGAベースのデジタル設計を学習しようとする初心者にとって、UARTは構造が簡単で実装が明確なため、非常に有用な学習テーマとなります。
本講義では、UARTの通信原理、データフレーム構造、パリティビットの役割などを理論的に学習した後、これを基にRTL(Register Transfer Level)設計を通じて送信機と受信機を直接実装します。Start BitからData Bit、Parity Bit、Stop BitまでUARTフレームの構成要素を波形シミュレーションを通じて分析し、実際のハードウェア動作に接続してみる過程を体系的に扱います。
また、本講義では基本的なUART設計にとどまらず、Xilinx FPGAが提供するSoft ProcessorであるMicroBlazeとUART IPを活用した高度な実装方式まで拡張して学習します。これにより、ハードウェアベースの論理設計だけでなく、プロセッサベースシステムでのPeripheral構成と動作原理も併せて体験できるため、実践的なEmbedded設計能力を身につけることができます。
実習を通じてシリアル通信データを送受信しながら、エラー検出(パリティチェック)、状態遷移(FSM)、Baud Rate設定など様々なデジタル設計技術を身につけることになります。また、Verilog/SystemVerilogベースのRTLコード作成、テストベンチ構築、シミュレーション検証、ハードウェアダウンロードなどFPGA開発の全過程を辿りながら設計感覚を養うことに重点を置きます。
本コースはFPGA設計の経験がなくても付いてこられるよう実習中心で構成されており、UARTフレームの送信フローを直接設計し目で確認することで、デジタル通信構造の核心を自然に身につけることができます。講義が終わると受講生はUARTの送受信ロジックをRTLで実装できるだけでなく、MicroBlazeベースの設計フローを通じてプロセッサ中心のシステムアーキテクチャに対する理解も得ることになります。
開発ツール: Vivado 2022.2, Vitis 2022.2
開発言語: system-verilog
検証可能なFPGAボード
PCシリアル通信プログラム
Tera Term、PuTTy など(無料で使用可能)
開発コードおよびプロジェクト
PDFスライドファイル
学習対象は
誰でしょう?
FPGA設計をこれから始められる方
実務でUARTの適用が必要な方
FPGA設計フローと方法を学びたい方
前提知識、
必要でしょうか?
FPGA 基礎
Vivado, Vitisなどの開発ツールインストールおよび活用方法
キャリア認証
662
受講生
41
受講レビュー
8
回答
4.6
講座評価
3
講座
FPGAは伝統的な半導体設計プロセスとは異なり、簡単かつ迅速に設計を具現化できるという利点を持つデバイスです。デザインソースさえあれば、FPGAの論理要素を活用して、即座に配置および接続が可能です。また、ハードウェア的な性格が強いため、コードも複雑ではなく直感的に記述することができます。
重要なのはFPGAの設計概念とフローを理解し、さらには設計の目的と対象について理解することです。これをもとにデザインソースの構造を最適化し、適切な制約条件を入力して安定したFPGAを設計することが核心となります。
講義ではコーディングよりもFPGA設計の概念と構造、設計方式およびフローを中心に構成され、ステップバイステップの実習中心の内容を盛り込む予定です。直接実装し、実習しながらノウハウを積み重ねていくことがFPGAエンジニアの核心であり、今後AIに代替されるコーディングよりも大きな価値になるでしょう。
10年以上の経歴を持つFPGAおよびハードウェア設計の専門家で、高速データ処理および通信システム設計、画像処理などに特化しており、多様なFPGAプロジェクトに参画。
下記のYouTubeやブログから追加情報を得ることができます。
全体
19件 ∙ (1時間 6分)
講座資料(こうぎしりょう):
1. UARTとは?
06:00
2. UART フレームフォーマット
03:27
3. RS-232、RS-485とは?
03:26
全体
3件
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!