강의

멘토링

로드맵

Hardware

/

Semiconductor

Verilog FPGA プログラム 3 (DDR コントローラー、Arty A7-35T)

この講義では、FPGA を使用して DDR コントローラーを実装する方法を学びます。

  • alex
verilog
베릴로그
fpga
FPGA

学習した受講者のレビュー

こんなことが学べます

  • DDR コントローラー

  • フレームバッファ

実力あるVerilog開発者に必要
DDR Memory Controllerスキル! ✨

FPGAで実装する
DDR Memory Controller 🛠️

FPGAには多くの機能がIP形式で提供されています。その中で、映像データの処理に主に使用されるDDRコントローラについて説明します。

DDR Controllerを実装する
2つの方法🤔

1. データシートを見てそのまま実装

  • キャリアが古い方が主に使う方法です。
  • システムが複雑になると、毎日このコードで実装することは不可能です。そのため、必要な部分だけを実装して使用することが多いのですが、プロジェクトが変わるたびに毎回異なる方法で実装しなければならない困難があります。

2. Xilinx社が提供するIPで実装

  • 汎用で使用できるIPです。一度使い方を覚えておくと、大幅に変更しなくても複数のプロジェクトに使用できます。
  • 最初に使い方を学ぶプロセスは不満です。ザイリンクスは多くの文書やサンプルコードを提供していますが、情報が多すぎて活用するのは難しいです。

著者はDDRコントローラを実装し、これらの多くの困難を経験しました。何か必要な部分だけまとめられた一つの文書があれば良くないかという考えをたくさんしました。最初は必要な部分だけ理解して開発を進めてDDRを読み書きしてみて、ますます理解度を高めていくのが効率的です。まず、全体的な構造を理解し、後で詳細な内容を理解することが効果的です。本書は、DDR Controllerに初めてアクセスする開発者にも簡単にアクセスできるように構成されています。

DDR Memoryはビデオデータ処理にとって非常に重要です。しかし、専門家でなければアクセスが難しく、またこれらの専門的な内容を扱う資料がほとんどないのが現実です。このレッスンでは、DDR Memory Controllerを実装するすべての内容について説明します。また、DDR Controllerを利用してFrame Bufferを実装する内容について詳しく説明しています。

💾受講前に確認してください!

  • 本講義はPDF形式のテキスト講義で、別途映像を提供しません。
  • レッスンで説明されているモードソースコードを提供します。
  • Digilent社が販売するArty A7開発ボードで実習を進めます。

講義の特徴✨

#1.
DDR Controlleの
すべてを入れました。

DDR Memory Controllerの内容を扱う文書はほとんどありません。この講義では、すべてのコースを詳細に説明します。 Memory IPを生成してSimulationする過程から汎用で使用可能なDDR Memory Controllerの実装、映像データ処理のためのFrame Bufferの実装まで、すべての過程を説明しています。また、ソースコードごとにシミュレーションを通じて検証し、動作を理解できるように構成されています。

本講義の内容をすべて理解すれば、DDR Controllerを実装するだけでなく、Verilogを活用したFPGA実装の実力ある開発者になります。

#2.
Verilogのスキル
アップグレードしてみてください。

Verilogを学びたい人にとって、DDR Memory Controllerはとても良いスキルです。多くの開発経歴を持っている人もDDR Memory Controllerに触れていない方が多いです。 Verilogを一段階アップグレードする機会を提供します。

#3.
実務に適用可能
ソースコードを
提供します

このレッスンを購入する人には、レッスンで説明されているすべての情報源を提供します。提供される情報源は、講義を作成しながら、最初から1つずつコーディングされ、検証された資料で構成されています。また、ビジネスですぐに使用できるコードで構成されています。この講義を通してDDR Controllerのマスターになることを願っています。


学習内容📚

このレッスンでは、DDRコントローラIPを生成するプロセスと、生成されたIPがどのように動作するかをシミュレーションを通じて動作プロセスを理解し生成されたIPを使用して汎用的に使用できるDDRコントローラを設計します最後に、ビデオデータを処理するためのフレームバッファを実装するプロセスについて説明します

