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

/

Semiconductor

Chương trình Verilog FPGA 3 (Bộ điều khiển DDR, Arty A7-35T)

Thông qua bài giảng, bạn có thể thực hiện DDR Controller bằng FPGA.

(5.0) 6 đánh giá

114 học viên

  • ihil
verilog
베릴로그
fpga
FPGA

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Bộ điều khiển DDR

  • Bộ đệm khung hình

Cần thiết cho các nhà phát triển Verilog lành nghề
Kỹ năng điều khiển bộ nhớ DDR! ✨

Thực hiện với FPGA
Bộ điều khiển bộ nhớ DDR 🛠️

FPGA có nhiều tính năng có sẵn ở dạng IP. Trong số đó, chúng tôi sẽ giải thích Bộ điều khiển DDR, bộ điều khiển chủ yếu được sử dụng để xử lý dữ liệu video.

Triển khai bộ điều khiển DDR
Hai cách 🤔

1. Nhìn vào bảng dữ liệu và thực hiện nó như hiện tại

  • Phương pháp này chủ yếu được sử dụng bởi những người có kinh nghiệm lâu năm.
  • Khi hệ thống trở nên phức tạp hơn, việc triển khai nó riêng lẻ bằng mã sẽ trở nên khó khăn hơn. Vì vậy, có nhiều trường hợp chỉ triển khai và sử dụng những phần cần thiết nhưng lại gặp khó khăn khi phải triển khai chúng một cách khác nhau mỗi khi dự án thay đổi.

2. Triển khai với IP do Xilinx cung cấp

  • Đây là một IP có thể được sử dụng cho các mục đích chung. Khi bạn tìm hiểu cách sử dụng nó, bạn có thể sử dụng nó cho nhiều dự án mà không cần thay đổi lớn.
  • Quá trình học cách sử dụng nó lúc đầu không hề dễ dàng. Xilinx cung cấp rất nhiều tài liệu và code mẫu nhưng thông tin quá nhiều nên khó sử dụng.

Tác giả đã trải qua nhiều khó khăn như vậy khi triển khai Bộ điều khiển DDR. Tôi thường nghĩ rằng sẽ không hay nếu có một tài liệu chỉ sắp xếp những phần cần thiết. Sẽ hiệu quả hơn nếu ban đầu chỉ hiểu những phần cần thiết, sau đó tiến hành phát triển, đọc/ghi DDR và ​​dần dần nâng cao hiểu biết của bạn. Sẽ hiệu quả hơn nếu hiểu cấu trúc tổng thể trước rồi mới hiểu chi tiết sau. Cuốn sách này được cấu trúc sao cho ngay cả những nhà phát triển mới làm quen với Bộ điều khiển DDR cũng có thể dễ dàng truy cập nó .

Bộ nhớ DDR rất quan trọng trong việc xử lý dữ liệu video. Tuy nhiên, thực tế là rất khó tiếp cận trừ khi bạn là chuyên gia và hầu như không có tài liệu nào có nội dung chuyên sâu như vậy. Bài giảng này bao gồm tất cả các khía cạnh của việc triển khai Bộ điều khiển bộ nhớ DDR . Nó cũng giải thích chi tiết cách triển khai Bộ đệm khung bằng Bộ điều khiển DDR.

💾 Vui lòng kiểm tra trước khi tham gia khóa học!

  • Bài giảng này là một bài giảng văn bản ở định dạng PDF và không có video riêng biệt nào được cung cấp.
  • Chúng tôi cung cấp mã nguồn cho chế độ được mô tả trong bài giảng.
  • Cuộc tập trận sẽ được tiến hành trên bo mạch phát triển Arty A7 do Digilent bán.

Tính năng bài giảng ✨

#1.
Bộ điều khiển DDR
Tôi đặt mọi thứ vào đó

Có rất ít tài liệu đề cập đến Bộ điều khiển bộ nhớ DDR. Bài giảng này giải thích chi tiết tất cả các quy trình. Nó giải thích toàn bộ quá trình, từ việc tạo và mô phỏng IP bộ nhớ đến triển khai Bộ điều khiển bộ nhớ DDR có thể được sử dụng cho các mục đích chung và triển khai Bộ đệm khung để xử lý dữ liệu video. Ngoài ra, mỗi mã nguồn đều được thiết kế để có thể xác minh và hiểu được hoạt động của nó thông qua mô phỏng.

