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

/

Semiconductor

Verilog FPGA プログラム 2 (MicroBlaze、Arty A7-35T)

Xilinx FPGA で MicroBlaze を実装する内容です。

  • ihil
fpga
verilog
hdl
xilinx
FPGA
MicroBlaze
Verilog HDL

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

こんなことが学べます

  • FPGA で MicroBlaze を使用

  • Verilog プログラム

  • FPGA プログラム

勉強するのにふさわしいFPGA MicroBlaze!
講義と一緒ならポガルできますよ💪

Xilinx FPGAでMicroBlazeを使用!

MicroBlazeは、FPGAでIP形式で提供されるプロセッサです。 MicroBlazeはProcessor CoreとPeripheralを分離しているため、ユーザーが目的に合わせてPeripheralを設定できます。

講義のテーマ 📖

FPGAを扱うのは難しいです。 FPGAを実装するためには、HW的な知識はもちろん、使用するツールとVerilog文法についても多くの理解が必要です。 MCUを移植して使用するには、より深い知識が必要です。 XilinxはFPGAに関する多くのドキュメントを提供していますが、ドキュメントを見ると他のドキュメントを参照することが多すぎます。したがって、ザイリンクスが提供する文書を見て理解することは、経験豊富な開発者ではなく、非常に困難です。

このレッスンでは、ザイリンクスFPGAでMicroBlazeを移植して使用する方法について詳しく説明します。ツールをインストールする過程から MicroBlazeを移植して使用する方法、 ユーザー ロジックと MCU 間のインターフェイスの実装について詳しく説明します。 FPGAでMicorBlazeを使用するスキルで、さらに一歩成長したキャリアを作りましょう!

講義で理解できない部分は、Inflearnコミュニティまたは私が運営するカフェを通じて質問を投稿していただければ答えていただきます。

📢受講前に必ず確認してください!

  • 講義は、電子文書形式で構成されたテキスト講義です。講義を受講している方には、講義で説明されているすべてのソースファイルを提供しています。講義は今後の動画で制作予定です。
  • このレッスンは、2019年以降のバージョンのVitis 2022.1に基づいて説明されています。
  • 講義資料は「セクション0 - 資料共有リンク - 添付ファイル」からダウンロードできます。

講義特長 ✨

講義内容は
実務にすぐに適用可能!

テストで検証済み
オープンソース提供!

デバッグ、開発に必要
Windowsアプリプログラム提供!


こんな方にオススメです🙋‍♀️

VerilogでFPGAを設計した
経験のある方

C言語を利用して
FWをやった方

MicroBlazeに興味がありますが、
経験がない方


こんなことを学びます📚

セクション1 HW構成

セクション2 Vitis 2022.1のインストールプロセス

  • Vitisは非常に重いツールです。インストール時の注意事項と、現在使用している Vivado と競合せずにインストールする方法について説明します。

セクション3 。 MicroBlazeで画面に「Hello world」を出力する

  • このセクションでは、おおよその流れを特定することを目的として説明します。

セクション4 。 MicoBlazeのPeripheral

  • 主に使用するGPIO、Timer、Uart、Interruptについて説明します。 MicroBlazeが提供するペリフェラルは似ているので、講義の内容を学ぶと、他のペリフェラルも簡単に使用できます。

セクション5実務に適用できる知識

  • ほとんどの材料はペリフェラルを扱うことで終わります。ただし、FPGAでMicroBlazeを使用する目的は、ユーザーが設計したLogicをMicroBlazeを介して制御することです。最終的には、ユーザーインターフェース(UI)を介してユーザーが設計したロジックを制御することです。
  • 講義では、User Logicを構成するための4つのPWMモジュールを追加しました。 User Logicを制御するためのRegister Mapを設定し、MicroBlaze、UIを介してUser Logicを制御します。これらすべてのプロセスを説明し、実装し、結果を示します。
  • このセクションで説明されている内容は、実務に直接適用できます。 User Logicを追加してRegister Mapを追加すると、他のすべてのプロセスは実装されたままになります。

セクション6 lwIP Echo Server

  • lwIPを利用してEcho Serverを実装する内容です。 MicroBlazeでCache(Instruction Cache、Data Cache)を使用するためにDDR Controllerを実装します。

