thiet ke logic so

416 660 1
thiet ke logic so

Đ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

thiet ke logic so

1 HỌC VIỆN KỸ THUẬT QUÂN SỰ BỘ MÔN KỸ THUẬT XUNG SỐ, VI XỬ LÝ – KHOA VÔ TUYẾN ĐIỆN TỬ THIẾT KẾ LOGIC SỐ (Dùng cho đối tƣợng đào tạo chính quy hệ quân sự và dân sự) LƢU HÀNH NỘI BỘ HÀ NỘI -2011 2 3 LỜI GIỚI THIỆU Thiết kế logic số là môn học kế tiếp của chƣơng trình Điện tử số. Nội dung chính của chƣơng trình môn học tập trung vào hai vấn đề kiến thức chính. Thứ nhất là bài toán thiết kế về mặt chức năng cho các khối số có mật độ tích hợp lớn cỡ LSI, VLSI và lớn hơn. Vấn đề thứ hai là giới thiệu căn bản về các công nghệ giúp hiện thực hóa thiết kế chức năng thành sản phẩm ứng dụng, trong đó tập trung chính vào công nghệ FPGA, một nền tảng công nghệ mới đã và đang phát triển rất mạnh hiện nay. Khác với bài toán tổng hợp và phân tích trong Điện tử số chủ yếu là bài toán cho các mạch cỡ SSI, MSI, các bài toán ở đây có hƣớng tới các ứng dụng cụ thể thực tiễn với quy mô lớn hơn và buộc phải sử dụng các công cụ trợ giúp thiết kế trên máy tính và ngôn ngữ thiết kế VHDL Chƣơng trình Thiết kế logic số nhắm vào trang bị kiến thức cơ sở ngành cho tất cả các đối tƣợng sinh viên thuộc chuyên ngành kỹ thuật Điện tử viễn thông, Điều khiển tự động. Trƣớc khi học môn này các sinh viên này phải học qua các môn cơ sở ngành gồm Cấu kiện điện tử, Điện tử số, Kỹ thuật Vi xử lý trong đó hai môn đầu là bắt buộc. Thiết kế logic số là một môn học mang tính thực hành cao nên trong cấu trúc chƣơng trình sẽ dành nhiều thời gian hơn cho thực hành thí nghiệm cũng nhƣ bắt buộc sinh viên khi kết thúc môn học phải thực hiện các đồ án bài tập thiết kế cỡ vừa và lớn theo nhóm dƣới dạng Bài tập lớn hoặc Đồ án môn học. Kiến thức và kỹ năng của sinh viên sẽ giúp ích rất lớn cho các bài toán chuyên ngành và Đồ án tốt nghiệp sau này bởi trong các ứng dụng xử lý số đang dần chiếm vai trò quan trọng trong các hệ thống kỹ thuật. Bên cạnh những công cụ truyền thống là Vi xử lý, máy tính thì thiết kế phần cứng trên FPGA hoặc trên nền các công nghệ tƣơng tự đang là một hƣớng phát triển mang lại hiệu năng vƣợt trội và khả năng ứng dụng thích nghi tốt hơn. Giáo trình chính thức cho môn học đƣợc hoàn thiện sau hơn 2 khóa đào tạo cho sinh viên hệ đào tạo dân sự, quân sự tại Học viện Kỹ thuật quân sự. Nhóm tác giả xin chân thành cám ơn sự ủng hộ nhiệt tình của lãnh đạo Khoa Vô tuyến điện tử, lãnh đạo bộ môn Kỹ thuật xung số, vi xử lý, các đồng nghiệp trong khoa và bộ môn đã có nhiều ý kiến đóng góp quý báu góp phần hoàn thiện nội dung cho giáo trình, cám ơn anh chị em nhân viên của bộ môn đã góp nhiều công sức cho công việc chế bản cho giáo trình. Nhóm tác giả cũng gửi lời cám ơn tới 4 toàn bộ các sinh viên các khóa đào tạo bằng quá trình học tập, nghiên cứu thực tế đã có những ý kiến đóng góp giúp tác giả điều chỉnh về khung chƣơng trình và nội dung ngày hợp lý và hiệu quả hơn. Vì thời gian hạn chế và là một môn học mới do vậy chắc chắn sẽ còn nhiều những khiếm khuyết trong giáo trình. Nhóm tác giả rất mong tiếp tục nhận đƣợc những ý kiến đóng góp của ngƣời sử dụng, mọi ý kiến có thể gửi về Bộ môn Kỹ thuật Xung số, Vi xử lý – Học viện KTQS hoặc vào hòm thƣ điện tử quangkien82@gmail.com. Hà nội 12-2011 5 Mục lục LỜI GIỚI THIỆU 3 DANH SÁCH CÁC KÝ HIỆU VIẾT TẮT 11 Chƣơng 1: CÁC KIẾN THỨC CƠ SỞ . 15 1. Các khái niệm chung 16 1.1. Transitor . 16 1.2. Vi mạch số tích hợp . 17 1.3. Cổng logic 18 1.4. Phần tử nhớ 20 1.5 Mạch logic tổ hợp . 23 1.6. Mạch logic tuần tự . 24 1.7 Các phƣơng pháp thể hiện thiết kế. 25 2. Yêu cầu đối với một thiết kế logic . 27 3. Các công nghệ thiết kế mạch logic số 28 4. Kiến trúc của các IC khả trình . 31 4.1. Kiến trúc PROM, PAL, PLA, GAL . 31 4.2. Kiến trúc CPLD, FPGA . 36 Câu hỏi ôn tập chƣơng 1 39 Chƣơng 2: NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL . 41 1. Giới thiệu về VHDL . 42 2. Cấu trúc của chƣơng trình mô tả bằng VHDL . 43 2.1. Khai báo thƣ viện . 44 2.2. Mô tả thực thể 45 2.3. Mô tả kiến trúc . 48 2.4. Khai báo cấu hình 53 3. Chƣơng trình con và gói 56 6 3.1. Thủ tục . 56 3.2. Hàm 58 3.3. Gói . 59 4. Đối tƣợng dữ liệu, kiểu dữ liệu 62 4.1. Đối tƣợng dữ liệu . 62 4.2. Kiểu dữ liệu . 63 5. Toán tử và biểu thức 70 5.1. Toán tử logic 70 5.2. Các phép toán quan hệ . 71 5.3. Các phép toán dịch 72 5.4. Các phép toán cộng trừ và hợp 74 5.5. Các phép dấu 74 5.6. Các phép toán nhân chia, lấy dƣ 75 5.7. Các phép toán khác 76 6. Phát biểu tuần tự 76 6.1. Phát biểu đợi 76 6.2. Phát biểu xác nhận và báo cáo . 79 6.3. Phát biểu gán biến 80 6.4. Phát biểu gán tín hiệu 81 6.5. Lệnh rẽ nhánh và lệnh lặp 83 7. Phát biểu đồng thời 87 7.1. Phát biểu khối 88 7.2. Phát biểu quá trình . 89 7.3. Phát biểu gán tín hiệu đồng thời 92 7.4. Phát biểu generate 95 7.5. Phát biểu cài đặt khối con 97 8. Phân loại mã nguồn VHDL 99 9. Kiểm tra thiết kế bằng VHDL. . 101 7 9.1. Kiểm tra nhanh 102 9.1. Kiểm tra tự động nhiều tổ hợp đầu vào . 104 Bài tập chƣơng 2 111 Bài tập 111 Câu hỏi ôn tập lý thuyết . 116 Chƣơng 3: THIẾT KẾ CÁC KHỐI MẠCH DÃY VÀ TỔ HỢP THÔNG DỤNG . 117 1. Các khối cơ bản 118 1.1. Khối cộng đơn giản . 118 1.2. Khối trừ 119 1.3. Khối cộng thấy nhớ trƣớc. . 121 1.4. Thanh ghi . 125 1.5. Bộ cộng tích lũy . 127 1.6. Bộ đếm . 129 1.7. Bộ dịch . 131 1.8. Thanh ghi dịch . 133 2. Các khối nhớ 136 2.1. Bộ nhớ RAM . 136 2.2. Bộ nhớ ROM . 139 2.3. Bộ nhớ FIFO 141 2.4. Bộ nhớ LIFO 142 3. Máy trạng thái hữu hạn 143 4. Khối nhân số nguyên 145 4.1. Khối nhân số nguyên không dấu dùng phƣơng pháp cộng dịch 146 4.2. Khối nhân số nguyên có dấu 150 4.3. Khối nhân dùng mã hóa Booth cơ số 4 . 155 5. Khối chia số nguyên . 158 5.1. Khối chia dùng đồ khôi phục phần dƣ 159 8 5.2. Khối chia dùng đồ không khôi phục phần dƣ . 162 5.3. Khối chia số nguyên có dấu . 164 6. Các khối làm việc với số thực 169 6.1. Số thực dấu phẩy tĩnh 169 6.2. Số thực dấu phẩy động 170 6.3. Chế độ làm tròn trong số thực dấu phẩy động. 173 6.4. Phép cộng số thực dấu phẩy động . 176 6.5. Phép nhân số thực dấu phẩy động . 181 6.6. Phép chia số thực dấu phẩy động 183 Bài tập chƣơng 3 186 Bài tập . 186 Câu hỏi ôn tập lý thuyết 194 Chƣơng 4: THIẾT KẾ MẠCH SỐ TRÊN FPGA . 195 1. Tổng quan về kiến trúc FPGA . 196 1.2. Khái niệm FPGA . 196 1.3. Ứng dụng của FPGA trong xử lý tín hiệu số . 198 1.4. Công nghệ tái cấu trúc FPGA 199 1.5. Kiến trúc tổng quan . 200 2. Kiến trúc chi tiết Xilinx FPGA Spartan-3E. 201 2.1. Khối logic khả trình . 204 2.2. Khối điều khiển vào ra . 221 2.3. Hệ thống kết nối khả trình . 224 2.4. Các phần tử khác của FPGA 227 3. Quy trình thiết kế FPGA bằng ISE 237 3.1. Mô tả thiết kế . 238 3.2. Tổng hợp thiết kế . 239 3.3. Hiện thực hóa thiết kế 244 3.4. Cấu hình FPGA . 250 9 3.5. Kiểm tra thiêt kế trên FPGA 250 4. Một số ví dụ thiết kế trên FPGA bằng ISE 251 4.1. Thiết kế khối nhận thông tin UART 253 4.2. Thiết kế khối điều khiển PS/2 cho Keyboard, Mouse . 267 4.3. Thiết kế khối tổng hợp dao động số NCO . 270 4.4. Thiết kế khối điều khiển LCD1602A 282 4.5. Thiết kế điều khiển VGA trên FPGA. . 294 Bài tập chƣơng 4 308 1. Bài tập cơ sở . 308 2. Bài tập nâng cao 309 3. Câu hỏi ôn tập lý thuyết 312 PHỤ LỤC 313 Phụ lục 1: THỐNG CÁC HÀM, THỦ TỤC, KIỂU DỮ LIỆU CỦA VHDL TRONG CÁC THƢ VIỆN CHUẨN IEEE. 314 1. Các kiểu dữ liệu hỗ trợ trong các thƣ viện chuẩn IEEE . 314 2. Các hàm thông dụng hỗ trợ trong các thƣ viện chuẩn IEEE 315 3. Các hàm phục vụ cho quá trình mô phỏng kiểm tra thiết kế 319 4. Các hàm biến đổi kiểu dữ liệu dùng trong VHDL . 322 Phụ lục 2: THỰC HÀNH THIẾT KẾ VHDL 325 Bài 1: Mô phỏng VHDL trên ModelSim 326 Bài 2: Xây dựng bộ cộng trừ trên cơ sở khối cộng bằng toán tử 338 Bài 3: Khối dịch và thanh ghi dịch . 344 Bài 4: Bộ cộng bit nối tiếp dùng 1 FA (serial-bit adder) 353 Phụ lục 3: MẠCH PHÁT TRIỂN ỨNG DỤNG FPGA 364 1. Giới thiệu tổng quan . 364 2. Các khối giao tiếp có trên mạch FPGA 366 2.4. Khối giao tiếp Keypad 367 2.5. Khối 8x2 Led-Diod . 367 10 2.6. Khối Switch . 367 2.7. Khối giao tiếp 4x7-seg Digits . 367 2.9. Khối giao tiếp USB . 368 2.10. Khối giao tiếp PS/2 . 368 Phụ lục 4: THỰC HÀNH THIẾT KẾ MẠCH SỐ TRÊN FPGA 371 Bài 1: Hƣớng dẫn thực hành FPGA bằng Xilin ISE và Kit SPARTAN 3E . 372 Bài 2: Thiết kế khối giao tiếp với 4x7Seg -digits . 397 Phụ lục 5: CÁC BẢNG MÃ THÔNG DỤNG . 407 1. Mã ASCII điều khiển 408 2. Mã ASCII hiển thị 410 3. Bảng mã ký tự cho LCD 1602A . 414 TÀI LIỆU THAM KHẢO . 415 . bit SLICEL : SLICE Logic Phần tử Logic trong FPGA SLICEM : SLICE Memory Phần tử Logic có khả năng thực hiện chức năng nhớ trong FPGA SoC : System On a Chip. Cổng logic Cổng logic hay logic gate là cấu trúc mạch điện (sơ đồ khối hình ) đƣợc lắp ráp từ các linh kiện điện tử để thực hiện chức năng của các hàm logic

Ngày đăng: 31/07/2013, 09:30

Từ khóa liên quan

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

Tài liệu liên quan