Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
2,68 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT HÀN KHOA CÔNG NGHỆ KỸ THUẬT MÁY TÍNH VÀ ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: NGHIÊN CỨU CÔNG NGHỆ VI MẠCH KHẢ TRÌNH VÀ ỨNG DỤNG THIẾT KẾ BỘ LỌC CHO PHÁT HIỆN CẠCH BIÊNTRONG XỬ LÝ ẢNH SỬ DỤNG KIT FPGA Giảng viên hướng dẫn: TS.Dương Hữu Ái Sinh viên thực : Trần Cao Thông Lớp : 17CE MSSV : 17CE047 Đà Nẵng, ngày 15 tháng 12 năm 2021 Trang Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Lời Cảm Ơn ! Trong suốt khóa học (2017-2022) Trường Cơng Nghệ Thơng Tin Truyền Thông Việt Hàn, quý Thầy Cô truyền đạt cho em nhiều kiến thức bổ ích đặc biệt thầy cô khoa Kỹ Thuật Máy Tính Điện Tử truyền đạt cho chúng em nhiều kiến thức chuyên ngành cần thiết cho chúng em sau trường Đặc biệt thời gian làm đề tài, em học hỏi nhiều kiến thức thực tế từ Thầy hướng dẫn nên hoàn thành đề tài thời gian quy định Sau học được, thực Em xin gửi lời biết ơn chân thành đến gia đình, q Thầy Cơ khoa Kỹ Thuật Máy Tính Điện Tử Đặc biệt Thầy TS.Dương Hữu Ái hướng dẫn, dìu dắt suốt trình làm đồ án tốt nghiệp Em xin cảm ơn anh chị, bạn sinh viên khoa giúp đỡ nhiều như: thiết bị nghiên cứu, tài liệu, phần mềm, đóng góp ý kiến … để em hoàn thành đề tài Em xin cảm ơn tất cả! SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp LỜI CAM ĐOAN Tôi xin cam đoan đồ án tốt nghiệp: NGHIÊN CỨU CƠNG NGHỆ VI MẠCH KHẢ TRÌNH VÀ ỨNG DỤNG THIẾT KẾ BỘ LỌC TRONG XỬ LÝ ẢNH SỬ DỤNG KIT FPGA cơng trình nghiên cứu thân Những phần có sử dụng tài liệu tham khảo có đồ án liệt kê nêu rõ phần tài liệu tham khảo Đồng thời số liệu hay kết trình bày đồ án mang tính chất trung thực, khơng chép, đạo nhái Những nội dung luận văn tơi/nhóm thực hướng dẫn trực tiếp Thầy TS Dương Hữu Ái Mọi tham khảo dùng luận văn trích dẫn rõ ràng trung thực tên tác giả, tên cơng trình, thời gian, địa điểm công bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo khơng thật, tơi/nhóm xin chịu hồn tồn trách nhiệm Đà Nẵng, ngày 15 tháng 12 năm 2021 Ký tên Trần Cao Thông SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp MỤC LỤC Lời Cảm Ơn ! LỜI CAM ĐOAN MỤC LỤC Danh mục viết tắt Danh mục hình ảnh Chương GIỚI THIỆU 1.1 LÝ DO CHỌN ĐỀ TÀI .8 1.2 MỤC TIÊU VÀ NHIỆM VỤ NGHIÊN CỨU 1.3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 1.4 PHƯƠNG PHÁP NGHIÊN CỨU 1.5 KẾT QUẢ ĐẠT ĐƯỢC .9 1.6 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN .10 1.7 NỘI DUNG ĐỒ ÁN 10 Chương CƠ SỞ LÝ THUYẾT 11 2.1 TÌM HIỂU VỀ CƠNG NGHỆ VI MẠCH KHẢ TRÌNH FPGA 11 2.1.1 Khái niệm FPGA 11 2.1.2 Tại lại sử dụng FPGA 12 2.1.3 Kiến trúc FPGA 14 2.1.4 Nguyên lý hoạt động FPGA 15 2.1.5 Các loại FPGA 15 2.1.6 Ứng dụng FPGA 16 2.2 TÌM HIỂU VỀ NGƠN NGỮ LẬP TRÌNH PHẦN CỨNG VERILOG 17 2.2.1 Giới thiệu 17 2.2.2 Kiểu liệu .18 2.2.3 Mô tả 20 2.2.4 Cấu trúc chương trình 21 SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử 2.3 Đồ Án Tốt Nghiệp GIỚI THIỆU VỀ XỬ LÝ ẢNH .22 2.3.1 Các khái niệm ảnh .22 2.3.2 Cách phân loại ảnh 23 2.3.3 Khái niệm xử lý ảnh 24 2.3.4 Ứng dụng xử lý ảnh 24 2.3.5 Các giai đoạn xử lý ảnh 25 2.4 TÌM HIỂU VỀ PHƯƠNG PHÁP LỌC BIÊN ẢNH SỐ 27 2.4.1 Giới thiệu chung 27 2.4.2 Một số phương pháp phát biên 29 2.5 GIỚI HIỆU VỀ CƠNG CỤ LẬP TRÌNH VIVADO 31 2.5.1 Tìm hiểu Vivado 31 2.5.2 Cài đặt sử dụng Vivado 32 2.6 GIỚI THIỆU VỀ BOARD VIRTEX-7 FPGA 42 2.6.1 Mô tả sản phẩm 42 2.6.2 Tính 43 2.6.3 Sơ đồ khối 44 Chương THIẾT KẾ VÀ KẾT QUẢ THỰC HIỆN 45 3.1 TOÁN TỬ SOBEL VÀ ỨNG DỤNG VÀO PHÁT HIỆN CẠNH BIÊN 45 3.2 SƠ ĐỒ KHỐI 46 3.3 KẾT QUẢ THỰC HIỆN 46 3.4 KẾT QUẢ THỰC NGHIỆM 46 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI .47 5.1 HƯỚNG PHÁT TRIỂN 47 5.2 KẾT LUẬN 47 PHỤ LỤC 51 TÀI LIỆU THAM KHẢO 56 SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Danh mục viết tắt FPGA VHDL Field-Programmable Gate Array VHSIC-HDL, Very High-Speed Integrated Circuit FMC Hardware Description Language FPGA Mezzanine Card HDL LOG Hardware description language Laplacian of Gaussian SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Danh mục hình ảnh Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình 1: FGPA gì? 11 2: Kiến trúc FPGA .14 3: Cấu trúc chương trình Verilog 21 4: Ví dụ cấu trúc chương trình Verilog 22 5: Xử Lý Ảnh .24 6: Khôi phục ảnh xử lý ảnh 25 7:Một số kiểu đường biên thông dụng 28 8: Sử dụng vùng ảnh để tìm đường biên 28 9: Vivado .31 10:Download vivado 32 11:Cài đặt vivado 33 12:Cài đặt vivado 33 13:Cài đặt vivado 34 14:Cài đặt vivado 35 15:Tạo dự án vivado 35 16:Tạo dự án vivado 36 17:Tạo dự án vivado 36 18:Tạo dự án vivado 37 19:Tạo dự án vivado 38 20:Tạo dự án vivado 38 21:Tạo dự án vivado 39 22:Tạo dự án vivado 40 23:Tạo dự án vivado 40 24:Tạo dự án vivado 41 25:Tạo dự án vivado 41 26:Tạo dự án vivado 42 27: Board Virtex-7 VC707 43 28: Sơ đồ khối 44 SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Chương GIỚI THIỆU 1.1 LÝ DO CHỌN ĐỀ TÀI Xử lý ảnh phân ngành xử lý số tín hiệu với tín hiệu xử lý ảnh Đây phân ngành khoa học phát triển Ngày xử lý ảnh ngày phổ biến phát triển mạnh với nhiều ứng dụng thực tế ngành y học, an ninh, giao thông, hệ thống bảo mật, tự động hóa… Các ứng dụng xử lý ảnh y học máy siêu âm, chụp X-ray Còn an ninh giúp phát chuyển động, cảnh báo xâm phạm Trong giao thơng giúp đo lường tốc độ, cảnh báo ùn tắc… Phát biên ảnh nhiệm vụ quan trọng xử lý ảnh Nhận dạng ảnh dùng máy tính liên quan tới việc nhận dạng phân loại đối tượng ảnh phát biên công cụ quan trọng Phát biên làm giảm cách đáng kể khối lượng liệu cần xử lý loại bỏ thông tin không cần thiết đảm bảo thuộc tính quan trọng cấu trúc ảnh Nhằm thiết kế ứng dụng đạt hiệu cao vấn đề xử lý nhằm đáp ứng tốc độ, thời gian thực yêu cầu quan trọng hầu hết ứng dụng Để đáp ứng yêu cầu FPGA lựa chọn hồn hảo Field-programmable gate array (FPGA) mạch tích hợp dùng cấu trúc mảng phần tử logic mà người dùng lập trình FPGA có tốc độ xử lý nhanh, cung cấp độ trễ thấp hay độ trễ xác định cho ứng dụng thời gian thực xử lý hình ảnh, video cách nhập trực tiếp hình ảnh video vào FPGA, bỏ qua CPU FPGA đáp ứng nhiều chức giúp mang lại hiệu cao lượng FPGA sử dụng phần FPGA cho chức thay tồn chip- điều cho phép FPGA lưu trữ thưc nhiều chức song song SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp FPGA có phần mềm chuyên dụng giúp người dùng nhanh chóng tiếp cận sử dụng 1.2 MỤC TIÊU VÀ NHIỆM VỤ NGHIÊN CỨU Tìm hiểu xử lý ảnh số: cấu trúc ảnh số, lọc ảnh số, ứng dụng phương pháp thuật toán nâng cao chất lượng ảnh số Tìm hiểu cơng nghệ vi mạch khả trình (cách vận hành, ưu nhược điểm, ứng dụng thực tế…) tìm hiểu ngơn ngữ lập trình mơ tả phần cứng Verylog phần mềm lập trình Vivado Nghiên cứu bo mạch phát triển FPGA cách thức nạp/ chạy chương trình bo mạch FPGA Cài đặt thuật tốn lọc biên ảnh số ngôn ngữ mô tả phần cứng mơ thuật tốn lọc biên ảnh số phần mềm vivado Cài đặt thực thi lọc biên ảnh số KIT FPGA 1.3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU Công nghệ FPGA: Ứng dụng, phần mềm phần cứng liên quan Xử lý ảnh: Cấu trúc, thuật toán phương pháp lọc ảnh Ứng dụng xử lý ảnh vào công nghệ FPGA 1.4 PHƯƠNG PHÁP NGHIÊN CỨU Bước 1: Nghiên cứu lý thuyết Bước 2: Phát triển chương trình Bước 3: Thực thi thử nghiệm Bước 4: Đánh giá kết SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử 1.5 Đồ Án Tốt Nghiệp KẾT QUẢ ĐẠT ĐƯỢC Nghiên cứu phát triển chương trình xử lý ảnh tảng FPGA Mô Phỏng phần mềm Vivado Cài đặt thực thi lọc biên ảnh số KIT FPGA ghép nối máy tính để đưa kết 1.6 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN Ý nghĩa khoa học: o Nhằm thiết kế ứng dụng đạt hiệu cao vấn đề xử lý nhằm đáp ứng tốc độ, thời gian thực yêu cầu quan trọng hầu hết ứng dụng o Nên đề tài này, em ứng dụng xử lý ảnh vào FPGA để phục vụ nhu cầu Ý nghĩa thực tiễn: o Tiếp cận nhanh chóng cơng nghệ FPGA làm chủ công nghệ nhận dạng xử lý ảnh o Thiết kế loc hình ảnh FPGA làm nâng cao khả tốc độ xử lý hình ảnh giảm thiểu trình trung gian o Làm giảm cách đáng kể khối lượng liệu cần tính tốn, giữ lại số thơng tin cần thiết đồng thời bảo tồn cấu trúc quan trọng 1.7 NỘI DUNG ĐỒ ÁN Chương 1: Giới thiệu tổng quan đề tài Chương 2: Tìm hiểu lý thuyết FPGA (cách vận hành, ưu nhược điểm, ứng dụng thực tế…) tìm hiểu ngơn ngữ lập trình mơ tả phần cứng Verylog phần mềm lập trình Vivado Tìm hiểu xử lý ảnh (cấu trúc ảnh số, lọc ảnh số, ứng dụng phương pháp thuật toán nâng cao chất lượng ảnh số) SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 10 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Hình 26:Tạo dự án vivado Đến đây, bạn xem cấu trúc RTL mà viết Vivado 2.6 GIỚI THIỆU VỀ BOARD VIRTEX-7 FPGA 2.6.1 Mô tả sản phẩm Bộ công cụ đánh giá Virtex-7 FPGA VC707 tảng nối tiếp tốc độ cao, linh hoạt, đầy đủ tính sử dụng Virtex-7 XC7VX485T-2FFG1761C bao gồm thành phần phần cứng, công cụ thiết kế, IP tài liệu tham khảo xác minh trước thiết kế cho thiết kế hệ thống yêu cầu hiệu suất cao, kết nối nối tiếp giao tiếp nhớ tiên tiến Các thiết kế tham chiếu xác minh trước kèm FPGA (FMC) tiêu chuẩn ngành cho phép mở rộng tùy chỉnh với thẻ SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 41 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Hình 27: Board Virtex-7 VC707 2.6.2 Tính Nền tảng kết nối 40Gb / s cho ứng dụng băng thông cao hiệu suất cao sử dụng Virtex-7 VX485T FPGA Phần cứng, công cụ thiết kế, IP thiết kế tham chiếu xác minh trước Hỗ trợ xử lý nhúng với MicroBlaze, RISC 32bit Cho phép kết nối nối tiếp với cặp PCIe Gen2x8, SFP + SMA, UART, IIC Giao diện nhớ tiên tiến với Bộ nhớ 1GB DDR3 SODIM lên đến 800MHz / 1600Mbps Phát triển ứng dụng mạng với 10-100-1000 Mbps Ethernet (GMII, RGMII SGMII) Mở rộng I / O với giao diện FPGA Mezzanine Card (FMC) SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 42 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp 2.6.3 Sơ đồ khối Hình 28: Sơ đồ khối SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 43 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Chương THIẾT KẾ VÀ KẾT QUẢ THỰC HIỆN 3.1 TOÁN TỬ SOBEL VÀ ỨNG DỤNG VÀO PHÁT HIỆN CẠNH BIÊN Sử dụng hai mặt nạ có kích thước [3 x 3] mặt nạ đơn giản quay mặt nạ góc 90 độ Các mặt nạ thiết kế để tím đường biên theo chiều đứng chiều ngang cách tốt Khi thực phép convolution ảnh mặt nạ ta nhận gradient (sự thay đổi giá trị pixel ảnh) theo chiều đứng chiều ngang Gx, Gy Thuật tốn: o Ta có ảnh gốc A ảnh kết B o Có hai ma trận Gx Gy o Lấy ảnh gốc A nhân với Gx o Lấy ảnh gốc A nhân với Gy SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 44 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp o Lấy kết vừa cộng lại với o Công thức: B = (A*Gx) + (A*Gy) Cách thực hiện: 3.2 SƠ ĐỒ KHỐI 3.3 KẾT QUẢ THỰC HIỆN 3.4 KẾT QUẢ THỰC NGHIỆM SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 45 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Chương 5.1 Đồ Án Tốt Nghiệp KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI HƯỚNG PHÁT TRIỂN Đã hồn thành mục tiêu: o Tìm hiểu hiểu xử lý ảnh: quy trình, cách ứng dụng, … o Trình bày vấn đề vi mạch khả trình như: cấu trúc, tính ưu việt, ứng dụng, … o Mơ chương trình phần mềm vivado o Thực thi kit phát triển FPGA Ngoài kết đạt hệ thống cịn hạn chế: o Hệ thống chưa xử lý cách tối ưu o Chỉ dừng lại lọc biên o Kết nhận diện xử lý ảnh chưa thực cao Đây đề tài tương đối phức tạp, em cố gắng với hạn chế mặt trình độ thời gian thực hiện, em kết thúc đề tài với nghiên cứu mảng nhỏ công nghệ FPGA, số ý tưởng để tiếp tục phát triển ứng dụng: Tiếp tục nghiên cứu phát triển chường trình mặt Mở rộng phạm vi, nâng cao kỹ thuật chương trình … 5.2 KẾT LUẬN Với kiến thức tảng cộng thêm chạy thầy cô trường VKU đặc biệt hướng dẫn nhiệt tình thầy TS Dương Hữu Ái em hồn thành đề tài “NGHIÊN CỨU CÔNG NGHỆ VI MẠCH KHẢ TRÌNH VÀ ỨNG DỤNG THIẾT KẾ BỘ LỌC TRONG XỬ LÝ ẢNH SỬ DỤNG KIT FPGA” phần hiểu rõ ứng dụng cách xử lý ảnh Có thêm hiểu biết cơng nghệ mơ tả phần cứng FPGA Mặc dù hệ thống hoàn thành cịn nhiều thiếu sót hạn chế cách vận hành nhận diện chưa thực xác, tốc độ xử lý chưa thật tối ưu nhất, Nhưng lần mong muốn nhận đóng góp SVTH: Trần Cao Thơng GVHD: TS Dương Hữu Ái Trang 46 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp thầy, cô để thời gian tới cố gắng khắc phục mặt chưa tốt bổ sung thêm chức cho hệ thống SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 47 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Nhận xét giảng viên hướng dẫn ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… …………………………………………………… Đà Nẵng, ngày 15 tháng 12 năm 2021 GVHD TS Dương Hữu Ái SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 48 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Nhận xét giảng viên phản biện ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………… SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 49 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp PHỤ LỤC ImageProcessTop `timescale 1ns / 1ps module imageProcessTop( input axi_clk, input axi_reset_n, //slave interface input i_data_valid, input [7:0] i_data, output o_data_ready, //master interface output o_data_valid, output [7:0] o_data, input i_data_ready, //interrupt output o_intr ); wire [71:0] pixel_data; wire pixel_data_valid; wire axis_prog_full; wire [7:0] convolved_data; wire convolved_data_valid; assign o_data_ready = !axis_prog_full; imageControl IC( i_clk(axi_clk), i_rst(!axi_reset_n), SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 50 Khoa Công Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp i_pixel_data(i_data), i_pixel_data_valid(i_data_valid), o_pixel_data(pixel_data), o_pixel_data_valid(pixel_data_valid), o_intr(o_intr) ); conv conv( i_clk(axi_clk), i_pixel_data(pixel_data), i_pixel_data_valid(pixel_data_valid), o_convolved_data(convolved_data), o_convolved_data_valid(convolved_data_valid) ); outputBuffer OB ( wr_rst_busy(), // output wire wr_rst_busy rd_rst_busy(), // output wire rd_rst_busy s_aclk(axi_clk), // input wire s_aclk s_aresetn(axi_reset_n), // input wire s_aresetn s_axis_tvalid(convolved_data_valid), s_axis_tready(), // input wire s_axis_tvalid // output wire s_axis_tready s_axis_tdata(convolved_data), m_axis_tvalid(o_data_valid), // input wire [7 : 0] s_axis_tdata // output wire m_axis_tvalid m_axis_tready(i_data_ready), // input wire m_axis_tready m_axis_tdata(o_data), // output wire [7 : 0] m_axis_tdata axis_prog_full(axis_prog_full) // output wire axis_prog_full ); Endmodule …………………………………………………………………………………… SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 51 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp Conv `timescale 1ns / 1ps module conv( input i_clk, input [71:0] i_pixel_data, input i_pixel_data_valid, output reg [7:0] o_convolved_data, output reg o_convolved_data_valid ); integer i; reg [7:0] kernel1 [8:0]; reg [7:0] kernel2 [8:0]; reg [10:0] multData1[8:0]; reg [10:0] multData2[8:0]; reg [10:0] sumDataInt1; reg [10:0] sumDataInt2; reg [10:0] sumData1; reg [10:0] sumData2; reg multDataValid; reg sumDataValid; reg convolved_data_valid; reg [20:0] convolved_data_int1; reg [20:0] convolved_data_int2; wire [21:0] convolved_data_int; reg convolved_data_int_valid; initial begin kernel1[0] = 1; kernel1[1] = 0; SVTH: Trần Cao Thông GVHD: TS Dương Hữu Ái Trang 52 Khoa Cơng Nghệ Kỹ Thuật Máy Tính Điện tử Đồ Án Tốt Nghiệp kernel1[2] = -1; kernel1[3] = 2; kernel1[4] = 0; kernel1[5] = -2; kernel1[6] = 1; kernel1[7] = 0; kernel1[8] = -1; kernel2[0] = 1; kernel2[1] = 2; kernel2[2] = 1; kernel2[3] = 0; kernel2[4] = 0; kernel2[5] = 0; kernel2[6] = -1; kernel2[7] = -2; kernel2[8] = -1; end always @(posedge i_clk) begin for(i=0;i