セクション7 lwIPの活用

  • lwIPを使用したTCP / IP通信にUser Logicを追加する手順について説明します。 PCがTCP / IPを使用して命令を送信すると、lwIPを介して命令を受信し、User LogicがボードのLEDを制御するプロセスについて説明します。これにより、lwIPとUser Logicのインターフェースを実装し、結果を確認します。

セクション8 W5500モジュールを使用したTCP / IPの実装

  • v1.4 で追加された内容です。 wiznet社のw5500モジュールを利用してTCP/IPを実装する内容です。 PCとNetworkで接続してデータ送受信を実現します。これを応用すればTCP/IPを利用する分野に多様に適用できるはずです。

セクション9 Block Memory Interface - 1

  • v1.5 で追加された内容です。 Block Designがデフォルトで提供するBlock Memory Interfaceを実装します。

セクション10 Block Memory Interface - 2

  • v1.5 で追加された内容です。 User LogicでBlock Memoryを追加してBlock Memory Interfaceを実装します。これを利用してUser Register Mapを実装し、pwmのfrequency, dutyを制御する例を実装します。
詳細カリキュラムが気になったら?
  1. 概要(4)
  2. HW構成(6)
  3. SW取付(7)
  4. Hello Worldの実装 (12)
    1. 基本テンプレートの実装 (12)
      1. プロジェクト作成(12)
      2. Create Block Design (15)
      3. Create HDL Wrapper (21)
      4. User Logicの実装 (22)
      5. xdcの実装(27)
      6. Generate Bitstream (30)
      7. エクスポートハードウェア (31)
    2. Embedded SWの実装 (34)
    3. Flashにプログラムをダウンロード (45)
      1. vitisからダウンロード (45)
      2. elfファイルをvivadoから追加してダウンロードする(50)
  5. MicroBlaze Peripheralの実装 (59)
    1. ブロックデザイン (59)
      1. GPIO: LED_4bits (60)
      2. GPIO: btn0 (External Interrupt-1) (61)
      3. GPIO: btn1 (External Interrupt-2) (62)
      4. GPIO : btn3, 4(General Input, Toggle switch) (63)
      5. タイマー (64)
    2. アプリケーションSW (71)
      1. xparameters.h file (72)
      2. ソース構造 (75)
      3. コードの実装 (77)
    3. ダウンロードと結果の確認 (82)
  6. User Logic インターフェイスの実装 (83)
    1. ブロックデザイン (84)
    2. User Logicの実装 (88)
      1. mcu_pwm.v(89)
      2. pwm_top.v (90)
      3. spi_slave.v (91)
        1. 通信プロトコル (93)
        2. レジスタマップ (93)
        3. 波形解析(94)
        4. コードの実装 (96)
        5. Simulation (103)
      4. BlazeTop.v (106)
      5. xdcの生成 (109)
    3. アプリケーションSW (112)
      1. comm_task コピー (116)
      2. helloworld.c (116)
      3. 通信プロトコル (118)
      4. comm_task (119)
    4. ダウンロードと結果の確認 (120)
    5. HW Update (124)
  7. lwIP Echo Serverの実装 (126)
    1. システム構成 (126)
    2. lwIP HWの実装(128)
      1. プロジェクトの作成 (128)
      2. HWブロック生成 (130)
      3. Create HDL Wrapper (152)
      4. アプリケーションSW(158)
      5. 結果の確認 (167)
      6. ソース分析 (174)
  8. lwIPの活用 (180)
    1. HWデザイン(180)
    2. User Logic 実装 (185)
    3. Application SWの実装(192)
  9. W5500を使用したTCP / IPの実装(202)
    1. プロジェクト作成(206)
    2. ブロックデザイン(207)
    3. トップモジュールの実装(217)
    4. アプリケーションSWの実装(222)
      1. メモリサイズ(232)
      2. ファイル構造(233)
      3. data_type.h(233)
      4. ax_common.h(234)
      5. w5500.c、w5500.h (234)
      6. w5500_task.c、w5500_task.h (234)
      7. w5500_socket.c、w5500_socket.h (235)
      8. w5500_loopback.c、w5500_loopback.h (235)
      9. helloworld.c (238)
    5. 結果の確認 (240)
      1. ビルプロジェクト(240)
      2. PCネットワーク設定(241)
      3. プログラムのダウンロードと結果の確認 (242)
      4. 外部Flashにプログラムをダウンロードする(246)
    6. 結論 (247)
  10. Block Memory Interface - 1 (248)
    1. プロジェクトの作成 (248)
    2. ブロックデザイン(250)
    3. Constraints ファイルの追加 (260)
    4. アプリケーションSWの実装(263)
  11. Block Memory Interface - 2 (268)
    1. プロジェクトの作成 (269)
    2. ブロックデザイン(270)
    3. User Logic Design (279)
    4. アプリケーションSWの実装(289)
    5. ダウンロードと結果の確認 (289)
    6. リンクスクリプトの修正 (295)
  12. 参考資料 (297)
  13. Revision History (298)