この講義は、長い間ISP(Image Signal Processing)の開発を進めてきた著者の経験に基づいて構成されています本書の内容は、実務に直接適用できるコードです内容が多少難しい部分を含めることができます理解されていない部分は2〜3回程度精読しコードをシミュレーションしながら動作内容を復習してみてください。

本講義は、Digilent社が販売するArty A7開発ボードで実習を行います。 FPGAを扱う際にHWに適用し、その結果を確認することは非常に重要です。 Simulationで実装するには制限があります。必ずHWで検証する必要があります。 (本書の最後の章で扱うフレームバッファについては、適切なHWを見つけることができず、Simulationでのみ検証を進めるのが残念です。今後、適切なボードを見つけてHW検証まで進めることができると期待しています)

第1章は全体的な内容の概要です。

2章では、練習に使用されるArty A7ボードについて説明します

3章では、 DDR Controller IPの作成方法とUser Interface Logicについて説明します

4章は、作成されたDDRコントローラIPシミュレーションを通じて動作特性を理解しますこれは、汎用で利用可能なDDRコントローラを実装するために非常に重要です

5章は、汎用的に利用可能なDDRコントローラを実装しそれを使用してDDRメモリの全領域を読み書きすることを実装しますまた、 Bitstreamを作成してボード上の結果を確認します

6章では、Memory Accessの速度に関する内容を調べて最大速度を実現するための内容について説明します

7章は、第5章で実装された汎用DDR Controllerを使用して、ビデオデータを処理するためのFrame Bufferを実装します

第8章は、1 6bits DDR Memory 2個を使用して32Bits Interfaceを実装します。

第9章はSpartan6でDDR Controllerを実装しています。

第10章はDDR4 Controllerを実装しています。

詳細カリキュラム(目次)
  1. 概要
  2. HW構成
    1. USB-JTAGを利用する方法
    2. JTAG-HS2(or JTAG-HS3)コネクタ
  3. DDR Controller IPの生成
    1. プロジェクトの作成
    2. メモリIPの作成
    3. メモリIP構造
    4. User Interface Block
    5. User Interface 信号
    6. User Interface Timing
  4. Simulation
    1. Simulation 環境設定
    2. Simulation
    3. Simulation 結果の確認
  5. User Interface Logicの実装
    1. 概要
    2. Write Moduleの実装
    3. Read Module 球
    4. User Interfaceモジュールの実装(ddr_testモジュール)
    5. mig_top Moduleの実装
    6. トップモジュールの実装
    7. トップモジュールシミュレーション
    8. Bitstreamの作成
    9. Bitstreamのダウンロード&確認
  6. DDR3メモリアクセス速度
    1. mig7_write8 修正
    2. mig7_read8 修正
    3. mig7_write_top 修正
    4. mig7_read_top 修正
    5. ddr_testの修正
    6. define.v 修正
    7. MIG7 Memory Interface IPの変更
    8. clk_genの修正
    9. Arty35Top.vの修正
    10. Bitstreamの作成と結果の確認
  7. Frame Bufferの実装
    1. データの準備
    2. Image Decoder
    3. Frame Bufferの概要
    4. frame_write
    5. frame_read
    6. 映像データを使ったフレームバッファの確認
  8. 32bits Interfaceの実装
    1. プロジェクトの作成
    2. メモリIPの作成
    3. Simulationによる生成されたIP動作の理解
    4. User Interfaceの実装
    5. mig32_top モジュール simulation
    6. 結論
  9. Spartan6 DDR Controllerの実装
    1. プロジェクトの作成
    2. IP生成
    3. mcbレビュー
    4. シミュレーションによる動作の確認
    5. コードの実装
    6. 全領域 read/write の実装
    7. 結論
  10. DDR4 Controllerの実装
    1. プロジェクトの作成
    2. IP生成
    3. simulation
    4. コードの実装
    5. Address関連
    6. xdcの生成
    7. 結果の確認
    8. 結論
  11. 参考資料
  12. Revision History

前の講義を一緒に見る👀


予想される質問 Q&A 💬

Q. Verilog初心者でも可能ですか?

Verilogに関する基本的な知識が必要です。関連知識がなければ難しいかもしれません。

Q.準備はありますか?

コードを実装して検証するためにArty A7ボードを使用してください。ボードの準備ができたら、実装した内容を直接確認できます。しかし、すべてのソースをシミュレーションできるように構成されているので、まず講義を聞いてボードが準備されれば後で検証してもよい。

Q.プログラムツールは何を使用しますか?

Xilinx社のvivado 2018.3を使用します。 2018.3以降のバージョンであれば可能です。


知識共有者の紹介✒️

私は20年以上にわたり大企業、中小企業で開発者として働いてきましたが、現在は小さな企業を運営しています。 CCTV用ISP(Image Signal Processing)ASICを開発し、OLED検査装置、DAQ(Data Acquisition System)などFPGAを利用した多くの製品を開発しました。 FPGAだけでなく、FW開発(STM32、PIC32、AVR、ATMEGAなど)、回路設計、Windowsプログラムなど多くの経験を持っています。これまで私が積み重ねてきた幅広い経験をもとに、皆さんの学習に役立つことを願っています。


こんな方に
おすすめです

学習対象は
誰でしょう?

  • FPGA を利用した映像データ処理

  • フレームバッファの実装

  • Verilog を学びたい方

  • FPGA を学びたい方

前提知識、
必要でしょうか?

  • Verilog

  • vivado

  • FPGA

こんにちは
です。

1,677

受講生

71

受講レビュー

125

回答

4.8

講座評価

19

講座

저는 지난 20여년 동안 대기업, 중소기업에서 개발자로 일해왔고

현재는 작은 기업의 대표로 있습니다.

주요 경력사항은

  • Verilog HDL을 이용한 FPGA 설계

    • CCTV용 ISP ASIC 개발 (약 10년)

    • OLED Display 검사장비 개발 (약 3년)

    • FPGA를 이용한 장비 개발

  • MCU FW

    • STM32

    • PIC32

    • AVR, ATMEGA

    • DSP (TI)

  • Windows Application Program

    • Visual Studio MFC, C++

입니다.

カリキュラム

全体

277件

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

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

受講レビュー

全体

6件

5.0

6件の受講レビュー

  • kwonjisu2159091님의 프로필 이미지
    kwonjisu2159091

    受講レビュー 1

    平均評価 5.0

    5

    5% 受講後に作成

    FPGA 関連の資料は探すのも難しく、探しても量が膨大なので、学ぶのが難しいと思います。良い資料で、とても助かりました。

    • ihil
      知識共有者

      私も初めて勉強したときは、何を学ばなければいけないのか、どう始めたらいいのか、途方に暮れていたような気がします。より有益な資料になるよう努力します。ありがとうございます~!!

  • miheungsound8323님의 프로필 이미지
    miheungsound8323

    受講レビュー 2

    平均評価 5.0

    5

    30% 受講後に作成

    良い講義内容で大変役に立ちそうです。何度も繰り返して見ています。ありがとうございます。

    • ihil
      知識共有者

      ありがとう、講義を通してddr controllerを完全に理解してください。

  • kimjw0319님의 프로필 이미지
    kimjw0319

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    よく整理された内容ですね

    • appleid71335256님의 프로필 이미지
      appleid71335256

      受講レビュー 4

      平均評価 5.0

      5

      57% 受講後に作成

      多くの役に立つ

      • ihil
        知識共有者

        助けてくれてありがとう。今日は一日も楽しい時間になってください。 ~!!

    • neulha님의 프로필 이미지
      neulha

      受講レビュー 14

      平均評価 5.0

      5

      100% 受講後に作成

      MCUをするときは、RAMについて(最近のリソースが豊富で)大きな悩みなしにしました。ところでFPGAやZynqをしながらHW勉強してみると、RAMに対する悩みをするようになり、難しさをたくさん感じましたが、この講義が心強い力になりました。ずっと良い講義資料お願いします~!

      • ihil
        知識共有者

        受講評 ありがとうございます。 MCU環境とFPGA開発環境は大きく異なるようです。おそらく他の世界かもしれません。幸せな開発者、能力のある開発者になりますように。ありがとうございます〜!

    ¥13,140

    alexの他の講座

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

    似ている講座

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