Skip to content

Make a simple FPGA softcore processor - use NIOS2 developed by Altera

Notifications You must be signed in to change notification settings

haduylong/NIOS2

Repository files navigation

Giới thiệu

Xây dựng một SOPC đơn giản trên FPGA sử dụng softcore NIOSII phát triển bởi Altera. Hệ thống điều khiển thời gian nhấp nháy của hai bóng đèn LED và hiển thị thời gain trên các thanh LED 7 đoạn. Nội dung công việc gồm hai phần chính:

  • Xây dựng phần cứng bằng Verilog HDL.
  • Xây dựng device driver và application bằng ngôn ngữ lập trình C.

Hệ thống

Các thành phần

  • JATG UART để tạo kết nối nối tiếp đến console.
  • Hai timer, một cho system task, một cho user application.
  • Input port cho 10 switch.
  • Input port cho hai nút nhấn hoạt động theo sườn xuống.
  • Output port cho hai led đơn nhấp nháy.
  • Output port cho 4 thanh led 7 đoạn.

Hoạt động

  • Cài đặt thời gian nhấp nháy cho hai led bằng 10 switch. Nhấn nút để nạp
  • Có thể dừng nhấp nháy bằng cách nhấn nút. Để tiếp tục nhấn nút lần hai.
  • 3 thanh LED 7 đoạn hiển thị thời gain được cài đặt, 1 thanh còn lại hiển thị P(pause) hoặc tắt(not pause).
  • Hiển thị thời gain được cài đặt trên màn hình console của máy tính mỗi khi thay đổi.

Xây dựng phần cứng

Platform design để cấu hình các module

Chi tiết trong file cấu hình nios_led3.qsys

platform design platform design

Top module

top module
Cấu hình các cổng vào ra trong nios_led3_pin_assigment.csv

Xây dựng phần mềm

Trong nios_led3/software gồm các thư mục led3_bsp chứa các thông tin về board phục vụ phát triển phần mềm. Các thư mục test còn lại chứa các file driver và chương trình test. Trong đó led3_test_isr sử dụng ngắt với "context", led3_test_isr_v2 sử dụng ngắt với global variables.

Demo

Các công cụ

  • Quartus prime lite
  • Nios II
  • DE10-Lite (MAX10 10M50DAF484C7G)
board

Cài đặt

Tham khảo: https://youtu.be/XprMl1q_Srk?si=1r7ImX1thikUSuKd

About

Make a simple FPGA softcore processor - use NIOS2 developed by Altera

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published