CHƯƠNG 1 CÁC THIẾT BỊ LOGIC LẬP TRÌNH ĐƯỢC Programmable Logic Device RAM= Random Access Memory bộ nhớ truy cập ngẫu nhiên ROM= Read Only Memory M= Mask Programmed được lập trình bằng
Trang 1CHƯƠNG 1
CÁC THIẾT BỊ LOGIC LẬP TRÌNH ĐƯỢC
(Programmable Logic Device)
RAM= Random Access Memory (bộ nhớ truy cập ngẫu nhiên)
ROM= Read Only Memory
M= Mask Programmed (được lập trình bằng che mặt nạ)
P = Programmable (lập trình được, khả lập trình)
EP = Erasable and Programmable
EEP = Electrically Erasable and Programmable (xóa và lập trình bằng điện) PLD = Programmable Logic Device
PLA = Programmable Logic Array (mảng logic lập trình được)
PAL = Programmable Array Logic (logic mảng lập trình được)
LCA = Logic Cell Array (Mảng tế bào logic)
Trang 2ROM (Read-Only Memory)
1 G IỚI THIỆU :
ROM là một mạch tổ hợp có m ngõ vào và n ngõ ra (hình 1.2) Các ngõ vào được gọi là các ngõ vào địa chỉ (address inputs) và thường được đặt tên là
A 0 , A 1 , , A m-1 Các ngõ ra được gọi là các ngõ ra dữ liệu (data outputs) và
thường được đặt tên là D 0 , D 1 , , D n-1
Hình 1.2 Cấu trúc cơ bản của ROM 2 m x n
Kích thước của ROM là 2 m x n (bit)
Nội dung của ROM chứa bảng chân trị của một hàm logic tổ hợp n ngõ vào, m ngõ ra: có m+n cột và 2 m hàng Bỏ qua các trì hoãn thời gian, các ngõ
ra dữ liệu của ROM ở mọi lúc là các bit ra của hàng trong bảng chân trị được chọn bởi các ngõ vào địa chỉ
Ví dụ: Bảng chân trị cho hàm tổ hợp có 3 ngõ vào và 4 ngõ ra
Trang 32 D ÙNG ROM THỰC HIỆN HÀM LOGIC :
Bảng 1.1 là bảng chân trị của bộ giải mã 2 sang 4 với điều khiển cực tính ngõ ra, hàm này có thể xây dựng bằng các cổng như ở hình 1.3
Hình 1.3 Bộ giải mã 2 sang 4 với điều khiển cực tính giá trị ra
Như vậy ta có 2 cách để xây dựng bộ giải mã : với các cổng rời, hoặc với ROM 8x4 mà chứa bảng chân trị như ở hình 1.4
Hình 1.4 Kết nối để xây dựng bộ giải mã 2 sang 4 dùng ROM 8x4
Chú ý:
• Vấn đề hoán vị các cột bit trong bảng chân trị của hàm cần ghi ROM
• Khi dùng ROM để chứa một bảng chân trị cho trước, các tín hiệu xuất
và nhập đọc từ phải sang trái trong bảng chân trị thường được gán vào các ngõ vào địa chỉ và ngõ ra dữ liệu của ROM với các nhóm theo thứ tự tăng dần
• Khi thiết kế dùng ROM ta cần xác định kích thước và bảng chân trị của
Trang 4Thí dụ :
Dùng ROM để thực hiện hàm nhân nhị phân không dấu cho 2 số 4 bit với nhau
Sử dụng ROM 2 8 x 8 (256 x 8) với kết nối như ở hình 1.5
Hình 1.5 Kết nối thực hiện nhân nhị phân không dấu dùng ROM 256x8
Nội dung ghi cho ROM (dạng file văn bản hex) như sau:
Địa chỉ: Tích số của 1x2
Trang 53 C ẤU TRÚC NỘI CỦA ROM:
Hình 1.6 là 1 sơ đồ ROM 8 x 4 tự tạo dùng bộ giải mã TTL và các diode
Mỗi đường ra bộ giải mã được gọi là đường từ (word line) bởi vì nó chọn
một hàng hoặc một từ của bảng chứa trong ROM
Mỗi đường thẳng đứng được gọi là đường bit (bit line) bởi vì nó tương
ứng với 1 bit ra của ROM
Hình 1.6 ROM 8 x 4 đơn giản
Nhận xét: Có diode thì tương ứng ngõ ra ở → mức 0; còn không có diode thì ngõ ra tương ứng ở mức 1
Trang 6Giải mã 2 chiều
Ví dụ : ROM 128x1
Hình 1.8 Cấu trúc của ROM 128 x 1 dùng giải mã 2 chiều
Hình 1.9 Bố trí có thể có của ROM 32K x 8
Trang 7C ÁC KIỂU ROM THÔNG DỤNG :
Hình 1.10 Các ký hiệu logic cho các EPROM chuẩn với dạng DIP 28 chân
Hình 1.11 Cấu trúc ROM nội và tác dụng của các ngõ vào điều khiển
Ngõ ra của ROM thường phải được nối vào một bus 3 trạng thái ở đó các thiết bị khác có thể lái bus ở các thời điểm khác Do đó, ROM có ngõ điều
khiển “output enable” (OE : cho phép xuất) và ngõ vào chip select (CS: chọn
chip)
Trang 8PLD (Programmable Logic Device)
1.1 Dãy logic lập trình được (PLA – Programmable Logic Array)
PLA thực hiện cùng chức năng cơ bản như ROM Một PLA với n input và m output (Hình 1.18) có thể cài đặt m hàm của n biến Tổ chức nội của PLA gồm dãy AND và dãy OR
Hình 1.18 Cấu trúc PLA (PLA n x m với p số hạng tích)
Thí dụ: Tổ chức nội của PLA 3x2 với 4 số hạng tích:
Hình 1.19 PLA với 3 ngõ vào, 4 số hạng tích và 2 ngõ ra
Trang 9Bảng PLA của PLA ở trên :
vào
Ngõ ra (T) (C)
Trang 101.2 Logic dãy lập trình được (PAL-Programmable Array Logic)
PAL là trường hợp đặc biệt của PLA mà trong đó dãy AND lập trình được và dãy OR là cố định Cấu trúc cơ bản của PAL thì giống như PLA ở hình 1-18 Bởi vì chỉ có dãy AND là lập trình được, do đó PAL ít mắc tiền hơn các PLA tổng quát hơn,và dễ lập trình PAL hơn Vì lý do này, các nhà thiết kế logic thường sử dụng các PAL để thay thế các cổng logic khi phải cài đặt nhiều hàm
(a) Chưa lập trình
(b) Được lập trình
Hình 1.21 Một đoạn PAL
Chú ý :
Trang 11Phần lớn các nhà sản xuất PAL có chỉ ra thiết kế nội của PAL ở ký hiệu tên của nó Thí dụ: PAL16L8B4 có 16 là số ngõ vào; L chỉ cấu trúc ngõ ra (tích cực thấp); 8 là số ngõ ra; B là tốc độ và 4 chỉ tiêu tán công suất
+ Với cấu trúc ra, thí dụ như :
H: (High) chỉ ngõ ra tích cực cao (acitve high)
L : (Low) chỉ ngõ ra tích cực thấp (active low)
C : (Complement) chỉ ngõ ra có cả 2 đường tích cực cao và thấp + Tốc độ : A = tốc độ cao; B = tốc độ rất cao; và D = tốc độ cực cao + Tiêu tán công suất: để trống chỉ đầy đủ; 2 chỉ 1/2; 4 chỉ 1/4
Hình 1.22 Thí dụ một số cấu trúc ngõ ra
Thí dụ: 10H8, 12H6, 18L4, 20L2, 16C1, 20C1
Trang 122 PLD TUẦN TỰ ( SEQUENTIAL PLD)
Phần lớn các thiết kế số cần các flipflop, do đó người ta thiết kế thêm các PLD có chứa các flipflop Các PLD như vậy thường được gọi là PLD có
thanh ghi (registered PLD) hay PLD tuần tự (sequential PLD), thường thì
thanh ghi được ra từ các D flipflop
Hình 1.24 Một đoạn của PAL tuần tự
Các dấu X trên sơ đồ chỉ sự cài đặt phương trình trạng thái kế:
Q + = D = A’BQ’ + AB’Q Ngõ ra flipflop được nối vào 1 bộ đệm đảo 3 trạng thái mà được cho phép khi EN=1
Bảng 1.10 chỉ các đặc tính của một số PAL tuần tự thông dụng
Bảng 1.10 Đặc tính của các PAL tuần tự
Kiểu Số ngõ vào Số ngõ vào Số cổng AND
(trực tiếp+hồi tiếp +I/O) (flip-flop +I/O) trên cổngOR
Ghi chú: * 3 với các ngõ ra tổ hợp, 2 cho các ngõ vào D flipflop
Mỗi PAL này chứa 1 thanh ghi có từ 4 đến 10 D flipflop 6 PAL đầu trong bảng tương tự với 16R4 (16R4 có 1 dãy cổng AND với 16 ngõ vào, và có
4 D flipflop)
Trang 13Ba PAL cuối trong bảng 1.10 chỉ các “XOR PAL” XOR PAL có 1 cổng XOR lái mỗi ngõ vào D flipflop như ở hình 1.26 Trong các PAL này, mỗi cổng XOR được lái bằng 2 cổng OR và mỗi cổng OR được lái bằng 2 cổng AND Các ngõ ra flipflop có thể được hồi tiếp về các ngõ vào của cổgn AND như trong các PAL có thanh ghi khác Dạng tổng quát của phương trình trạng thái kế cho mỗi flipflop trong XOR PAL là
Q + = D = ( P1 + P2) ⊕ (P3 + P4)
Hình 1.26 Một đoạn của XOR PAL
Trang 14T HIẾT KẾ HỆ TUẦN TỰ ĐỒNG BỘ
k : trạng thái kế tiếp của FF
Trạng thái kế tiếp = F (trạng thái hiện tại Q i và các ngõ vào X j )
Giá trị ngõ ra = G (trạng thái hiện tại Q i và các ngõ vào X j )
Clock
Trang 15Để biểu diễn mối quan hệ giữa trạng thái kế tiếp, các ngõ ra phụ thuộc vào trạng thái hiện tại và các ngõ vào, người ta sử dụng bảng trạng thái và giản đồ trạng thái
* Bảng trạng thái (State Table):
* Giản đồ trạng thái (State Graph):
Khi thay đổi giá trị ngõ vào thì giá trị ngõ ra cũng thay đổi nhưng trạng thái hiện tại giữ nguyên không đổi cho tới khi có xung clock
Trang 16
b Kiểu MOORE:
Trạng thái kế tiếp = F (trạng thái hiện tại Q i và các ngõ vào X j )
Giá trị ngõ ra = G (trạng thái hiện tại Q i )
Trang 17* Bảng trạng thái (State Table):
Trang 182 Rút gọn bảng trạng thái:
Với hệ tuần tự có m trạng thái, ta sử dụng n FF theo công thức sau:
Vd1: Rút gọn bảng trạng thái sau
Trang 19* Phương pháp rút gọn bằng bảng kéo theo (Implication Table):
- Thành lập bảng kéo theo: mỗi ô vuông là 1 cặp trạng thái <i-j>
- Lập các nhóm có thể tương đương (có giá trị ra giống nhau): ta có 2 nhóm (A, B, D, G) và (C, E, F, H)
- Tại các ô vuông ta điền các điều kiện tương đương nếu 2 trạng thái cùng nhóm và điền dấu X nếu khác nhóm
E D
C
B
A
D-F C-H
A
B
A C
Trang 20- Kiểm tra các ô từ trên xuống, từ trái sang phải nếu không tương thì điền dấu X Thực hiện bước này cho tới khi không còn ô có dấu X
- Các ô còn lại sẽ là các cặp trạng thái tương đương
E D
C B
A
D-F C-H
C-E
B-D C-H B-F
A-F E-H
A-D
E-F B-D
C-E D-G
A-B E-H
C-F A-B
C-E
B-D C-H B-F
A-F E-H
A-D
E-F B-D
C-E D-G
A-B E-H
C-F A-B
A-G C-F
B-G
Trang 213 Các bước thiết kế:
- Từ bài toán thành lập giản đồ trạng thái hoặc bảng trạng thái
- Rút gọn bảng trạng thái
- Gán trạng thái và thành lập bảng giá trị của hệ
Ngõ vào Trạng thái hiện tại Ngõ ra Trạng thái kế tiếp
- Thực hệ tuần tự bằng FF (D-FF, T-FF, JK-FF) và mạch tổ hợp (cổng logic, ROM, PLA, )
Vd: Thực hiện hệ tuần tự đồng bộ có bảng giá trị sau:
Hệ có 4 trạng thái ta sử dụng 2
FF Q1, Q2 với phép gán trạng thái sau:
0 1
1 S 4 S 3
Q1 Q2
Trang 22* Thực hiện bằng ROM và T-FF kích cạnh lên:
* Thực hiện bằng JK-FF và cổng hoặc PLA:
Ta có biểu thức rút gọn của ngõ ra Z và các ngõ vào FF:
Trang 23Bảng nạp PLA
Trang 24Vd: Thiết kế bộ (chuyển) đổi mã từ BCD sang BCD quá 3 Ngõ vào và ra là
nối tiếp với LSB đi trước
Ta có bảng sau :
* Thành lập bảng trạng thái
T/thái kế X=0 1
Trang 25* Bảng trạng thái được rút gọn của bộ chuyển đổi mã
Thời gian
Trạng thái hiện tại
Trạng thái kế X=0 1
Giá trị ra (Z) X=0 1
* Thiết kế dùng cổng logic và JK-FF:
Do có 7 trạng thái ta sử dụng 3 FF để thực hiện việc gán trạng thái Ta có bảng gán trạng thái và bảng chuyển trạng thái
Thời
gian
T/thái hiện tại
K 3 = Q 2
Z = X' Q 3 ' + XQ 3
Trang 26* Thiết kế dùng ROM và D-FF:
T/thái
hiện tại
T/thái kế X=0 1
Trang 27* Thiết kế dùng PLA và D-FF
Thời
gian
T/thái hiện tại
Z = X’Q 3 ’ + XQ 3