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.. 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ì để
Trang 1CÁC THIẾT BỊ LOGIC LẬP TRÌNH
Trang 2 Các chọn lựa cho việc thực hiện mạch:
Trang 3 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.
Trang 4Hì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 …
Trang 5 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ì.
Trang 6 Caàu chì nghòch (antifuse)
Hình 3.4 Coâng ngheä caàu chì nghòch.
Trang 7 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.
Trang 8 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.
Trang 9 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.
Trang 10 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
Trang 11 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.
Trang 12 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.
Trang 13 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
Trang 14 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.
Trang 15 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.
Trang 16 Ví dụ 3.4: (tt) cần 14 số hạng tích (cho cả 2 trường hợp) → 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.
Trang 17 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.
Trang 18 Bài tập: Xác định hàm F1 và F2 trong cài đặt PLA hình sau:
Hình 3.17
Trang 19 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.
Clock
Y1 Yk
X1 X2
Trang 20
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 đồ.
Trang 21 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
Trang 22 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.
Trang 23 Ví dụ 3.7: Thực hiện các hàm sau dùng PAL được cho trên
Trang 24 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:
Trang 25 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:
Trang 26Giới thiệu một số loại PAL:
Trang 30 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.
Trang 31Hình 3.29 Sơ đồ logic của GAL 16V8C (cấu hình “Complex”).
Giới thiệu một số loại GAL:
Trang 32Hình 3.30 Sơ đồ logic của GAL 16V8R (cấu hình “Registered”).
Trang 34 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.
Trang 35Hình 3.33 Cấu trúc một phần của CPLD.
Trang 36Hì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
Trang 37Hình 3.34b Cấu trúc LAB của Altera Max 7000 series.
Giới thiệu một số loại CPLD
Trang 38Hình 3.34c Cấu trúc macrocell của Altera Max 7000 series.
Giới thiệu một số loại CPLD
Trang 39Hình 3.35a Cấu trúc CPLD Xilinx XC9500 series.
Giới thiệu một số loại CPLD
Trang 40Hì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
Trang 41Hì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
Trang 42Hình 3.35d Caáu truùc khoái I/O cuûa Xilinx XC9500 series.
Trang 43 FPGA không chứa các mảng AND và OR mà nó cung cấp các
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.
Trang 44 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.
Trang 45Hình 3.38 LUT 3 ngõ vào.
Trang 46Hình 3.39 Một phần của FPGA được lập trình
Trang 51Hình 3.41b Cấu trúc khối LAB và LE của Altera Flex 8000 series.
Trang 52 Tham khảo giáo trình (trang 92-100)
Trang 53Q&A