ĐỒ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY

76 4 0
ĐỒ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY

Đ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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: THIẾT KẾ NEURAL NETWORK TRÊN FPGA ĐỂ NHẬN DẠNG CHỮ SỐ VIẾT TAY Sinh viên thực hiện: ĐẶNG TÙNG LONG Lớp ĐT2 – K59 Giảng viên hướng dẫn: ThS NGUYỄN THỊ KIM THOA Hà Nội, 06-2019 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: THIẾT KẾ NEURAL NETWORK TRÊN FPGA ĐỂ NHẬN DẠNG CHỮ SỐ VIẾT TAY Sinh viên thực hiện: ĐẶNG TÙNG LONG Lớp ĐT2 – K59 Giảng viên hướng dẫn: ThS NGUYỄN THỊ KIM THOA Cán phản biện: Hà Nội, 06-2019 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho giảng viên hướng dẫn) Tên giảng viên đánh giá: Họ tên Sinh viên: MSSV: Tên đồ án: Chọn mức điểm phù hợp cho sinh viên trình bày theo tiêu chí đây: Rất (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5) Có kết hợp lý thuyết thực hành (20) Nêu rõ tính cấp thiết quan trọng đề tài, vấn đề giả thuyết (bao gồm mục đích tính phù hợp) phạm vi ứng dụng đồ án Cập nhật kết nghiên cứu gần (trong nước/quốc tế) Nêu rõ chi tiết phương pháp nghiên cứu/giải vấn đề Có kết mơ phỏng/thưc nghiệm trình bày rõ ràng kết đạt Có khả phân tích đánh giá kết (15) Kế hoạch làm việc rõ ràng bao gồm mục tiêu phương pháp thực dựa kết nghiên cứu lý thuyết cách có hệ thống Kết trình bày cách logic dễ hiểu, tất kết phân tích đánh giá thỏa đáng Trong phần kết luận, tác giả rõ khác biệt (nếu có) kết đạt mục tiêu ban đầu đề đồng thời cung cấp lập luận để đề xuất hướng giải thực tương lai Kỹ viết đồ án (10) Đồ án trình bày mẫu quy định với cấu trúc chương logic đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, đánh số thứ tự giải thích hay đề cập đến đồ án, có lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu chương kết luận chương, có liệt kê tài liệu tham khảo có trích dẫn quy định Kỹ viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận logic có sở, từ vựng sử dụng phù hợp v.v.) Thành tựu nghiên cứu khoa học (5) (chọn trường hợp) Có báo khoa học đăng chấp nhận đăng/đạt giải SVNC 10a khoa học giải cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong nước) từ giải trở lên/ Có đăng ký phát minh sáng chế Được báo cáo hội đồng cấp Viện hội nghị sinh viên nghiên cứu khoa học không đạt giải từ giải trở lên/Đạt giải khuyến khích 10b kỳ thi quốc gia quốc tế khác chun ngành TI contest 10c Khơng có thành tích nghiên cứu khoa học Điểm tổng 1 2 3 4 5 5 5 5 /50 Điểm tổng quy đổi thang 10 Nhận xét khác (về thái độ tinh thần làm việc sinh viên) TIEU LUAN MOI download : skknchat123@gmail.com moi nhat Ngày: … / … / 20… Người nhận xét (Ký ghi rõ họ tên) TIEU LUAN MOI download : skknchat123@gmail.com moi nhat ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho cán phản biện) Giảng viên đánh giá: Họ tên sinh viên: MSSV: Tên đồ án: Chọn mức điểm phù hợp cho sinh viên trình bày theo tiêu chí đây: Rất (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5) Có kết hợp lý thuyết thực hành (20) Nêu rõ tính cấp thiết quan trọng đề tài, vấn đề giả thuyết (bao gồm mục đích tính phù hợp) phạm vi ứng dụng đồ án Cập nhật kết nghiên cứu gần (trong nước/quốc tế) Nêu rõ chi tiết phương pháp nghiên cứu/giải vấn đề Có kết mơ phỏng/thưc nghiệm trình bày rõ ràng kết đạt Có khả phân tích đánh giá kết (15) Kế hoạch làm việc rõ ràng bao gồm mục tiêu phương pháp thực dựa kết nghiên cứu lý thuyết cách có hệ thống Kết trình bày cách logic dễ hiểu, tất kết phân tích đánh giá thỏa đáng Trong phần kết luận, tác giả rõ khác biệt (nếu có) kết đạt mục tiêu ban đầu đề đồng thời cung cấp lập luận để đề xuất hướng giải thực tương lai Kỹ viết đồ án (10) Đồ án trình bày mẫu quy định với cấu trúc chương logic đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, đánh số thứ tự giải thích hay đề cập đến đồ án, có lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu chương kết luận chương, có liệt kê tài liệu tham khảo có trích dẫn quy định Kỹ viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận logic có sở, từ vựng sử dụng phù hợp v.v.) Thành tựu nghiên cứu khoa học (5) (chọn trường hợp) Có báo khoa học đăng chấp nhận đăng/đạt giải SVNC 10a khoa học giải cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong nước) từ giải trở lên/ Có đăng ký phát minh sáng chế Được báo cáo hội đồng cấp Viện hội nghị sinh viên nghiên cứu khoa học không đạt giải từ giải trở lên/Đạt giải khuyến khích 10b kỳ thi quốc gia quốc tế khác chun ngành TI contest 10c Khơng có thành tích nghiên cứu khoa học Điểm tổng 1 2 3 4 5 5 5 5 /50 Điểm tổng quy đổi thang 10 Nhận xét khác cán phản biện TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY Ngày: … / … / 20… Người nhận xét (Ký ghi rõ họ tên) DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY LỜI NÓI ĐẦU Trước trình bày nội dung phần báo cáo đồ án mình, em xin gửi lời cảm ơn chân thành tới TS.Đặng Quang Hiếu, người trực tiếp hướng dẫn, cung cấp tài liệu cho em suốt trình thực đồ án Do thời gian có hạn hạn chế mặt kiến thức, báo cáo khơng tránh khỏi vài sai sót nhỏ Vì vậy, em mong nhận ý kiến đóng góp thầy giáo bạn để đề tài hoàn thiện Hà Nội, tháng 06 năm 2019 Sinh viên thực Đặng Tùng Long DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY LỜI CAM ĐOAN Tôi Đặng Tùng Long, mã số sinh viên 20142642, sinh viên lớp Điện tử 2, khóa K59 Người hướng dẫn Th.S Nguyễn Thị Kim Thoa Tôi xin cam đoan tồn nội dung trình bày đồ án Thiết kế neural network FPGA để nhận dạng chữ số viết tay kết trình tìm hiểu nghiên cứu tơi Các liệu nêu đồ án hoàn toàn trung thực, phản ánh kết đo đạc thực tế Mọi thơng tin trích dẫn tn thủ quy định sở hữu trí tuệ; tài liệu tham khảo liệt kê rõ ràng Tơi xin chịu hồn toàn trách nhiệm với nội dung viết đồ án Hà Nội, tháng 06 năm 2019 Người cam đoan Đặng Tùng Long DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY MỤC LỤC DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT .i DANH MỤC HÌNH VẼ ii DANH MỤC BẢNG BIỂU iii TÓM TẮT ĐỒ ÁN .iv PHẦN MỞ ĐẦU CHƯƠNG GIỚI THIỆU 1.1 Giới thiệu Artificial Neural Network 1.1.1 Lịch sử hình thành phát triển 1.1.2 Nguyên lý hoạt động 1.1.3 Thuật toán Gradient Descent 1.2 Giới thiệu FPGA 10 1.2.1 Khái niệm FPGA 10 1.2.2 Schematic-based flow 11 1.2.3 HDL-based flow .13 1.4 Giới thiệu SystemVerilog 14 1.5 Giới thiệu mơ hình FSMD 14 1.6 Giới thiệu kiểm chứng thiết kế 16 1.7 Kết luận chương 17 CHƯƠNG THIẾT KẾ NEURAL NETWORK VỚI MATLAB 18 2.1 Thuật toán thiết kế 18 2.2 Huấn luyện Matlab 19 2.2.1 Chuẩn bị sở liệu .19 2.2.2 Tiền xử lý huấn luyện 20 2.2.3 Huấn luyện Neural Network 21 2.3 Kiểm tra Matlab .25 2.3.1 Chuẩn bị sở liệu .25 2.3.2 Tiền xử lý kiểm tra 25 2.3.3 Kiểm tra Neural Network 26 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY 2.4 Kết luận chương 27 CHƯƠNG THIẾT KẾ NEURAL NETWORK TRÊN FPGA .28 3.1 Yêu cầu kỹ thuật .28 3.1.1 Đầu vào đầu .28 3.1.2 Hoạt động 29 3.2 Kế hoạch kiểm chứng .31 3.3 Thiết kế RTL 32 3.3.1 Khối DUT 32 3.3.2 Khối ann 34 3.3.3 Biểu diễn tham số Neural Network FPGA 45 3.4 Thiết kế testbench 46 3.4.1 Kiến trúc testbench 46 3.4.2 Kết kiểm chứng thiết kế 49 3.5 Kết luận chương 51 KẾT LUẬN .52 TÀI LIỆU THAM KHẢO 53 BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT .54 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY Hình 3.21 Sơ đồ FSM ann_fsm 46 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY Hình 3.22 Sơ đồ FSM ann_fsm (tiếp tục) Trên Hình 3.9 Hình 3.10 sơ đồ FSM khối ann_fsm, với cặp state trùng tên hai hình (ST_START, ST_PAR_ADD, ST_ADDR_BLK) trạng thái Ta coi rst_n dù trạng thái mạch quay trạng thái ST_START, rst_n sườn lên clk, mạch chuyển sang trạng thái hình vẽ Các đầu ann_fsm control signal FSMD Loại FSM sử dụng FSM loại Moore với giá trị đầu trạng thái liệt kê Bảng 3.8 Ứng với trạng thái, đầu liệt kê cột Tín hiệu khẳng định nhận giá trị 1, đầu không liệt kê nhận giá trị 47 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY Bảng 3.10 Giá trị đầu trạng thái ann_fsm Trạng thái Cơng việc ann Tín hiệu khẳng định ST_START Khơng làm ST_HOLD Chờ để bắt đầu tính tốn ST_ADDR_BLK Tính tốn dải địa cần đọc từ load_addr_blk single_port_ram_with_init clr_mul_vec ST_MEM_CTL Bắt đầu đọc liệu từ start_mem_ctl single_port_ram_with_init ST_WAIT_MEM_CTL Đợi trình đọc liệu từ single_port_ram_with_init kết thúc ST_LOAD_REG_BLK_ Lưu liệu vừa đọc từ load_reg_blk_1 single_port_ram_with_init vào ghi ST_MUL_VEC Bắt đầu nhân hai vector start_mul_vec clr_add_parallel ST_WAIT_MUL_VEC Đợi trình nhân hai vector kết thúc ST_ADD_ACC Bắt đầu cộng tích lũy tích cặp add_acc vector clr_reg_blk_1 ST_WAIT_ADD_ACC Đợi q trình cộng tích lũy kết thúc ST_LOAD_REG_BLK_ Lưu giá trị tổng vừa cộng tích lũy load_reg_blk_2 tích hai vector vào ghi clr_add_acc ST_PAR_ADD Bắt đầu cộng hai vector start_add_parallel clr_mul_vec ST_WAIT_PAR_ADD Đợi trình cộng hai vector kết thúc ST_TANSIG Bắt đầu tính tansig vector start_tansig clr_reg_blk_2 ST_WAIT_TANSIG Đợi q trình tính tansig kết thúc ST_HARD_MAX Bắt đầu tính hàm hard_max vector start_hard_max ST_WAIT_HARD_MA Đợi q trình tính hàm hard_max kết thúc X ST_DONE Kết thúc nhận dạng done_st clr_layer clr_addr_blk clr_reg_blk_1 clr_mul_vec clr_add_acc clr_reg_blk_2 clr_add_parallel clr_tansig 48 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY Trên Hình 3.7 ta thấy khối ann_dp gồm nhiều khối con, khối xây dựng theo mơ hình FSMD Như vậy, DUT thiết kế gồm có nhiều tầng FSMD 3.3.3 Biểu diễn tham số Neural Network FPGA Như biết, Neural Network có tham số: - W2 ma trận chứa weight lớp ẩn, cỡ 15x717 B2 ma trận chứa bias lớp ẩn, cỡ 15x1 W3 ma trận chứa weight lớp đầu ra, cỡ 10x15 B3 ma trận chứa bias lớp đầu ra, cỡ 10x1 Vậy tổng cộng mạng có chứa 10930 phần tử Khối single_port_ram_with_init cần phải lưu 10930 phần tử đó, cộng với 717 phần tử ảnh cần nhận dạng, tổng 11647 số Để lưu 11647 số vào nhớ kit DE2, ta cần phải có cách biểu diễn số phù hợp, để cân đối kích thước bit độ xác số Trước tiên, phần trình bày cách biểu diễn số thực theo chuẩn IEEE 754 single-precision binary floating-point format [9], gọi biểu diễn số thực dấu phẩy động 32 bit theo chuẩn IEEE 754 Số thực 32 bit chia thành trường theo thứ tự từ trái qua phải - Sign: rộng bit, ký hiệu s Exponent: rộng bit, ký hiệu e Fraction: rộng 23 bit, ký hiệu f Riêng số 0, ta biểu diễn 32 bit mà không tuân theo công thức (3.8) Đối với số khác 0, ta quy đổi theo công thức (3.8), với v số cần quy đổi v=(−1 )s ×2e−127 ×(1 f )2 (3.8) Ví dụ số +0.15625 biểu diễn theo chuẩn kết Hình 3.11 Hình 3.23 Kết biểu diễn số 0.15625 [9] Thật vậy, ta có: v=(−1 )0 ×2(01111100) −127 ×(1.010 … 0)2=1× 2124−127 ×1.25=0.15625 (3.9) 49 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY Dựa vào chuẩn trên, ta hình thành ý tưởng biểu diễn tham số Neural Network FPGA Ta biểu diễn số thực dạng dấu phẩy động 16 bit gần giống với cách Cụ thể ta chia 16 bit thành trường: - Sign: rộng bit, ký hiệu s Exponent: rộng bit, ký hiệu e Fraction: rộng bit, ký hiệu f Công thức quy đổi công thức (3.8) Thực tế cách biểu diễn số nhớ máy tính Matlab dấu phẩy động 64 bit, nên với cách biểu diễn 16 bit chắn gây sai số FPGA với Matlab Nhưng biểu diễn số 64 bit Matlab kit DE2 bị thiếu tài ngun, ta phải đánh đổi độ xác kích thước 3.4 Thiết kế testbench 3.4.1 Kiến trúc testbench Testbench thiết kế theo kế hoạch kiểm chứng trình bày phần 3.2 Về testbench testbench có nhiều lớp, xây dựng dựa lý thuyết trình bày phần 1.5, tùy biến số lớp để phù hợp Hình 3.12 sơ đồ khối testbench 50 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY Hình 3.24 Sơ đồ khối testbench 51 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY Chức khối trình bày Bảng 3.9 SystemVerilog có hỗ trợ kiểu liệu phù hợp cho khối, điểm mạnh ngơn ngữ Bảng 3.11 Chức khối testbench Khối Loại Kiểu Chức liệu top top module module cao project, bao gồm DUT, interface test img_inv_tst test program Chứa enviroment cấu hình agent enviroment đưa transaction vào DUT thông qua interface img_env enviroment class Bao gồm 10 agent từ img_agent_0 đến img_agent_9 từ img_agent_0 agent class Bao gồm generator, driver scoreboard đến img_agent_9 Mỗi agent chứa loại chữ số Các mẫu img_agent_0 có label số 0, mẫu img_agent_1 có label số 1, … Các mẫu img_agent_9 có label số img_generator generator class Tạo transaction img_drv driver class Biến đổi transaction thành tín hiệu logic để gán vào chân input DUT img_transaction transaction class Chứa giá trị điểm ảnh ảnh cần nhận dạng img_scoreboard scoreboard class Lấy đầu từ DUT để so sánh với giá trị mong muốn intf interface interfac Nhóm chân tín hiệu DUT lại thành e đối tượng để DUT dễ giao tiếp với test Về coi luồng liệu img_transaction testbench từ img_generator, qua img_driver đến DUT, cuối đến img_scoreboard Với img_transaction có label tương ứng Tại img_scoreboard so sánh label với đầu DUT, tức nhận dạng đúng, khác tức nhận dạng sai Tại img_scoreboard tiến hành kiểm tra Đặc tính kế hoạch kiểm chứng, là: Khi we = 0, tiến hành hoạt động nhận dạng, từ nhận dạng xong (done = 1) đến lúc start trở giá trị digit khơng thay đổi Trong testbench khơng có khối assertion u cầu kỹ thuật khơng đề cập đến mối quan hệ thời gian tín hiệu DUT Khối functional coverage khơng có testbench theo dõi thủ công theo thời gian để biết tiến độ kiểm chứng 52 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY 3.4.2 Kết kiểm chứng thiết kế Trong phần kế hoạch kiểm chứng nói kịch hoạt động testbench Sau sử dụng kịch đó, tức kiểm tra tất mẫu tập kiểm tra MNIST, ta kết thống kê Bảng 3.10 Bảng 3.12 Kết kiểm chứng thiết kế Chữ số SUM 980 PASS FAIL 959 % PASS CHANGE 97.86 98.41 93.31 92.57 94.91 90.36 95.30 93.97 91.58 91.97 1 113 1117 103 963 101 935 982 932 892 806 6 958 913 102 966 8 974 892 100 928 Cột SUM tổng số mẫu ứng với chữ số, cột PASS thể có mẫu nhận dạng đúng, cột FAIL thể có mẫu bị nhận dạng sai Độ xác trung bình trung bình cộng cột (% PASS) 94.02% Độ xác trung bình đạt 90% chứng tỏ Đặc tính 2, 53 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY Cột CHANGE bảng thể có mẫu vi phạm Đặc tính 5, kết khơng có mẫu bị vi phạm, thiết kế thỏa mãn Đặc tính Đặc tính reset quan sát thủ cơng sóng cho kết Sau kiểm tra thấy thỏa mãn Đặc tính 1, 2, 3, 5, ta tiến hành biên dịch mã nguồn RTL phần mềm Quartus với thiết bị đích kit DE2 – 2C35F672C6N hãng Altera, mục đích để kiểm tra Đặc tính Kết biên dịch thành cơng Hình 3.13 Thiết kế chiếm 74% thành phần logic 54% nhớ kit Hình 3.25 Biên dịch thành cơng cho kit EP2C35F672C6 Vậy tất Đặc tính thỏa mãn, thiết kế đạt yêu cầu kỹ thuật, ta có độ bao phủ chức đạt 100% Ngồi ta cịn thống kê trễ xử lý trung bình theo đơn vị số lượng xung clk, thống kê Bảng 3.11 Bảng 3.13 Trễ xử lý trung bình với chữ số Chữ số Trễ xử lý trung bình 99380 99073 99228 99189 99171 54 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY 99196 99260 99122 99158 99074 Từ việc tính trễ xử lý ta có nhận xét sau: Hiện video thường chạy với tốc độ 30 fps (30 frames per second), tức giây có 30 hình ảnh phát, hay tốc độ thay đổi hình ảnh giây Giả 30 sử với hình ảnh ta đưa qua hệ thống để nhận dạng chữ số theo real time Các trễ xử lý thống kê khơng có số vượt q 100000 chu kỳ clk Ngay làm tròn trễ xử lý vừa thống kê lên thành 100000 số chu kỳ clk, độ dài chu kỳ tối đa để chạy real time là: 30 (s), hay tần số tối thiểu để chạy = 100000 3000000 real time MHz Tần số MHz tần số thấp thiết bị FPGA thị trường nay, thường chạy với tần số tối thiểu khoảng vài chục MHz Do việc áp dụng thiết kế vào hệ thống nhận dạng theo real time khả thi mặt công nghệ 3.5 Kết luận chương Thiết kế Neural Network FPGA thỏa mãn tất yêu cầu kỹ thuật So với độ xác 94.08% Matlab, độ xác FPGA đạt thấp chút 94.02%, nhiên đạt 90% yêu cầu đề Sự khác cách biểu diễn tham số Matlab 64 bit, cách biểu diễn tham số FPGA 16 bit Độ xác nêu độ xác tập kiểm tra MNIST, tập liệu cụ thể khơng phải độ xác theo cách nói chung chung khơng có cụ thể, người dùng hình dung tin cậy thiết kế Kiến trúc RTL thiết kế xây dựng dựa theo mơ hình FSMD gồm nhiều tầng Tầng cao thiết kế gồm control path data path, data path lại xây dựng từ nhiều module mà module lại FSMD có control path data path riêng Chương khơng sâu vào trình bày module có kiến trúc FSMD cụ thể nào, trình bày tổng quan chức module con, người đọc dễ dàng hình dung hoạt động hệ thống 55 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY Bên cạnh mã nguồn RTL thiết kế cịn có mã nguồn testbench, testbench có nhiều tầng, viết ngơn ngữ SystemVerilog theo kiểu hướng đối tượng Quá trình kiểm chứng thiết kế đạt độ bao phủ chức 100% 56 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY KẾT LUẬN Trong báo cáo này¸ em trình bày vấn đề Neural Network FPGA Từ việc triển khai Neural Network Matlab, em triển khai thành công Neural Network FPGA để nhận dạng chữ số viết tay Kết thu độ xác đạt 94.02% tập kiểm tra MNIST Thiết kế chưa thể áp dụng vào lĩnh vực cụ thể sống, chưa thể tạo giá trị thương mại khoảng thời gian mà em học tập nhiều Neural Network FPGA Đó khoảng thời gian để thân em cải thiện nhiều kỹ sử dụng ngôn ngữ SystemVerilog, kỹ thiết kế phần cứng kỹ sử dụng phần mềm QuestaSim hệ điều hành Centos Tuy đạt mục tiêu đề ra, hạn chế mặt thời gian thực hiện, đồ án chưa phát triển hết tính Neural Network, cụ thể triển khai việc nhận dạng, cịn việc huấn luyện Neural Network chưa triển khai Trong tương lai, có hội, em tiếp tục nghiên cứu phát triển loại Neural Network FPGA với nhiều tính 57 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TÀI LIỆU THAM KHẢO [1] David Kriesel (2005, May 27) A brief introduction to neural network [Online] Available : http://www.dkriesel.com/en/science/neural_networks [2] http://www.lsi-contest.com/2018/shiyou_3e.html, truy nhập cuối ngày 29/4/2019 [3] Vũ Hữu Tiệp (2018, March 27) Machine learning [Online] Available : https://machinelearningcoban.com/ebook/ [4] Clive Maxfield, The design warrior’s guide to FPGAs Elsevier’s Science and Technology Right Department, Oxford, UK, 2004 [5] Stuart Sutherland, Simon Davidmann, Peter Flake, SystemVerilog For Design, Second Edition Springer Science+Business Media, LLC, 233 Spring Street, New York, NY 10013, USA, 2006 [6] Pong P.Chu, FPGA prototyping by verilog examples (Xilinx SpartanTM-3 Version) A John Wiley & Sons, 111 River Sheet, Hoboken, 2008 [7] Chris Spear, SystemVerilog for verification (Second Edition) Springer Science+Business Media, LLC, 233 Spring Street, New York, NY 10013, USA, 2006 [8] http://yann.lecun.com/exdb/mnist/, truy nhập cuối ngày 13/05/2019 [9] https://en.wikipedia.org/wiki/Single-precision_floating-point_format, truy nhập cuối ngày 13/05/2019 58 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt Arfitical Neural Network Mạng neuron nhân tạo Neural Network Mạng neuron (nhân tạo) Latency Trễ xử lý Input Layer Lớp đầu vào Hidden Layer Lớp ẩn Output Layer Lớp đầu Supervisor Giám sát viên Weight Trọng số Bias Hạng tử tự Activate function Hàm kích hoạt Square error function Hàm lỗi bình phương Cost function Hàm giá Backpropagation Lan truyền ngược Learning rate Tốc độ học Local minimum Cực tiểu cục Schematic-based flow Luồng thiết kế dựa sơ đồ nguyên lý HDL-based flow Luồng thiết kế dựa HDL Verification Kiểm chứng thiết kế Verification Plan Kế hoạch kiểm chứng Specification Yêu cầu kỹ thuật Functional Coverage Bao phủ chức 59 DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY TIEU LUAN MOI download : skknchat123@gmail.com moi nhat DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY DO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAYDO.an.tot.NGHIEP.dai.hoc.de.tai.THIET.ke.NEURAL.NETWORK.TREN.FPGA.de.NHAN.DANG.CHU.so.VIET.TAY

Ngày đăng: 23/12/2023, 22:06

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan