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

/

Semiconductor

Verilog FPGA Program 4 (MCU Porting, HIL-A35T)

We implement the use of MCU Core IP by porting it into FPGA.

26 learners are taking this course

  • ihil
텍스트 강의
verilog
하드웨어
Verilog HDL
FPGA

What you will learn!

  • Porting MCU to FPGA for use

  • Bootloader Structure

  • Configuring MCU Memory in FPGA

FPGA Design from an Expert with Over 20 Years of Experience 📑

Verilog HDL is an FPGA programming language. It can be used to create not only FPGAs but also ASICs. Many developers are interested in Verilog or want to improve their skills in the field.

However, Verilog and FPGAs are very specialized fields, so finding a course that explains them in detail is very difficult. FPGA manufacturers provide documentation, but so many of them are in English that it's hard to know which ones to refer to.

I've worked as a developer in the industry for over 20 years and currently run a one-person business. I created this course to share the knowledge I've accumulated with those who are already working as developers or preparing for a career in the field.

The lecture consists of a total of 4 parts.

This lecture, the fourth in a series, focuses on MCU porting. This is a relatively lightweight 8-bit processor, not the one provided by Xilinx. It details the process of porting a processor into an FPGA. Through this, you'll learn how to configure memory and implement a bootloader. I've used this solution for most of my FPGA projects to date. Compared to the Microblaze, it's lightweight and offers significant freedom in memory configuration and other aspects.

Becoming a competent developer is no easy task. It requires a lot of effort. It's a great help to have Kind Guide in this difficult process.

This course covers a lot of material. Unless you're an experienced developer, it may be difficult to grasp everything in one sitting. By repeatedly coding, simulating, and checking the results on the board, you'll gradually be able to internalize it.

If you can fully understand and utilize the contents of this lecture, you can become a very good developer.

If there is anything you do not understand in the lecture, please post a question through the Inflearn community or the cafe I run , and I will answer it.

📢 Please make sure to check before taking the class!

  • This course is a text lecture in electronic format . All source files used in the lecture will be provided to those who take the course. The course will be produced as a video in the future.

  • The tool used in this lecture is vivado 2018.3.

  • The board used in this course's practical exercises is the HIL-A35T, developed by our company for this purpose. It can be purchased from our company's Smart Store (Smart Store Link: https://smartstore.naver.com/ihil).

  • Lecture materials can be downloaded from 'Section 0 - Material Sharing Link - Attachments'.

MCU Porting: A Growth Opportunity for FPGA Developers 🔦

I've been working with FPGAs for about 20 years, and most of my projects involve porting an MCU into an FPGA. Porting an MCU into an FPGA offers many advantages. It eliminates the need for a separate external MCU, and the design can be separated into an MCU and a logic component.

I've ported MCUs to most FPGAs (Spartan, Artix, Kintex, Virtex). Knowing the basic architecture can be applied to most FPGAs. This lecture details this process. It explains how to port MCU IP into an FPGA to implement a System-on-Chip (SOC) . I hope this lecture will help developers who program FPGAs take their skills to the next level.

Wait! ✋ What is the MCU?

This refers to a microcontroller unit (MCU). It's a device that integrates a processor, memory, and input/output devices within a single chip. Programming allows for control and computational tasks. It's used in a wide range of applications, from automobiles to home appliances and toys. Programming is required to implement specific functions.

I recommend this to these people 🙋‍♀️

  • Anyone with experience designing FPGAs with Verilog

  • Anyone who has tried FW using C language

Learn things like this ✨

  • Understanding System Block and Bootloader

  • MCU Memory and LOGIC Implementation

  • Application FW implementation and application

  • Implementing a Windows Program for FW Download

There's a lot of content. However, if you understand it step by step and internalize it, you'll be able to apply it to most future FPGA-related tasks. 💪

📢 The course consists of four parts. This is the fourth lecture.

Lecture 1: Verilog FPGA Program 1

  • Implementing basic functions

Lecture 2: Verilog FPGA Program 2

  • Microblaze

Lecture 3: Verilog FPGA Program 3

  • DDR Controller

Lecture 4: Verilog FPGA Program 4

  • MCU Porting

Basics: Fundamentals of FPGA Utilization Using Verilog

📢 Lectures vary depending on the practice board. Please be careful when purchasing lectures.

  1. Arty A7-35T board


    • Verilog FPGA Program 1 (Arty A7-35T)

    • Verilog FPGA Program 2 (MicroBlaze1, Arty A7-35T)

    • Verilog FPGA Program 2 (MicroBlaze2, Arty A7-35T)

    • Verilog FPGA Program 3 (DDR Controller, Arty A7-35T)

    • Verilog FPGA Program 4 (MCU Porting, Arty A7-35T)

  2. Zynq mini 7020 board

    • Verilog FPGA Program 1 (Zynq mini 7020)

    • Verilog ZYNQ Program1 (Zynq mini 7020)

  3. HIL-A35T board (developed in-house for lectures)

    • Verilog FPGA Program 1 (HIL-A35T)

    • Verilog FPGA Program 2 (MicroBlaze, HIL-A35T)


    • Verilog FPGA Program 3 (DDR Controller, HIL-A35T)

    • Verilog FPGA Program 4 (MCU Porting, HIL-A35T)

Detailed Curriculum 🙋‍♀️

Section 1. HW Configuration

Section 2. System Block

  • Understand the overall system configuration.

Section 3. Memory Configuration

  • Understand memory configuration.

Section 4. Clock Configuration

  • Understand the Clock structure.


Section 5. Bootloader

  • Understand the bootloader.

  • This is very important.

Section 6. Implementing the Logic

  • Understand and implement the interface with the processor.

Section 7. Application FW

  • Understand the Application FW development environment.

  • Understand the process of implementing and downloading an Application FW.

Section 8. Windows Application Program

  • Download fw and implement the User Interface.

Sections 9-10. Downloading Bitstreams and Checking Results

  • Download the bitstream and check the results.

Section 11-12. Changing the Uart Baudrate, Using I2C in Application FW

  • I understand changing the Uart Baudrate.

  • I understand the use of I2C in application fw.

Section 13. Implementing the W5500 Interface

  • Implements the w5500 Interface.

  • Through this, memory sharing, register map, etc. between the processor and user logic are implemented.

  • This is a very important skill that can be used in the field.

Recommended for
these people

Who is this course right for?

  • Those who want to improve their FPGA skills

  • If you want to implement FPGA SOC

  • If you want to port MCU to FPGA

Need to know before starting?

  • C language

  • Verilog language

  • FPGA Design

Hello
This is

1,647

Learners

66

Reviews

123

Answers

4.8

Rating

19

Courses

저는 지난 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++

입니다.

Curriculum

All

163 lectures

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

$102.30

ihil's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!