Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Hardware

/

Semiconductor

FPGAの基礎

本講義では、FPGAの基本概念と動作原理を理解し、FPGAが持つ利点およびASICとの違いを検討します。続いて、FPGA設計プロセスとFPGA詳細設計分野について説明します。FPGA開発ツールの種類と役割を学び、AMD FPGA開発ツールであるVivadoのインストールを行います。 簡単な例題デザイン実習を通じて、FPGA設計過程を経験します。

  • easyfpga
fpga기초
fpga이해
fpga디자인플로우
Verilog HDL
FPGA
system-verilog
Thumbnail

こんなことが学べます

  • FPGAの定義および動作原理理解

  • FPGAとASICの比較を通じたFPGA活用価値の把握

  • FPGA設計手順(HDLコーディング → 合成 → 配置・配線 → ビットストリーム生成)熟知

  • FPGA詳細設計分野(インターフェース、アルゴリズムおよび並列処理)要求技術把握

  • FPGA開発ツールに対する理解

  • AMD FPGA開発ツールであるVivadoおよびVitisのインストール方法の把握

  • サンプルデザインを活用した Vivado 開発フロー

FPGAイメージ

講義紹介

このレッスンでは、FPGA(Field-Programmable Gate Array)の構造と設計フローの基本概念を習得し、実用的な観点から設計を構成するインターフェース設計とアルゴリズム設計の2軸を中心に詳細に取り上げます。初心者から実務者まで、FPGA設計を体系的に学びたい方のための入門講義です。

さらに、FPGA設計は本質的にASIC設計のフロントエンドプロセスと似ています。したがって、 ASIC設計に進入するための良い準備過程となります。実際にASICプロジェクトの初期にFPGAでプロトタイピングを先に行う場合もよく、ASICとFPGAの両方に上手なエンジニアが多い理由もこの共通基盤のためです。

学習目標

  • FPGAとは何ですか、なぜ使用されるのかを理解してください。

  • FPGA設計フローを段階的に学習する。

  • インタフェース設計(クロック、I/O、メモリ、高速通信など)の重要な要素を把握する。

  • アルゴリズムと並列処理構造(DSP、LUT、パイプライニング、FSMなど)を設計する概念を理解します。

  • システムを統合的に構成する方法と注意点を理解してください。

  • FPGA開発ツールを理解し、AMD FPGA開発ツールのインストール方法を理解します。

  • FPGA内部コンポーネントであるCLBとメモリブロック、DSPなどの使用方法を学習する。

FPGAとは?

FPGA(Field Programmable Gate Array)は「現場でプログラム可能なゲートアレイ」という意味で、ユーザーがハードウェア回路構造を自由に構成できる半導体チップです。

  • 再構成可能性:必要な動作に合わせてハードウェア回路を再プログラミング可能

  • 活用分野:通信、信号処理、人工知能、ロボット制御、高速インタフェースなど

  • コンポーネント: Logic Block、LUT、Flip-Flop、Clock Network、Block RAM、DSP Sliceなど

FPGA設計フロー(Design Flow)

  1. 要件の定義

    • 何を実装するか、機能、パフォーマンス、入出力条件を明確に定義

  2. RTL設計

    • Verilog HDL、system-verilog、VHDLなどのハードウェア技術言語で設計

  3. 機能シミュレーション(Functional Simulation)

    • 設計ロジックが要件を満たしているかどうかをシミュレーションで確認する

  4. 合成(Synthesis)

    • RTLコードを実際のゲートレベル回路に変換

  5. 配置と配線(Place & Route)

    • FPGAの実際のリソース(LUT、FF、DSPなど)に設計を配置

  6. ビットストリーム生成 (Bitstream Generation)

    • FPGAが認識できる構成データの生成

  7. プログラミングとデバッグ


    • FPGAにダウンロードして動作確認、必要に応じて修正

FPGA設計の詳細分野

  1. インターフェース設計

    • 入出力I/Oとバッファ、クロック構造、Gigabit Transceiver、Memory Interfaceの理解が必要。


  2. アルゴリズムと並列処理設計

    • DSP活用、カスタムロジック設計、FSM設計

    • Pipeliningと並列処理設計が重要です。

