Kỹ thuật số 2 (Hồ Trung Mỹ).pdf Kỹ thuật số 2 (Hồ Trung Mỹ).pdf Kỹ thuật số 2 (Hồ Trung Mỹ).pdf Kỹ thuật số 2 (Hồ Trung Mỹ).pdf
Trang 2DAI HOC QUOC GIA TP HO CHi MINH
Trang 3LOI NOI DAU
Chương 1 CÁC THIẾT BỊ LOGIC LẬP TRÌNH ĐƯỢC
Chuong 2 THIET KE MAY TRANG THAI BANG
LƯU BO MAY TRANG THAI
2.1 Luu dé may trang thai
2.2 Thanh lap luu dé SM
2.3 Cai đặt các lưu dé SM
Chương 3 HỆ TUẦN TU KHÔNG ĐỒNG BỘ
3.1 Phân tích hệ tuần tự không đồng bộ
4.4 Thiết kế hệ tổ hợp không có hazard
4.5 Hazard tat yéu
4.6 Cài đặt không cé hazard dung SR flipflop
Chuong 5 NGON NGU MO TA PHAN CUNG
Trang 4LOI NOI DAU
Với công nghệ IC hiện nay, người ta cang có khuynh hướng tích hợp nhiều hơn trong một IC Do do, chúng ta cần phải tìm hiéu vé chip có dung lượng lón lập trình được cũng như cách thiết
hế các mạch số còi đặt uào chúng Quyển sách này nhằm đáp ứng
các yêu câu trong uiệc tìm hiểu uùà thiết bế mạch số cho IC lập
trình được cũng như loại rời, đặc Diệt lò chú trọng hệ tuân tự đồng
bộ có đầu uào uà hệ tuân tự không đồng bộ
Nội dung quyển sách này gôm có ð chương như sơu:
Chương 1: Các thiết bị logic lập trình được - Trình bày các thiết bị logic lập trình được (PLD) tổng quát uà điển hình (PAL uà
PLA) cung véi cdc vi du ting dung PLD trong uiệc thiết kế hệ tổ
hợp uò hệ tuần tự
Chương 2: Thiết kế máy trạng thái bằng lưu đô máy trạng thái - Trình bòy kỹ thuật thiết kế hệ tuân tự đông bộ có ngõ uào
uới hai mé hinh may trang thai Moore va Mealy
Chuong 3: Hé tuân tu khéng đông bộ - Trình bày hỹ thuật thiết
kế hệ tuân tự không đông bộ dựa trên chế độ cơ bản uới hai mô
hình máy trang thai Moore va Mealy
Chuong 4: Hazard - Trinh bay vdn dé hazard trong viéc thiết
kế hệ tuân tự không đông bộ sau khi đã tránh được uấn đề chạy
đua va lap ving Tit do phat hién va khit hazard trong hé tudn tu
bhông đông bộ
Chương ð: Giới thiệu ngôn ngữ mô tả phân cứng (HDL) dùng
để thiết kế, mô phỏng uò thục hiện các hệ logic trên các chip PLD
vad FPGA.
Trang 5thuật số 9 ngành Điện tủ - Viễn thông uà các ngành có liên quan
như Tự động, Công nghệ thông tin, Cơ điện tử của các trường đại học hỹ thuật Người đọc phải biết hỹ thuật số cơ bản trước khi đọc
sách này
Rất mong quyển sách này giúp ích cho người đọc trong học
tập 0à nghiên cúu Chúc các bạn thành công 0à mong nhận được
các đóng góp để cho lần tái bản sẽ tốt hơn
Moi dong gop xin gui vé: Bộ môn Điện tử - Khoa Điện - Điện tử - Trường Đại học Bách khoa - Đại học Quốc gia TP HCM, 268 Lý Thường Kiệt, Q.10 TP HCM
Điện thoại: 08.68655159
Email: myht@hcemut.edu.vun
Tac gia
Hồ Trung Mỹ
Trang 6Chuong 1
CAC THIET Bi LOGIC LAP TRINH DUGC
Trong chương này chúng ta tim hiéu vé PLD (Programmable
Logic Device - Thiét bi logic lap trinh dugc) va ứng dung cua chung
trong việc thiết kế hệ tổ hợp và hệ tuần tự
Trước hết chúng ta xem lại về bộ nhớ bán dẫn và xem PLD được xếp trong nhóm nào
Tinh Động MROM PLA PAL LCA EPLD PEEL GAL
PROM PPLA EPROM EPLPAL EEPROM EEPPAL v6i: RAM - Random Access Memory (bộ nhớ truy cập ngẫu nhiên)
M - Mask Programmed (được lập trình bằng che mặt nạ)
P - Programmable (lap trinh dugc, kha lap trinh)
Trang 7
EP - Erasable and Programmable (xóa được và lập trình được)
EEP - Electrically Erasable and Programmable (xóa và lập trình bằng điện) PLD - Programmable Logic Device (thiét bi logic lap trinh dugc, thiét
bị khả lập trình) PLA - Programmable Logic Array (mảng logic lập trình được) PAL - Programmable Array Logic (logic mang lap trình được)
LCA - Logic Cell Array (mang té bao logic) Dung lượng bộ nhớ K được xác định bit ( = m.n với n là độ rộng từ dữ liệu; rn là số đường địa chỉ) và cũng theo byte (K/8) cho các độ rộng từ đữ liệu 8 hay 16 bịt
Vi du: N = 3 (bit dia chi) va n = 2 (bit dữ liệu)
Các bộ nhớ hàm chứa các hàm logic thay vì là các bảng Mỗi
hàm của bảng chân trị có thể được biểu diễn bằng hàm logic Viết đưới dạng tích chuẩn thì hàm logic của biến dạ ở hình 1.1 là:
dy = Gey doo + Ao Avaodig + + Az G1 Ao d79
= mọdoo + mìống + + m;yd¿g (với mị là mìnterm thứ ¿)
Nếu có ít diy = 1 thì dùng bộ nhớ hàm tiện lợi hơn
Các thiết bi lập trình dược PLD (Programmable Logic Deuice)
PLD là tên gọi tổng quát của một IC số mà người ta có thể lập trình được nó để cho nhiều loại hàm logic khác nhau Nó là một chip LSI chứa một cấu trúc mạch có gửi luật ("regular"), cho phép người thiết kế làm cho thích ứng với một ứng dụng cụ thể
Trang 8Các thiết bị logic lập trình được 9
Cấu trúc mạch “reguiar” trong PLD thông thường là một dãy
(array - dãy, mảng) hình chữ nhật các 6 nhé dong dang (identical celi) có thể lập trình từng 6 được
Các thiết kế dùng PLD thường nhỏ hơn và nhanh hơn các
tương đương SSL/MSI và chúng thường cũng rẻ hơn Và một điều
quan trọng là các PLD làm đơn giản hóa công việc của người thiết
kế logic Một PLD tương đương với một mạch SSLMB5I lớn hơn có thể thường được viết bằng “một” chương trình đơn giản, và có thể
dễ dàng sửa lỗi hoặc cải tiến tính năng
1.1 ROM - THIẾT KẾ HỆ TỔ HỢP VÀ HỆ TUẦN TỰ DÙNG ROM
1.1.1 ROM (Read-Only Memory)
ROM là một mạch tổ hợp có m ngõ vao va n ngo ra (H.1.2)
Các ngõ vào được gọi là các ngõ uào địa chí (address inputs) va thường được đặt tên là Áo, A1, , Am-1 Cac ngo ra được gọi là các ngõ
ra di lieu (data outputs) va thudng duge đặt tên là Dạ, Dị, , Dạ
ROM chứa bảng chân trị của một hàm logic tổ hợp m ngõ vào, ø ngõ ra Ví dụ bảng 1.1 là bảng chân trị của hàm tổ hợp 3 ngõ
vào, 4 ngõ ra; có thể chứa nó trong ROM 2°x4 (8x4) 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ỉ.
Trang 9Bang 1.1 Bảng chân trị của ham logic tổ hợp 3 ngõ vao, 4 ngo ra
- Có thể dùng ROM như bất cứ phần tử logic tổ hợp nàỏ
- ROM 1a b6 nhé khéng béec hoi (nonvolatile memory) vi nội
dung của nó vẫn giữ được ngay cả khi không cấp điện
1.1.2 Dung ROM cho các hàm logic tổ hợp “ngẫu nhiên” Bảng 1.1 thật sự 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 dung bằng các cổng như ở hình 1.3
Trang 10
Các thiết bị logic lập trình được 11
Như vậy ta có hai 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
- Vấn dé hoán vị các cột bit trong bảng chân trị của ham 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
Ví dụ: Dùng ROM để thực biện hàm nhân nhị phân không dấu cho 2 số 4 bit với nhau Nếu dùng mạch rời ta ding cdc IC
74284 và 74285, còn dùng ROM thi su dung ROM 2°x8 (256x8) với kết nối như ở hình 1.5
Trang 1121
24
27
2A 2D
30
34
38 3©
00
05 0A 0F
18
19 1E 23ˆ
28 2D
32
37 3C
41
46 4B
42
48 4E
54 5A
Tích số của 1x2
00
07 0E
36 3F
48
51 5A
63 6C
75 7E
46
50 5A
64 6E
78
82 8c
96
00 0B
58
63 6E
79
84
8F 9A A5
00 0C
18
24 3C 3C
48
54
60 6C
78
84
90 9C A8
B4
00 0D
1A
27
41
41 4E
5B
68
75
82 8F 9C A9 B6 C3
00 0E 1€ 2A
86
C4
D2
00 0F 1E 2D
4B
48 5A
E1
Người đọc thử thiết kế nhân hai số BCD dùng ROM với cách
1.1.3 Cấu trúc nội của ROM
Cơ chế các ROM dùng để lưu trữ thông tin thì thay đổi với các công nghệ ROM khác nhau Trong phần lớn các ROM, sự xuất hiện
hoặc vắng mặt của một điode hay transistor phân biệt giữa 0 và 1
Hình 1.6 là một sơ đồ ROM 8x4 tự tạo dùng bộ giải mã TL và
các diode Mỗi đường ra bộ giải mã được gọi lA dudng tit (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 trong hình 1.6 được gọi là đường bừ
(bit line) bởi vì nó tương ứng với 1 bịt ra của ROM.
Trang 12Các thiết bị logic lập trình được 13
D;
Hình 1.6 ROM 8x4 đơ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
Các MOS ROM thường dùng transistor thay vì diode ở mỗi vị
trí mà bit sẽ được lưu trữ Hình 1.7 cho thấy ý tưởng cơ bản này:
Dữ liệu đếm các
bộ đệm ra đảo
Hình 1.7 Các transistor MOS dùng làm các phân tử lưu trú trong ROM
Trang 13Chú ý:
Đôi lúc người ta vẽ đơn giản hơn
Đường từ (word line)
Mạch pS Phan tử chuyen mach
Hình 1.8 Cấu trúc của ROM 128x1 dùng giải ma hai chiều
Ngoài việc giảm tính phức tạp việc giải mã, việc giải mã hai
chiều có một thuận lợi khác là: nó dẫn đến một chip có kích thước vật lý gần vuông, điều này quan trọng cho chế tạo và đóng gói
(packaging) IC.
Trang 14Các thiết bi logic lập trình được 15
Trong các ROM có nhiều ngõ ra đữ liệu, các dãy lưu trữ tương ứng với mỗi ngõ ra đữ liệu có thể được làm hẹp hơn để đạt được bố trí chip gần với hình vuông hơn Ví dụ hình 1.9 cho thấy bố trí có
1.1.4 Các kiểu ROM thương mại
Bảng 1.2 Các hiểu ROM thương mạt
Kiểu Công nghệ | Chu kỳ đọc | Chu kỳ ghi Chú thích
Mask ROM NMOS, 25-500ns 4 tuần Ghi 1 lần; công suất thấp
CMOS
Mask ROM Bipolar <100ns 4 tuần Ghi 1 lần; công suất cao, mật độ
thấp PROM Bipolar <100ns 5 phut Ghi 1 lần; công suất cao, không
có mặt nạ
EPROM NMOS, 25-500ns 5 phút Dừng lại được; công suất thấp
CMOS EEPROM NMOS 50-500ns 1Oms/byte | Gidi han la 10000ghi/vi trí
Chú ý là số liệu trong bảng 1.2 chỉ mang tính chất tham khảo vì giá trị của chu kỳ đọc/ghi sẽ thay đối theo công nghệ chế tạo bộ nhớ
Các ROM thông dụng nhất là các EPROM: 2764, 27128,
27256 và 27512 với các ký hiệu logic ở hình 1.10.
Trang 15
Vec—— VPP Vec— VPP Veo VPP ¬ VPP
—Z1 A10 a A10 “HAI! saya
—^|A12 Hate —1^13 a3
204 Cs —= 13 A14 ai A14
doe 2o1 cs SOs 224 CS
Hình 1.10 Các ky hiệu logic cho các BPROM chuẩn
uới dạng DỊP 28 chân
Chú ý: :
- Nhãn Vcc phải nối với +5volt
- Nhãn VIH phải nối với tín hiệu logic HIGH hợp lệ
- Chân có nhãn Vpp dùng để đưa vào điện áp lập trình
Bang 1.3 Các 0í dụ EPROM
CMOS (VDD =5V,f=fmax)
16Kbit 2KX8 Cy7C291 Cy,Ws 250mW 35ns 24
Mi, Ne, Na
Am = AMD, At = Atmel, Cy = Cypress, Fu = Fujitsu, Hi = Hitachi, In = Intel
Mi = Mitsubishi, Na = National, Ne = NEC, Ti = Texas Instr, To = Toshiba,
Ws = Wafer scale
Trang 16Các thiết bi logic lập trình được 17
32Kx8 28HC256 At 350mW 70ns 28 1Mbit 128Kx8 280010 At, Se, Xi 300mW 300ns 32 1Mbit 64Kx16 | 28C1024 At 400mW 150ns 40
Bang 1.5 So sánh RAM & ROM theo hiéu sudt ghi va doc
1.1.5 Các ngõ vào điều khiển và định thì ROM
Các ngõ ra của ROM thường phải được nối vào một bus ba 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 đó, phần lớn các chip ROM thương mại có các ngõ ra dữ liệu 3 trạng thái và một ngõ điều khién “output enable” (OK - cho phép xuất) để cho phép các ngõ ra
Nhiều ứng dụng ROM, đặc biệt là lưu trữ chương trình có nhiều ROM được nối vào 1 bus, ở đó mỗi lần chỉ có 1 ROM lai bus Phần lớn các ROM có ngõ vào chip select (CS - chon chip) dé lam đơn giản việc thiết kế các hệ thống như vậy Ngoài OE ra, còn phải cần có CS để cho phép các ngõ ra ba trạng thái
Trang 17-Tuy nhién trong nhiéu ROM, CS ciing lam viéc như ngõ uào cốt `
nguôn cấp điện (potoer-douun input), khi CS ở mức bù (vi du /CS = 0
chọn, thì bù là /CS§ = 1) thì không cấp nguồn cho các decoder nội, các
driver và các multiplexer của ROM Ở chế độ chờ này (standby
mode) 1 ROM tiêu biểu tiêu thụ ít hơn 10% công suất được dùng
trong chế độ hoạt động (actiue mode) Hình 1.11 chỉ các ngõ vào CS
va OE được sử dụng như thế nào ở bên trong 1 ROM tiêu biểu
AO
Al
Am-1
Am Am+1
Hinh 1.12 Dinh thi ROM
[ hợpiẹ } hợp lệ
Trang 18Các thiết bị logic lập trình được 19
VỚI! ÍAA (Access time from address) - thời gian truy xuất tir dia chi cua ROM
là trì hoãn truyền từ lúc địa chỉ vào ổn định đến khi dữ liệu ra ổn định Khi
người thiết kế nói dùng ROM 200ns thì 200 ns để chỉ tham số này
tacs (Access time from chip select) - trì hoãn truyền từ lúc có xác nhận
CS đến khi đữ liệu ra hợp lệ Trong một số chip, tacs > taa
tog (Output enable time) (thudng tog < taaacs) 1a tri hoan truyén tt lic
OE và CS được xác nhận cho đến khi các mạch lái ba trạng thái ở ngõ ra
trong trạng thái tổng trở cao (hi-Z) Tùy theo các ngõ vào địa chỉ ổn định
đủ lâu, đữ liệu ra có thể hợp lệ hoặc không ở thời điểm này!
tọz (Output-disable từne) - trì hoãn truyền từ lúc OE hay CS bị bù cho đến
khi các mạch lái ba trạng thái ở ngõ ra đã vào trạng thái Hi-Z
tou (Output hold time) - dd dài thời gian mà các ngõ ra giữ hợp lệ sau khi
thay đổi các ngõ vào địa chỉ hoặc sau khi lấy bù /OE hay /ƠS
1.1.6 Thiết kế hệ tuần tự dùng ROM
Ta có thể thiết kế dễ dàng một hệ tuần tự dùng ROM và các
Flp-Flơp Ta có mô hình tổng quát của hệ tuân tự (mạng mealy)
dùng các D-FF có xung nhịp:
Phần tố hợp của hệ tuần tự có thể dùng ROM để thực hiện các
hàm ra (Z¡, Z¿, Z„) và các hàm trạng thái kế (Q¡, @;', , Q¿`)
Trạng thái của hệ được chứa trong một thanh ghi (tạo bằng các D F/
và đưa hồi tiếp về ngõ vào của ROM Nhu vay hé tuan tu mealy vdi m
input, n output va k bién trang thai c6 thé duge cai dat bang k D F/F
va ROM véi (m+k) input (nghĩa là 2m từ [worđ]) và (n+k) output
Người ta thích dùng D E/F hơn J-K F/E vì sử dung cdc F/F
với hai ngõ vào sẽ cân phải tăng số ngõ ra ở ROM Còn việc các
phương trình vào của D F/F tổng quát thì cần nhiều cổng hơn các
phương trình J-K thì không còn ý nghĩa ở đây vì kích thước của
ROM chỉ phụ thuộc vào số các ngõ vào và ngõ ra và không phụ
thuộc vào độ phức tạp của các phương trình được cài đặt
Trang 19
Q 1 D, Q 1 reo> CK Q; 2 D, Q 2 + CK
Q k D, Q k pect> CK
Ví dụ: Thiết kế bộ (chuyển) đổi mã từ BCD sang quá 3 Ngõ
vào và ra là nối tiếp với LSB đi trước
Bảng trên liệt kê các input và output mong muốn tại các thời
- điểm £o, É\, te và ta.
Trang 20-Cac thiét bi logic lập trình được Đi
Trước hết ta thành lập bảng trạng thái (bảng 1.6) và sau đó
sẽ rút gọn bảng dùng so các hàng giống nhau thì gom lại Khi so
các hàng chứa dấu gạch ngang (đây là trường hợp “don't care” thi
dấu gạch ngang sẽ khớp với bất cứ trạng thái nào hoặc với bất kỳ
giá trị ra nào Bằng cách so khớp các hàng theo cách này, ta có
H=I=J=KsL và M=zN=zP Sau khi khử I, J, K, L, N va P, ta thay
E=F=G va bang dugc thu gọn thành 7 hàng (bảng 1.7)
Bảng 1.6 Bảng trạng thái của bộ chuyển đổi mã
Thời
điểm
Chuỗi vào nhận được
(LSB được nhận đẩu tiên)
Trạng thái hiện tại
100
101 110:
Trang 21
Người ta có thể dùng một cách khác để suy ra bảng 1-6 bằng cách bắt đâu bằng giản đồ trạng thái Giản đồ trạng thái (H.1.14)
có dạng hình cây Mỗi đường bắt đầu trạng thái reset biểu điễn 1: trong 10 chuỗi vào có thể có
- Hình 1.14 Giản đồ trạng thái của bộ chuyển đổi mã
Thiết kế khéng ding ROM
Cân có ba flipflop để cài đặt bảng thu gọn vì có 7 trạng thái Mỗi trạng thái phải được gán vào một kết hợp duy nhất các trạng thái flipflop Ta có bảng gán trạng thái và bảng chuyển trạng thái
Trang 22
Các thiết bị logic lập trình được 23
Dùng các J-K flipflop, và sau khi lập các bảng Karnaugh và rút gọn (xem phụ lục), ta có:
Trang 23
Ta sẽ cài đặt bộ chuyển đổi mã này dùng ROM và các D FF
Ta có bảng trạng thái của bộ chuyển đổi được ghi lại ở bảng 1.8a
Vì có 7 trạng thái, nên cần 3 D F/F Như vậy cần ROM có 4 input (2! word) và 4 output như ở hình 1.17 Dùng gán nhị phân trực tiếp, ta có thể xây dựng bảng chuyển trạng thái (bảng 1.8b) cho trạng thái kế của các F/F như là hàm của trạng thái hiện tại và
input Vì ta đang dùng các D fñipflop, D¡=Q¡”, D¿=Q¿', và D;ạz=@Qg¿' Bảng chân tri cho ROM ở bảng 1.8c, xây dựng được dễ dàng từ
bảng chuyển trạng thái Như vậy các output của ROM (2Z,D¡,Da,Dạ)
là các hàm của các input của ROM (X,Q¡,Q;,Q¿) Ta có mạch kết
Trang 24Các thiết bị logic lập trình được 25
1.2 PLD TO HOP (Combinational PLD)
1.9.1 Dãy logic lập trình được (PLA)
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.1.18) có thể cài đặt m hàm của n biến
Tổ chức nội của PLA thì khác với tổ chức ROM
Hình 1.18 Cấu trúc PLA (PLA nxm uới p số hạng tích)
Ví dụ: Tổ chức nội của PUA 3x2 với 4 số hạng tích:
Trang 25
Mỗi hàng trong bảng PLA biểu diễn một số hạng tích tổng quát Do đó zero, một hoặc nhiều hàng có thể được chọn bởi mỗi kết hợp các giá trị vào
Có hai loại PLA: PLA lập trình mặt nạ và PLA lập trình
trường (field-progranưnable) |
- PLA lap trinh duge m&t na (mask-programmable) thi dugc
lap trinh lic ché tao ra (tuong tu PROM)
- PLA lap trinh trường có các nối kết cầu chi (fusible link) cé thé làm đứt để lưu trữ các mẫu trong các dãy AND và OR Một FPLA (Field Programmable Logic Array) tiéu biéu cé 16 input, 48
so hang t’ch va & mutput
Chú ý: Khi số biến vào nhỏ, thì tổng quát là ROM kinh tế
hơn dùng PLA Tuy nhiên khi số biến vào lớn, PLA thường cho
giải pháp kinh tế hơn ROM
Ví dụ: Để cài đặt 8 hàm theo 16 biến sẽ cần ROM có 65536 word (8 bit) -> có thể dùng nhiều ROM nhỏ hơn Nhưng với cùng chức năng như 8 hàm của 16 biến trên có thể cài đặt dùng một PLA miễn là tổng số các số hạng tích là nhỏ Nếu cần nhiều số hạng hơn thì có thể OR lại các output của nhiều PLA
Trang 26
Các thiết bị logic lập trình được 27
Biéu dién duoc đơn giản hóa
Kết nối cố định
ở nhà máy
D-=D
Cổng AND Không vẽ các điện trở
Kết nối lập trình được
Gác số hạng vào
AABB
Cầu chì còn nguyên _ X được đặt bên trong
cổng AND cũng biểu diễn các cầu chỉ còn nguyên Các số hạng vào
AABB
1 (Do các điện trở kéo lên)
Tất cả các cầu chỉ đút
đút
Biểu diễn được
đơn giản hóa
Kết nối bị đứt (sau khi lập trình)
Đị Đa Ðạ Pa -
0 (Do các điện
T † trỗ kéo xuống) -
Tất cả các cầu chỉ đút
Hình 1.20 Quy ước một số ký hiệu kết nối trong PLD
1.2.2 Logic dãy lập trình được (PAL - Programmable Array Logic) PAL là trường hợp đặc biệt của PUA 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 PUA 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
-_ Xem hình 1.21 cho thấy một đoạn PAL
Trang 27Hình 1.21 Một đoạn PAL - b) Được lập trình
_—— Phầ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ó
- Với cấu trúc ra, ví dụ như: _
H: (high) chi ngõ ra tich cue cao (acitve high)
L: (low) chi ngd ra tich cực thap (active low)
C: (complement) chỉ ngõ ra có cả hai đường tích cực cao
Trang 28Các thiết bị logic lập trình được 29
Trang 29
Xem thêm sơ đồ logic của PAL14L4 VÀ PAL12H6 ở phần phụ lục
Khi thiết kế với PAL, ta phải đơn giản hóa các phương trình
logic của ta và cố đưa chúng khớp vào 1 (hoặc nhiều) các PAL khả
dụng, không giống như các PLA tổng quát hơn, các số hạng AND không thể chia sé cho hai hay nhiều cổng OR Với một kiểu PAL cho trước, số số hạng AND (tích) đưa vào mỗi cổng OR ra là cố định và bị giới hạn Nếu số số hạng AND trong hàm được đơn giản là quá lớn
thì có thể chọn PAL có nhiều ngõ vào cổng hơn và ít ngõ ra hơn
Ví dụ: dùng PAL thiết kế mạch đổi 1 số nhị phân 4 bit sang
số hex và xuất mã ASCII 7 bit cho số hex
A6
~ Ta A5 input $6 Ma ASCII cho s6 ma hex
_ Hình 1.23 Bộ chuyển đổi nhị phân sang ASCII
g) Bảng chân trị, b) Sơ đô kết nối uới PAL
- Chú ý: Vì A5 = A4 và A6 = A4' nên chỉ cần dùng PAL tao ra 5
hàm của 4 biến (H.1.28b)
Để viết được bảng PAL ta phải rút gọn các hàm ra Bằng
cách dùng các bảng Karnaugh ta có kết quả sau:
Trang 30Các thiết bị logic lập trình được 31
Sau đó tìm các PAL thích hợp để cài đặt các hàm trên Sau khi tìm kiếm ta chọn được PAL 12H6, có một ngõ ra không dùng
Ta có thể viết lại phương trình cho A2 như sau:
.A2.= WX + (XZ + XY) =W'X + B với B = XZ + XY
Rồi ta có thể sử dụng ngõ ra thêm để tạo ra B và nối B vào một
trong các ngõ vào như được chi trong hình 1.28b Với cách này, ta có
thể tạo ra tất cả 5 hàm với một PAL không cần thêm logic khác
1.2.3 Thiết kế hệ tuần tự dùng PLA
Ta cũng có thể cài đặt các hệ tuần tự ding PLA va cdc ` flipflop theo cách tương tự như dùng ROM và các flipflop Tuy
nhiên trong trường hợp các PLA, phép gán trang thái có thể quan
trọng vì sử dụng phép gán tốt có thể giảm được số các số hạng tích
cần có và từ đó giảm được kích thước của PLA
Ví dụ: Xét cài đặt bảng trạng thái của bảng 1.8a (ở phần 1.1.6) dùng một PLA và D flipflop Cấu hình mạch thì giống như hình 1.17, ngoại trừ là ta thay thế ROM bằng 1 PLA với kích thước thích hợp Sử dụng phép gán nhị phân trực tiếp dẫn đến bảng chân trị được cho ở bảng 1.8c Ta có thể chứa bảng này trong
1 PLA có 4 ngõ vào, 13 số hạng tích và 4 ngõ ra, nhưng nó sẽ _ không cho thuận lợi hơn so với giải pháp ROM da ban ở phần
trước Nếu sử dụng phép gán trạng thái ở hình 1.15, phương trình
ra và các phương trình vào D fipfñop được suy từ các bảng trong
phần thiết kế không dùng ROM ở 1.16 là:
Trang 31trong bang 1.9, vi vay Z=1 va D,D2D3 = 010 Nếu giá trị vào kế là
X =1 thì hàng -01- được chọn, vì vậy Z = 0 và D;DạDạ = 100 Sau xung nhịp, Q:Q¿Qs = 100 Theo cách này ta có thể kiểm tra lại theo
bảng chuyển trạng thái ở hình 1.15
1.2.4 Thiết kế hệ tuần tự dùng PAL
Ding cdc PAL tổ hợp, cách thiết kế tương tự như với PLUA
nhưng phải chú ý rút gọn hàm ra
1.3 PLD TUAN TY (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 tudn tw (sequential PLD),
thường thì thanh ghi được ra từ các D flipflop Hình 1.24 cho thấy một đoạn của PAL tuần tự D flipflop được lái từ một cổng OR mà cổng này
có hai ngõ vào lấy từ cổng AND Ngõ ra flipflop được đưa hồi tiếp về day AND có thể được nối vào A, A', B, B, Q hay Q' Các dấu X trên sơ
đô chỉ sự cài đặt phương trình trạng thái kế:
Ngõ ra flipflop được nối vào một bộ đệm đảo ba trạng thái
mà được cho phép khi EN = 1.
Trang 32Các thiết bị logic lập trình được 38
Bảng 1.10 chỉ các đặc tính của một số PAL tuần tự thông:
dụng Mỗi PAL này chứa một thanh ghi có từ 4 dén 10D flipflop 6
PAL đầu trong bảng tương tự với 16R4 (16R4 có một dãy cổng
AND với 16 ngõ vào, và có 4D flipop)
Bảng 1.10 Đặc tính của các PAL tuần tự
Kiểu Số ngõ vào Số ngõ ra Số cổng AND
z (trực tiếp + hồi tiếp +l/O) (flip-flop +l/O) trên cổng OR
Trang 33
Ba PAL cuối trong bảng 1.10 chỉ các “XOR PAL” XOR PAL có một 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 hai cổng OR và mỗi cổng
OR được lái bằng hai 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 la:
Hình 1.26 Một đoạn của XOR PAL
Để minh họa sử dụng các XOR PAL, ta sẽ thiết kế một bộ đếm nhị phân 4 bit đếm lên/đếm xuống với ba ngõ vào điều khiển: U, D, và
L (U = Up = dém lên; D = Down = đếm xuống; L = Load = nạp) Khi
U = 1, bộ đếm được tăng thêm 1, khi D=1 bộ đếm bị giảm đi 1, và
khi L = 1 bộ đếm được nạp dữ liệu song song từ các ngõ vào dữ
liệu của nó (D;)
Bang 1.11 chỉ các trạng thái kế của bộ đếm cho U = 1 va cho
D =1 Ta sẽ giả sử rằng U = D = 1 không xảy ra
Trang 34Trước hết ta sẽ suy ra các phương trình trạng thái kế cho bộ
đếm lên Bộ đếm này sẽ tăng thêm 1 mỗi lần có xung nhịp khi Ù = 1,
và nó sẽ giữ nguyên trạng thái khi Ù = 0 Trong moi hang Qp # Qo’, vi
vậy flipflop Qẹ phải thay đổi trạng thái ở mọi xung nhịp khi = 1
Trang 35Chú ý, Q; thay đổi trạng thái chỉ khi Qọ = 0; Q; thay đổi
trạng thai chi khi Qi = Qo = 0
Tổng quát, để sử dụng “XOR PAL”, ta phải biểu điễn trạng thái kế của Q, ở dạng Qÿ= Q; ® Ƒ; như trong các phương trình ở trên Người ta tìm các Fi bằng phương pháp quan sát hoặc rút gọn
Q7= LD, +1UQ, @= 0,1,2,3)
Ta sẽ kết hợp các phương trình khi xét cả U, D và L, giả sử
là L = 1 ảnh hưởng trên cả Ù = 1 hay D = 1, và U = D = 1 không
bao giờ xảy ra Nếu ta bắt đầu bằng phương trình Qg = Qo © U, thay
Qp bang LD, + L’Qy va thay U bằng (U + D), ta duge Qj = (LDy +
L’Qo) ® (UL’ + DL’) Phuong trinh nay cho két qua dung khi L = 0
và hoặc D là 1 Để bảo đắm L = 1 ảnh hưởng ưu tiên hơn đếm
lên hay xuống, ta phải nhân và D cho L, các phương trình còn
Trang 36Các thiết bị logic lập trình được 37
Khi L = D = 0, các phương trình này rút gọn về trường hợp
chỉ đếm lên, và khi Ù = Ù = 0, các phương trình rút gọn về trường
hợp chỉ đếm xuống
Các phương trình tổng hợp ở trên thích hợp để cài đặt bằng
các XORH PAL
1.4 CÁC PLD TUẦN TỰ KHÁC
Khi công nghệ IC đã được cải tiến, nhiều loại PLD khác ra
đời Các PLD mới dựa trên những mở rộng của khái niệm PAL
hoặc dựa trên các dãy cổng ©
22V10 là 1 PLD rất linh hoạt mà có thể dùng nó để cài đặt
các mạng tổ hợp và tuần tự (V = 0ersdtile = linh hoqt/linh động)
Nó có 12 chân dành riêng cho nhập và 10 chân có thể lập
trình hoặc làm ngõ vào hoặc ngõ ra
Nó chứa 10D flipflop và cổng OR Số cổng AND đưa vào mỗi cổng OR từ 8 đến 16 Mỗi cổng OR lái một “tế bào vĩ môlogic xuất”
(output logic macrocell)
Mỗi macrocell (tế bào vĩ mô) chifa 1D flipflop Cac flipflop co cùng xung nhịp, một ngõ vào reset chung bất đồng bộ AR
(Asynchronous Reset) va mot ngod vao dat trước chung đồng bộ SP (Synchronous Preset)
Hình 1.28 cho thấy chỉ tiết của 1 macrocell xuất của 22V10 Các kết nối đến các chân ra có thể điều khiển được bằng cách lập trình macrocell này Các ngõ vào điều khiển MUX xuất S, va So chọn 1 trong các ngõ vào, dữ liệu
Ví dụ: S¿So = 10 chọn ngõ vào dữ liệu 2 Khi câu chì #) đứt (S, = 1), flipflop bi bé qua va ngé ra ti cổng OR Ngõ ra cổng OR
cũng được hồi tiếp về để có thể dùng như một ngõ vào của dãy
cổng AND
Trang 38Các thiết bị logic lập trình được 39
Nếu F; còn nguyên (S: = 0), thì ngõ ra flipflop được nối vào
chân ngõ ra và nó cũng được hồi tiếp về để có thể dùng nó làm ngõ vào cổng AND Khi cầu chì Fọ cho đứt (nổ) (So = 1), ngõ ra không
bị đảo để nó tác động mức cao Khi Fọ còn nguyên (Sp = 0), ngo ra
bị đảo nên nó tác động mức thấp Chân ngõ ra được lái bằng một
bộ đệm đảo ba trạng thái Khi ngõ ra bộ đệm ở trạng thái tổng trở cao, cổng OR và flipflop không nối với chân ngõ ra (xuất) và chân này có thể dùng làm ngõ vào Các đường đứt nét ở hình 1.24a chỉ
Trang 39
đường đi qua macrocell xuất khi cả hai cầu chì còn nguyên, và các
_ đường đứt nét ở hình 1.24b chỉ đường đi khi cả hai cầu chì đứt —_
Chú ý là ở trường hợp thứ nhất, ngõ ra Q của flipflop bị đảo bởi bộ đệm ngõ ra, và trường hợp thứ hai, ngõ ra cổng OR bị đảo hai lần
do đó không có đảo
Ví dụ: Dùng 22V10 để thiết kế bộ điều khiển đèn giao thông
cho giao lộ của đường A và đường B Mỗi đường có các cảm biến để
phát hiện sự xuất hiện xe cộ đến gần hoặc dừng ở giao lộ Sa = 1 nghĩa là xe cộ đang tiến đến đường A, và Sb = 1 nghĩa là xe cộ đang tiến đến đường B Đường A là đường chính và sẽ có đèn xanh cho đến khi có một xe hơi chạy đến B Rồi đèn thay đổi và Bcó _- đèn xanh Vừa hết 50 giây, các đèn sẽ thay đổi về như cũ trừ khi
có một xe trên đường B và không có xe ở A, trong trường hợp này
_ chu kỳ B được mở rộng thêm 10 giây Khi A xanh, nó giữ xanh tối thiểu 60 giây, và rồi các đèn thay đổi chỉ khi xe tiến đến B Hình 1.29 chỉ các nối kết bên ngoài của bộ điều khiển Có ba ngõ ra (Ga,
Ya, và Ra) lái các đèn xanh, vàng và đỏ ở đường A Ba đường khác
(Gb, Yb, và Rb) lái các đèn xanh, vàng và đỏ tương ứng ở đường B
Hinh 1.29 Sơ đô khối của bộ điều khiển đèn giao thông
Hình 1.30 chỉ giản đồ trạng thái Moore của bộ điều khiển Vì
mục đích định thì, hệ tuần tự này được lái bằng xung nhịp có chu
kỳ 10 giây Như vậy sự thay đổi trạng thái có thể xảy ra hầu như
ở mọi 10 giây Để đơn giản hóa giản đồ, ta dùng ký hiệu sau: GaRb trong một trạng thái có nghĩa là Ga = Rb = 1 và tất cả các biến ra khác là 0 Sa'Sb ở 1 cung có nghĩa là Sa = 0 và Sb = 1 sẽ gây ra
- “
Trang 40Các thiết bị logic lập trình được 41
chuyển trạng thái theo cung đó khi có xung nhịp Một cung không
có nhãn có nghĩa là chuyển trạng thái sẽ xảy ra khi có xung nhịp
xảy ra, độc lập với các biến vào Như vậy đèn A xanh sẽ sáng trong
6 chu kỳ xung nhịp (60 giây) và đổi sang vàng nếu có một xe đang đợi ở đường B