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

/

Semiconductor

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

Through this lecture, you will be able to implement a DDR Controller using FPGA.

(4.0) 3 reviews

34 learners

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

What you will learn!

  • DDR Controller

  • Frame Buffer

  • Verilog HDL

DDR Memory Controller implemented in FPGA 🛠️

FPGAs have many functions available in IP form.
Among them, we will explain the DDR Controller, which is mainly used to process image data.

FPGA Design by someone 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. 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'.

Lecture Features ✨

Everything about DDR Controller

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.

Upgrade your Verilog skills

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.

Provides source code applicable to practical use.

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.

📢 The course consists of a total of 4 lectures. This is the 3rd 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: Basics of FPGA Utilization Using Verilog

📢 The lectures vary depending on the practice board. Please be careful when purchasing the 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. 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.

Recommended for
these people

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

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

277 lectures

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

3 reviews

4.0

3 reviews

  • anthony73님의 프로필 이미지
    anthony73

    Reviews 1

    Average Rating 5.0

    5

    64% enrolled

    설명이 자세해서 따라서 해보기 좋습니다.

    • alex
      Instructor

      수강평 감사드립니다 ~!!

  • tony.ahn님의 프로필 이미지
    tony.ahn

    Reviews 2

    Average Rating 5.0

    5

    5% enrolled

    이제 막 등록했습니다. 기대됩니다. 교재에 나오는 코드는 어디서 받을수 있을까요?

    • alex
      Instructor

      안녕하세요. 강의 - 섹션0 - 자료 공유 링크 - 수업자료 다운받으시면, 자료 다운 받으시는 링크을 알 수 있습니다. 유익한 강의 되시길 바랍니다. 감사합니다 ~!!

  • achieve12345님의 프로필 이미지
    achieve12345

    Reviews 4

    Average Rating 3.8

    2

    60% enrolled

    아직 제 수준이 낮은건지 내용이 돌다리가 연결된 느낌보다는 중간 중간 빠져있는 느낌이 너무 많네요

    • alex
      Instructor

      내용이 좀 어려울 수 있습니다. ㅠ 보드에서 검증된 코드로 구현된 내용입니다. 여러번 반복해서 학습하시고, 프로그램 코드와 simulation 으로 동작을 이해하시길 바랍니다. 처음에는 생소하고 어려워도 반복하다 보면 조금씩 이해가 되고 그렇게 배우게 됩니다. fpga, verilog를 배우는게 사실 쉬운 길은 아닙니다. 요즘 제 주위를 봐도 fpga, verilog를 하시는 분들이 많지 않습니다. 그만큼 어렵다고 생각합니다. fpga, verilog를 배우고자 할 때, 참고할 수 있는 자료, 코드, 보드가 있다는 것은 많은 도움이 됩니다. 저도 예전에 프로그램했던 코드들을 보면 많은 오류들이 있었고, 너무 우습게 프로그램을 했던 것 같습니다. 제가 현업에서 이전 담당자가 진행했던 코드를 받아서 봤는데, 너무 어이가 없는 코드가 많았습니다. warning이 수천개가 발생하고 문법적으로도 이상한 코드를 보드에서 동작한다고 수년째 사용하고 있는 경우도 많습니다. 저는 fw도 오랫동안 해왔고, 회로설계나 windows program도 어느정도는 다루어보았습니다. fpga, verilog만 하지 않고 많은 코들들을 경험해 보았습니다. 본 강의의 내용은 오랫동안 저의 경험에서 나온 코드입니다. 현재도 현업에서 fpga,verilog 개발을 하고 있습니다. fpga, verilog를 배우시려면 어려워도 반복해서 학습하시길 바랍니다. 또한 자료실에 있는 코드들을 이해하시고 본인의 것으로 만드셔서 현업에서 잘 활용하시길 바랍니다. 솔직한 수강평 감사드립니다 ~!!

$84.70

ihil's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!