UỶ BAN NHÂN DÂN TỈNH ĐỒNG THÁP TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁP GIÁO TRÌNH MÔN HỌC/ MÔ ĐUN: VI MẠCH SỐ LẬP TRÌNH NGÀNH/ NGHỀ: ĐIỆN TỬ CÔNG NGHIỆP TRÌNH ĐỘ: CAO ĐẲNG, TRUNG CẤP (Ban hành kèm theo Quyết định Số: 257 /QĐ-TCĐNĐT ngày 13 tháng 7 năm 2017 của Hiệu trưởng Trường Cao đẳng nghề Đồng Tháp) Đồ áp, năm 2017 1 2 TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại giáo trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. 3 LỜI GIỚI THIỆU Để thực hiện biên soạn giáo trình đào tạo nghề Điện tử công nghiệp ở trình độ Cao Đẳng Nghề và Trung Cấp Nghề, giáo trình Vi mạch số lập trình là một trong những giáo trình mô đun đào tạo chuyên ngành được biên soạn theo nội dung chương trình khung được Bộ Lao động Thương binh Xã hội và Tổng cục Dạy Nghề phê duyệt. Nội dung biên soạn ngắn gọn, dễ hiểu, tích hợp kiến thức và kỹ năng chặt chẽ với nhau, logíc.
Trong những năm gần đây, công nghệ FPGA ( Field Programmable Gate Array) đã và đang phát triển mạnh mẽ trong lĩnh vực điện tử. FPGA được hiểu như là một IC số có thể lập trình được, được ứng dụng trong việc xử lý tín hiệu số, xử lý số,…để thay thế các IC số thông thường, cồng kềnh. Bằng cách sử dụng FPGA người thiết kế có thể tạo ra một mạch điện chức năng thay vì sử dụng nhiều IC số. Chính vì vậy, nhu cầu hiểu biết về IC số có thể lập trình được nói chung và FPGA nói riêng là một nhu cầu cần thiết cho các cán bộ kỹ thuật điện tử.
Nội dung giáo trình được bố cục bao gồm 7 bài với nội dung như sau: Bài 1: Giới thiệu chung về PLD, CPLD và FPGA Bài 2: Họ CPLD Bài 3: Họ FPGA Bài 4: Qui trình thiết kế cho CPLD và FPGA của hãng Xilinx Bài 5: Phần mềm ISE và modelsim Bài 6: Ngôn ngữ Verilog HDL Bài 7: Mốt số chương trình ứng dụng Tuy nhiên, tùy theo điều kiện cơ sở vật chất và trang thiết bị, các trường có thề sử dụng cho phù hợp. Mặc dù đã cố gắng tổ chức biên soạn để đáp ứng được mục tiêu đào tạo nhưng không tránh được những khiếm khuyết. Rất mong nhận được đóng góp ý kiến của các thầy, cô giáo, bạn đọc để nhóm biên soạn sẽ hiệu chỉnh hoàn thiện hơn. Các ý kiến đóng góp xin gửi về Trường Cao đẳng nghề Đồng Tháp.
Đồng Thápi, ngày tháng năm 2017 Tham gia biên soạn 4 MỤC LỤC TRANG LỜI GIỚI THIỆU. 10 GIỚI THIỆU CHUNG VỀ PLD, CPLD VÀ FPGA. Lịch sử phát triển:. Sự cần thiết và ý nghĩa thực tế của việc sử dụng mảng logic có thể lập trình được:.
Cấu trúc cơ bản của PLD:. Cấu trúc cơ bản của CPLD:. Cấu trúc cơ bản của FPGA:. Sự khác biệt giữa PLD, CPLD và FPGA:.
Phần mềm hỗ trợ:. Giới thiệu chung:. Vi mạch CPLD:. Giới thiệu chung:.
Vi mạch FPGA:. Mô tả FPGA:. Thông số giới hạn:. Đặc tính lưu trữ dữ liệu:.
Đặc tính điện DC:. Công suất tiêu thụ:. Ý nghĩa tên linh kiện:. Lựa chọn phương án cấu hình cho FPGA:.
74 QUY TRÌNH THIẾT KẾ CHO CPLD VÀ FPGA CỦA HÃNG XILINX. Phương án lựa chọn CPLD và FPGA. Qui trình thiết kế cho CPLD của hãng Xilinx:. Qui trình thiết kế cho FPGA của hãng Xilinx:.
81 PHẦN MỀM ISE VÀ MODELSIM. Cài đặt và khởi động ISE:. Tạo Project trên ISE:. Cài đặt và khởi động Modelsim:.
Mô phỏng dạng sóng trên ISE và Modelsim:. Mô phỏng trên ISE:. Mô phỏng trên modelsim:. Gán chân thích ứng với thiết bị:.
Biên dịch và tổng hợp chương trình:. Đổ chương trình vào CPLD và FPGA:. Tạo và sử dụng core có sẵn từ ISE:. 147 NGÔN NGỮ VERILOG HDL.
Giới thiệu ngôn ngữ Verilog HDL:. Tầm quan trọng của HDL:. Đặc điểm nổi bật của Verilog:. Xu hướng của HDL:.
Tổng quan về ngôn ngữ Verilog:. Lịch sử ngôn ngữ Verilog. Phương pháp thiết kế hệ thống:. Các khái niệm cơ bản trong Verilog:.
Module và các port:. Verilog HDL và các mức thiết kế phổ biến:. Thiết kế mức cổng:. Các cổng cơ bản được định nghĩa sẵn:.
Thiết kế ở mức Dataflow:. Thiết kế ở mức hành vi:. Tast và Function:. Bài tập bài 6:.
199 MỘT SỐ CHƯƠNG TRÌNH ỨNG DỤNG. Điều khiển led đơn:. Chương trình chính:. Chương trình testbench:.
kết quả mô phỏng:. Thanh ghi dịch:. Chương trình chính:. Chương trình testbench:.
Kết quả mô phỏng:. Chương trình chính:. Chương trình testbench:. Kết quả mô phỏng:.
Mạch đếm vòng xoắn Johson:. Chương trình chính:. Chương trình testbench:. Kết quả mô phỏng:.
Bộ Mạch mã hóa và giải mã:. Bộ mã hóa encoder 8 sang 3:. Bộ giải mã decoder 8 sang 3:. Bộ so sánh và cộng dữ liệu:.
Bộ so sánh:. Bộ cộng dữ liệu:. Giao tiếp với led ma trận:. Điều chế độ rộng xung và chia tần:.
Chia tần số:. Điều chế độ rộng xung:. Truyền dữ liệu song song:. Chương trình chính:.
Chương trình testbench:. Kết quả mô phỏng:. Giao tiếp ADC và cảm biến nhiệt độ. Chương trình chính:.
Chương trình testbench:. Kết quả mô phỏng:. Tạo bộ đệm dữ liệu:. Sử dụng core có sẵn của ISE vào thiết kế:.
Bài tập bài 7:. 261 TÀI LIỆU THAM KHẢO. 262 8 MÔN ĐUN: VI MẠCH SỐ LẬP TRÌNH Mã mô đun: MĐ30 Vị trí, tính chất, ý nghĩa và vai trò của mô đun: - Vị trí của mô đun: Mô đun được bố trí dạy sau khi học song mô đun vi xử lý, vi điều khiển. - Tính chất của mô đun: Là mô đun bắt buộc.
- Ý nghĩa và vai trò của mô đun: giúp sinh viên nắm bắt các kiến thức và kỹ năng lập trình FPGA ứng dụng vào lĩnh vực điện tử, là một mô đun không thể thiếu đối với sinh viên nghề điện tử công nghiệp. Mục tiêu của mô đun: - Trình bày được cấu tạo, đặc tính của các họ vi mạch số lập trình được như: PLD, CPLD, FPGA.theo nội dung đã học. - Phân tích được các mạch ứng dụng vi mạch số lập trình được CPLD, FPGA theo tiêu chuẩn nhà sản xuất. - Thiết kế được các yêu cầu điều khiển dùng CPLD, FPGA theo yêu cầu kỹ thuật.
- Sửa chữa, thay thế các linh kiện hư hỏng đạt yêu cầu kỹ thuật. - Kiểm tra chính xác các điều kiện hoạt động của thiết bị. Nội dung của mô đun: Thời gian Số Tên các bài trong mô đun Lý Thực Kiểm TT Tổng số thuyết hành tra 1 Giới thiệu chung về PLD, CPLD, 5.5 0 0 FPGA, mảng logic lập trình được 2 Họ CPLD 5.5 0 0 3 Họ FPGA 6 6 0 0 4 Qui trình thiết kế cho CPLD và 9 4 5 0 FPGA của Xilinx 9 5 Phần mềm ISE và modelsim 15 10 5 1 6 Ngôn ngữ Verilog HDL 34 18 15 1 7 Viết một số chương trình ứng dụng 75 4 66 5 Tổng 150 52 91 7 10 BÀI 1 GIỚI THIỆU CHUNG VỀ PLD, CPLD VÀ FPGA Mã bài: MĐ30 - 01 Giới thiệu: PLD, CPLD và FPGA là các vi mạch số có thể lập trình được. Do đó, trước khi đi sâu vào vi mạch số lập trình người học phải được trang bị những kiến thức tổng quan về các vi mạch số có thể lập trình được.
Mục tiêu: - Giải thích được sự cần thiết và ý nghĩa trong thiết kế logic của họ PLDs, CPLDs, FPGA - Trình bày cấu tạo, ý nghĩa thực tế của việc sử dụng mảng logic lập trình được trong các yêu cầu thiết kế phức tạp. - Phân biệt cấu tạo logic giữa các họ PLDs, CPLDs, FPGA. - Nêu phạm vi ứng dụng của các họ PLD, CPLD, FPGA. - Phân biệt sự khác nhau giữa PLD với CPLD và FPGA.
- Cách xác định và lựa chọn linh kiện trong thiết kế logic Nội dung chính: 1. Lịch sử phát triển: Mục tiêu: khái quát cho người học nắm rõ lịch sử phát triển của vi mạch khả trình. Vi mạch khả trình gồm các dạng sau: SPLD (Simple Programmable Logic Device) bao gồm các loại IC khả trình PROM, PAL, PLA, GAL. Đặc điểm chung của nhóm IC này là chứa số lượng cổng tương đương vài chục (PROM) đến vài trăm (PAL, GAL) cổng.
CPLD (Complex Programmable Logic Device) là IC khả trình phức tạp thường được ghép từ nhiều SPLD trên một chip đơn. Số lượng cổng tương đương của CPLD đạt từ hàng nghìn đến hàng chục nghìn cổng. FPGA (Field – Programmable Gate Array) là IC khả trình được cấu trúc từ mảng các khối logic lập trình được. PROM (Programmable Read – Only Memory) được phát minh bởi Wen Tsing Chow năm 1956 khi làm việc tại Arma Division của công ty American Bosch Arma tại Garden, New York.
PROM được chế tạo theo đơn đặt hàng từ 11 lực lượng không quân Mỹ lúc bấy giờ với mục đích có được một thiết bị lưu trữ các tham số về mục tiêu một cách an toàn và linh động. Thiết bị này dùng trong máy tính của hệ thống phóng tên lửa Atlas E/F và được giữ bí mật trong vòng vài năm trước khi Atlas E/F trở nên phổ biến. PROM là vi mạch lập trình đầu tiên và đơn giản nhất trong nhóm các vi mạch bán dẫn có thể lập trình được (PLD – Programmable Logic Device). PAL (Programmable Array Logic) ra đời cuối những năm 1970.
Cấu trúc của PAL kế thừa cấu trúc của PROM, sử dụng hai mảng logic nhưng nếu như ở các PROM mảng OR là mảng lập trình được thì ở PAL mảng AND lập trình được, còn mảng OR được gắn cứng, nghĩa là các thành phần tích có thể thay đổi nhưng tổ hợp của chúng sẽ cố định, cải tiến này tạo sự linh hoạt hơn trong việc thực hiện các hàm khác nhau. Ngoài ra cấu trúc PAL còn phân biệt với PROM là ở mỗi đầu ra của mảng OR lập trình được được dẫn bởi khối logic gọi là Macrocell. PLA (Programmable Logic Array) ra đời năm 1975, và là chip lập trình thứ hai sau PROM. Cấu trúc của PLA không khác nhiều so với cấu trúc của PAL, ngoại trừ khả năng lập trình ở cả hai ma trận AND và OR.
Nhờ cấu trúc đó mà PLA có khả năng lập trình linh động hơn, nhưng bù lại tốc độ của PLA thấp hơn nhiều so với PROM và PAL và các sản phẩm cùng loại.