Bài giảng môn kỹ thuật số 2 chương 3 các thiết bị logic lập trình
n Các công nghệ lập trình: n Cầu chì (fusible link) n Làm đứt (nóng chảy - blowing) cầu chì để ngắt một kết nối giữa các đường. n Chỉ có thể lập trình một lần. n Có thể tích hợp với mật độ rất cao.
Bạn đang xem trước 20 trang tài liệu Bài giảng môn kỹ thuật số 2 chương 3 các thiết bị logic lập trình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 3 CÁC THIẾT BỊ LOGIC LẬP TRÌNH 1. GIỚI THIỆU Các chọn lựa cho việc thực hiện mạch: 1. GIỚI THIỆU (tt) PLD là tên gọi chung cho các vi mạch số có thể lập trình để cung cấp các chức năng khác nhau. Một PLD có thể được xem như một “hộp đen” (black box). Hình 3.1 PLD như một hộp đen. 1. GIỚI THIỆU (tt) Hình 3.2 Một cấu trúc lập trình đơn giản. Có thể chia thành 3 họ PLD chính: SPLD (Simple PLD), CPLD (Complex PLD) và FPGA (Field Programmable Gate Array). SPLD: ROM, PLA, PAL, GAL … CPLD FPGA 1. GIỚI THIỆU (tt) Các công nghệ lập trình: Cầu chì (fusible link) Làm đứt (nóng chảy - blowing) cầu chì để ngắt một kết nối giữa các đường. Chỉ có thể lập trình một lần. Có thể tích hợp với mật độ rất cao. Hình 3.3 Công nghệ cầu chì. 1. GIỚI THIỆU (tt) Cầu chì nghịch (antifuse) Hình 3.4 Công nghệ cầu chì nghịch. 1. GIỚI THIỆU (tt) Công nghệ EPROM-Based Các transistor nMOS được dùng để chuyển mạch cho các kết nối giữa các đường. Có thể tích hợp với mật độ tương đối cao. Hình 3.5 Công nghệ EPROM-Based. a. PROM b. EPROM 1. GIỚI THIỆU (tt) Công nghệ SRAM-Based Một bit bộ nhớ sẽ điều khiển một phần tử chuyển mạch. Có thể lập trình hay lập trình lại trên mạch (in-circuit programming). Không giữ thông tin khi tắt nguồn (volatile). Hình 3.6 Công nghệ SRAM-Based. 2. THIẾT KẾ MẠCH DÙNG PLA (Programmable Logic Array) Bao gồm hai tầng cổng logic: một mảng cổng AND lập trình theo sau là một mảng cổng OR lập trình. Các thông số: Số ngõ vào (n) Số ngõ ra (m) Số hạng tích (k) Hình 3.7 Cấu trúc tổng quát của một PLA. 2. THIẾT KẾ MẠCH DÙNG PLA (tt) Ví dụ 3.1: Hình 3.8 là sơ đồ chi tiết của một PLA nhỏ với 3 ngõ vào, 4 số hạng tích và 2 ngõ ra. Hình 3.8 Sơ đồ mức cổng của 1 PLA. Hình 3.9 Sơ đồ nguyên lý của PLA hình 3.8 2. THIẾT KẾ MẠCH DÙNG PLA (tt) Ngoài ra, cực tính ngõ ra cũng có thể lập trình bằng cách nối thêm một cổng EX-OR vào mỗi ngõ ra. Hình 3.10 Cấu trúc của PLA 4x8x4 với cực tính ngõ ra lập trình được. 2. THIẾT KẾ MẠCH DÙNG PLA (tt) Ví dụ 3.2: Thực hiện mạch cộng đủ dùng PLA 4x8x4 trên hình 3.10. Hình 3.11 Mạch cộng đủ dùng PLA. 2. THIẾT KẾ MẠCH DÙNG PLA (tt) Ví dụ 3.3: Thực hiện hàm sau dùng PLA 4x8x4 trên hình 3.10: Hình 3.12 Mạch cho ví dụ 3.3 2. THIẾT KẾ MẠCH DÙNG PLA (tt) Ví dụ 3.3: (tt) Một cách khác để thực hiện hàm trên là rút gọn hàm trước. Hàm sau khi rút gọn: Hình 3.13 Mạch dạng khác cho ví dụ 3.3. 2. THIẾT KẾ MẠCH DÙNG PLA (tt) Trường hợp thực hiện nhiều hàm trên một PLA cố gắng dùng lại các số hạng tích trùng lặp các hàm có thể ở dạng không tối giản. Ví dụ 3.4: Xét bốn hàm 4 biến được mô tả ở hình 3.14: Hình 3.14 Các hàm cần thực hiện trên PLA. 2. THIẾT KẾ MẠCH DÙNG PLA (tt) Ví dụ 3.4: (tt) → cần 14 số hạng tích (cho cả 2 trường hợp) Hình 3.15 Lập trình với: (a) Các minterm; (b) Các thành phần rút gọn. 2. THIẾT KẾ MẠCH DÙNG PLA (tt) Ví dụ 3.4: (tt) Dùng chung các số hạng tích trùng lặp : Hình 3.16 Phủ bốn hàm với 11 thành phần tích. 2. THIẾT KẾ MẠCH DÙNG PLA (tt) Bài tập: Xác định hàm F1 và F2 trong cài đặt PLA hình sau: Hình 3.17 2. THIẾT KẾ MẠCH DÙNG PLA (tt) Trường hợp thực hiện mạch tuần tự: dùng PLA thực hiện mạch logic tổ hợp trạng thái kế tiếp và ngõ ra, kết hợp với các FF để làm các phần tử nhớ. Hình 3.18 Sơ đồ khối thực hiện mạch tuần tự dùng PLA và D-FF. 2. THIẾT KẾ MẠCH DÙNG PLA (tt) Ví dụ 3.5: Thực hiện ASM cho ở ví dụ 2.4 dùng PLA và D-FF: Hình 3.19 Dùng các biểu thức đơn giản hóa. Hình 3.20 Dùng trực tiếp các đường nối từ lưu đồ. 3. THIẾT KẾ MẠCH DÙNG PAL (Programmable Array Logic) Cấu trúc của PAL tương tự như PLA nhưng chỉ có mảng AND lập trình được, mảng OR thì cố định. Ưu điểm: Mảng OR nhanh hơn và nhỏ hơn Giá thành giảm Thường có sẵn các FF → các thiết kế mạch tuần tự. Khuyết điểm: Chức năng bị hạn chế Không thể dùng chung các số hạng tích. 3. THIẾT KẾ MẠCH DÙNG PAL (tt) Ví dụ 3.6: PAL với 3 ngõ vào, 2 ngõ ra và 4 số hạng tích như ở hình 3.21 thực hiện các hàm sau: Hình 3.21 Thực hiện hàm với PAL của ví dụ 3.6. 3. THIẾT KẾ MẠCH DÙNG PAL (tt) Ví dụ 3.7: Thực hiện các hàm sau dùng PAL được cho trên hình 3.22a: Hình 3.22 Thực hiện hàm với PAL của ví dụ 3.7. b) a) X X X 3. THIẾT KẾ MẠCH DÙNG PAL (tt) Trường hợp dùng PAL thực hiện mạch tuần tự: tương tự PLA. Ví dụ 3.8: Thực hiện mạch tuần tự Moore phát hiện chuỗi 101 dùng PAL và các D-FF: Hình 3.23 Thực hiện mạch tuần tự với PAL và D-FF của ví dụ 3.8. 3. THIẾT KẾ MẠCH DÙNG PAL (tt) Trường hợp dùng PAL thực hiện mạch tuần tự: tương tự PLA. Ví dụ 3.8: Thực hiện mạch tuần tự Moore phát hiện chuỗi 101 dùng PAL và các D-FF: Hình 3.23 Thực hiện mạch tuần tự với PAL và D-FF của ví dụ 3.8. 3. THIẾT KẾ MẠCH DÙNG PAL (tt) Hình 3.24 Sơ đồ logic của PAL 16L8. Giới thiệu một số loại PAL: 3. THIẾT KẾ MẠCH DÙNG PAL (tt) Hình 3.25 Sơ đồ logic của PAL 16R4. 3. THIẾT KẾ MẠCH DÙNG PAL (tt) Hình 3.26 Sơ đồ logic của PAL 16R6. 3. THIẾT KẾ MẠCH DÙNG PAL (tt) Hình 3.27 Sơ đồ logic của PAL 16R8. 3. THIẾT KẾ MẠCH DÙNG GAL (Generic Array Logic) GAL: có thêm các mạch phụ ở sau ngõ ra cổng OR cho phép lập trình với các cấu hình khác nhau → macrocell. Hình 3.28 Cấu trúc tiêu biểu của một macrocell. 3. THIẾT KẾ MẠCH DÙNG GAL (tt) Hình 3.29 Sơ đồ logic của GAL 16V8C (cấu hình “Complex”). Giới thiệu một số loại GAL: 3. THIẾT KẾ MẠCH DÙNG GAL (tt) Hình 3.30 Sơ đồ logic của GAL 16V8R (cấu hình “Registered”). 3. THIẾT KẾ MẠCH DÙNG GAL (tt) Hình 3.31 Sơ đồ logic của GAL 22V10. 4. GIỚI THIỆU VỀ CPLD Một CPLD gồm nhiều khối mạch trên 1 vi mạch đơn với các khối nối dây bên trong kết nối các khối mạch với nhau. Mỗi khối mạch thường có cấu trúc tương tự PLA hay PAL. Hình 3.32 Cấu trúc của một CPLD. 4. GIỚI THIỆU VỀ CPLD (tt) Hình 3.33 Cấu trúc một phần của CPLD. 4. GIỚI THIỆU VỀ CPLD (tt) Hình 3.34a Cấu trúc CPLD Altera Max 7000 series. Giới thiệu một số loại CPLD LAB: Logic Array Blocks PIA : Programmable Interconnect Array 4. GIỚI THIỆU VỀ CPLD (tt) Hình 3.34b Cấu trúc LAB của Altera Max 7000 series. Giới thiệu một số loại CPLD 4. GIỚI THIỆU VỀ CPLD (tt) Hình 3.34c Cấu trúc macrocell của Altera Max 7000 series. Giới thiệu một số loại CPLD 4. GIỚI THIỆU VỀ CPLD (tt) Hình 3.35a Cấu trúc CPLD Xilinx XC9500 series. Giới thiệu một số loại CPLD 4. GIỚI THIỆU VỀ CPLD (tt) Hình 3.35b Cấu trúc khối tạo hàm (FB) của Xilinx XC9500. Giới thiệu một số loại CPLD 4. GIỚI THIỆU VỀ CPLD (tt) Hình 3.35c Cấu trúc khối phân phối số hạng tích và macrocell của Xilinx XC9500. Giới thiệu một số loại CPLD 4. GIỚI THIỆU VỀ CPLD (tt) Hình 3.35d Cấu trúc khối I/O của Xilinx XC9500 series. 5. GIỚI THIỆU VỀ FPGA FPGA không chứa các mảng AND và OR mà nó cung cấp các khối logic khả cấu hình CLB (Configurable Logic Block) để cài đặt các hàm mong muốn. Hình 3.36 Cấu trúc tổng quát của một FPGA. 5. GIỚI THIỆU VỀ FPGA (tt) Mỗi khối logic trong FPGA tiêu biểu có một số ít các ngõ vào và 1 ngõ ra. Có nhiều loại khối logic, loại thường được sử dụng nhiều nhất là bảng tra LUT (lookup table) chứa các ô nhớ lưu trữ (storage cell) dùng để cài đặt các hàm logic nhỏ. Hình 3.37 LUT 2 ngõ vào. 5. GIỚI THIỆU VỀ FPGA (tt) Hình 3.38 LUT 3 ngõ vào. 5. GIỚI THIỆU VỀ FPGA (tt) Hình 3.39 Một phần của FPGA được lập trình. 5. GIỚI THIỆU VỀ FPGA (tt) Hình 3.40a Cấu trúc khối CLB của Xilinx XC4000. Giới thiệu một số loại FPGA 5. GIỚI THIỆU VỀ FPGA (tt) Hình 3.40b Cấu trúc khối I/O của Xilinx XC4000. Giới thiệu một số loại FPGA 5. GIỚI THIỆU VỀ FPGA (tt) Hình 3.40c Cấu trúc khối kết nối của Xilinx XC4000. 5. GIỚI THIỆU VỀ FPGA (tt) Hình 3.41a Cấu trúc của FPGA Altera Flex 8000 series. Giới thiệu một số loại FPGA 5. GIỚI THIỆU VỀ FPGA (tt) Hình 3.41b Cấu trúc khối LAB và LE của Altera Flex 8000 series. Giới thiệu một số loại FPGA 6. THIẾT KẾ MẠCH DÙNG ROM Tham khảo giáo trình (trang 92-100). Q&A