Làm Chủ Đèn Giao Thông với FPGA
Chỉ mục
🚦 Giới thiệu về Verilog và FPGA
- Verilog là gì?
- FPGA là gì?
🚥 Thiết kế Máy Trạng Thái Điều Khiển Giao Thông trên FPGA
- Mô tả thiết kế
- Tạo Dự án Trên Vivado
- Các module trong dự án
- Thiết kế Module Bật/Tắt
- Thiết kế Module Tạo xung 1 Hz
- Thiết kế Module Máy Trạng Thái
- File Constraints
- Logic của từng module
- Module Bật/Tắt
- Module Tạo xung 1 Hz
- Module Máy Trạng Thái
- Giao diện với thế giới bên ngoài
- Chức năng của các nút và LED trên FPGA
🚧 Cách mở và sử dụng dự án trên FPGA
- Mở và kết nối FPGA với Vivado
- Chương trình FPGA
- Kiểm tra hoạt động của Máy Trạng Thái Điều Khiển Giao Thông
🛠️ Phát triển tiếp Máy Trạng Thái Điều Khiển Giao Thông
- Cải thiện Máy Trạng Thái
- Thêm chức năng chuyển đổi khẩn cấp
- Thêm chế độ "điều chỉnh theo lịch trình"
- Ước lượng và nhận xét
💡 Đánh giá và Ưu, Nhược điểm
🔍 Câu hỏi Thường gặp
- Câu hỏi 1: Verilog là gì?
- Câu hỏi 2: FPGA có tính năng gì đặc biệt?
- Câu hỏi 3: Làm thế nào để chạy chương trình trên FPGA?
- Câu hỏi 4: Có thể mở rộng tính năng của Máy Trạng Thái Điều Khiển Giao Thông như thế nào?
- Câu hỏi 5: Tại sao cần thiết kế một Máy Trạng Thái Điều Khiển Giao Thông trên FPGA?
- Câu hỏi 6: Có bao nhiêu module trong dự án?
Giới thiệu về Verilog và FPGA
Verilog và FPGA là Hai khái niệm quan trọng trong lĩnh vực công nghệ số. Verilog là một ngôn ngữ lập trình phổ biến được sử dụng để mô tả và thiết kế các hệ thống số, trong khi FPGA (Field-Programmable Gate Array) là một loại chip linh hoạt có thể lập trình lại để thực hiện các chức năng logic cụ thể. Sự kết hợp giữa Verilog và FPGA tạo ra một môi trường mạnh mẽ để phát triển và triển khai các ứng dụng số đa dạng.
Mô tả thiết kế
Thiết kế hiện tại bao gồm việc tạo ra một Máy Trạng Thái Điều Khiển Giao Thông trên FPGA. Mục tiêu là tạo ra một hệ thống có khả năng điều khiển luồng giao thông giữa các đường trong một cách an toàn và hiệu quả.
Tạo Dự án Trên Vivado
Để bắt đầu, chúng ta cần tạo một dự án trên Vivado, một công cụ phát triển phần cứng hàng đầu được cung cấp bởi Xilinx.
Các module trong dự án
Dự án bao gồm ba module chính: Module Bật/Tắt, Module Tạo xung 1 Hz và Module Máy Trạng Thái.
Thiết kế Module Bật/Tắt
Module này chịu trách nhiệm đọc trạng thái của nút nhấn và điều khiển các tín hiệu LED tương ứng.
Thiết kế Module Tạo xung 1 Hz
Module này tạo ra một xung có tần số 1 Hz từ tín hiệu đầu vào 100 MHz.
Thiết kế Module Máy Trạng Thái
Module này thực hiện logic điều khiển các trạng thái của hệ thống điều khiển giao thông.
File Constraints
File Constraints định nghĩa các ràng buộc về cấu hình phần cứng, bao gồm định nghĩa các chân I/O và tín hiệu clock.
Logic của từng module
Module Bật/Tắt
Module này sử dụng các tín hiệu đầu vào từ nút nhấn và điều khiển các tín hiệu LED theo trạng thái của nút nhấn.
Module Tạo xung 1 Hz
Module này chuyển đổi tín hiệu clock đầu vào thành một xung có tần số 1 Hz.
Module Máy Trạng Thái
Module này quản lý các trạng thái của hệ thống điều khiển giao thông, chuyển đổi giữa các trạng thái khác nhau dựa trên thời gian và điều kiện đầu vào.
Giao diện với thế giới bên ngoài
Giao diện với thế giới bên ngoài được thực hiện thông qua các nú