Thiết kế logic số

Là linh kiện bán dẫn có khả năng làm việc như một công tắc bật tắt hoặc dùng để khuếch đại tín hiệu. Transitor là phần tử cơ bản của mọi vi mạch số tích hợp, từ các cổng logic đơn giản AND, OR, NOT. đến các loại phức tạp như các mạch điều khiển ngoại vi, vi điều khiển, vi xử lý

pdf280 trang | Chia sẻ: haohao89 | Lượt xem: 2927 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Thiết kế logic số, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
THIẾT KẾ LOGIC SỐ 2010 Bộ môn Kỹ thuật xung, số, vi xử lý Khoa VTĐT – HV Kỹ thuật Quân sự 9/1/2010 Thiết kế logic số 2 Mục lục Mục lục .................................................................................................................. 2 Chương mở đầu..................................................................................................... 8 1.Các khái niệm chung ........................................................................................ 8 1.1 Transitor .................................................................................................... 8 1.2 Vi mạch số tích hợp.................................................................................... 9 1.3. Cổng logic ............................................................................................... 10 1.4 Phần tử nhớ............................................................................................. 12 1.5 Mạch logic tổ hợp .................................................................................... 15 1.6 Mạch logic tuần tự................................................................................... 16 1.7 Các phương pháp thể hiện thiết kế.......................................................... 17 2. Yêu cầu đối với một thiết kế logic ................................................................. 19 3. Các công nghệ thiết kế mạch logic số............................................................ 20 4. Kiến trúc của các IC khả trình ........................................................................ 23 4.1. Kiến trúc PROM, PAL, PLA, GAL............................................................... 24 4.2 Kiến trúc CPLD, FPGA ............................................................................... 28 Câu hỏi ôn tập chương I.................................................................................... 32 Chương II: Ngôn ngữ mô tả phần cứng VHDL ...................................................... 33 1. Giới thiệu về VHDL........................................................................................ 33 2. Cấu trúc của chương trình mô tả bằng VHDL ................................................ 34 2.1. Khai báo thư viện.................................................................................... 35 2.2. Mô tả thực thể........................................................................................ 36 2.2. Mô tả kiến trúc ....................................................................................... 39 2.3 Khai báo cấu hình..................................................................................... 44 3. Chương trình con và gói................................................................................ 47 3.1. Thủ tục.................................................................................................... 47 3.2. Hàm ........................................................................................................ 49 Thiết kế logic số 3 3.3. Gói .......................................................................................................... 50 4. Đối tượng dữ liệu, kiểu dữ liệu ..................................................................... 52 4.1. Đối tượng dữ liệu.................................................................................... 52 4.2. Kiểu dữ liệu............................................................................................. 53 5. Toán tử và biểu thức..................................................................................... 60 5.1 Toán tử logic ............................................................................................ 61 5.2 Các phép toán quan hệ ............................................................................ 62 5.3 Các phép toán dịch .................................................................................. 62 5.4 Các phép toán cộng trừ và hợp................................................................ 64 5.5 Các phép dấu ........................................................................................... 65 5.6 Các phép toán nhân chia, lấy dư .............................................................. 65 5.6 Các phép toán khác.................................................................................. 66 6. Phát biểu tuần tự.......................................................................................... 66 6.1. Phát biểu đợi .......................................................................................... 67 6.2. Phát biểu xác nhận và báo cáo................................................................ 70 6.3. Phát biểu gán biến .................................................................................. 70 6.4. Phát biểu gán tín hiệu ............................................................................. 71 6.5. Lệnh rẽ nhánh và lệnh lặp....................................................................... 73 7. Phát biểu đồng thời ...................................................................................... 77 7.1. Phát biểu khối ......................................................................................... 78 7.2. Phát biểu quá trình ................................................................................. 79 7.3. Phát biểu gán tín hiệu đồng thời............................................................. 82 7.4. Phát biểu generate.................................................................................. 85 7.5. Phát biểu cài đặt module con.................................................................. 87 8. Phân loại mã nguồn VHDL............................................................................. 89 9.Mô tả VHDL của một số khối logic tổ hợp và tuần tự thường gặp. ............... 91 9.1. Khối cộng/trừ.......................................................................................... 91 Thiết kế logic số 4 9.2. Thanh ghi ................................................................................................ 95 9.3. Bộ cộng tích lũy....................................................................................... 96 9.4. Bộ đếm ................................................................................................... 98 9.6. Bộ dịch và thanh ghi dịch. ..................................................................... 101 9.7. Bộ nhớ RAM.......................................................................................... 104 9.8. Bộ nhớ ROM ......................................................................................... 107 9.9. Máy trạng thái hữu hạn ........................................................................ 109 10. Kiểm tra thiết kế bằng VHDL. .................................................................... 111 10.1.1. Kiểm tra nhanh ................................................................................ 112 10.1.1. Kiểm tra tự động nhiều tổ hợp đầu vào ........................................... 114 Các bài tập thực hành VHDL. .......................................................................... 121 1. Bài tập cơ sở. ........................................................................................... 121 2. Bài tập năng cao....................................................................................... 123 Câu hỏi ôn tập lý thuyết.................................................................................. 126 Chương III: Thiết kế vi mạch số trên FPGA ......................................................... 128 1 Tổng quan về kiến trúc FPGA ....................................................................... 128 1.2 Khái niệm FPGA...................................................................................... 128 1.2 Các công nghệ tái cấu trúc FPGA............................................................ 130 1.3 Kiến trúc tổng quan................................................................................ 131 2. Kiến trúc chi tiết Xilinx FPGA Spartan-3E. .................................................... 132 2.1 Configurable Logic Block ........................................................................ 134 2.2 Input/Output Block ................................................................................ 151 2.3 Progammable Interconnects.................................................................. 155 2.4. Các phần tử khác của FPGA................................................................... 157 3. Quy trình thiết kế FPGA .............................................................................. 163 3.1 Mô tả thiết kế ........................................................................................ 164 3.2 Tổng hợp thiết kế................................................................................... 166 Thiết kế logic số 5 3.3. Hiện thực hóa thiết kế .......................................................................... 171 3.4. Cấu hình FPGA ...................................................................................... 177 3.5. Kiểm tra thiêt kế trên FPGA .................................................................. 177 Bài tập thực hành trên FPGA .......................................................................... 180 1 Bài tập cơ sở ............................................................................................. 180 2 Bài tập nâng cao........................................................................................ 180 3. Câu hỏi ôn tập lý thuyết........................................................................... 181 Chương IV: Thiết kế vi mạch số trên thư viện cổng chuẩn ................................. 183 1. Công nghệ chế tạo IC .................................................................................. 183 2. Tổng quan về công nghệ ASIC trên thư viện cell chuẩn............................... 185 2.1 Khái niệm thư viện phần tử logic chuẩn................................................. 185 2.2 Các đặc trưng của cell ............................................................................ 186 2.3 Khái niệm thiết kế ASIC trên thư viện cell chuẩn.................................... 187 2.4 So sánh giữa ASIC và FPGA..................................................................... 188 3. Quy trình thiết kế ASIC trên thư viện cổng chuẩn. ...................................... 190 4. Tổng hợp thiết kế bằng Synopsys Design Compiler..................................... 192 4.4. Thiết lập điều kiện làm việc, mục tiêu thiết kế (Constraint design) ....... 193 4.2 Tổng hợp logic ....................................................................................... 201 4.3. Kiểm tra sau tổng hợp logic .................................................................. 203 5. Thiết kế vật lý (Physical design)................................................................... 203 Bài tập chương 4............................................................................................. 206 Bài tập ......................................................................................................... 206 Nội dung ôn tập lý thuyết ............................................................................ 210 Phục lục I: Thực hành mô phỏng VHDL trên ModelSim...................................... 211 1. Giới thiệu về chương trình mô phỏng Modelsim. ....................................... 211 2. Viết mã nguồn VHDL ................................................................................... 212 3. Biên dịch thiết kế. ....................................................................................... 218 Thiết kế logic số 6 4. Kiểm tra và mô phỏng thiết kế. ................................................................... 220 4.1 Kiểm tra nhanh....................................................................................... 220 4.2 Kiểm tra toàn bộ .................................................................................... 223 5. Tạo file TCL script. ....................................................................................... 227 Phụ lục 2: Hướng dẫn thực hành FPGA bằng Xilin ISE và Kit SPARTAN 3E .......... 229 1. Cấu hình chương trình Modelsim để hỗ trợ các thư viện UNISIM, SIMPRIM.229 2 Tạo Project và mã nguồn VHDL.................................................................... 233 3 Mô phỏng kiểm tra chức năng thiết kế. ....................................................... 240 4 Tổng hợp thiết kế......................................................................................... 241 4.1 Check syntax .......................................................................................... 241 4.1 Synthesis................................................................................................ 242 4.3. Đọc kết quả tổng hợp. .......................................................................... 243 4.4 Kết xuất sơ đồ công nghệ, và sơ đồ RTL (optional)................................ 246 4.5. Kiểm tra thiết kế sau tổng hợp.............................................................. 247 4.6. Gán chân vào ra sau tổng hợp............................................................... 249 5 Hiện thực hóa thiết kế ................................................................................. 251 5.1 Translate ................................................................................................ 251 5.2 Mapping................................................................................................. 252 5.3 Routing .................................................................................................. 253 6. Tạo file cấu hình FPGA ................................................................................ 254 7. Nạp cấu hình vào FPGA. .............................................................................. 254 Phụ lục 3: Thực hành tổng hợp trên thư viện cell chuẩn.................................... 260 1 Bài toán cộng hai số thực............................................................................. 260 2 Thiết lập cài đặt thư viện. ............................................................................ 268 2. Đọc file mô tả RTL. ...................................................................................... 270 3 Tổng hợp thiết kế......................................................................................... 271 4. Đọc kết quả tổng hợp sơ bộ........................................................................ 272 Thiết kế logic số 7 5. Tối ưu hóa thiết kế, xuất kết quả và netlist ................................................. 274 Tài liệu tham khảo ............................................................................................. 279 Thiết kế logic số 8 Chương mở đầu 1.Các khái niệm chung 1.1 Transitor Là linh kiện bán dẫn có khả năng làm việc như một công tắc bật tắt hoặc dùng để khuếch đại tín hiệu. Transitor là phần tử cơ bản của mọi vi mạch số tích hợp, từ các cổng logic đơn giản AND, OR, NOT... đến các loại phức tạp như các mạch điều khiển ngoại vi, vi điều khiển, vi xử lý… Transitor được làm từ vật liệu bán dẫn (sermiconductor), là vật liệu vừa có khả năng dẫn điện vừa có khả năng làm việc như những vật liệu cách điện, khả năng này thay đổi tùy theo kích thích từ bên ngoài như nhiệt độ, ánh sáng, trường điện từ, dòng điện… Chất bán dẫn dùng để cấu tạo transitor thường là Germany (Ge) hoặc Silicon (Si) được kích tạp một lượng nhỏ Photpho(P) hoặc Boron (B) với mục đích tăng mật độ electron (kiểu N) tự do hoặc tăng mật độ lỗ trống (kiểu P) tương ứng trong tinh thể bán dẫn. Cấu trúc nguyên lý của các dạng transitor được trình bày ở hình dưới đây: Hình 1.1: Cấu trúc transitor lưỡng cực BJTS, đơn cực FETs, diode Transitor lưỡng cực BJT (Bipolar Junction Transitor) sử dụng nhiều trong thập kỷ 80s, đặc điểm của BJT là tốc độ chuyển mạch nhanh nhưng nhược điểm là mức tiêu thụ năng lượng lớn ngay cả trong trạng thái nghỉ và chiếm nhiều diện tích. Sau đó BJTs dần được thay thế bằng transitor đơn cực FETs(Field Effect Transitors) làm việc trên hiệu ứng trường và kênh dẫn chỉ dùng một loại bán dẫn loại p hoặc n. MOSFETs (Metal-oxide-sermiconductor Field- Effect-Transitors) là transitor FETs nhưng dùng cực Cổng metal (về sau Thiết kế logic số 9 lớp metal được thay bằng polysilicon) phủ trên một lớp oxide cách điện và lớp này phủ trên vật liệu bán dẫn, tùy theo loại vật liệu bán dẫn mà transitor này có tên gọi là NMOS (kênh dẫn n) và PMOS (kênh dẫn p). CMOS (Complementary-Symmetry Metal-Oxide Sermiconductor) là transitor tạo thành từ việc ghép cặp bù PMOS và NMOS, có nhiều ưu điểm so với các dòng transitor cũ như hiệu điện thế làm việc thấp, độ chống nhiễu cao, tiêu tốn ít năng lượng và cho phép tích hợp trong IC số với mật độ cao. CMOS là công nghệ transitor được sử dụng rộng rãi nhất hiện nay. 1.2 Vi mạch số tích hợp Còn được gọi là IC – Intergrated Circuits, chip, là cấu trúc mạch điện được thu nhỏ bằng cách tích hợp chủ yếu từ các transitor với mật độ cao, ngoài ra còn có thể có các linh kiện điện thụ động khác trên một khối bán dẫn mỏng. Các vi mạch tích hợp đều có một số lượng tín hiệu đầu vào và đầu ra để thực hiện một chức năng cụ thể nào đó. Trong khuôn khổ giáo trình này chủ yếu nghiên cứu về vi IC số, tức là dạng IC chỉ làm việc với các tín hiệu số. a) b) Hình 1.2: a) Mô hình Vi mạch số tích hợp. b) Vi mạch tích hợp thực tế. Vi mạch tích hợp ra đời từ những năm 1960s và được ứng dụng rộng rãi trong thực tế, đã và đang tạo ra cuộc cách mạng trong lĩnh vực điện tử. Ví dụ về vi mạch tích hợp như các IC đa dụng (general purposes IC) họ 7400, 4000, các dòng vi xử lý 80x86 dùng trong máy vi tính, chíp xử lý dùng cho điện thoại di động, máy ảnh kỹ thuật số, các vi điều khiển dùng trong các thiết bị dân dụng, ti vi, máy giặt, lò vi sóng… Các vi mạch này có mật độ tích hợp từ hàng vài chục đến hàng trăm triệu, và hiện nay đã đến hàng tỷ transitor trong một miếng bán dẫn có kích cỡ xỉ đồng xu. Mật độ tích hợp được định nghĩa là tổng Thiết kế logic số 10 số những phần tử tích cực (transitor hoặc cổng logic) chứa trên một đơn vị diện tích của khối tinh thể bán dẫn. Theo mật độ tích hợp chia ra các loại vi mạch sau: - Vi mạch cỡ nhỏ SSI (Small scale integration), có hàng chục transitor trong một vi mạch. - Vi mạch cỡ vừa MSI (Medium scale integration), có hàng trăm transitor trong một vi mạch. - Vi mạch cỡ lớn LSI (Large scale integration), có hàng ngàn đến hàng chục ngàn transitor trong một vi mạch. - Vi mạch cực lớn VLSI (Very large scale integration), có hàng vạn, hàng triệu, hàng chục triệu transitor và lớn hơn trong một vi mạch, tới thời điểm hiện nay đã xuất hiện nhưng vi mạch có độ tích hợp đến hàng tỷ transitor. - Vi mạch siêu lớn (ULSI – Ultra large scale intergration), vi mạch có độ tích hợp với mức độ hàng triệu transitor trở lên. - WSI (Wafer-scale-Intergration) là giải pháp tích hợp nhiều vi mạch chức năng trên một tấm silicon (wafer) để tăng hiệu suất cũng như giảm giá thành sản phẩm, ví dụ hệ vi xử lý nhiều nhân được tích hợp bằng WSI. - SoC (System-on-a-Chip) Khái niệm chỉ một hệ tính toán, xử lý mà tất cả các khối chức năng số và cả tương tự được thiết kế để tích hợp vào trong một chip đơn. Trong khuôn khổ chương trình này sẽ dành thời lượng chính cho việc nghiên cứu cơ bản về công nghệ, phương pháp, quá trình thiết kế các vi mạch cỡ LSI, VLSI. 1.3. 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 cơ bản y = f(xn, xn-1,..., x1, x0). Trong đó các tín hiệu vào xn-1, xn-2,..., x1, x0 của mạch tương ứng với các biến logic xn-1, xn-2,..., x1, x0
Tài liệu liên quan