1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế vi xử lý 16 bit trên nền tảng công nghệ fpga

82 7 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 82
Dung lượng 2,21 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - - LÊ TIẾN HIẾU THIẾT KẾ VI XỬ LÝ 16 BIT TRÊN NỀN TẢNG CÔNG NGHỆ FPGA LUẬN VĂN THẠC SỸ KỸ THUẬT Chuyên nghành: KỸ THUẬT TRUYỀN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS PHẠM NGỌC NAM HÀ NỘI - 2014 LỜI CAM ĐOAN Tơi xin cam đoan viết luận văn tìm hiểu nghiên cứu thân Mọi kết nghiên cứu ý tưởng tác giả khác, có trích dẫn từ nguồn gốc cụ thể Luận văn chưa bảo vệ Hội đồng bảo vệ luận văn Thạc sỹ chưa công bố phương tiện thơng tin Tơi xin hồn tồn chịu trách nhiệm mà tơi cam đoan Hà Nội, ngày 09 tháng năm 2014 Tác giả luận văn Lê Tiến Hiếu LỜI CẢM ƠN Sau thời gian nghiên cứu làm việc nghiêm túc, khẩn trương với giúp đỡ hướng dẫn tận tình PGS.TS Phạm Ngọc Nam với bảo thầy, cô Viện Điện tử Viễn thông - Đại học Bách Khoa Hà Nội Luận văn “Thiết kế vi xử lý 16 bit tảng cơng nghệ FPGA” hồn thành Tơi xin chân thành cảm ơn PGS.TS Phạm Ngọc Nam trực tiếp hướng dẫn tơi hồn thành luận văn Tơi xin gửi lời cảm ơn chân thành đến tập thể thầy, cô giáo Viện Điện tử - Viễn thông, Viện đào tạo sau đại học - Đại học Bách Khoa Hà Nội, tạo điều kiện tốt cho tơi nghiên cứu, thực hiện, để hồn thành luận văn tiến độ, tập thể bạn bè đồng nghiệp tận tình hướng dẫn, giúp đỡ tham gia đóng góp nhiều ý kiến quý báu cho tác giả từ công việc suốt thời gian nghiên cứu hoàn thành luận văn Tuy nỗ lực nghiên cứu, thời gian có hạn luận văn khơng tránh khỏi thiếu sót hạn chế Tác giả mong nhận ý kiến đóng góp, bổ sung Hội đồng chấm luận văn tốt nghiệp bạn đọc để luận văn hồn thiện Tơi xin trân trọng cảm ơn! Hà Nội, ngày 09 tháng năm 2014 Thiết kế vi xử lý 16 bit tảng công nghệ FPGA MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC HÌNH VẼ DANH MỤC BẢNG MỞ ĐẦU Lý chọn đề tài .9 Mục đích nghiên cứu .9 Đối tượng nghiên cứu Cơ sở khoa học thực tiễn đề tài 10 Cấu trúc luận văn 10 CHƯƠNG 1: TỔNG QUAN VỀ FPGA 12 1.1 FPGA 12 1.1.1 Khái niệm FPGA 12 1.1.2 So sánh FPGA với ASIC 13 1.2 FPGA Xilinx 14 1.3 Ngôn ngữ mô tả phần cứng VHDL .15 1.3.1 Khái niệm VHDL 15 1.3.2 Các mức xử lý VHDL .16 1.3.3 Các đơn vị thiết kế VHDL .16 1.4 Quy trình thiết kế FPGA Xilinx 17 Thiết kế vi xử lý 16 bit tảng công nghệ FPGA 1.5 Kết luận chương 19 CHƯƠNG 2: NGHIÊN CỨU PHƯƠNG PHÁP THIẾT KẾ VI XỬ LÝ 20 2.1 Tổng quan vi xử lý 20 2.2 Các thành phần vi xử lý 24 2.2.1 Datapaths 24 2.2.1.1 General Datapath 27 2.2.1.2 Dedicated Datapath 31 2.2.2 Control Unit .36 2.3 Vi xử lý chuyên dụng 37 2.4 Vi xử lý đa 39 2.4.1 Tổng quan thiết kế CPU .39 2.4.2 Tập lệnh .41 2.4.2.1 Các lệnh hai toán hạng 42 2.4.2.2 Các lệnh toán hạng 43 2.4.2.3 Các lệnh sử dụng địa nhớ 43 2.4.2.4 Lệnh nhảy 43 2.4.3 Datapath .44 2.4.4 Control unit 45 2.4.5 CPU 47 2.5 Kết luận chương 48 CHƯƠNG 3: THIẾT KẾ VI XỬ LÝ 16 BIT TRÊN FPGA 49 3.1 Thiết kế vi xử lý 16 bit FPGA 49 3.1.1 Sơ đồ khối vi xử lý 49 3.1.2 Thiết kế tập lệnh .50 Thiết kế vi xử lý 16 bit tảng công nghệ FPGA 3.1.3 Thiết kế ALU 51 3.1.3.1 Sơ đồ khối ALU cần thiết kế 51 3.1.3.2 Các tín hiệu khối ALU 52 3.1.4 Thiết kế Comp 52 3.1.4.1 Sơ đồ khối so sánh 52 3.1.4.2 Các tín hiệu so sánh .53 3.1.5 Thiết kế Control .53 3.1.5.1 Sơ đồ khối control .53 3.1.5.2 Các tín hiệu khối control .54 3.1.6 Thiết kế Reg Regarray 55 3.1.6.1 Sơ đồ khối Reg Regarray 55 3.1.6.2 Các tín hiệu khối Reg Regarray 56 3.1.7 Thiết kế Shift 57 3.1.7.1 Sơ đồ khối Shift 57 3.1.7.2 Các tín hiệu vào Shift 57 3.1.8 Thiết kế Trireg 59 3.1.8.1 Sơ đồ khối Trireg 59 3.1.8.2 Các tín hiệu vào Trireg .59 3.2 Kết luận chương 59 CHƯƠNG 4: KẾT QUẢ MÔ PHỎNG THIẾT KẾ VI XỬ LÝ 16 BIT TRÊN FPGA 60 4.1 Lựa chọn phần cứng 60 4.2 Các thông số phần cứng sau thiết kế .60 4.3 Mô thành phần vi xử lý 16 bit .61 Thiết kế vi xử lý 16 bit tảng công nghệ FPGA 4.3.1 Mô khối ALU 61 4.3.2 Mô khối dịch 62 4.3.3 Mô khối so sánh .63 4.3.4 Mô khối CPU 63 4.4 Kết luận chương 64 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .65 TÀI LIỆU THAM KHẢO 66 PHỤ LỤC 67 Thiết kế vi xử lý 16 bit tảng công nghệ FPGA DANH MỤC CÁC TỪ VIẾT TẮT FPGA VHDL HDL AHDL RTL CLB LUT CRT ROM RAM HDD ALU IO CU CISC RISC FSM VLSI PC IR VMA Field Programmable Gate Array VHSIC Hardware Description Language Hardware Description Language Altera Hardware Description Language Register Transfer Level Configurable Logic block Lookup Table Cathode Ray Tube Read Only Memory Random Access Memory Hard Disk Drive Arithmetic Logic Unit Input and Output Control Unit Complex Instruction Set Computer Reduced Instruction Set Computer Finite State Machine Very Large Scale Integration Program Counter Instruction Register Valid Memory Addess Thiết kế vi xử lý 16 bit tảng cơng nghệ FPGA DANH MỤC HÌNH VẼ Hình 1.1 Kiến trúc chung FPGA 12 Hình 1.2 Một Slice FPGA Xilinx Spartan6 14 Hình 1.3 Ba mức thiết kế với VHDL 17 Hình 1.4 Quy trình thiết kế FPGA Xilinx 18 Hình 2.1: Mơ hình máy tính Von Neumann .20 Hình 2.2 Kiến trúc bên vi xử lý 21 Hình 2.3 Khối Datapath vi xử lý 25 Hình 2.4 Một Datapath đơn giản .27 Hình 2.5 Chương trình tạo số từ 1-10 đầu 29 Hình 2.6 Đường liệu để thực hai phép tính cộng 33 Hình 2.7 Các ví dụ nhiều nguồn sử dụng multiplexers 34 Hình 2.8 Nhiều nguồn kết nối với bus sử dụng đệm ba trạng thái 35 Hình 2.9 Khối Control vi xử lý 37 Hình 2.10 Thành phần vi xử lý 38 Hình 2.11 Sơ đồ Datapath 45 Hình 2.12 Sơ đồ trạng thái cho control unit .46 Hình 2.13 Kết nối datapath control unit vi xử lý đa 48 Hình 3.1 Sơ đồ khối vi xử lý 16 bit 49 Hình 3.2 Top Level CPU thiết kế 50 Hình 3.3 Sơ đồ khối số học logic (ALU) .51 Hình 3.4 Sơ đồ khối so sánh 53 Hình 3.5 Sơ đồ khối điều khiển .54 Hình 3.6 Sơ đồ khối Reg 55 Hình 3.7 Sơ đồ khối Regarry 56 Hình 3.9 Sơ đồ khối Shift 57 Hình 3.10 Hoạt động dịch trái dịch phải Shift 58 Hình 3.11 Hoạt động quay trái quay phải Shift 58 Thiết kế vi xử lý 16 bit tảng công nghệ FPGA Hình 3.12 Sơ đồ Trireg 59 Hình 4.1 Kết mơ testbench khối ALU 61 Hình 4.2 Mơ hoạt động lệnh dịch trái khối dịch .62 Hình 4.3 Mơ hoạt động lệnh quay phải khối dịch 62 Hình 4.4 Mơ testbench khối so sánh .63 Hình 4.5 Mơ testbench CPU đọc data .64 Hình 4.6 Mơ testbench CPU đọc data .64 Thiết kế vi xử lý 16 bit tảng công nghệ FPGA CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Sau thời gian thực đề tài, học viên tìm hiểu kiến thức tổng quát FPGA phương pháp thiết kế vi xử lý đồng thời có triển khai thiết kế vi xử lý FPGA số hãng nghiên cứu Từ học viên có đánh giá lựa chọn mơ hình CPU phù hợp để triển khai FPGA hãng Xilinx, thực triển khai thiết kế mô phần mềm ISE cuối đánh giá kết thiết kế thực Như vậy, mục đích đề lựa chọn đề tài luận văn học viên thực đầy đủ Tuy nhiên, nghiên cứu thiết kế vi xử lý việc triển khai vi xử lý vào phần cứng thực tế nhiều điểm cần tiếp tục tìm hiểu phát triển thêm trình nghiên cứu sau học viên, triển khai ứng dụng vi xử lý hay xây dựng chế điều khiển linh hoạt làm tăng hiệu hoạt động cho vi xử lý chế điều khiển đường ống… Kết nghiên cứu tạo tiền đề cho học viên cộng đồng nhà thiết kế nghiên cứu làm việc chuyên sâu lĩnh vực thiết kế phần cứng, FPGA VLSI Đồng thời với điều đó, nghiên cứu góp phần chung vào phát triển công nghệ thiết kế IC nước nhà 65 Thiết kế vi xử lý 16 bit tảng công nghệ FPGA TÀI LIỆU THAM KHẢO [1] Douglas L Perry (2002), VHDL Programming by Example, McGraw-Hill, U.S [2] Enoch O.Hwang (2004), Microprocessor Design Principles and Practices With VHDL, Brooks/Cole, U.S [3] Karen Parnell, Nick Mehta (2003), Programmable Logic Design Quick Start Handbook, Xilinx, U.S [4] Peter Wilson (2007), Design recipes for FPGA, Elsevier, UK [5] Pong P.Chu (2006), RTL Hardware Design Using VHDL, A John Wiley & Sons U.S [6] Volnei A Pedroni (2004), Circuit design with VHDL, Asco Typesetters, U.S [7] Michael Huebner, Tobias Becker, Juergen Becker – “Real-Time LUT-Based Network Topologies for Dynamic and Partial FPGA Self-Reconfiguration” [8] Wang Lie, Wu Feng-yan – “Dynamic partial reconfiguration in FPGAs” [9] www.Xilinx.com - “Partial Reconfiguration User Guide” [10] www.Xilinx.com - “PlanAhead Partial Reconfiguration User Guide” [11] www.Xilinx.com - “Xilinx Partial Reconfiguration Tools and Techniques Lab training” [12] www.Xilinx.com - “FPGA Leadership Across Multiple Process Nodes” 66 Thiết kế vi xử lý 16 bit tảng công nghệ FPGA PHỤ LỤC Mã VHDL mô tả khối ALU library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; use work.cpu_lib.all; entity alu is port( a, b : in bit16; sel : in t_alu; c : out bit16); end alu; architecture rtl of alu is begin aluproc: process(a, b, sel) begin case sel is when alupass => c c c c c c c c c c c if a = b then compout

Ngày đăng: 10/03/2022, 22:56

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w