1. Trang chủ
  2. » Tất cả

(Đồ án) đồ án kết môn học thực hành thiết kế logic khả trình tổng quan de10 – standard

34 10 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Khoa: Điện tử Viễn thông  BÁO CÁO ĐỒ ÁN KẾT THÚC HỌC PHẦN Sinh viên thực hiện: Võ Thị Thanh Thanh Huyền MSSV: 20200224 Mơn học: Thực hành Thiết kế logic khả trình GVHD: Cao Trần Bảo Thương TP.Hồ Chí Minh, ngày 09 tháng 01 năm 2023 h NHẬN XÉT CỦA GIẢNG VIÊN TP.Hồ Chí Minh, ngày…tháng…năm 2023 Giảng viên h MỤC LỤC A GIỚI THIỆU CHUNG I TỔNG QUAN VỀ VERILOG HDL Verilog HDL Lịch sử Verilog HDL Các thuật ngữ quan trọng Verilog HDL II TỔNG QUAN DE10 – STANDARD Giới thiệu DE10 – STANDARD Cấu tạo DE10 – STANDARK a GPGA b HPS(Hard Processor System 10 c Thiết bị FPGA 11 d Cấu hình 11 e Bộ nhớ 11 f Giao tiếp 11 g Kết nối 11 h Màn hình 11 i Âm 11 j ADC 11 k Power 11 B BÁO CÁO BÀI TẬP 12 ĐỀ 01 12 CODE 12 Giải thích CODE 12 Kết chương trình 13 a Phần cứng mạch 13 b Sóng mạch 13 II ĐỀ 02 13 CODE 13 Giải thích CODE 14 Kết chương trình 15 a Phần cứng mạch 15 b Sóng mạch 15 III ĐỀ 03 16 CODE 16 Giải thích CODE 16 Kết chương trình 17 a Phần cứng mạch 17 I h b Sóng mạch 17 IV ĐỀ 04 17 CODE 17 Giải thích CODE 18 Kết chương trình 18 a Phần cứng mạch 18 b Sóng mạch 19 V ĐỀ 05 19 CODE 19 Giải thích CODE 19 Kết chương trình 20 a Phần cứng mạch 20 b Sóng mạch 20 VI ĐỀ 06 21 CODE 21 Giải thích CODE 21 Kết chương trình 22 a Phần cứng mạch 22 b Sóng mạch 22 VII ĐỀ 07 22 CODE 22 Giải thích CODE 24 Kết chương trình 24 a Phần cứng mạch 24 b Sóng mạch 25 VIII ĐỀ 08 25 CODE 26 Giải thích CODE 26 Kết chương trình 27 a Phần cứng mạch 28 b Sóng mạch 28 IX ĐỀ 09 28 CODE 29 Giải thích CODE 29 Kết chượng trình 29 a Phần cứng mạch 29 b Sóng mạch 30 X ĐỀ 10 30 CODE 30 Giải thích CODE 31 h Kết chương trình 32 a Phần cứng mạch 32 b Sóng mạch 33 h MỤC LỤC HÌNH Hình 1: Mặt trước DE10-STANDARD trang Hình 2: Mặt sau DE10-STANDARD trang Hình 3: Cấu tạo DE10-STANDARD trang Hình 4: CODE đề 01 trang 11 Hình 5: Kết phần cứng đề trang 12 Hình 6: Kết sóng đề trang 12 Hình 7: CODE đề 02 trang 13 Hình 8: Kết phần cứng đề trang 14 Hình 9: Kết sóng đề trang 14 Hình 10: CODE đề 03 trang 15 Hình 11: Kết phần cứng đề trang 16 Hình 12: Kết sóng đề trang 16 Hình 13: CODE đề 04 trang 16 Hình 14: Kết phần cứng đề trang 17 Hình 15: Kết sóng đề trang 17 Hình 16: CODE đề 05 trang 18 Hình 17: Kết phần cứng đề trang 19 Hình 18: Kết sóng đề trang 19 Hình 19: CODE đề 06 trang 19 Hình 20: Kết phần cứng đề trang 20 Hình 21: Kết sóng đề trang 20 Hình 22: CODE đề 07 trang 21 Hình 23: Kết phần cứng đề trang 23 Hình 24: Kết sóng đề trang 23 Hình 25: CODE đề 08 trang 24 h Hình 26: Kết phần cứng đề trang 25 Hình 27: Kết sóng đề trang 26 Hình 28: CODE đề 09 trang 26 Hình 29: Kết phần cứng đề trang 27 Hình 30: Kết sóng đề trang 27 Hình 31: CODE đề 10 trang 28 Hình 32: Kết phần cứng đề 10 trang 30 Hình 33: Kết sóng đề 10 trang 30 h A GIỚI THIỆU CHUNG I TỔNG QUAN VỀ VERILOG HDL Verilog HDL - Verilog HDL chuẩn "ngôn ngữ mô tả phần cứng" IEEE, ngôn ngữ dạng text túy sử dụng để mô tả mạch Số (thậm chí mạch Số thực thành phần cứng) - Verilog HDL sử dụng để mơ hình hóa phần cứng cho mục đích synthesis (tổng hợp) simulation (mơ phỏng) Lịch sử Verilog HDL - Ban đầu Verilog HDL (sau gọi Verilog cho tiện) phát minh Getway Design Automation giới thiệu lần vào năm 1984 - Năm 1989 mua lại Cadence, sau Verilog phát hành miễn phí Tổ chức Open Verilog International (OVI) thành lập nhằm kiểm sốt đặc tả ngơn ngữ - Năm 1995, OVI Verilog thông qua IEEE chuẩn hiệp hội - Năm 2001, IEEE giới thiệu phiên Verilog phiên sử dụng rộng rãi - Verilog HDL 2001 - Năm 2005, SystemVerilog giới thiệu mở rộng Verilog với kỹ thuật kiểm tra hướng đối tượng - Năm 2009, IEEE kết hợp chuẩn Verilog với SystemVerilog thành chuẩn nhất: IEEE 1800-2009 - Hiện tại, chuẩn là: 1800-2012 - IEEE Standard for SystemVerilog Unified Hardware Design, Specification, and Verification Language Các thuật ngữ quan trọng Verilog HDL - HDL: Là viết tắt Hardware Description Language (ngôn ngữ mô tả phần cứng) dựa ngơn ngữ lập trình mà sử dụng cho việc mơ hình phần cứng - RTL: Là viết tắt Register Transfer Level, thuật ngữ thông dụng dùng để mô tả phong cách Behavior Modeling mà định nghĩa mối quan hệ input output theo thao tác data-flow (dịng liệu) bên mơ hình phần cứng bạn - Behavior Modeling: Là thành phần mô tả đáp ứng Input/output - Structural Modeling: Là thành phần mơ tả kết nối mức thấp thành phần mạch II TỔNG QUAN DE10 – STANDARD Giới thiệu DE10 – STANDARD DE10 – Standark đại diện cho tảng thiết kế phần cứng xây dựng xung quanh SoC FPGA Intel, kết hợp lõi nhúng Cortex-A9 lõi kép gần với Logic lập trình hàng đầu cơng nghiệp cho tính linh hoạt thiết kế sau h DE10-Standard có nhiều tính cho phép người dùng thực loạt mạch thiết kế, từ mạch đơn giản đến dự án đa phương tiện khác Cấu tạo DE10 – STANDARK Hình 1: Mặt trước DE10-STANDARD Hình 2: Mặt sau DE10-STANDARD - a GPGA Cyclone V SX SoC—5CSXFC6D6F31C6N h - Thiết bị cấu hình nối tiếp - EPCS128 USB-Blaster II tích hợp để lập trình; Chế độ JTAG SDRAM 64MB (bus liệu 16 bit) nút nhấn, 10 switch, 10 LED đỏ, LED đoạn Bốn nguồn xung nhịp 50MHz VGA DAC (bộ ba tốc độ cao bit) với đầu nối VGA-Out Bộ giải mã Audio 24bits Bộ giải mã TV Đầu nối chuột với bàn phím (PS/2) Bộ chuyển đổi A/D, giao diện SPI chân với FPGA b HPS(Hard Processor System Bộ xử lý ARM Cortex-A9 MPCore lõi kép 925MHz 1GB DDR3 SDRAM (bus liệu 32 bit) Gigabit Ethernet PHY với đầu nối RJ45 Máy chủ USB cổng, đầu nối USB Type-A thông thường Ổ cắm thẻ Micro SD Gia tốc kế (ngắt giao diện I2C) UART sang USB, đầu nối USB Mini-B Nút đặt lại ấm nút đặt lại lạnh Một nút người dùng đèn LED người dùng Tiêu đề mở rộng LTC 2x7 Module LCD 128x64 Hình 3: Cấu tạo DE10-STANDARD 10 h Dòng 1: Tạo module với tên de5 lưu ý phải trùng với tên file de5.v, đồng thời khai báo hai biến CLK ứng với xung Clock LG ứng với LED xanh Dòng 2: Khai báo input CLK Dòng 3: Khai báo LG biến output có 8bits có giá trị ban đầu LG=8’b10000001 Dòng 4: Khai báo tần số freq 26bits từ đến 25 Dòng 5-6: Dùng lệnh always điều khiển cạnh lên xung CLK, có cạnh lên xung clock cộng lên Dịng 7: Dùng always điều khiển tần số 1Hz Dòng 9: Dịch phải bits lớn LED Dòng 10: Dịch trái bits nhỏ LED Cả dòng lệnh 9, 10 đồng thời xảy Dòng 12: Kết thúc chương trình endmodule Kết chương trình a Phần cứng mạch Hình 17: Kết phần cứng đề b Sóng mạch Hình 18: Kết sóng đề Nhìn hình ta thấy, LED( ứng với hai bit 1) dịch từ ngồi vơ lặp lại 20 h ĐỀ 06 Thiết kế mạch hiển thị chữ “HELLO” lên led đoạn với ngõ vào gán với switch, cho switch = 2’b00 chữ “HELLO” nhấp nháy với tần số khoảng Hz, switch = 2’b01 khoảng Hz, switch = 2’b10 khoảng Hz switch = 2’b11 khoảng Hz Clock lấy từ xung clock 50MHz CODE VI Hình 19: CODE đề - Giải thích CODE Dịng 1: Tạo module với tên de6 lưu ý phải trùng với tên file de6.v, đồng thời khai báo biến input CLK 2bits ứng với Clock biến output HEX0, HEX1, HEX2, HEX3, HEX4 7bits ứng với LED đoạn chữ “HELLO” Dòng 2: Khai báo tần số 26bits từ đến 25 Dòng 3: Tạo dây mode Dòng 4-5: Dùng lệnh always điều khiển cạnh lên xung CLK, có cạnh lên xung clock cộng lên Dịng 6: Nếu switch = 2’b00 gán mode = tanso[25], mode đổi giá trị với khoảng thời gian với tần số 1Hz Nếu switch = 2’b01 gán mode = tanso[24], mode đổi giá trị với khoảng thời gian với tần số 2Hz Nếu switch = 2’b10 gán mode = tanso[23], mode đổi giá trị với khoảng thời gian ứng với tần số 4Hz Trường hợp lại với switch = 2’b11 gán mode = tanso[22], mode đổi giá trị với khoảng thời gian với tần số 8Hz Dòng 7: Tại HEX0 mode = LED đoạn chữ O, mode = đèn tắt Dịng 8: Tại HEX1 mode = LED đoạn chữ L, mode =0 đèn tắt Dịng 9: Tại HEX2 mode = LED đoạn chữ L, mode = đèn tắt 21 h Dòng 10:Tại HEX3 mode = LED đoạn chữ E, mode = đèn tắt Dịng 11:Tại HEX4 mode = LED đoạn chữ H, mode = đèn tắt Dịng 12: Kết thúc chương trình lệnh endmodule Kết chương trình a Phần cứng mạch Hình 20: Kết phần cứng đề b Sóng mạch VII ĐỀ 07 Thiết kế mạch đổi từ số nhị phân bit (lấy từ switch) thành số thập phân hiển thị lên HEX2, HEX1 HEX0 CODE Hình 21: Kết sóng đề 22 h Hình22: CODE đề 07 23 h Giải thích CODE Dịng 1: Tạo module với tên de7 lưu ý phải trùng với tên file de7.v, đồng thời khai báo biến input SW 9bits ứng với switch biến output HEX0, HEX1, HEX2 7bits ứng với LED đoạn thể số thập phân Dòng 2: Khai báo biến tram, chuc,donvi có 4bits Dịng 3: Khối lệnh always @(*) đưa vào tất ngõ vào Dòng 5: Lấy liệu vào từ switch chia lấy dư cho 10, kết lưu vào biến donvi Dòng 6: Lấy liệu vào từ switch chia lấy nguyên cho 10, lấy kết vừa thu lại đem chia lấy dư cho 10.Kết thu lưu biến chuc Dòng 7: Lấy liệu vào từ switch chia lấy nguyên cho 100, kết thu lưu vào biến tram Dòng 9-19: Các trường hợp số LED HEX0 ( số hàng đơn vị) Dịng 20: LED tắt khơng 10 trường hợp Dòng 21: Kết thúc trường hợp HEX0 Dòng 23-35: Tương tự với HEX0, đoạn giải mã trường hợp số HEX1( số hàng chục) Dòng 37-49: Tương tự với HEX0 HEX1 đoạn giải mã trường hợp số HEX2( số hàng trăm) Dịng 50: Kết thúc chương trình endmodule Kết chương trình a Phần cứng mạch 24 h Hình 23: Kết phần cứng để b Sóng mạch Hình 24: Kết sóng đề Nhìn hình ta thấy, kết SW hiển thị lên HEX0, HEX1,HEX2 theo bảng mã LED đoạn với HEX0, HEX1, HEX2 hàng đơn vị, hàng chục, hàng trăm VIII ĐỀ 08 25 h Thiết kế mạch hiển thị chữ “HI” dịch từ trái qua phải led đoạn (từ HEX0 đến HEX3), xung clock khoảng 1Hz chia từ clock 50Mhz CODE Hình 25: CODE đề 08 Giải thích CODE 26 h Dịng 1: Tạo module với tên de8 lưu ý phải trùng với tên file de8.v, đồng thời khai báo biến CLK ứng với Clock biến HEX0, HEX1, HEX2, HEX3 ứng với LED đoạn chữ Dòng 2: Khai báo input CLK Dòng 3: Khai báo biến output HEX0,HEX1,HEX2,HEX3 có 7bits Dịng 4: Tạo biến tạm freq 26bits Dịng 5: Tạo biến k có 2bits để làm biến vị trí cho chữ Dịng 6-7: Dùng lệnh always điều khiển cạnh lên xung CLK, có cạnh lên xung clock cộng lên Dịng 8: Dùng always điều khiển tần số 1Hz Dòng 9-14: Tạo vị trí ứng với vị trí dịch từ trái sang phải cho chữ Dịng 16-21: Ứng với k=0 HEX0 chữ H HEX1 chữ I, HEX2 HEX3 tắt, biến output gán mã ứng với bảng mã LED đoạn để chữ vị trí cần thiết Dịng 22-27: Ứng với k=1 chữ “HI” dịch qua phải LED Nên HEX0 HEX3 đèn tắt, HEX1 chữ H HEX2 chữ I, biến output gán mã ứng với bảng mã LED đoạn để chữ vị trí cần thiết Dịng 28-33: Ứng với k=2 chữ “HI” dịch qua phải LED Nên HEX0 HEX1 đèn tắt, HEX2 chữ H HEX3 chữ I, biến output gán mã ứng với bảng mã LED đoạn để chữ vị trí cần thiết Dịng 34-39:Ứng với k=3 chữ “HI” tiếp tục dịch qua phải LED Nên HEX1 HEX2 đèn tắt, HEX3 chữ H HEX0 chữ I, biến output gán mã ứng với bảng mã LED đoạn để chữ vị trí cần thiết Dịng 42: Kết thúc chương trình endmodule Kết chương trình 27 h a Phần cứng mạch Hình 26: Kết phần cứng đề b Sóng mạch Hình 27: Kết sóng đề HEX0, HEX1,HEX2,HEX3 LED thị chữ theo đề Các LED đoạn hiển thị theo bảng mã để chữ “HI” xuất dịch từ trái qua phải IX ĐỀ 09 Thiết kế mạch led bit sáng dần từ trái qua phải tắt dần từ phải qua trái 28 h CODE Hình 28:CODE đề 09 Giải thích CODE Dịng 1: Tạo module với tên bai09 phải trùng với tên file bai09.v đồng thời khai báo biến input CLK tương ứng với Clock bits LEDG tương ứng LED Dòng 2: Tạo tanso 26 bits để chia tần số Dòng 3: Khai báo biến flag dùng để điều khiển LED sáng dần hay tắt dần Dòng 4-5: Dùng lệnh always điều khiển cạnh lên xung CLK, có cạnh lên xung clock cộng lên Dòng 6: Dùng always điều khiển tần số 1Hz Dịng 7-10: Nếu flag = thực sáng dần từ trái sang phải.Và ngược lại flag = thực tắt dần từ phải sang trái Dòng 12-15: Nếu LEDG tắt (tắt hết led) flag trạng thái Và ngược lại LEGS sáng (sáng hết led) flag trạng thái Dòng 16: Kết thúc chương trình endmodule Kết chượng trình a Phần cứng mạch 29 h Hình 29: Kết phần cứng đề b Sóng mạch Hình 30: Kết sóng đề Các đèn sáng dần( xuất bit 1) sáng đủ 8bits sau đèn tắt dần( dần bit 1) X ĐỀ 10 Thiết kế mạch bình phương bit (sử dụng switch làm ngõ vào) hiển thị led đoạn HEX2, HEX1, HEX0 dạng số thập phân CODE 30 h Hình 31: CODE đề 10 Giải thích CODE 31 h Dịng 1: Tạo module với tên de7 lưu ý phải trùng với tên file de7.v, đồng thời khai báo biến input SW 9bits ứng với switch biến output HEX0, HEX1, HEX2 7bits ứng với LED đoạn thể số thập phân Dòng 2: Khai báo biến tram, chuc,donvi có 4bits Dịng 3: Khối lệnh always @(*) đưa vào tất ngõ vào Dòng 5: Lấy liệu vào từ switch nhân cho để nhận kết bình phương, chia lấy dư cho 10, kết lưu vào biến donvi Dòng 6: Lấy liệu vào từ switch nhân cho để nhận kết bình phương, chia lấy nguyên cho 10, lấy kết vừa thu lại đem chia lấy dư cho 10.Kết thu lưu biến chuc Dòng 7: Lấy liệu vào từ switch nhân cho để nhận kết bình phương, chia lấy nguyên cho 100, kết thu lưu vào biến tram Dòng 12-21: Các trường hợp số LED HEX0 ( số hàng đơn vị) Dịng 22: LED tắt khơng 10 trường hợp Dòng 23: Kết thúc trường hợp HEX0 Dịng 24-36: Tương tự với HEX0, đoạn giải mã trường hợp số HEX1( số hàng chục) Dòng 37-49: Tương tự với HEX0 HEX1 đoạn giải mã trường hợp số HEX2( số hàng trăm) Dòng 50: Kết thúc chương trình endmodule Kết chương trình a Phần cứng mạch 32 h Hình 32: Kết phần cứng đề 10 b Sóng mạch Hình 33: Kết sóng đề 10 Kết bình phương SW thị theo bảng mã LED đoạn,ứng với hàng đơn vị HEX0 , hàng chục HEX1, hàng trăm HEX2 33 h 34 h

Ngày đăng: 04/04/2023, 09:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w