Nếu bạn hiểu tất cả nội dung của bài giảng này, bạn sẽ không chỉ triển khai Bộ điều khiển DDR mà còn trở thành nhà phát triển lành nghề về triển khai FPGA bằng Verilog.

#2.
Kỹ năng Verilog
Hãy thử nâng cấp

Với những ai muốn học Verilog thì DDR Memory Controller là một kỹ năng rất tốt. Có nhiều người, ngay cả những người có nhiều kinh nghiệm phát triển, lại không có kinh nghiệm với Bộ điều khiển bộ nhớ DDR. Chúng tôi mang đến cho bạn cơ hội nâng cấp Verilog lên cấp độ tiếp theo.

#3.
áp dụng vào thực tế
Cung cấp mã nguồn

Tất cả các nguồn được mô tả trong bài giảng sẽ được cung cấp cho những người mua bài giảng này. Nguồn được cung cấp bao gồm các tài liệu đã được mã hóa và xác minh từng cái một ngay từ đầu khi sản xuất bài giảng. Nó cũng bao gồm các mã có thể được sử dụng ngay tại hiện trường. Hi vọng các bạn sẽ trở thành bậc thầy về DDR Controller qua bài giảng này.


Bạn học được gì 📚

Trong bài giảng này, chúng ta sẽ hiểu quy trình hoạt động thông qua mô phỏng quá trình tạo IP Bộ điều khiển DDR và ​​cách IP được tạo hoạt động , đồng thời thiết kế Bộ điều khiển DDR có thể được sử dụng cho các mục đích chung bằng cách sử dụng IP được tạo . Cuối cùng, chúng tôi giải thích quy trình triển khai bộ đệm khung để xử lý dữ liệu video .

Bài giảng này dựa trên kinh nghiệm của tác giả trong việc phát triển ISP (Xử lý tín hiệu hình ảnh) trong một thời gian dài . Nội dung của cuốn sách này là những quy tắc có thể áp dụng trực tiếp vào thực tế . Mặc dù nội dung có thể chứa một số phần khó , nhưng hãy đọc kỹ những phần bạn chưa hiểu 2-3 lần xem lại thao tác bằng cách mô phỏng mã.

Bài giảng này được thực hiện trên bo mạch phát triển Arty A7 do Digilent bán. Khi xử lý FPGA, việc áp dụng chúng vào CTNH và kiểm tra kết quả là rất quan trọng. Việc thực hiện thông qua mô phỏng có những hạn chế. Nó phải được xác minh trong HW. (Thật không may là nội dung trên bộ đệm khung được đề cập trong chương cuối của cuốn sách này chỉ được xác minh thông qua mô phỏng vì chúng tôi không thể tìm thấy CTNH phù hợp. Chúng tôi hy vọng sẽ tìm được bảng phù hợp trong tương lai và tiến hành xác minh CTNH.)

Chương 1 là phần tổng quan về nội dung tổng thể.

Chương 2 mô tả bo mạch Arty A7 được sử dụng trong phòng thí nghiệm .

Chương 3 giải thích cách tạo IP Bộ điều khiển DDR​​Logic Giao diện Người dùng .

Chương 4 tìm hiểu đặc điểm hoạt động thông qua mô phỏng IP Bộ điều khiển DDR được tạo . Điều này rất quan trọng để triển khai Bộ điều khiển DDR có thể được sử dụng cho các mục đích chung .

Chương 5 triển khai Bộ điều khiển DDR có thể được sử dụng cho các mục đích chung sử dụng nó để đọc/ghi tất cả các vùng của bộ nhớ DDR . Đồng thời tạo một dòng bit và kiểm tra kết quả trên bảng .

Chương 6 sẽ xem xét tốc độ truy cập bộ nhớ thảo luận cách đạt được tốc độ tối đa .

Chương 7 triển khai Bộ đệm khung để xử lý dữ liệu video bằng Bộ điều khiển DDR đa năng được triển khai trong Chương 5 .

Chương 8 triển khai Giao diện 32Bits sử dụng hai Bộ nhớ DDR 6bit.

Chương 9 triển khai Bộ điều khiển DDR trong Spartan6.

Chương 10 triển khai Bộ điều khiển DDR4.

Giáo trình chi tiết (mục lục)
  1. phác thảo
  2. cấu hình CTNH
    1. Cách sử dụng USB-JTAG
    2. Đầu nối JTAG-HS2(hoặc JTAG-HS3)
  3. Tạo IP bộ điều khiển DDR
    1. Tạo dự án
    2. Tạo IP bộ nhớ
    3. Cấu trúc IP bộ nhớ
    4. Khối giao diện người dùng
    5. Tín hiệu giao diện người dùng
    6. Thời gian giao diện người dùng
  4. Mô phỏng
    1. Tùy chọn mô phỏng
    2. Mô phỏng
    3. Kiểm tra kết quả mô phỏng
  5. Triển khai logic giao diện người dùng
    1. phác thảo
    2. Viết mô-đun thực hiện
    3. Đọc phần mô-đun
    4. Triển khai mô-đun Giao diện Người dùng (mô-đun ddr_test)
    5. triển khai mô-đun mig_top
    6. Triển khai mô-đun hàng đầu
    7. Mô phỏng mô-đun hàng đầu
    8. Tạo dòng bit
    9. Tải xuống và kiểm tra dòng bit
  6. Tốc độ truy cập bộ nhớ DDR3
    1. Chỉnh sửa mig7_write8
    2. sửa lỗi mig7_read8
    3. Chỉnh sửa mig7_write_top
    4. Sửa đổi mig7_read_top
    5. sửa lỗi ddr_test
    6. Chỉnh sửa định nghĩa.v
    7. Sửa đổi IP giao diện bộ nhớ MIG7
    8. Chỉnh sửa clk_gen
    9. Chỉnh sửa Arty35Top.v
    10. Tạo dòng bit và kiểm tra kết quả
  7. Triển khai bộ đệm khung
    1. chuẩn bị dữ liệu
    2. Bộ giải mã hình ảnh
    3. Tổng quan về bộ đệm khung
    4. frame_write
    5. khung_đọc
    6. Kiểm tra bộ đệm khung bằng dữ liệu video
  8. Triển khai giao diện 32bit
    1. Tạo dự án
    2. Tạo IP bộ nhớ
    3. Hiểu hành vi IP được tạo thông qua Mô phỏng
    4. Triển khai giao diện người dùng
    5. mô phỏng mô-đun mig32_top
    6. Phần kết luận
  9. Triển khai bộ điều khiển Spartan6 DDR
    1. Tạo dự án
    2. Tạo IP
    3. đánh giá mcb
    4. Kiểm tra hoạt động thông qua mô phỏng
    5. thực hiện mã
    6. Thực hiện đọc/ghi trong mọi lĩnh vực
    7. Phần kết luận
  10. Triển khai bộ điều khiển DDR4
    1. Tạo dự án
    2. Tạo IP
    3. mô phỏng
    4. thực hiện mã
    5. Địa chỉ liên quan
    6. tạo xdc
    7. Kiểm tra kết quả
    8. Phần kết luận
  11. tài liệu tham khảo
  12. Lịch sử sửa đổi

Cùng xem lại các bài giảng trước đó 👀


Câu hỏi dự kiến ​​Hỏi đáp 💬

Q. Có thể áp dụng cho người mới bắt đầu sử dụng Verilog không?

Bạn phải có kiến ​​thức cơ bản về Verilog. Sẽ khó khăn nếu bạn không có kiến ​​thức liên quan.

Q. Có sự chuẩn bị gì chưa?

Chúng tôi sử dụng bo mạch Arty A7 để triển khai và xác minh mã. Khi bảng đã sẵn sàng, bạn có thể kiểm tra những gì chúng tôi đã triển khai. Tuy nhiên, nó được cấu hình để có thể mô phỏng tất cả các nguồn, vì vậy bạn có thể nghe bài giảng trước và xác minh sau khi bảng đã sẵn sàng.

Q. Bạn sử dụng công cụ chương trình nào?

