Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
233,92 KB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Hiếu NGHIÊN CỨU, THIẾT KẾ VI XỬ LÝ BÍT DỰA TRÊN CÔNG NGHỆ FPGA LUẬN VĂN THẠC SĨ Hà Nội - 2008 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Hiếu NGHIÊN CỨU, THIẾT KẾ VI XỬ LÝ BÍT DỰA TRÊN CÔNG NGHỆ FPGA Ngành: Công nghệ Điện tử - Viễn thông Chuyên ngành: Kĩ thuật Điện tử Mã số: 60 52 70 LUẬN VĂN THẠC SĨ Người hướng dẫn khoa học: PSG.TS Trần Quang Vinh Hà Nội - 2008 Lời cảm ơn Để hoàn thành tốt luận văn này, xin bày tỏ biết ơn tới PGS.TS Trần Quang Vinh hướng dẫn, bảo tận tình dành thời gian quý báu giúp đỡ hoàn thành luận văn Xin gửi lời cảm ơn tới cán phòng thí nghiệm SIS giúp đỡ cho kinh nghiệm quý báu làm thực nhiệm Tôi xin gửi lời cảm ơn tới gia đình, quan bạn bè bên tôi, hỗ trợ, giúp đỡ suốt trình học tập trình làm luận văn MỤC LỤC DANH MỤC BẢNG DANH MỤC HÌNH VẼ LỜI NÓI ĐẦU CHƢƠNG TỔNG QUAN VỀ FPGA 10 1.1 Giới thiệu chung 10 1.2 Tổng quan thiết bị logic khả trình – PLD 10 1.3 Thiết bị logic khả trình đơn giản – Simple PLD Error! Bookmark not defined 1.4 Thiết bị logic khả trình phức tạp – Complex PLD Error! Bookmark not defined 1.5 FPGA – Field Programmable Gate Arrays Error! Bookmark not defined CHƢƠNG THIẾT KẾ TẬP LỆNH ERROR! BOOKMARK NOT DEFINED 2.1 Mô tả chung tập lệnh Error! Bookmark not defined 2.2 Thiết kế chi tiết tập lệnh Error! Bookmark not defined CHƢƠNG THIẾT KẾ KIẾN TRÚC VI XỬ LÍ ERROR! BOOKMARK NOT DEFINED 3.1 Giới thiệu Error! Bookmark not defined 3.2 Thiết kế datapath điều khiển cho RICS Error! Bookmark not defined 3.4 Xây dựng module điều khiển Error! Bookmark not defined 3.5 Tổ chức nhớ Error! Bookmark not defined CHƢƠNG 4: THIẾT KẾ TESTBENCH VÀ PHƢƠNG PHÁP MÔ PHỎNG TRÊN MODELSIM ERROR! BOOKMARK NOT DEFINED 4.1 Giới thiệu Error! Bookmark not defined 4.2 Thiết kế hệ mô Error! Bookmark not defined 4.3 Mô để kiểm tra thiết kế Error! Bookmark not defined CHƢƠNG 5: THIẾT KẾ CHI TIẾT CHỨC NĂNG CỦA VI ĐIỀU KHIỂN VÀ MÔ PHỎNG TRÊN MODELSIM ERROR! BOOKMARK NOT DEFINED 5.1 Giới thiệu chung Error! Bookmark not defined 5.2 Thiết kế mô chức module vi xử lý Error! Bookmark not defined 5.3 Thiết kế mô hệ thống tự động Error! Bookmark not defined 5.4 Mô vi điều khiển thực đoạn chương trình đơn giản, kiểm tra chức module vi điều khiển Error! Bookmark not defined CHƢƠNG TRIỂN KHAI TRÊN KÍT DE2 VÀ MỘT ỨNG DỤNG ĐƠN GIẢN ERROR! BOOKMARK NOT DEFINED 6.1 Tổng quan Kit DE2 Error! Bookmark not defined 6.2 Triển khai chạy thử kít DE2 Error! Bookmark not defined 6.3 Một ứng dụng nhỏ sử dụng vi điều khiển bít Error! Bookmark not defined KẾT LUẬN ERROR! BOOKMARK NOT DEFINED TÀI LIỆU THAM KHẢO 11 Phụ lục 1: Các chương trình test bench dùng để mô kiểm tra chức vi điều khiển Error! Bookmark not defined Phụ lục Mã nguồn Verilog nhân vi điều khiển Error! Bookmark not defined DANH MỤC BẢNG Bảng - 1: Tóm tắt thiết bị PLD Error! Bookmark not defined Bảng - Altera CPLD Error! Bookmark not defined Bảng - Xilinx CPLD Error! Bookmark not defined Bảng 2- 1: Các lệnh hướng byte vi điều khiển Error! Bookmark not defined Bảng 2- 2: Các lệnh hướng bít vi điều khiển Error! Bookmark not defined Bảng 2- 3: Các lệnh rẽ nhánh vi điều khiển Error! Bookmark not defined Bảng - 1: Các ghi chức đặc biệt Error! Bookmark not defined Bảng - 2: Thanh ghi trạng thái vi điều khiển Error! Bookmark not defined Bảng - 1: Lối vào điều khiển ALU Error! Bookmark not defined Bảng - 2: Mã nguồn chương trình mô Error! Bookmark not defined Bảng - 3: Các testbench dùng để mô kiểm tra chức vi điều khiển Error! Bookmark not defined DANH MỤC HÌNH VẼ Hình - Cấu trúc thiết bị PAL Error! Bookmark not defined Hình - Cấu trúc thiết bị PLA Error! Bookmark not defined Hình - 3: Cấu trúc chip GAL 16V8 Error! Bookmark not defined Hình - 4: Cấu trúc chung CPLD Error! Bookmark not defined Hình - Cấu trúc CPLD XC9500 Xilinx Error! Bookmark not defined Hình - 6: Cấu trúc chung FPGA Error! Bookmark not defined Hình - 7: Cấu trúc CLB FPGA họ XC40000E Error! Bookmark not defined Hình - 8: Cấu trúc Logic Cell Spartan-IIE Error! Bookmark not defined Hình - Cấu trúc IOB Spartan-IIE Error! Bookmark not defined Hình - 10: Liên kết chuyển mạch Error! Bookmark not defined Hình - 11 Mạng liên kết CLB Error! Bookmark not defined Hình - 12 Các kết nối trực tiếp khối FPGA Error! Bookmark not defined Hình - 13 FPGA Spartan IIE Xilinx Error! Bookmark not defined Hình 2- 1: Định dạng lệnh hướng byte Error! Bookmark not defined Hình 2- Định dạng lệnh hướng bít Error! Bookmark not defined Hình 2- 3: Định dạng lệnh rẽ nhánh Error! Bookmark not defined Hình 2- 4: Định dạng lệnh goto Error! Bookmark not defined Hình 3- 1: Một datapath đơn giản mô đun điều khiển tương ứng Error! Bookmark not defined Hình 3- 2: Tổng quan kiến trúc vi điều khiển Error! Bookmark not defined Hình 3- 3: Mô hình điều khiển datapath Error! Bookmark not defined Hình 3- 4: Bộ nhớ chương trình, PC module tính PC+1 kết nối với tạo thành datapath đơn giản Error! Bookmark not defined Hình 3- 5: Tệp ghi (register file) Error! Bookmark not defined Hình 3- 6: Bộ logic số học ALU Error! Bookmark not defined Hình 3- 7: Kết nối logic số học với register file Error! Bookmark not defined Hình 3- 8: Datapath đơn giản sau kết nối thành phần vi điều khiển với Error! Bookmark not defined Hình 3- 9: Datapath vi điều khiển sau thêm vào ghi pipeline để thực kĩ thuật xử lý đường ống Error! Bookmark not defined Hình 3- 10: Trạng thái datapath thực pha đầu tiên, tìm nạp lệnh Error! Bookmark not defined Hình 3- 11: Trạng thái datapath thực bước giải mã lệnh đọc liệu từ register file Error! Bookmark not defined Hình 3- 12: Trạng thái datapath thực bước thực thi lệnh Error! Bookmark not defined Hình 3- 13: Datapath sau thêm khối điều khiển Error! Bookmark not defined Hình 3- 14: Tổ chức nhớ chương trình vi điều khiển Error! Bookmark not defined Hình 3- 15: Tiến trình thực lệnh GOTO Error! Bookmark not defined Hình 3- 16: Tiến trình thực lệnh CALL Error! Bookmark not defined Hình 3- 17: Tổ chức nhớ liệu, bao gồm ghi chức đặc biệt ghi chức chung Error! Bookmark not defined Hình 3- 18: Sơ đồ kiến trúc vi xử lý Error! Bookmark not defined Hình - Môi trường đồng mô đồng Error! Bookmark not defined Hình - Môi trường đồng mô không đồng Error! Bookmark not defined Hình - 1: Bộ lô gic số học ALU Error! Bookmark not defined Hình - MUX lựa chọn lối vào cho S1 ALU Error! Bookmark not defined Hình - 3: Bộ nhớ RAM single port dùng làm nhớ chương trình Error! Bookmark not defined Hình - 4: Sơ đồ khối nhớ chương trình Error! Bookmark not defined Hình - 5: Sơ đồ khối chia tần số Error! Bookmark not defined Hình - 6: Sơ đồ khối nhớ chương trình Error! Bookmark not defined Hình - 7: IP core dùng để làm nhớ chương trình Error! Bookmark not defined Hình - 8: Sơ đồ bên register file Error! Bookmark not defined Hình - 9: Bộ nhớ Stack Error! Bookmark not defined Hình - 10: Kết mô PC nhớ chương trình vi điều khiển Error! Bookmark not defined Hình - 11: Kết mô khối ALU Error! Bookmark not defined Hình - 12: Kết mô register file Error! Bookmark not defined Hình - Sơ đồ thành phần kít phát triển DE2 Error! Bookmark not defined Hình - 2: Lưu đồ thuật toán thực chạy chữ LCD Error! Bookmark not defined LỜI NÓI ĐẦU Với xu hướng phát triển nhanh vi xử lý yêu cầu ngày cao người dùng, việc phát triển một vi xử lý với tốc độ tính toán thật mạnh yêu cầu khẩn thiết nhà phát triển công nghệ Việc thiết kế vi xử lý có khả tính toán cao không vấn đề mẻ giới, với Việt Nam đòi hỏi phải vượt qua khó khăn định Trong luận văn tác giả tham vọng thiết kế vi xử lý có khả tính toán cao mà chủ yếu tập trung vào phân tích kiến trúc thiết kế vi xử lý đơn giản Mục đích tác giả nắm kiến trúc, quy trình thiết kế, triển khai kiểm định vi xử lý Trên sở tác giả mở rộng, cải tiến vài mô đun, chức vi xử lý để nâng cao dần hiệu suất tính toán vi xử lý Kết luận văn tiền đề để tác giả phát triển vi xử lý có tốc độ xử lý cao Luận văn bắt đầu với việc tìm hiểu xu hướng loại thiệt bị lôgic lập trình nay, tìm hiểu, thiết kế tập lệnh, datapath điều khiển cho vi xử lý bít đơn giản dựa kiến trúc RISC với 33 lệnh tập lệnh, tiến hành triển khai ngôn ngữ Verilog mô kiểm tra chức vi xử lý phần mềm ModelSim Mục đích phần đầu hiểu quy trình thiết kế xây dựng môi trường phát triển Sau tác giả cải tiến dần vi xử lý để có khả tính toán tốt hơn, áp dụng kĩ thuật đường ống pipeline, nâng độ sâu nhớ stack, mở rộng không gian nhớ nhớ chương trình nhớ liệu dùng kĩ thuật banking Cuối thực tổng hợp thiết kế kít FPGA DE2 Altera chạy thử chương trình nhỏ Phần cuối tác giả trình bày ứng dụng nhỏ sử dụng vi điều khiển vừa thiết kế Kết cho thấy, vi điều khiển thực chức Chƣơng TỔNG QUAN VỀ FPGA 1.1 Giới thiệu chung Ngày việc sử dụng hệ FPGA đề tài quan tâm giới, lý sau: - Do phát triển nhanh công nghệ bán dẫn, giá thành chip FPGA ngày rẻ - Việc sử dụng chip FPGA để phát triển sản phẩm rút ngắn nhiều thời gian thiết kế thời gian đưa sản phẩn thị trường so với số phương pháp thiết kế truyền thống ASIC - Sử dụng công nghệ FPGA để verification thiết kế ASIC rút ngắn nhiều thời gian simulation giảm nhiều giá thành công sức thiết kế Dưới trình bày sơ lược thiết bị logic khả trình quy trình thiết kế dựa công nghệ FPGA, tác giả tập trung vào giới thiệu quy trình thiết kế dựa công nghệ FPGA tác giả sử dụng chip FPGA Altera để thử Prototype thiết kế tác giả Phần chương giới thiệu thiết bị PLD: khái niệm PLD, trình phát triển thiết bị PLD, cấu trúc vài loại thiết bị PLD FPGA, công nghệ chế tạo tính ứng dụng 1.2 Tổng quan thiết bị logic khả trình – PLD Field Programmable Device (FPD) – Một thuật ngữ chung để loại mạch tích hợp sử dụng để thực thi phần cứng số, mà chip cấu hình lại người dùng cuối nhằm thu thiết kế Người dùng cấu hình lại cho thiết bị nơi thiết bị sử dụng mà không cần đem thiết bị cho nhà sản xuất thực việc cấu hình Lập trình cho thiết bị bao gồm việc đưa chip vào thiết bị lập trình đặc biệt (nạp cấu hình), số khác cấu hình hệ thống (ISP – In System Programming) Một tên gọi khác FPD Programmable Logic Devices (PLD) Sau ta tìm hiểu kỹ thiết bị PLDs cụ thể PLD – Programable Logic Device thiết bị logic số lập trình được, PLD đưa giới thiệu vào khoảng thập kỷ 70, bắt nguồn từ ý tưởng chế tạo mạch logic tổ hợp có khả tái lập trình lại phần cứng (khả trình), nhằm phục vụ cho việc thử nghiệm, tạo mẫu, phát triển ứng dụng, sản xuất quy mô nhỏ TÀI LIỆU THAM KHẢO David A Patterson, John L Hennesly, Computer organization and design the hardware software interface 3rd 2004 David A Patterson, John L Hennesly, Computer Architecture a Quantiative Aprroach Thomas & Moorby’s The verilog Hardware Discription Laguage, fifth edition Zainalabedin, Digital Design and Implimentation with Field Programable Devices Nicola Bombieri, Hardware Design and Simulation for Verification The 6th international school on Formal Methods for Design of Computer, Communication, and Software Systems, SFM 2006 Bertinolo, Italy, May, 2006 Volnei A Pedroni, Circuit Design with VHDL, MIT Press, 2004 Xilinx , MicroBlaze Processor reference guide www.microchip.com [43] Ghosh, S., Chakraborty, T.: On behavior fault modeling for digital design International Journal of Electronic Testing: Theory and application (1991) 10 http://www.opencores.org [...]...TÀI LIỆU THAM KHẢO 1 David A Patterson, John L Hennesly, Computer organization and design the hardware software interface 3rd 2004 2 David A Patterson, John L Hennesly, Computer Architecture a Quantiative Aprroach 3 Thomas & Moorby’s The verilog Hardware Discription Laguage, fifth edition 4 Zainalabedin, Digital Design and Implimentation with Field Programable Devices 5 Nicola Bombieri, Hardware... and Software Systems, SFM 2006 Bertinolo, Italy, May, 2006 6 Volnei A Pedroni, Circuit Design with VHDL, MIT Press, 2004 7 Xilinx , MicroBlaze Processor reference guide 8 www.microchip.com 9 [43] Ghosh, S., Chakraborty, T.: On behavior fault modeling for digital design International Journal of Electronic Testing: Theory and application (1991) 10 http://www.opencores.org