Nghiên cứu công nghệ FPGA và phát triển ứng dụng trên hệ thống CIC 310

61 9 0
Nghiên cứu công nghệ FPGA và phát triển ứng dụng trên hệ thống CIC 310

Đ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 LÂM NGHIỆP VIỆT NAM KHOA CƠ ĐIỆN & CƠNG TRÌNH BỘ MƠN KỸ THUẬT ĐIỆN VÀ TỰ ĐỘNG HÓA KHÓA LUẬN TỐT NGHIỆP TÊN ĐỀ TÀI: Nghiên cứu công nghệ FPGA phát triển ứng dụng hệ thống CIC-310 Giảng viên hướng dẫn : ThS Lê Minh Đức Sinh viên thực : Nguyễn Văn Sáng Lớp : K58-CĐT Khóa : K58 Hà Nội, 2017 TRƢỜNG ĐẠI HỌC LÂM NGHIỆP VIỆT NAM KHOA CƠ ĐIỆN VÀ CƠNG TRÌNH BỘ MƠN KỸ THUẬT ĐIỆN VÀ TỰ ĐỘNG HÓA KHÓA LUẬN TỐT NGHIỆP Tên đề tài: Nghiên cứu công nghệ FPGA phát triển ứng dụng hệ thống CIC-310 Giảng viên hƣớng dẫn : ThS.Lê Minh Đức Sinh viên thực : Nguyễn Văn Sáng Mã sinh viên : 1351082130 Lớp : K58_CĐT Khóa : 2013-2017 Hà Nội - 2017 LỜI NÓI ĐẦU Ngày với phát triển mạnh mẽ cơng nghệ, thuật tốn ngày đƣợc đổi tối ƣu hoá nhằm nâng cao tính hiệu Tuy nhiên, cơng nghệ phát triển cao địi hỏi phần cứng phải đủ nhanh để xử lý Các mạch lọc tƣơng tự trƣớc khơng cịn đủ khả để đáp ứng u cầu Vì vậy, FPGA đời nhƣ giải pháp cung cấp môi trƣờng làm việc hiệu cho ứng dụng thực tế Tính linh động cao trình thiết kế cho phép FPGA giải toán phức tạp mà trƣớc thực nhờ phần mềm máy tính Ngồi ra, nhờ mật độ cổng logic cao, FPGA đƣợc ứng dụng cho tốn địi hỏi khối lƣợng tính toán lớn dùng hệ thống làm việc theo thời gian thực Những ứng dụng thực tế FPGA rộng rãi, bao gồm: hệ thống hàng khơng, vũ trụ, quốc phịng, Đặc biệt, với khả tái lập trình, ngƣời sử dụng thay đổi lại thiết kế vài Nhờ đặc điểm mạnh mẽ ứng dụng thực tiễn FPGA em chọn đề tài: “Nghiên cứu công nghệ FPGA phát triển ứng dụng hệ thống CIC310” Đề tài nghiên cứu khóa luận bao gồm nội dung nhƣ sau: Chƣơng 1: Tổng quan FPGA Chương 2: Hệ thống phát triển CIC-310 mơi trường lập trình MAX + PLUS II Chương 3: Thiết kế số mạch logic sử dụng hệ thống phát triển CIC-310 Mặc dù em nỗ lực cố gắng để hồn thiện khóa luận cách tốt nhất, nhƣng thời gian có hạn kiến thức cịn hạn chế nên em khơng thể tránh khỏi sai sót việc xây dựng hệ thống trình bày khóa luận Em mong nhận đƣợc ý kiến đóng góp thầy, bạn Em xin chân thành cảm ơn thầy cô trƣờng Đại học Lâm nghiệp Quốc gia Việt Nam dạy bảo em suốt trình em học tập, rèn luyện trƣờng, đặc biệt thầy Lê Minh Đức thành viên tập thể lớp K58-CĐT giúp em hồn thành tốt khóa luận Hà Nội, ngày … tháng … năm 2017 Sinh viên thực đề tài Nguyễn Văn Sáng MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC CÁC BẢNG BIỂU DANH MỤC CÁC HÌNH VẼ CHƢƠNG 1: TỔNG QUAN VỀ FPGA VÀ NGÔN NGỮ VHDL 1.1 FPGA gì? 1.2 Lịch sử đời FPGA 1.3 Cơ lập trình FPGA 1.4 Ngôn ngữ VHDL 1.4.1 Giới thiệu VHDL 1.4.2 Ƣu điểm VHDL 1.4.3 Cấu trúc ngôn ngữ VHDL 10 1.4.4 Cấu trúc mơ hình hệ thống mơ tả VHDL 10 1.4.5 Cấu trúc chung chƣơng trình mơ tả VHDL 13 CHƢƠNG 2: HỆ THỐNG PHÁT TRIỂN CIC-310 VÀ FPGA 16 2.1 Hệ thống phát triển CIC 310 16 2.1.1 Bảng phát triển SN-PLDE2 16 2.1.2 Bảng thí nghiệm SN-PLDE3A 18 2.2 Giới thiệu phần mềm MAX + PLUS II 27 2.2.1 Cài đặt 27 2.2.2 Kết nối máy tính với hệ thống CIC-310 29 2.3 Các thao tác sử dụng MAX+Plus II 29 2.3.1 Cấu trúc MAX+Plus II 29 Hình 2.13: Mơi trƣờng thiết kế Max+ Plus II 29 2.3.2 Trình tự thiết kế mạch 30 2.3.3 Thiết kế đề án với Graphic Editor (Bộ soạn thảo đồ hoạ) 31 2.3.4 Biên soạn thiết kế 32 2.4 Ví dụ minh họa thiết kế mạch 34 2.4.1 Ví dụ file vẽ *gdf 34 2.4.2 Ví dụ file lập trình *tdf 35 2.4.3 Ví dụ file mô 36 CHƢƠNG 3: THIẾT KẾ THỬ NGHIỆM MỘT SỐ MẠCH LOGIC SỬ DỤNG HỆ THỐNG PHÁT TRIỂN CIC-310 37 3.1 Thiết kế mạch logic tổ hợp 37 3.2 Thiết kế mạch logic 46 KẾT LUẬN DANH MỤC TÀI LIỆU THAM KHẢO DANH MỤC CÁC TỪ VIẾT TẮT CPLD Complex Programmable Logic Device Thiết bị lập trình logic bù DSP Digital Signal Processing Xử lí tín hiệu số FF Flip-Flop Phần tử nhớ FPGA Field-Programmable Gate Array JTAG Joint Test Adivisory Group Chuẩn giao tiếp LED Light Emitting Diode Diode phát sáng LUT Look up table Bảng ánh xạ MAC Multication and accumulation Bộ nhân cộng RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên ROM Read-Only Memory Bộ nhớ đọc SPLD Simple Programable Devices Lập trình thiết bị đơn giản SRAM Stactic Random Access Memory Bộ nhớ truy cập ngẫu nhiên tĩnh Very High Speed Intergrated Circuit Ngôn ngữ mô tả phần cứng cho Hardware Description Language mạch tích hợp tốc độ cao Very High Speed Intergrated Circuit Mạch tích hợp tốc độ cao VHDL VHSIC Ma trận cổng lập trình đƣợc theo trƣờng DANH MỤC CÁC BẢNG BIỂU Bảng 2.1: Sơ đồ công tắc đầu vào Logic 19 Bảng 2.2: Sơ đồ chân cắm hiển thị LED Logic 20 Bảng 2.3: Sơ đồ chân cắm hiển thị phân đoạn chữ số 21 Bảng 2.4: Sơ đồ bố trí chân máy phát điện xung 23 Bảng 2.5: Sơ đồ bàn phím ma trận 24 Bảng 2.6: Sơ đồ chân cắm hiển thị 16 phân đoạn 25 Bảng 2.7: Sơ đồ chân cắm điểm chấm 5x7 26 Bảng 2.8: Sơ đồ chân cắm LCD 2021 27 DANH MỤC CÁC HÌNH VẼ Hình 1.1: Cấu trúc tổng thể FPGA Hình 1.2: Khối logic FPGA Hình 1.3: Lƣu đồ thiết kế FPGA Hình 1.4: Khai báo thực thể cổng NAND 11 Hình 1.5: Mơ tả kiến trúc cổng NAND theo mơ hình hoạt động 12 Hình 1.6: Mơ tả kiến trúc RS theo mơ hình cấu trúc 12 Hình 1.7: Minh họa môi trƣờng kiểm tra ảo VHDL 13 Hình 1.8: Cấu trúc mơ tả phần cứng đối tƣợng VHDL 13 Hình 1.9: D-FF với tín hiệu khơng đồng rst .15 Hình 2.1: Hệ thống phát triển CPLD/FPGA .16 Hình 2.2: Bảng mạch phát triển mạch SN-PLDE2 17 Hình 2.3: Bảng thí nghiệm SN-PLDE3A 18 Hình 2.4: Bộ chuyển mạch Logic S1-S3 19 Hình 2.5: Hiển thị LED Logic 20 Hình 2.6: Phân định chân cắm hiển thị phân đoạn 20 Hình 2.7: Mã vận hành hiển thị phân đoạn chữ số 22 Hình 2.8: Hiển thị 16 phân đoạn .24 Hình 2.9: Ổ cắm hiển thị 16 phân đoạn 25 Hình 2.10: Phân định chân cắm LED điểm chấm 5x7 26 Hình 2.11: Ổ cắm LED điểm chấm 5x7 JP22 chọn lọc điểm chấm JP24 26 Hình 2.12: Bộ kết nối LCD2021 .27 Hình 2.13: Mơi trƣờng thiết kế Max+ Plus II 29 Hình 2.14: Cấu trúc MAX+plus II 30 Hình 2.15: Bộ giải mã tuyến tính đến (decode24.gdf) 34 Hình 2.16: Bộ đếm nối tiếp đồng 8-bit (pcnt8t.tdf) .35 Hình 2.17 Ví dụ trạng thái đèn sáng đếm nối tiếp 8-bit 36 Hình 3.1: Chọn máy 37 Hình 3.2: Chọn thơng số máy 38 Hình 3.3: Chọn thông số máy 38 Hình 3.4: Bộ giải mã tuyến tính đến (decode24.gdf) 39 Hình 3.5: Gán cổng vào/ra cho chip điều khiển 40 Hình 3.6: Bit 0000 đèn sáng 40 Hình 3.7: Bit 0001 đèn sáng 40 Hình 3.8: Bit 0010 đèn tắt 41 Hình 3.9: Bit 0011 đèn tắt 41 Hình 3.10: Bit 1000 đèn tắt .41 Hình 3.11: Bit 1010 đèn tắt .41 Hình 3.12: Bit 1001 đèn tắt .42 Hình 3.13: Bit 1011 đèn sáng 42 Hình 3.14: Bit 0100 đèn tắt .42 Hình 3.15: Bit 0110 đèn sáng 42 Hình 3.16: Bit 0101 đèn sáng 43 Hình 3.17: Bit 0111 đèn sáng 43 Hình 3.18: Bit 1100 đèn tắt .43 Hình 3.19: Bit 1110 đèn sáng 43 Hình 3.20: Bit 1101 đèn sáng 44 Hình 3.21: Bit 1111 đèn tắt .44 Hình 3.22: Bộ cộng đủ 8-bit (8add.gdf) 44 Hình 3.23: Gán cổng vào/ra cho chip điều khiển .45 Hình 3.24: Mạch cộng 69+96=165 45 Hình 3.26: Mạch Flip-Flop D cạnh lật kích (df.gdf) .46 Hình 3.27: Gán cổng vào/ra cho chip điều khiển .46 Hình 3.28: Mạch hoạt động chƣa đƣợc tác động xung kích .47 Hình 3.29: Mạch lật trạng thái có xung kích vào 47 Hình 3.30: Mạch đƣợc giữ nguyên trạng thái trƣớc 48 Hình 3.31: Mạch lật trạng thái có xung kích vào 48 Hình 3.32: Bộ đếm nối tiếp đồng 8-bit (pcnt8t.tdf) .49 Hình 3.33: Gán cổng vào/ra cho chip điều khiển .49 Hình 3.34: Ví dụ trạng thái đèn sáng đếm nối tiếp 8-bit 50 CHƢƠNG TỔNG QUAN VỀ FPGA VÀ NGÔN NGỮ VHDL 1.1 FPGA gì? FPGA (Field-Programmable Gate Array – Ma trận cổng lập trình theo trường) vi mạch dùng cấu trúc mảng phần tử logic mà ngƣời dùng lập trình đƣợc (Chữ field muốn đến khả tái lập trình “bên ngồi” ngƣời sử dụng, không phụ thuộc vào dây chuyền sản xuất phức tạp nhà máy bán dẫn) Vi mạch FPGA đƣợc cấu thành từ phận: - Các khối logic lập trình đƣợc (logic block) - Hệ thống mạch liên kết lập trình đƣợc - Khối vào/ra (I/O Pads) - Phần tử thiết kế sẵn khác nhƣ DSP slice, RAM, ROM, nhân vi xử lý Hình 1.1: Cấu trúc tổng thể FPGA Cấu trúc FPGA đơn giản gồm khối logic (logic blocks) cách nhau, đƣợc cấu thành từ LUT (Look up table) phần tử nhớ đồng FF, liên kết nhờ đƣờng kết nối thay đổi đƣợc theo yêu cầu ngƣời thiết kế LUT khối logic thực hàm logic từ đầu vào, kết hàm tùy vào mục đích mà gửi ngồi khối logic trực tiếp hay thông qua phần tử nhớ FF Tiếp tục vào Assign => Global Project Device Option, chọn theo hình 3.2 nhấn OK Hình 3.2: Chọn thơng số máy Tiếp tục vào Assign => Global Project Logic Synthesis, chọn theo hình3.3 nhấn OK Hình 3.3: Chọn thông số máy Bƣớc 7: Kiểm tra xem khối tạo cách trỏ chuột vào File => Project => Save & Check 38 Một hộp thoại báo lƣu kiểm tra thành cơng khơng có lỗi cảnh báo nào, nhấn OK để tiếp tục Nhấn Start, hộp thoại báo biên dịch thành cơng, khơng có lỗi cảnh báo nào, nhấn OK để tiếp tục Bƣớc 8: Trỏ chuột trái tới MAX+plus II chọn Floorplan Editor để chọn cổng vào cho chân chip điều khiển Tiếp theo gán cổng vào/ra theo chân chip tƣơng ứng Bƣớc 9: Kiểm tra cổng kết nối trỏ chuột trái vào File => Save & Compile Một hộp thoại báo lƣu kiểm tra thành công khơng có lỗi cảnh báo nào, nhấn OK để tiếp tục Kết sau lấy khối nối với nhau: Hình 3.4: Bộ giải mã tuyến tính đến (decode24.gdf) 39 Kết gán cổng vào/ra theo chân chip tƣơng ứng: Hình 3.5: Gán cổng vào/ra cho chip điều khiển Hồn thành q trình thiết kế giải mã tuyến tính đến máy tính Bƣớc 10: Kết nối máy tính với hệ thống phát triển CIC chạy ta thu đƣợc kết Kết cho mạch giải mã tuyến tính đến sử dụng hệ thống phát triển CIC-310: Hình 3.6: Bit 0000 đèn sáng Hình 3.7: Bit 0001 đèn sáng 40 Hình 3.8: Bit 0010 đèn tắt Hình 3.9: Bit 0011 đèn tắt Hình 3.10: Bit 1000 đèn tắt Hình 3.11: Bit 1010 đèn tắt 41 Hình 3.12: Bit 1001 đèn tắt Hình 3.13: Bit 1011 đèn sáng Hình 3.14: Bit 0100 đèn tắt Hình 3.15: Bit 0110 đèn sáng 42 Hình 3.16: Bit 0101 đèn sáng Hình 3.17: Bit 0111 đèn sáng Hình 3.18: Bit 1100 đèn tắt Hình 3.19: Bit 1110 đèn sáng 43 Hình 3.20: Bit 1101 đèn sáng Hình 3.21: Bit 1111 đèn tắt b) Bộ cộng đủ 8-bit (gadsb8) Các bƣớc thực thiết kế mạch tƣơng tự nhƣ bƣớc đến bƣớc phần a) Kết sau lấy khối ghép nối với nhau: Hình 3.22: Bộ cộng đủ 8-bit (8add.gdf) Kết sau gán cổng vào/ra theo chân chip tƣơng ứng: 44 Hình 3.23: Gán cổng vào/ra cho chip điều khiển Hồn thành q trình thiết kế Bộ cộng đủ 8-bit máy tính Bƣớc 10: Kết nối máy tính với hệ thống phát triển CIC chạy ta thu đƣợc kết Kết cho cộng đủ 8-bit sử dụng hệ thống phát triển CIC-310: Hình 3.24: Mạch cộng 69+96=165 Khi ta cộng số 69 96 X= X7X6X5X4X3X2X1X0 =01000101 45 Y= Y7Y6Y5Y4Y3Y2Y1Y0 =01100000 S= S0S1S2S3S4S5S6S7 =10100101 Đổi hệ thập phân 165 với lý thuyết 3.2 Thiết kế mạch logic a) Mạch Flip-Flop D cạnh lật kích (df) Các bƣớc thiết kế mạch Flip-Flop D cạnh lật kích tƣơng tự bƣớc từ bƣớc đến bƣớc thiết kế mạch giải mã tuyến tính đến Kết sau ghép nối chân lại với nhau: Hình 3.26: Mạch Flip-Flop D cạnh lật kích (df.gdf) Kết sau gán cổng vào/ra theo chân chip tƣơng ứng: Hình 3.27: Gán cổng vào/ra cho chip điều khiển Hồn thành q trình thiết kế mạch Flip-Flop D cạnh lật kích máy tính Bƣớc 10: Kết nối máy tính với hệ thống phát triển CIC chạy ta thu đƣợc kết 46 Kết cho mạch Flip-Flop D cạnh lật kích sử dụng hệ thống phát triển CIC-310: Các kết đầu vào: d=P01=S1-1, c=P84=SWP4 Các kết đầu ra: r=P55=D17, s=P56=D18, q=P57=D19, nq=P58=D20 Khi đầu vào d=0, c=0 r=s=1, q=1, nq=0 Hình 3.28: Mạch hoạt động chƣa đƣợc tác động xung kích Sau bấm SWP4 tức d=0, c=1 n=0, nq=1, mạch lật trạng thái n nq Hình 3.29: Mạch lật trạng thái có xung kích vào 47 Khi d=1, c=0 q=0, nq=1 mạch giữ nguyên trạng thái n nq Hình 3.30: Mạch đƣợc giữ nguyên trạng thái trƣớc Sau bấm SWP4 tức d=0, c=1 n=0, nq=1, mạch lật trạng thái n nq Hình 3.31: Mạch lật trạng thái có xung kích vào b) Bộ đếm nối tiếp đồng Các bƣớc thiết kế mạch Flip-Flop D cạnh lật kích tƣơng tự bƣớc từ bƣớc đến bƣớc thiết kế mạch giải mã tuyến tính đến 48 Nhập code cho cộng/trừ 8-bit: Hình 3.32: Bộ đếm nối tiếp đồng 8-bit (pcnt8t.tdf) Kết sau gán cổng vào/ra theo chân chip tƣơng ứng: Hình 3.33: Gán cổng vào/ra cho chip điều khiển Hoàn thành trình thiết kế Bộ đếm nối tiếp đồng máy tính Bƣớc 10: Kết nối máy tính với hệ thống phát triển CIC-310 chạy ta thu đƣợc kết cho đếm nối tiếp đồng bộ: 49 Hình 3.34: Ví dụ trạng thái đèn sáng đếm nối tiếp 8-bit Nhận xét: Từ kết sau thực mô thấy đƣợc kết thực nghiệm với lí thuyết 50 KẾT LUẬN Sau trình nghiên cứu học hỏi, đƣợc giúp đỡ tận tình thầy khoa Cơ Điện & Cơng Trình nói chung, Thạc sĩ – giảng viên Lê Minh Đức nói riêng việc thực khóa luận em sau kết em đạt đƣợc q trình làm khóa luận:  Tìm hiểu ngơn ngữ mơ tả phần cứng VHDL công nghệ FPGA thiết kế mạch logic  Cài đặt, sử dụng phần mềm Max+ Plus II để thiết kế mạch logic  Quy trình ghép nối với hệ thống phát triển CIC-310 (kết nối phần cứng) Hƣớng phát triển:  Sử dụng Max+ Plus II mô mạch logic trƣớc chế tạo  Xây dựng số hệ thống hoàn chỉnh cụ thể  Thiết kế số mạch logic Max+ Plus II: Thiết kế mạch giải mã tuyến tính đến 4; thiết kế cộng/trừ 8-bit; thiết kế mạch Flip-Flop D cạnh lật kích; thiết kế đếm nối tiếp đồng DANH MỤC TÀI LIỆU THAM KHẢO Nguyễn Kim Giao (2006), Kỹ thuật điện tử số, NXB Đại học Quốc gia Hà Nội ThS.Trần Thị Thúy Hà (2006), Điện tử số, Học viện cơng nghệ Bƣu viễn thông, tài liệu lƣu hành nội Học viện kỹ thuật quân sự, Thiết kế Logic số (2011), tài liệu lƣu hành nội Hƣớng dẫn sử dụng phần mềm Max+ Plus II Hƣớng dẫn sử dụng hệ thống phát triển CIC-310 Lý Thanh Thuận (2000), Sổ tay lập trình VHDL, Tài liệu mạng Nguyễn Thúy Vân (2004), Kỹ thuật số, NXB Khoa học kỹ thuật ... trình, ngƣời sử dụng thay đổi lại thiết kế vài Nhờ đặc điểm mạnh mẽ ứng dụng thực tiễn FPGA em chọn đề tài: ? ?Nghiên cứu công nghệ FPGA phát triển ứng dụng hệ thống CIC3 10” Đề tài nghiên cứu khóa luận... END behavior; 20 - 15 CHƢƠNG HỆ THỐNG PHÁT TRIỂN CIC- 310 VÀ FPGA 2.1 Hệ thống phát triển CIC 310 Hệ thống phát triển CIC- 310 CPLD /FPGA đƣợc trình bày nhƣ hình 2.1 thiết bị độc... hệ thống mơ tả VHDL 10 1.4.5 Cấu trúc chung chƣơng trình mơ tả VHDL 13 CHƢƠNG 2: HỆ THỐNG PHÁT TRIỂN CIC- 310 VÀ FPGA 16 2.1 Hệ thống phát triển CIC 310 16 2.1.1 Bảng phát

Ngày đăng: 22/06/2021, 09:39

Từ khóa liên quan

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

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

Tài liệu liên quan