
STM32 FreeRTOS Implementation
alex
We will explain in detail how to implement FreeRTOS on STM32 MCU.
Basic
FreeRTOS
Through this lecture, you will be able to implement a DDR Controller using FPGA.


DDR Controller
Frame Buffer
Verilog HDL
FPGAs have many functions available in IP form.
Among them, we will explain the DDR Controller, which is mainly used to process image data.
Verilog HDL is an FPGA programming language. It can be used to create not only FPGAs but also ASICs. There are many developers who are interested in Verilog or want to improve their skills in the field.
However, Verilog and FPGA are very special fields, so it is very difficult to find a lecture that explains them in detail. FPGA manufacturers provide documentation, but there are so many documents in English that it is difficult to know which document to look at.
I have been working as a developer in the industry for over 20 years and currently run a one-man business. I created this course because I wanted to share the knowledge I have accumulated so far with people who are working as developers or preparing to become developers.
The course consists of a total of 4 parts.
This lecture is the third lecture and covers DDR Controller for processing video data. To process video data, a Frame Buffer is required. DDR is fast and cheap, so it is widely used as a Frame Buffer.
This lecture implements a DDR Controller using MIG (Memory Interface Generator) provided by Xilinx. It also implements a Frame Buffer for image data processing. If you understand the contents of this lecture, you can implement any application that uses DDR.
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 check before taking the class!
This lecture is a text lecture in electronic document format . All source files explained in the lecture will be provided to those who take the lecture. The lecture will be produced as a video in the future.
The tool used in this lecture is vivado 2018.3.
The board used for the practical training of this lecture is HIL-A35T, which we developed for the lecture. You can purchase it 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'.
There are few documents that cover DDR Memory Controller. This lecture explains all the processes in detail. It explains all the processes from creating and simulating Memory IP to implementing DDR Memory Controller for general use and implementing Frame Buffer for image data processing. In addition, each source code is configured so that you can verify it through simulation and understand its operation.
For those who want to learn Verilog, DDR Memory Controller is a very good skill. There are many people who have a lot of development experience but have not encountered DDR Memory Controller. We provide an opportunity to upgrade Verilog to the next level.
For those who purchase this course, we will provide all the sources explained in the course. The sources provided are composed of materials that have been coded and verified from the beginning while producing the course. In addition, they are composed of codes that can be used immediately in the field. We hope that you will become a master of DDR Controller through this course.
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: Basics of FPGA Utilization Using Verilog
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)
Zynq mini 7020 board
Verilog FPGA Program 1 (Zynq mini 7020)
Verilog ZYNQ Program1 (Zynq mini 7020)
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)
Section 1. HW Configuration
Section 2. Creating DDR Controller IP
Generate DDR Controller IP using MIG. DDR Controller has many options during the generation process. You need to know and set these options well to generate IP that works properly.
This lecture explains these processes in detail.
Section 3. Simulation
It is very important to understand the behavior of the generated IP.
Understand IP operation through simulation.
Section 4. Implementing User Interface Logic
Based on understanding the behavior through simulation, we implement User Interface Logic that can be used universally.
Implement DDR full-range write, read, and verification and check the results on the board.
Section 5. Improving DDR Memory Access Speed
Added in v2.4, implements a method to improve DDR Memory Access speed.
Section 6. Implementing the Frame Buffer
Implement a Frame Buffer that processes video data using User Interface Logic.
Section 7. Implementing the 32Bits Interface
Added in v2.5, it implements a 32-bit interface using two 16-bit DDR memories.
Section 8. Spartan6 DDR Controller Implementation
Implementing Spartan6 DDR Controller using ISE version 14.7.
Section 9. DDR4 Controller Implementation
Added in v2.7, implements DDR4 Controller.
Who is this course right for?
Image data processing using FPGA
Frame Buffer Implementation
If you want to learn Verilog
If you want to learn FPGA
Need to know before starting?
Verilog
alive
FPGA
Career Verified
1,647
Learners
90
Reviews
135
Answers
4.9
Rating
13
Courses
I have worked as a developer at both large corporations and SMEs for the past 20 years,
I am currently the CEO of a small company.
Key career highlights include
FPGA design using Verilog HDL
ISP ASIC development for CCTV (approx. 10 years)
OLED Display inspection equipment development (approx. 3 years)
Equipment development using FPGA
MCU FW
STM32
PIC32
AVR, ATMEGA
DSP (TI)
Windows Application Development
Visual Studio MFC, C++
.
All
277 lectures
Course Materials:
All
3 reviews
4.0
3 reviews
Reviews 4
∙
Average Rating 5.0
5
I just registered. I'm excited. Where can I get the code for the textbook?
Hello. Lecture - Section 0 - Material Sharing Link - If you download the lecture materials, you can find the link to download the materials. I hope this lecture is helpful. Thank you ~!!
Reviews 1
∙
Average Rating 5.0
5
The explanation is detailed, so it's good to follow along and try it out.
Thank you for your course review~!!
Reviews 5
∙
Average Rating 4.0
2
Is it because my level is still low? The content feels like it's missing a lot here and there rather than a bridge that's connected.
The content may be a bit difficult. ㅠ This is implemented with code that has been verified on the board. Please study it repeatedly and understand the operation with the program code and simulation. It may be unfamiliar and difficult at first, but if you repeat it, you will gradually understand it and learn it that way. Learning FPGA and Verilog is not an easy path. These days, there are not many people around me who do FPGA and Verilog. I think it is that difficult. When you want to learn FPGA and Verilog, It is very helpful to have reference materials, codes, and boards. When I look at the codes I programmed in the past, there were many errors, and I think I programmed them too funny. When I received the codes that my previous manager had done, there were many ridiculous codes. There are many cases where thousands of warnings occur and grammatically strange codes are used for years because they operate on the board. I have been doing FW for a long time, and I have also handled circuit design and Windows programs to some extent. I have experienced many codes, not just FPGA and Verilog. The content of this lecture is based on my long experience. I am currently developing fpga and verilog in the field. If you want to learn fpga and verilog, I hope you will study repeatedly, even if it is difficult. Also, I hope you will understand the codes in the data room and make them your own so that you can use them well in the field. Thank you for your honest review ~!!
Check out other courses by the instructor!
Explore other courses in the same field!