(NB) Giáo trình vi mạch số lập trình được biên soạn nhằm đáp ứng nhu cầu giảng dạy và học tập của thầy, trò trường cao đẳng nghề công nghiệp Hà Nội. Nội dung giáo trình được phát triển dựa trên chương trình đào tạo mô đun vi mạch số lập trình, nghề Điện tử công nghiệp. Nội dung giáo trình bao quát toàn bộ chương trình đào tạo đồng thời hướng tới mục tiêu hình thành và phát triển năng lực thực hiện hoạt động nghề nghiệp cho người học. Dạy học tích hợp được lựa chọn trong giáo trình nhằm tạo ra các tình huống liên kết tri thức các môn học, đó là cơ hội phát triển các năng lực của sinh viên.
TRƯỜNG CAO ĐẲNG NGHỀ CÔNG NGHIỆP HÀ NỘI -Biên soạn: Trần Thanh Bình GIÁO TRÌNH VI MẠCH SỐ LẬP TRÌNH LỜI NĨI ĐẦU Giáo trình vi mạch số lập trình biên soạn nhằm đáp ứng nhu cầu giảng dạy học tập thầy, trị trường cao đẳng nghề cơng nghiệp Hà Nội Nội dung giáo trình phát triển dựa chương trình đào tạo mơ đun vi mạch số lập trình, nghề Điện tử cơng nghiệp Nội dung giáo trình bao qt tồn chương trình đào tạo đồng thời hướng tới mục tiêu hình thành phát triển lực thực hoạt động nghề nghiệp cho người học Dạy học tích hợp lựa chọn giáo trình nhằm tạo tình liên kết tri thức mơn học, hội phát triển lực sinh viên Khi xây dựng tình vận dụng kiến thức, Hà Nội 2012 Giáo trình vi mạch số lập trình biên soạn nhằm đáp ứng nhu cầu giảng dạy học tập thầy, trị trường cao đẳng nghề cơng nghiệp Hà Nội Nội dung giáo trình phát triển dựa chương trình đào tạo mơ đun vi mạch số lập trình, nghề Điện tử cơng nghiệp Nội dung giáo trình bao qt tồn chương trình đào tạo đồng thời hướng tới mục tiêu hình thành phát triển lực thực hoạt động nghề nghiệp cho người học Dạy học tích hợp lựa chọn giáo trình nhằm tạo tình liên kết tri thức mơn học, hội phát triển lực sinh viên Khi xây dựng tình vận dụng kiến thức người học phát huy lực tự lực, phát triển tư sáng tạo (kiến thức, kỹ năng, thái độ nghề nghiệp) Giáo trình tập trung vào ứng dụng cụ thể vi mạch số EPM7128LSC84-15 hãng ALTERA loại vi mạch số sẵn có thị trường Việt Nam Mặc dù nhóm biên soạn cố gắng phát triển giáo trình cho phù hợp gần gũi với sinh viên cao đẳng nghề Điện tử công nghiệp, Điện công nghiệp Điện tử dân dụng chắn cịn nhiều thiếu sót Chúng tơi mong nhận ý kiến đóng góp bạn đọc đồng nghiệp để giáo trình hồn thiện Mọi ý kiến xin gửi về: Trường cao đẳng nghề Công nghiệp Hà Nội, 131 Thái Thịnh, Đống Đa, Hà Nội NHÓM TÁC GIẢ Tuyên bố quyền Tài liệu loại giáo trình nội dùng nhà trường với mục đích làm tài liệu giảng dạy cho giáo viên học sinh, sinh viên nên nguồn thơng tin tham khảo Tài liệu phải trường Cao đẳng nghề Công nghiệp Hà Nội in ấn phát hành Việc sử dụng tài liệu với mục đích thương mại khác với mục đích bị nghiêm cấm bị coi vi phạm quyền Trường Cao đẳng nghề Công nghiệp Hà Nội xin chân thành cảm ơn thông tin giúp cho nhà trường bảo vệ quyền Địa liên hệ: Trường Cao đẳng nghề Công nghiệp Hà Nội 131 – Thái Thịnh – Đống Đa – Hà Nội Điện thoại: (84-4) 38532033 Fax: (84-4) 38533523 Website: hnivc.edu.vn MỤC LỤC LỜI NÓI ĐẦU Tuyên bố quyền TỪ VIẾT TẮT DÙNG TRONG GIÁO TRÌNH BÀI GIỚI THIỆU CHUNG VỀ VI MẠCH SỐ LẬP TRÌNH 1.1 Lịch sử phát triển vi mạch số lập trình 1.2 Giới thiệu phần mềm hỗ trợ 12 BÀI MẢNG LOGIC LẬP TRÌNH 15 2.1 Giới thiệu 15 2.2 Cấu trúc họ vi mạch lập trình (PLD) 15 2.3 Thực hành thiết kế Multiplexer MAX7000S 38 BÀI NGÔN NGỮ VHDL VÀ ABEL 51 3.1 Ngôn ngữ VHDL (VHSIC Hardware Description Language) 51 3.1.1 Giới thiệu VHDL 51 3.1.2 Giới thiệu công nghệ ứng dụng thiết kế mạch ngôn ngữ VHDL 52 3.2.3 Cấu trúc mã 56 3.2.5 Toán tử thuộc tính 81 3.2.6 Mã song song 88 3.2.7 Mã 102 3.2.8 Signal Variable 123 3.2.9 Máy trạng thái 141 3.2.10 Thực hành thiết kế mạch 161 3.2 Ngôn ngữ ABEL 190 3.2.1 Giới thiệu 190 3.2.2 Cấu trúc chung file nguồn ABEL 191 3.2.3 Các phát biểu (Statements) 191 3.2.4 Các khai báo (Declarations) 196 3.2.5 Các khai báo khác (OTHER DECLARATIONS) 197 3.2.6 Các toán tử (OPERATORS) 199 BÀI PHẦN MỀM ISP SYNARIO VÀ QUARTUS II 203 4.1 Phần mềm Quartus II 203 4.1.1 Giới thiệu phần mềm 203 4.1.3 Cách nạp chương trình cho Quartus II 212 4.2 Phần mềm ISP Synario 221 4.2.1 Giới thiệu 221 4.2.2 Khởi động Synario 221 BÀI HỌ CPLD 227 5.1 Giới thiệu chung 227 5.2 Vi mạch CPLD (EPM7128) 229 5.2.1 Sơ đồ chân EPM7128 230 5.2.2 Sơ đồ cấu trúc EPM7128 230 5.2.3 Điều kiện hoạt động EPM7128 234 Thực hành KIT CPLD 238 5.3.1 Các mạch điện thí nghiệm CPLD 238 5.3.2 Cách nạp chương trình cho EPM7128 242 5.2.2 Viết chương trình, biên dịch nạp 246 5.2.3 Thiết kế cổng logic 252 5.2.4 Thiết kế cộng đầy đủ 262 5.2.5 Triger DFF 271 5.2.7 Led 281 5.2.8.Ma trận phím 291 5.2.9 Điều khiển LCD CPLD KIT 302 TÀI LIỆU THAM KHẢO 321 TỪ VIẾT TẮT DÙNG TRONG GIÁO TRÌNH Tên đầy đủ Programmable Logic Device/Complex Programmable Logic Devic PAL Assembler Programmable Logic Analysis Harris Enhanced Language for Programmable Logic Programmble Logic Programming Language Assembler for Programmable Electrically Erasable Logic Intel Programmable Logic Devolopmemt System II) Universal Compiler for Programmable Logic Advanced Boolean Expression Language Programmable Read Only Memory Field Programmable Logic Array Field Programmable Logic Sequencer Field Programmable Gate Array Programmable Array Logic Generic Array Logic Programmable Electrially Erasable Logic Programmable Macro Logic Logic Cell Array Erasable Programmable Amplication Specific IC Timing and Con trol Program Store Enable Address Latch Enable External Access Reset Bus liệu Bus địa Bus điều khiển Large Scale Integrated Very Large Scale Integrated Itty Bitty Processor Khả trình lần Input- Output Viết tắt PLD/CPLD PALASM2 PLAN HELD PLPL APEEL IPLDS II CUPL ABEL PROM FPLA FPLS FPGA PAL GAL PEEL PML LCA ERASIC Bộ điều khiển logic PSEN ALE EA RST Data bus Address bus Control bus LSI VLSI IBP OTP IO Tên đầy đủ Automated Map and Zap Equations Universal Compiler for Programmable VHSIC Hardware Description Language Very High Speed Intergrated Circuit Advanced Boolean Equation Language Viết tắt AMAZE CUPL VHDL VHSIC ABEL BÀI GIỚI THIỆU CHUNG VỀ VI MẠCH SỐ LẬP TRÌNH Mục tiêu: + Kiến thức: - Giới thiệu lịch sử phát triển vi mạch số lập trình; - Giải thích cần thiết ý nghĩa thiết kế logic họ PLDs; - Giới thiệu phần mềm hỗ trợ vi mạch số lập trình; + Kỹ năng: - Nhận dạng phần mềm hỗ trợ lập trình cho vi mạch số lập trình; + Thái độ: - Rèn luyện tư kỹ thuật tác phong công nghiệp, Các thuật ngữ chuyên môn: Được giải thích chi tiết nội dung học Nội dung: A LÝ THUYẾT 1.1 Lịch sử phát triển vi mạch số lập trình Trước thời kỳ vi mạch số lập trình (Programmable Logic Device) đời, thiết kế logic số truyền thống bao gồm nhiều vi mạch TTL loại MSI SSI kết hợp lại để tạo hàm logic mong muốn Những nhà thiết kế dựa vào sách tra cứu vi mạch số để tìm hiểu thơng số kỹ thuật, sau định sử dụng vi mạch số cần thiết cho yêu cầu thiết kế họ Điều bất lợi việc thiết kế board sử dụng nhiều vi mạch, sửa chữa gặp nhiều khó khăn Vào năm 1975,cơng ty SIGNETICS giới thiệu vi mạch số lập trình khơng có nhớ 82S100 (hiện PLS100) gọi mảng logic lập trình trường (Field - Programmable Logic Array) Napoleon Cavlan, người gọi cha đẻ mạch logic lập trình, lúc nhà quản lý ứng dụng PLA Signetics thực hiểu sử dụng PLA phương pháp tốt để thiết kế thay đổi hệ thống số Trong đó, cơng ty Harris sớm giới thiệu PROM, họ trình bày triển vọng PROM ứng dụng vào số mạch logic Công ty National Semiconductor chế tạo mặt nạ lập trình cho PLA, cấu tạo gồm mảng AND lập trình kèm với mảng OR lập trình, cho phép thực tổ hợp tổng tích số hàm logic tiêu chuẩn Bằng cách kết hợp công nghệ PROM sử dụng nguyên tắc cầu chì với khái niệm PLA, Cavian thuyết phục nhà quản lý công ty Signetics để đưa dự án PLAvào sản xuất Vi mạch PLA 82S100, thành viên họ vi mạch IFL (Intergrated Fuse Logic) có hình dạng 28 chân Cấu trúc PLA gồm mảng AND lập trình mảng OR lập trình, cho phép thực tổ hợp logic tổng tích số đơn giản Kỹ sư John Martin Birkner người quan tâm đến PLA, ơng hiểu nhiều phương pháp thiết kế logic học trường không áp dụng nhiều công việc Do đó, vào năm 1975 ơng rời thung lũng Silicon để đến công ty Monolithic Memories (MMI), công ty chế tạo PROM vi mạch logic tiêu chuẩn Vì vậy, Birkner có điều kiện việc tìm hiểu PLA cơng nhận ưu điểm mạch logic lập trình đồng thời ông nhận khuyết điểm PLA có hai mảng lập trình Sau đó, Birkner đưa khái niệm vi mạch số lập trình, vi mạch tương tự FLA thay có hai mảng lập trình PAL (Programmable Array Logic ) có mảng AND lập trình theo sau mảng OR giữ cố định (khơng lập trình ) Như cổng OR có tích số cố định nối với ngõ vào nó, giảm kích thước vi mạch cho phép tín hiệu truyền nhanh cho phép thực tổ hợp logic PAL đóng vỏ 20 chân Sau thời gian thuyết phục nhà quản lý công ty MMI thấy rõ lợi điểm PAL đồng ý sản xuất Vi mạch thuộc họ PAL phổ biến PAL 16L8, PAL 16R4, PAL 16R6, PAL 16R8 Các vi mạch có thời gian truyền trì hỗn 35ns Mỗi vi mạch có ngõ 16 ngõ vào,trong ký tự L ký hiệu vi mạch biểu thị tổ hợp ngõ tác động mức thấp, ký tự R cho biết có 4, hay ghi ngõ tương ứng Sau thời gian khởi đầu chậm, cuối PAL thiết kế hệ thống thực Những cơng ty máy tính mini nhận thấy ưu điểm PAL cho phép họ giảm số board cần thiết để thực tốt yêu cầu thiết kế, công ty MMI chọn phương pháp sản xuất PAL công đoạn mặt nạ chế tạo theo yêu cầu khách hàng Vào lúc MMI lại giới thiệu họ vi mạch HAL (Hard Array Logic) để sản xuất chi tiết cho hãng Data General and Digital Equipment MMI thay đổi cách xếp cơng đoạn mặt nạ cầu chì thay vào lớp liên kết kim loại phù hợp yêu cầu thiết kế khách hàng Những chi tiết có nhiều lợi ích gồm mang lại kết tốt kiểm tra dễ dàng Đồng thời khách hàng lợi quan tâm đến lập trình kiểm tra chi tiết Điều mang lại cải tiến phương pháp chế tạo PAL, chấp nhận thị trường Vào năm 1978, MMI xuất sách hướng dẫn PAL Đó bước khởi đầu để PAL mở rộng giới người thiết kế mạch logic Ngồi sách hướng dẫn cịn trình bày danh sách chương trình gốc ngơn ngữ lập trình FORTRAN cho PALASM (PAL Assembler) phần mềm dành cho việc thiết kế mạch logic PAL PALASM biên soạn, định nghĩa logic cho khn thức Ngồi PALASM có khả mơ vận hành phương trình mạch logic theo nguyên tắc PAL Trong việc liên kết với nhà thiết kế để định rõ “vector kiểm tra”, PALASM thật phù hợp Tất đặc điểm PAL bao gồm việc khắc phục khuyết điểm PLA kết hợp với việc thúc đẩy sử dụng PAL mang đến kết tốt đẹp PAL nhanh chóng vượt qua họ vi mạch IFL công ty Signetics phổ biến thị trường, thuật ngữ PAL trở nên đồng nghĩa với PLD Trong lúc ấy, công ty Signetics tiếp tục phát triển họ IFL, vào năm 1977 Signetics giới thiệu họ vi mạch FPGA (Field Programmable Gate Array) 82S103, vào năm 1979 họ FPLS (Field Programmable Logic Sequencer) Họ FPGA có cấu tạo mảng AND mức đơn với ngõ vào lập trình cực tính ngõ cho phép thực hàm logic (AND, OR, NAND, NOR, INVERT), cấu trúc họ FPLS có chức FlipFlop để thực trạng thái hàm Đồng thời Signetics giới thiệu AMAZE (Automated Map and Zap Equations) chương trình biên dịch để hổ trợ cho vi mạch họ Tương tự, công ty chế tạo PLD khác lần lược giới thiệu phần mềm hỗ trợ họ Cả công ty Signetics MMI tiếp tục giới thiệu PLD để đáp ứng tính đa dạng theo yêu cầu thiết kế Vào năm 1980, mạch logic lập trình thừa nhận với phát triển tính đa dạng IFL PAL có nhiều giá trị cho người thiết kế Mặc dù khởi đầu thành cơng PLD, nhiên số nhà thiết kế quen với việc dùng PLD, số trường đại học đưa vi mạch logic lập trình vào khóa học thiết kế họ Tuy thế, kĩ thuật logic lập trình tiếp tục cải tiến vi mạch phát triển giai đoạn thứ hai giới thiệu vào năm 1983 Công ty Advance Micro Devices ( AMD) giới thiệu PAL22V10 với đặc điểm đặc biệt linh động cổng PLD 10 ngõ vào Mỗi cổng PLD có khả tổ hợp với ghi ngõ ngõ vào Cổng đệm ngõ ba trạng thái điều khiển tích số riêng cho phép vận hành hai chiều Tất ghi reset tự động trình tắt hay mở ghi có khả “đặt trước”, đặc điểm đặc biệt cho việc kiểm tra sau Với vi mạch mới, giới thiệu thường xuyên thị trường dẫn đến việc cần thiết phải có phần mềm hỗ trợ q trình sử dụng PLD để đạt hiệu cao Bob Osann nhận thấy cần thiết chương trình biên dịch PLD vạn dùng cho tất PLD công ty chế tạo khác Vào tháng 9/1983, Công ty Assisted Technology đưa phiên 1.01a chương trình biên dịch PLD có tên CUPL ( Universal Compiler for Programmable) Chương trình hỗ trợ cho 29 loại vi mạch, đời CUPL gây ý nhiều công ty chế tạo Công ty Data I/O, nhà chế tạo vi mạch lập trình lớn giới (EPROM, PROM, PLD), định phát triển phần mềm hỗ trợ cho riêng họ Năm 1984, Data I/O giới thiệu ABEL (Advanced Boolean Expression Language), chương trình biên dịch PLD có đặc điểm tương tự CUPL đầu tư tiếp thị nên nhà thiết kế chấp nhận Vì vậy, ABEL sớm theo kịp CUPL thị trường 10 i3