Tôi sử dụng vivado 2018.3 từ Xilinx. Điều này có thể thực hiện được với phiên bản 2018.3 trở lên.


Giới thiệu người chia sẻ kiến ​​thức ✒️

Tôi đã làm việc với tư cách là nhà phát triển tại các công ty lớn và nhỏ trong hơn 20 năm và hiện đang điều hành một doanh nghiệp nhỏ. Chúng tôi đã phát triển ASIC ISP (Xử lý tín hiệu hình ảnh) cho CCTV và phát triển nhiều sản phẩm sử dụng FPGA, bao gồm thiết bị kiểm tra OLED và DAQ (Hệ thống thu thập dữ liệu). Tôi có nhiều kinh nghiệm về FPGA cũng như phát triển FW (STM32, PIC32, AVR, ATMEGA, v.v.), thiết kế mạch và Lập trình Windows. Tôi hy vọng rằng những kinh nghiệm sâu rộng mà tôi tích lũy được cho đến nay sẽ hữu ích cho việc học của bạn.


Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • FPGA xử lý dữ liệu hình ảnh

  • Triển khai Frame Buffer

  • Những ai muốn học Verilog

  • Bạn muốn học FPGA

Cần biết trước khi bắt đầu?

  • Verilog

  • vivado

  • FPGA

Xin chào
Đây là

1,647

Học viên

66

Đánh giá

123

Trả lời

4.8

Xếp hạng

19

Các khóa học

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

입니다.

Chương trình giảng dạy

Tất cả

277 bài giảng

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

6 đánh giá

5.0

6 đánh giá

  • coldugs님의 프로필 이미지
    coldugs

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    5% đã tham gia

    FPGA 관련 자료는 찾기도 어렵고 찾아도 양이 방대해서 배우기가 힘들다고 생각합니다. 좋은 자료로 많은 도움이 되었습니다.

    • alex
      Giảng viên

      저도 처음 배울 때 뭘 봐야하고 어떻게 시작해야 할지 막막했던 것 같네요. 더욱 유익한 자료가 될 수 있도록 노력하겠습니다. 감사합니다~!!

  • miheungsound님의 프로필 이미지
    miheungsound

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    30% đã tham gia

    좋은 강의 내용으로 많은 도움이 될것 같습니다. 여러번 반복 해서 보고 있습니다. 감사합니다.

    • alex
      Giảng viên

      감사합니다. 강의 통해서 ddr controller를 완전히 이해하시길 바랍니다. xilinx 에서 제공하는 ip 하나를 정복하면 다른 ip들도 사용하는데 많은 도움이 됩니다~ fpga 분야가 쉽지 않은 분야입니다. 끝까지 완주 하시길 응원합니다 ~!!

  • kimjw0319님의 프로필 이미지
    kimjw0319

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    잘 정리된 내용이네요

    • appleid7133님의 프로필 이미지
      appleid7133

      Đánh giá 4

      Đánh giá trung bình 5.0

      5

      57% đã tham gia

      많은 도움이 됨

      • alex
        Giảng viên

        도움이 되셨다니 감사합니다. 오늘 하루도 즐거운 시간 되세요. ~!!

    • haneuli님의 프로필 이미지
      haneuli

      Đánh giá 12

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      MCU 할 때는 RAM에 대해 (요즘 자원이 풍부해서)큰 고민 없이 했었습니다. 그런데 FPGA나 Zynq를 하면서 HW공부하다 보니 RAM에 대한 고민을 하게 되면서 어려움을 많이 느꼈는데, 이 강의가 든든한 힘이 되었습니다. 계속 좋은 강의 자료 부탁드립니다~!

      • alex
        Giảng viên

        수강평 감사드립니다. MCU 환경과 FPGA 개발 환경은 많이 다른 것 같습니다. 어쩌면 딴세상일지 모르지요 ㅎ 강의 통해 도움되셨다니 감사합니다. 행복한 개발자, 능력있는 개발자 되시길 바랍니다. 감사합니다 ~!!

    2.298.364 ₫

    Khóa học khác của ihil

    Hãy khám phá các khóa học khác của giảng viên!

    Khóa học tương tự

    Khám phá các khóa học khác trong cùng lĩnh vực!