予想される質問 Q&A 💬

Q.講義を聞く対象者は誰ですか?

V erilog文法を理解し、FPGA設計経験があり、組み込みシステム(FW)開発経験がある方を対象としています。しかし、ちょっとした経験しか持っていても、内容どおりにそのまま従えば十分に理解できるでしょう。

Q.講義を聞くために準備すべき事項はありますか?

本講義は実習ボードArty A7-35T(100T、Digilent社製)で行われます。ボードが用意されていない場合は、まず内容を見て、後でボードを購入して必ずボード上で確認してください。 FPGAの実装はシミュレーションで終わらず、必ずHWで検証する必要があります。

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

最新バージョンの vitis 2022.1 バージョンを使用します。本講義には設置過程が詳しく紹介されています。


知識共有者の紹介✒️

履歴

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


こんな方に
おすすめです

学習対象は
誰でしょう?

  • MicroBlaze に興味のある方

  • FPGA に興味のある方

  • Verilog に興味のある方

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

  • C言語

  • Verilog HDL

  • Xilinx FPGA

こんにちは
です。

1,647

受講生

66

受講レビュー

123

回答

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++

입니다.

カリキュラム

全体

290件

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

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

受講レビュー

全体

5件

5.0

5件の受講レビュー

  • withuman3898님의 프로필 이미지
    withuman3898

    受講レビュー 2

    平均評価 5.0

    5

    52% 受講後に作成

    実務に多くのお役に立っています。 良い講義ありがとうございます!

    • soi897님의 프로필 이미지
      soi897

      受講レビュー 6

      平均評価 5.0

      5

      100% 受講後に作成

      ZyboのようにARMが内蔵されていない場合は、Microblazeで開発するのが楽です。しかし、Microblazeを活用する方法はインターネットにあちこちに広がっており、グーグルを行って勉強をしなければならず、初心者がそのように勉強すれば何が本当に必要な内容なのか区別することができないようです。しかし、この講義はMicroblazeを活用するための基本的な知識を盛り上げてくれます。この講義の内容を少しだけ応用すれば、実務にも十分活用可能です。そして何よりも長所なのは、必要に応じてすぐに探して復習できるということです。

      • ihil
        知識共有者

        心からの受講評 ありがとうございます。助けてくれてありがとう。今後、素晴らしい開発者になりますように。 最近では動画素材があまりに多くあり、動画が楽になることもあり、長所も多いようです。しかし、言ってくださったように繰り返し資料を見たいときには文書が良いようです。文書はどこに何があるのか​​をすぐに見つけることができるからです。今後も引き続き有益な資料作りをして、多くの方がお役に立てるよう努めてまいります。ありがとう〜!

    • neulha님의 프로필 이미지
      neulha

      受講レビュー 12

      平均評価 5.0

      5

      100% 受講後に作成

      • park395989962님의 프로필 이미지
        park395989962

        受講レビュー 1

        平均評価 5.0

        5

        26% 受講後に作成

        今回はMicroblazeを活用してプロジェクトを行っています。でした。

        • ihil
          知識共有者

          受講坪ありがとうございます。

      • baekga839465님의 프로필 이미지
        baekga839465

        受講レビュー 1

        平均評価 5.0

        5

        61% 受講後に作成

        これまで簡単に説明ができて難しくありません。 良い講義のようです。 現業でFPGA LogicとHWを設計しています。 最近はMB or NIOSまでハンドリングできる能力をたくさん求めているようです。 良いディンドルになりそうです。 これからも良い教育をお願いします。

        • ihil
          知識共有者

          受講評 ありがとうございます。参考になってくれてありがとう。 世界が急速に変わるようです。技術も急速に変わりました これもしなければならず、それもしなければならないことが多すぎますね。 とにかく進んでいることがうまくいくことを願っています。ありがとうございます〜!

      ¥9,708

      ihilの他の講座

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

      似ている講座

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