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

/

Semiconductor

Verilog FPGA プログラム 4 (MCU ポーティング、Arty A7-35T)

FPGA内に無料のMCU IPをポーティングして使用することをお知らせします。

  • ihil
fpga
xilinx
verilog
MCU
FPGA

こんなことが学べます

  • FPGAにMCUをポートして使う

  • Bootloader 構造

  • FPGAにおけるMCUメモリ構成

FPGA MCU移植、
私の技術で作ってレベルアップします! ✨

FPGA開発者の成長の機会、
MCUポーティング🔦

私は約20年ほどFPGA関連の仕事をしてきましたが、ほとんどのプロジェクトでFPGA内にMCUを移植して進めました。 MCUをFPGAに移植して使用すると、多くの利点があります。外部に別途MCUを使用する必要もなく、MCUパーツとLOGICパーツに分けて進めることもできます。

私はほとんどのFPGA(Spartan、Artix、Kintex、Virtex)でMCUを移植して使用しました。基本的な構造だけを知ることで、ほとんどのFPGAに適用できます。このレッスンでは、このプロセスを詳細に説明しています。講義では、FPGA内にMCU IPを移植してSOC(System On Chip)を実装する方法について説明します。講義を通じてFPGAでプログラムする開発者のスキルを一段階アップグレードしてください。

待って! ✋MCUとは?

マイクロコントローラユニット(Micro Controller Unit)を言います。シングルチップ内部にプロセッサ、メモリ、入出力デバイスをすべて備えたデバイスです。プログラミングにより制御や演算作業が可能です。自動車から家電製品、おもちゃまで広い分野で使われています。特定の機能を実装するにはプログラミングプロセスを経なければなりません。

この講義では、すべての内容を実習ボード(Arty A7-35T(100T)、(Digilent社))を通じて直接実装することができるようにソースを提供します。提供されるソースは、現場で直接使用できるソースです。私は過去15年間、このソリューションをすべてのFPGAに適用してきました。講義はザイリンクスのArty A7ボードに基づいて説明されていますが、ザイリンクスのすべてのFPGAに適用できます講義で理解できない部分は、Inflearnコミュニティまたは私が運営するカフェを通じて質問をしてくださると答えていただきます。

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

  • 本講義は、電子文書形式で構成されたテキスト講義です。この講義を受講している方には、無料のMCU IPを含む、講義のすべてのソースファイルを提供しています。
  • 講義資料は「セクション0 - 資料共有リンク - 添付ファイル」からダウンロードできます。

こんな方におすすめですよ🙋‍♀️

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

C言語を使ってFWをやった方


こんなことを学びます✨

内容が少なくありません。しかし、一つ一つ理解して自分のものにするなら、今後FPGAを使うことにほとんど適用できるだろう💪

システムブロックと
Bootloaderについて

MCUメモリと
LOGICの実装

Application FW
実装とアプリケーション

FWダウンロード用
Windows Programの実装

詳細なカリキュラムが気になる方は? 1概要 (5) 2HW構成(8) 2.1 USB-JTAGを利用する方法 (8)2.2JTAG-HS3(HS2)を利用する方法(9) 2.3RS-232コネクタ(10) 2.4Serial Flash接続(10) 3System Block(11) 3.1Bootloader ROM(11) 3.2シリアルフラッシュ(14) 3.3Ext_Mem_SRAM(External Memory SRAM)(14) 3.4FW_SRAM(14) 3.5Int_Mem(Internal Memory)(14) 3.6MCU Core(15) 3.7LOGIC(15) 3.8レジスタマップ(15) 4メモリ構成(16) 4.1Ext_Mem_SRAM (External Memory SRAM)(15) 4.2FW_SRAM(20) 4.3Bootloader ROM(21) 5Clockの構成(23) 6Bootloader(26) 6.1Sequence(26) 6.2メモリマップ(27) 6.3コード実装(29) 6.3.1プロジェクト作成(29) 6.4coe ファイル生成(35) 6.5Bootloaderソース(36) 6.5.1main()(36) 6.5.2update_data()(38) 7LOGICの実装(40) 7.1mcu_top(40) 7.1.1mcu_core(40) 7.1.2addr_map.v(42) 7.1.3mcs_reg(45) 7.2pwm_top(45) 8Application fw(46) 8.1プロジェクト作成(46) 8.2プロジェクトビルド(51) 8.3ソース分析(52) 8.3.1main1.c(52) 8.3.2ax_pwm.h(55) 8.3.3ax_string.h(55) 8.3.4al8051_func.h(56) 8.3.5isp_reg.h(56) 9Windows アプリケーションプログラム (Win_App)(57) 9.1画面構成(57) 9.2App_fwダウンロードシーケンス(58) 9.3pwm制御プロトコル(62) 9.3.1write pwm frequency(62) 9.3.2write pwm duty(62) 9.3.3 PWM周波数の読み取り(63) 9.3.4read pwm duty(63) 10FPGA設定ファイルダウンロード(64) 10.1プロジェクト環境設定(64) 10.2設定ファイルのダウンロード(64) 11結果確認(68) 11.1pwm確認(68) 11.2ボタン確認(69) 12UART ボーレート変更(70) 12.1UART Baudrate設定(70) 12.2Bootloader fw変更(72) 12.3Bootloader ROM 再生成(73) 12.4mcuProtingTop.v 修正(75) 12.5Application fw 修正(77) 12.6結果確認(78) 13Application fwでI2Cを使用する(81) 13.1I2C Master Controller(81) 13.1.1I2CTP – タイマー周期レジスタ(81) 13.1.2I2CCR – 制御・ステータスレジスタ(83) 13.1.3I2CSA – スレーブアドレスレジスタ(83) 13.1.4I2CBUF – レシーバーおよびトランスミッターレジスター(84) 13.2Logic構成(84) 13.2.1AL8051EX(84) 13.2.2mcu_core.v(85) 13.2.3mcu_top.v(86) 13.2.4mcuPortingTop.v(87) 13.2.5mcuPortingTop.xdc(87) 13.3Application fw(88) 13.4結果確認(94) 14W5500高速インターフェース実装 (95) 14.1システムブロック (96) 14.2Logic実装 (96) 14.2.1clock (96) 14.2.2fw_sram (98) 14.2.3外部メモリ(ext_sram)(99) 14.2.4spi_sram (100) 14.2.5Memory Map (101) 14.2.6addr_map.v修正 (102) 14.2.7Bootloader fw修正 (103) 14.2.8mcs_reg モジュール修正 (104) 14.3W5500 SPI タイミング (105) 14.4SPI インターフェース実装 (106) 14.4.1コード実装 (106) 14.4.2simulation (115) 14.5Top Module実装 (122) 14.6Application fw実装 (126) 14.6.1外部フラッシュメモリの使用 (125) 14.6.2プロジェクト構成 (127) 14.6.3flash api (129) 14.6.4w5500 api (130) 14.6.5main1.c (134)14.6.6ビルド(137) 14.7Windowsアプリケーションプログラム(138) 14.8結果確認(140) 14.8.1Bitstreamダウンロード(143) 14.8.2PC ネットワーク環境設定 (143) 14.8.3Application fw ダウンロード (144) 14.8.4 送信時間測定(148) 14.9結論 (151)15 参考資料 (152)16 Revision History (153)

知識共有者の紹介✒️

履歴

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


こんな方に
おすすめです

学習対象は
誰でしょう?

  • FPGA スキルアップをご希望の方

  • FPGA SOCの実装をご希望の方

  • FPGAにMCUをポーティングしてご使用をご希望の方

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

  • C言語

  • Verilog 言語

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

입니다.

カリキュラム

全体

151件

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

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

受講レビュー

全体

1件

5.0

1件の受講レビュー

  • aceoftop1975님의 프로필 이미지
    aceoftop1975

    受講レビュー 94

    平均評価 5.0

    5

    100% 受講後に作成

    2024/12/15/日 16:05 とても良い文書で、とても多くの情報を得ることができました。 bootloaderについてようやく理解できました。 そして、FPGAをどのように活用するかもわかりました。 良い文書、本当に本当にありがとうございます。

    • ihil
      知識共有者

      講義が役に立ったので嬉しいです。素晴らしい開発者になってください ~!!

¥15,511

ihilの他の講座

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

似ている講座

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