Thạc Sĩ Thiết kế và ứng dụng bộ vi xử lý 32 bit dùng ngôn ngữ VHDL

Thảo luận trong 'Vật Lý' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    173
    Điểm thành tích:
    0
    Xu:
    0Xu
    TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
    Chuyên ngành: VẬT LÝ VÔ TUYẾN VÀ ĐIỆN TỬ
    LUẬN VĂN THẠC SĨ VẬT LÝ VÔ TUYẾN VÀ ĐIỆN TỬ -KỸ THUẬT
    Năm 2011

    MỤC LỤC ( Luận văn dài 117 trang, 1 file duy nhất)


    Lời cảm ơn 1
    MỤC LỤC . 2
    DANH MỤC HÌNH ẢNH 5
    DANH MỤC BẢNG BIỂU 8
    DANH MỤC CÁC TỪ VIẾT TẮT . 9
    Mở đầu 10


    PHẦN 1: TỔNG QUAN . . 13
    CHƯƠNG 1: TỔNG QUAN VỀ CÁC BỘ VI XỬ LÝ . 13


    1.1 Giới thiệu về các bộ vi xử lý 13
    1.2. Các bộ vi xử lý 32 bit . 19


    CHƯƠNG 2 : NGÔN NGỮ LẬP TRÌNH VHDL, PHẦN MỀM QUARTUS VÀ KIT DE2 . 2.1 Giới thiệu môi trường thiết kế phần cứng và ngôn ngữ VHDL . 24
    2.1.1 Môi trường thiết kế phần cứng ( Hardware Design Environments) 24
    2.1.2 Các ngôn ngữ mô tả phần cứng . 26
    2.1.3 Ngôn ngữ lập trình VHDL . 27
    2.1.4 Ngôn ngữ VHDL cho thiết kế logic . 29
    2.1.5 Các phần mềm mô phỏng cho ngôn ngữ VHDL 31
    2.2 Thực thể thiết kế của VHDL 32
    2.2.1 Đặc điểm của VHDL 32
    2.2.2 Đặt điểm thiết kế . 33
    2.2.3 Cấu trúc chương trình 35
    2.2.3.1 Phát biểu khai báo . 35
    2.2.3.2 Phát biểu đồng thời 36
    2.2.3.3 Phát biểu tuần tự 36
    2.3 Phần mềm Quartus II và kit DE2 của Altera 37
    2.3.1 Các thành phần cơ bản của Quartus II 37
    2.3.2 Thiết kế và biên dịch, mô phỏng chương trình 38
    2.3.3 Giới thiệu kit DE2 của Altera . 47
    2.3.4 Các thành phần cơ bản trong DE2 . 47


    PHẦN 2: THIẾT KẾ BỘ VI XỬ LÝ 50
    CHƯƠNG 3: CẤU TRÚC BỘ VI XỬ LÝ . 52


    3.1 Cấu trúc tổng thể 53
    3.1.1 Bộ đếm chương trình và bộ nhớ (Pcimem) . 53
    3.1.1.1 Chức năng 53
    3.1.1.2 Cấu trúc 54
    3.1.1.3 Các tín hiệu giao tiếp . 54
    3.1.2 Bộ điều khiển đường ống dẫn (Cntrpipe) 54
    3.1.2.1 Chức năng 55
    3.1.2.2 Cấu trúc 55
    3.1.2.3 Các tín hiệu giao tiếp . 56
    3.1.3 Tập thanh ghi và vùng cache (Rfcache) 56
    3.1.3.1 Chức năng 56
    3.1.3.2 Cấu trúc 56
    3.1.3.3 Các tín hiệu giao tiếp . 57
    3.1.4 Khối logic số học (ALU: Arithmetic Logic Unit ) . 57
    3.1.4.1 Chức năng 57
    3.1.4.2 Cấu trúc 58
    3.1.4.3 Chi tiết về các lệnh của ALU . 58


    CHƯƠNG 4: CÁC ĐẶC ĐIỂM THIẾT KẾ BỘ VI XỬ LÝ . 59


    4.1 Đặc điểm của vi xử lý . 59
    4.2 Cấu trúc mã lệnh và chế độ ghi địa chỉ 59
    4.3 Cấu trúc mã lệnh (opcode) 61
    4.4 Mô tả các khối của bộ vi xử lý . 62
    4.4.1 Khối điều khiển: (The Controller) . 62
    4.4.2 Khối điều khiển đường ống dẫn (Control pipeline) . 63
    4.4.3 Tín hiệu điều khiển thời gian . 66
    4.4.4 Tín hiệu điều khiển lệnh nhảy . 67
    4.4.5 Kết quả tính toán và chốt dữ liệu vào thanh ghi . 67
    4.4.6 Tín hiệu lựa chọn dữ liệu trong cache (d_mux_to_rf) . 68
    4.4.7 Sơ đồ cấu trúc của khối tập các thanh ghi và bộ nhớ cache 68
    4.4.7.1 Khối tập các thanh ghi (Register File) 69
    4.4.7.2 Khối bộ nhớ Cache (The Data Cache) 70
    4.4.8 Khối logic số học (ALU) 71


    CHƯƠNG 5: MÔ PHỎNG BỘ VI XỬ LÝ SỬ DỤNG PHẦN MỀM QUARTUS VÀ TRÊN KIT DE2 . . 73


    5.1 Kiến trúc mô phỏng bộ vi xử lý . 73
    5.2 Thực hiện các phép toán kiểm tra 78
    5.2.1 Phép cộng 78
    5.2.2 Phép trừ . 80
    5.2.3 Phép toán dịch trái 81
    5.2.4 Phép toán dịch phải 83
    5.2.5 Phép toán AND . 84
    5.2.6 Phép toán OR 86
    5.2.7 Phép toán XOR . 87
    5.2.8 Phép toán nhân . 89


    KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 91
    TÀI LIỆU THAM KHẢO . 93
    PHỤ LỤC 95




    DANH MỤC HÌNH ẢNH


    Hình 1.1: Mô hình máy tính Von Neumann 13
    Hình 1.2: Kiến trúc cơ bản bên trong vi xử lý 14
    Hình 1.3: Sơ đồ bộ vi xử lý đa dụng 18
    Hình 2.1: Các đơn vị thiết kế của VHDL 34
    Hình 2.2: Các khai báo chương trình con trong đơn vị thiết kế . 36
    Hình 2.3: Các phát biểu quá trình trong đơn vị thiết kế và các lời gọi chương
    trình con trong đơn vị thiết kế hoặc thư viện . 37
    Hình 2.4: Tạo Project mới 38
    Hình 2.5: Khai báo thư mục chưa file . 39
    Hình 2.6: Thêm vào những file cần thiết . 39
    Hình 2.7: Chọn họ linh kiện cho thiết kế . 40
    Hình 2.8: Hoàn tất quá trình tạo project 40
    Hình 2.9: Tạo mới file mô phỏng 41
    Hình 2.10: Chọn file mô phỏng 42
    Hình 2.11: Lưu file với tên trùng với tên project 42
    Hình 2.12: Thêm vào các node . 43
    Hình 2.13: Hiện danh sách các node trong thiết kế 43
    Hình 2.14: Đưa các node vào mô phỏng 44
    Hình 2.15: Chọn cài đặt . 44
    Hình 2.16: Lựa chọn cách mô phỏng 45
    Hình 2.17: Tạo file netlist cho quá trình mô phỏng 45
    Hình 2.18: Bắt đầu mô phỏng . 46
    Hình 2.19: Nạp chương trình xuống kit DE2 47
    Hình 2.20: Bo DE2 và các linh kiện đi kèm 48
    Hình 3.1: Sơ đồ của bộ vi xử lý. 52
    Hình 3.2: Sơ đồ khối bộ vi xử lý 53
    Hình 3.3: Khối bộ đếm chương trình và bộ nhớ (PCIMEM) 54
    Hình 3.4: Khối điều khiển đường ống dẫn (Cntrpipe) 56
    Hình 3.5: Khối tập thanh ghi và vùng cache (RFCache) 57
    Hình 3.6: Khối logic sô học (ALU) . 58
    Hình 4.1: Bộ điều khiển đường ống dẫn . 63
    Hình 4.2 Sơ đồ khối các thanh ghi và bộ nhớ cache . 69
    Hình 4.3: Khối các thanh ghi (Register File) 69
    Hình 4.4: Khối bộ nhớ Cache 70
    Hình 4.5: Khối logic số học (ALU) . 71
    Hình 5.1: Kiến trúc bộ vi xử lý trên Quartus 75
    Hình 5.2: Các thông số kỹ thuật trong thiết kế . 75
    Hình 5.3: Các thông số về tần số hoạt động . 76
    Hình 5.4a: Sơ đồ hệ thống mô phỏng 76
    Hình 5.4b:Kết quả mô phỏng dạng sóng tín hiệu của CPU 77
    Hình 5.5a: Nạp dữ liệu vào cache . 78
    Hình 5.5b: Nạp mã lệnh vào ROM 79
    Hình 5.5c: Kết quả hiển thị trên kit DE2 79
    Hình 5.6a: Nạp dữ liệu vào cache . 80
    Hình 5.6b: Nạp mã lệnh vào ROM 81
    Hình 5.6c: Kết quả hiển thị trên kit DE2 81
    Hình 5.7a: Nạp dữ liệu vào cache . 81
    Hình 5.7b: Nạp mã lệnh vào ROM 82
    Hình 5.7c: Kết quả hiển thị trên kit DE2 82
    Hình 5.8a: Nạp dữ liệu vào cache . 83
    Hình 5.8b: Nạp mã lệnh vào ROM 83
    Hình 5.8c: Kết quả hiển thị trên kit DE2 84
    Hình 5.9a: Nạp dữ liệu vào cache . 84
    Hình 5.9b: Nạp mã lệnh vào ROM 85
    Hình 5.9c: Kết quả hiển thị trên kit DE2 86
    Hình 5.10a: Nạp dữ liệu vào cache . 86
    Hình 5.10b: Nạp mã lệnh vào ROM 87
    Hình 5.10c: Kết quả hiển thị trên kit DE2 87
    Hình 5.11a: Nạp dữ liệu vào cache . 88
    Hình 5.11b: Nạp mã lệnh vào ROM 88
    Hình 5.11c: Kết quả hiển thị trên kit DE2 89
    Hình 5.12a: Nạp dữ liệu vào cache . 89
    Hình 5.12b: Nạp mã lệnh vào ROM 90
    Hình 5.12c: Kết quả hiển thị trên kit DE2 90



    DANH MỤC BẢNG BIỂU


    Bảng 4.1: Tập lệnh với hai nguồn . 60
    Bảng 4.2: Tập lệnh với một nguồn và short immediate 60
    Bảng 4.3: Tập lệnh với long immediate 60
    Bảng 4.4: Tập lệnh có điều kiện 60
    Bảng 4.5: Một số chế độ định dạng địa chỉ được hổ trợ . 61
    Bảng 4.6: Mã lệnh opcode . 62
    Bảng 4.7: Mô tả chức năng các tín hiệu . 64
    Bảng 4.8: Tín hiệu điều khiển 67
    Bảng 4.9: Mô tả tín hiệu trong tập thanh ghi (Register File) . 70
    Bảng 4.10: Mô tả tín hiệu trong khối data cache 71
    Bảng 4.11: Tín hiệu trên khối logic số học . 71






    Mở đầu
    Vai trò của máy vi tính trong nửa cuối thế kỷ hai mươi được chứng minh bởi đà phát triển chức năng theo hàm mũ của vi xử lý và mức độ thâm nhập của nó trong xã hội. Máy tính dã thay đổi hoàn toàn công nghệ, thay đổi hình thức buôn bán và thậm chí thay đổi cấu trúc xã hội loài người. Sang thế kỷ 21, máy tính còn tiếp tục là động lực của phát triển công nghệ. Trong năm 2006 ngành công nghiệp vi mạch, công nghiệp bán dẫn (semiconductor industry) trên thế giới đã đạt doanh thu gần 261 tỷ USD, cung cấp sản phẩm cho các ngành điện tử, như: máy tính và thiết bị lưu trữ (công nghệ thông tin) khoảng 54%; viễn thông 26%; điện tử dân dụng 14%; cơ khí và tự động hóa 5%; các ngành khác chiếm 1%. (điện tử quốc phòng, điện tử y tế .). Doanh thu từ lĩnh vực vi mạch (bán dẫn) được dự đoán chiếm đến 35% trong doanh thu toàn ngành điện tử vào năm 2010 (khoảng 350 tỷ USD/1.000 tỷ USD) và tiếp tục gia tăng ở mức 6,1% trên năm.


    Trong hệ thống hiện nay, phần lớn đều sử dụng vi xử lý làm bộ điều khiển chính của hệ thống. Với sự phát triển của công nghệ điện tử, có nhiều vi xử lý củacác hãng khác nhau. Vi xử lý là bộ điều khiển chính của tất cả thiết bị thông minh, dù là thiết bị điện hay các thiết bị khác. Sự khéo léo của nó được quyết định và điều khiển trực tiếp bởi vi xử lý. Ví dụ, chúng ta thử nghĩ không xem 1 chiếc xe là 1 thiết bị điện. Tuy nhiên, nó chắc chắn có nhiều khối phức tạp, hệ thống điện thông minh như hệ thống phanh chống va đập và hệ thống phun nhiên liệu. Mỗi hệ thống được điều khiển bởi 1 vi xử lý.



    Bộ vi xử lý được chia làm 2 loại: bộ vi xử lý đa dụng (General-purpose microprocessor), bộ vi xử lý chuyên dụng (Dedicated icroprocessor). Bộ vi xử lý đa dụng, như là Pentium CPU, có thể thực thi nhiều phép toán khác nhau dưới sự điều khiển chỉ dẫn của phần mềm. Tất cả máy tính cá nhân sử dụng các bộ vi xử lý đa dụng. Bộ vi xử lý chuyên dụng, được biết như các mạch tích hợp ứng dụng đặc biệt (ASICs). Ví dụ, bên trong điện thoại di động, có một vi xử lý chuyên dụng điều khiển toàn bộ hoạt động của điện thoại. Nhúng vi xử lý vào bên trong điện
    thoại không gì ngoài điều khiển hoạt động của điện thoại. Vi xử lý chuyên dụng thường sử dụng trong các thiết bị điện thông minh như là đồ chơi điện tử, TV, điện thoại.


    Để tiếp cận nhanh chóng và cập nhật các công nghệ mới trong lĩnh vực thiết kế phần cứng, cần có các thiết bị phần mềm và phần cứng hỗ trợ. Chúng ta dùng các ngôn ngữ mô tả phần cứng như Verilog HDL, VHDL, để xây dựng các thiết kế và thông qua các chương trình phần mềm như Quartus, NIOS, ModelSim, . thực hiện biên dịch chương trình, mô phỏng dạng sóng để kiểm tra hoạt động của hệ thống có đúng như thiết kế đặt ra ban đầu hay không. Sau đó các thiết kế sẽ được nạp vào các bo mạch ứng dụng (ví dụ như Kit DE2, UP2, . của
    hãng Altera; Kit Virtex, Spartan . của hãng Xilinx), việc này giúp xây dựng thiết kế của chúng ta như là một thiết bị phần cứng thực sự trong một hệ thống hoàn chỉnh để kiểm tra hoạt động của thiết bị.
     

    Các file đính kèm:

Đang tải...