FPGA設計ツール

  1. 主要デバイスメーカーの設計ツール

    1. AMD FPGA: Vivado, Vitis

    2. Intel FPGA: Quartus

  2. 主な機能

    1. HDLコード作成/シミュレーション/合成

    2. デザイン制約の設定(XDC、SDCなど)

    3. Timing AnalysisとBitstreamの作成

    4. オンチップデバッグ

  3. Vivado + Vitis Workflow

    1. Vivado:ハードウェア設計

    2. Vitis:ソフトウェア設計


Vivadoのインストール

  1. VivadoとVitisはAMD FPGAの開発に求められる基本的なツール。

  2. AMD Siteでアカウントを作成し、必要なバージョンをダウンロードする必要があります。

    1. Standardバージョンは無料で利用可能ですが、一部のデバイスサポートが制限されています。

    2. ロジックサイズが大きいデバイスほどPCに容量の大きいメモリが要求される。

  3. インストール

    1. 100GB以上のハードディスク容量が必要です。

    2. 1~2時間以上かかります。

LED Blinking(例)

  1. system-verilogを利用し、clock divisionとRTLを利用して、1秒間隔でtoggleされるLEDを設計。

  2. テストベンチを作成し、シミュレーションを進めます。

  3. XDCファイルに制約を割り当てます。

  4. Synthesis と Implementation の進行。

  5. ILA へのデバッグ信号の追加。

  6. FPGAプログラムとテスト。

FPGA内部コンポーネント

  1. CLB(Configurable Logic Blocks)

  2. Memory

  3. DSP

こんな方に
おすすめです

学習対象は
誰でしょう?

  • FPGA設計にご関心をお持ちの方

  • FPGAとは何かお知りになりたい方

  • 半導体設計の夢をお持ちの方

こんにちは
です。

168

受講生

7

受講レビュー

2

回答

4.6

講座評価

3

講座

  • FPGA는 전통적인 반도체 설계 과정과 달리, 쉽고 빠르게 설계를 구현할 수 있는 장점을 가진 디바이스입니다. 디자인 소스만 있으면, FPGA의 논리 요소를 활용하여, 즉시 배치 및 연결이 가능합니다. 또한, 하드웨어적인 성격이 강하기 때문에 코드 역시 복잡하지 않고 직관적으로 작성할 수 있습니다.

  • 중요한 것은 FPGA의 설계 개념과 Flow를 이해하며, 나아가서는 설계 목적과 대상에 대해 이해를 하는 것입니다. 이를 바탕으로 디자인 소스의 구조를 최적화하고, 알맞은 제약조건을 입력해 안정적인 FPGA를 설계하는 것이 핵심입니다.

  • 강의에서는 코딩보다는 FPGA 설계 개념과 구조, 설계 방식 및 Flow를 중심으로 구성되며, Step-by-Step 실습 위주의 내용을 담을 것 입니다. 직접 구현하고 실습하며 노하우를 쌓아가는 것이 FPGA 엔지니어의 핵심이며, 앞으로 AI로 대체될 코딩 보다 더 큰 가치가 될 것입니다.

     

  • 10+ 경력의 FPGA 및 하드웨어 설계 전문가로, 고속 데이터 처리 및 통신 시스템 설계, 영상 처리 등에 특화되어 있으며, 다양한 FPGA 프로젝트에 참여.

  • 아래 Youtube나 Blog에서 추가적인 정보를 얻으실 수 있습니다.

     

 

 

カリキュラム

全体

16件 ∙ (1時間 39分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

7件

4.6

7件の受講レビュー

  • 이석중님의 프로필 이미지
    이석중

    受講レビュー 1

    平均評価 3.0

    3

    31% 受講後に作成

    • dmax님의 프로필 이미지
      dmax

      受講レビュー 104

      平均評価 5.0

      5

      100% 受講後に作成

      새로운 학습이었습니다. 고맙습니다

      • 김아람님의 프로필 이미지
        김아람

        受講レビュー 1

        平均評価 5.0

        5

        38% 受講後に作成

        • 서윤님의 프로필 이미지
          서윤

          受講レビュー 2

          平均評価 4.5

          4

          63% 受講後に作成

          • 김현군님의 프로필 이미지
            김현군

            受講レビュー 2

            平均評価 5.0

            5

            40% 受講後に作成

            無料

            easyfpgaの他の講座

            知識共有者の他の講座を見てみましょう!

            似ている講座

            同じ分野の他の講座を見てみましょう!