Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
116
4.8. BỘ NHỚ BÁN DẪN
Bộ nhớ bán dẫn chia làm hai loại chính
• Bộ nhớ bảng (table memory)
• Bộ nhớ hàm (function memory)
Với
RAM = Random Access Memory
ROM = Read Only Memory
PLD = Programmable Logic Device
PLA = Programmable Logic Array
PAL = Programmable Array Logic
LCA = Logic Cell Array
M = Mask programed
P = Programmable
EP = Erasable and Programmable
EEP = Electrically Erasable and Programmable
Bộ nhớ bảng,
• Đòa chỉ A được đònh nghóa trong dãy 0≤ A ≤ 2
N
–1
Với độ rộng từ của đòa chỉ là N, giá trò của N phụ thuộc vào kích thước của
bộ nhớ. Có thể cất dữ liệu ở một đòa chỉ trong 2
N
đòa chỉ. Độ rộng từ dữ liệu
là m = 1…16 bit
• Dung lượng bộ nhớ K được xác đònh bởi: K=mxn (bit)
Với m là độ rộng từ dữ liệu, n là số đòa chỉ
Tính theo byte (K/8) cho các độ rộng từ dữ liệu là 8 hay 16 bit
Bộ nhớ bán dẫn
Bộ nhớ bảng
Bộ nhớ hàm
RAM
ROM
Tónh
Động
MROM
PROM
EPROM
EPROM
PLD
PLA
PAL
PPAL
EPPAL
EEPPAL
LCA EPLD
PEEL
(Pro.
elec.
erasable
logic
GAL
(generic
array
logic)
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
117
Ví dụ, Bảng cho ROM có N=3bit đòa chỉ, m=2 bit dữ liệu
Đòa chỉ Dữ liệu Giá trò
thập phân
a
2
a
1
a
0
d
1
d
0
0
1
2
3
4
5
6
7
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
d
01
d
11
d
21
d
31
d
41
d
51
d
61
d
71
d
00
d
10
d
20
d
30
d
40
d
50
d
60
d
70
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
Bộ nhớ hàm
• Chứa các hàm logic (Boolean) thay vì là các bảng. Mỗi biến của bảng chân
trò có thể được biểu diễn bằng hàm logic.
Viết dưới dạng tích chuẩn thì hàm logic của biến d
0
ở ví dụ trên là
0210002110 21070
d = a .a .a d +a .a .d +...+a a a d
= m
0
d
00
+ m
1
d
10
+…+m
7
d
70
(với m
i
: minterm thứ i)
nếu trong bảng có ít d
io
= 1 thì việc sử dụng bộ nhớ hàm tiện lợi hơn bộ nhớ
bảng
Các thiết bị logic lập trình được PLD (Programmable Logic device)
• 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ó
để thực hiện các hàm logic khác nhau.
Vì hàm logic được biểu diễn dưới dạng tổng các tích hay tích các tổng nên
cấu trúc mạch trong PLD thông thường là một dãy AND và OR đồng dạng
(identical cell) mà có thể lập trình từng cổng được.
• Các thiết kế dùng PLD có các ưu điểm sau:
¾ Tăng khả năng tích hợp. có thể giảm khối lượng về mạch thiết kế trong
khi vẫn có thể tăng chức năng cho mạch
¾ Công suất thấp. CMOS và một số ít hơn các mạch kết hợp sẽ làm giảm
đáng kể công suất nguồn cung cấp
¾ Tăng độ tin cậy. Nguồn cung cấp thấp và việc giảm tối đa các mạch liên
kết ở ngoài làm cho việc truyền giữa các khối đáng tin cậy hơn
¾ Giá thành thấp.
¾ Dễ sử dụng.
¾ Dễ dàng thay đổi. Khi cần có sự thay đổi trong thiết kế, không cần phải
thêm thắt các “dây nối”, tất cả là thay đổi bên trong của PLD và có thể
thực hiện các thay đổi đó một cách nhanh chóng.
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
118
4.9. ROM - THIẾT KẾ HỆ THỐNG SỐ DÙNG ROM
4.9.1. ROM
ROM là một mạch tổ hợp có n ngõ vào và m ngõ ra. Các ngõ vào được gọi là
đòa chỉ (address input) và thường được đặt là A
0
A
1
…A
n-1
. Các ngõ ra được gọi là
các ngõ ra dữ liệu (data output) và thường đượpc đặt tên là D
0
D
1
D
2
…D
m-1
Hình 1-2. Cấu trúc cơ bản của một ROM 2
n
x m
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.
Ví dụ, bảng chân trò của hàm tổ
hợp 3 ngõ vào 4 ngõ ra và ta có
thể chứa nó trong 1 ROM 2
3
x 4
(8x 4). Bỏ qua các trì hoãn về thời
gian, các ngõ ra dữ liệu của một
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ỉ
Chú ý
• Có thể dùng ROM như bất cứ phần tử logic tổ hợp nào
• ROM là bộ nhớ không bốc hơi (nonvolatile memory) vì nội dung của nó vẫn
giữ được ngay cả khi không cấp điện
• 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 input và
output đọ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 data của ROM với với các nhãn theo thứ tự tăng dần
Ví dụ, Dùng ROM đề thực hiện hàm nhân nhò phân không dấu cho 2 số nhò
phân 4 bit. Nếu dùng mạch rời ta dùng các IC 74284 và 74285, còn dùng ROM
thì sử dụng ROM 2
8
x 8 (256 x 8) với kết nối như hình 1-5
2
n
x m ROM
A
0
A
1
A
2
A
n-1
D
0
D
1
D
2
D
m-1
address
input
(n đường)
address
output
(m đường)
Input Output
A
2
A
1
A
0
D
3
D
2
D
1
D
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
119
Đòa chỉ
Tích số
của 1 x 5
Nội dung ghi ROM ở trên như sau (dạng file văn bản hex)
00:
10:
20:
30:
40:
50:
60:
70:
80:
90:
A0:
B0:
C0:
D0:
E0:
F0:
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
00
02
04
06
08
0A
0C
0E
10
12
14
16
18
1A
1C
1E
00
03
06
09
0C
0F
12
15
18
1B
1E
21
24
27
2A
2D
00
04
08
0C
10
14
18
1C
20
24
28
2C
30
34
38
3C
00
05
0A
0F
14
19
1E
23
28
2D
32
37
3C
41
46
4B
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
4.9.2. Cấu trúc nội của ROM
Cơ chế sử dụng ROM để lưu trữ thì thay đổi ứng với các công nghệ của 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
diode hay transistor sẽ phân biệt giữa 0 và 1
Cấu trúc với giải mã 1 chiều
256 x 8 ROM
A
0
A
1
A
2
A
7
D
0
D
1
D
2
D
7
Y
(Số bị nhân)
Tích số
A
3
A
4
A
5
A
6
X
(Số nhân)
D
3
D
4
D
5
D
6
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
120
Sơ đồ ROM 8x 4 với cấu trúc giải mã 1 chiều (dùng 1 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 trong hình được gọi là đường bit (bit line) bởi vì nó tương
ứng với một bit ra của ROM
Nhận xét: có diode tương ứng mức 0, không có diode tương ứng mức 1
Các MOS ROM thường dùng transistor thay vì là diode ở mỗi vò trí mà bit sẽ
được lưu trữ.
Cấu trúc với giải mã 2 chiều
Nếu xây dựng một ROM 128x1 dùng cấu trúc ở phần trước phải sử dụng một bộ
giải mã 7 sang 128, nghóa là phải sử dụng đến một lượng lớn 128 các cổng
NAND 7 ngõ vào, nếu thiết kế cho ROM với hàng triệu bits hoặc nhiều hơn sẽ
không có bộ giải mã 20 sang 1048576. Thay vào đó người ta sẽ sử dụng cấu trúc
khác được gọi là giải mã hai chiều (two-dimentional decoding)
D1
A0
A
B
C
G1
G2A
G2B
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
A2
D3
HI
D0
HI
D2
0
A1
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
121
Ví dụ, ROM 128 x 1
3 bit đòa chỉ cao A
6
A
5
A
4
sẽ chọn hàng, mỗi hàng chứa 16 bit bắt đầu tại đòa chỉ
A
6
A
5
A
4
0000. Khi đặt đòa chỉ cho ROM, 16bit ở hàng được chọn đưa vào bộ MUX và
4 bit đòa chỉ thấp sẽ chọn bit data mong muốn.
Ngoài việc giảm tính phức tạp việc giải mã, giải mã 2 chiều có một thuận lợi khác
là ROM có một kích thước vật lý gần vuông, điều này quan trọng cho việc chế tạo
và đóng gói IC
Với ROM có nhiều ngõ ra dữ liệu, các dãy lưu trữ tương ứng với mỗi ngõ ra dữ 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ụ, Một bố trí của ROM 32K x 8
A
12
A
11
A
10
9 to 512
decoder
A
6
A
7
A
8
A
9
A
13
A
14
512 x 64
array
512 x 64
array
512 x 64
array
512 x 64
array
512 x 64
array
512 x 64
array
512 x 64
array
512 x 64
array
64 to 1
MUX
64 to 1
MUX
64 to 1
MUX
64 to 1
MUX
64 to 1
MUX
64 to 1
MUX
64 to 1
MUX
64 to 1
MUX
A
0
A
1
A
2
A
3
A
4
A
5
A2
A4
A
B
C
G1
G2A
G2B
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
A6
A0
D0
HI
D0
G2
S0 S1 S2 S3
0123456789
10
111213
1415
A1
HI
0
A3
A5
0
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
122
4.9.3. Các kiểu ROM thương mại
Bảng các kiểu ROM thương mại
Kiểu Công nghệ Chu kỳ đọc Chu kỳ ghi Chú thích
Mask ROM
Mask ROM
PROM
EPROM
EEPROM
NMOS, CMOS
Bipolar
Bipolar
NMOS, CMOS
NMOS
25 – 500ns
<100ns
<100ns
25-500ns
50-500ns
4 tuần
4 tuần
5 phút
5 phút
10ms/bytes
Ghi 1 lần, công suất thấp
Ghi 1 lần, công suất cao, mật
độ thấp
Ghi 1 lần công suất cao,
không có mặt nạ
Dùng lại được, công suất thấp
Giới hạn 10000 lần ghi/vò trí
Các ROM thông dụng nhất là các EPROM: 2764, 27128, 27256, và 27512
8K x 8 16K x 8 32K x 8
Chú ý: chân V
CC
phải nối với +5V
chân V
IH
phải nối với tín hiệu logic HIGH hợp lệ
chân V
PP
dùng để đưa vào điện áp lập trình
4.9.4. 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 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 nhau. Do đó, phần lớn các
chip ROM thương mại có ngõ ra dữ liệu 3 trạng thái và một ngõ vào Output
Enable (OE: cho phép xuất) để cho phép các ngõ ra
Nhiều ứng dụng ROM đặc biệt là ứng dụng lưu trữ chương trình sẽ có nhiều
ROM được nối chung vào 1 BUS, mỗi lần chỉ có 1 ROM lái BUS. Phần lớn các
ROM có ngõ vào chip select (CS: chọn chip) để làm đơn giản việc thiết kế các
hệ thống. Ngoài OE còn cần phải có CS để cho phép ngõ ra 3 trạng thái
Tuy nhiên trong nhiều ROM, CS cũng làm việc như ngõ vào cắt nguồn cấp điện
(power down input), CS ở mức không tích cực thì không cấp nguồn cho các
decoder nội, các driver và các MUX của ROM. Ở chế độ chờ này (standby
mode) 1 ROM tiêu thụ ít hơn 10% công suất so với chế độ hoạt động (active
mode).
2764
10
9
8
7
6
5
4
3
25
24
21
23
2
20
22
27
1
11
12
13
15
16
17
18
19
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
CE
OE
PGM
VPP
O0
O1
O2
O3
O4
O5
O6
O7
27128
10
9
8
7
6
5
4
3
25
24
21
23
2
26
20
22
27
1
11
12
13
15
16
17
18
19
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
CE
OE
PGM
VPP
O0
O1
O2
O3
O4
O5
O6
O7
27256
10
9
8
7
6
5
4
3
25
24
21
23
2
26
27
20
22
1
11
12
13
15
16
17
18
19
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
CE
OE
VPP
O0
O1
O2
O3
O4
O5
O6
O7
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
123
Hình sau chỉ các ngõ vào CS và OE được sử dụng như thế nào ở bên trong một
ROM tiêu biểu
4.9.5. Thiết kế hệ tuần tự dùng ROM
Có thể thiết kế dễ dàng một hệ tuần tự dùng ROM kết hợp với các FF.
Mô hình tổng quát của hệ tuần tự dùng ROM và 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
1
, Z
2
, …,
Z
n
) và các hàm trạng thái kế (Q
1
+
, Q
2
+
, …, Q
k
+
).
Trạng thái của hệ được chứa trong một thanh ghi (tạo bằng các D-FF) và đưa
hồi tiếp về ngõ vào của ROM.
row
decoder
Power on
Storage Array
Power on
Power on
colum MUX
A
0
A
1
A
m-1
A
m
A
m+1
A
n-1
CS
OE
Q1
Z
2
ROM
X
1
X
2
X
m
Q
1
Q
2
Q
k
Z
1
Z
n
CK
Q2
D2
CK
Qk
Dk
CK
Clock
+
1
Q
+
2
Q
+
k
Q
D1
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
124
Như vậy hệ tuần tự với m input, n output và k biến trạng thái có thể được cài
đặt bằng k D-FF và ROM với (m+k) ngõ vào (nghóa là 2
m+k
từ word) và (n+k)
output
Thương dùng D FF hơn JK FF vì sử dụng các FF với 2 ngõ vào sẽ cần phải tăng
số ngõ ra ở ROM.
Ví dụ, Thiết kế mạch chuyển đổi mã BCD sang mã quá 3, ngõ vào và ra là nối
tiếp với LSB đi trước
input (BCD) X Output (excess – 3) Y
t
3
t
2
t
1
t
0
t
3
t
2
t
1
t
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
Bảng trên liệt kê các input và output mong muốn tại các thời điểm t
0
, t
1
, t
2
và t
3
Trước hết thành lập bảng trạng thái, sau đó rút gọn bảng bằng cách so các hàng
giống nhau thì gom lại. Khi so các hàng có chứa dấu gạch ngang (đây là trường
hợp “don’t care” thì dấu gạch ngang sẽ khớp với bất cứ trạng thái nào hoặc bất
cứ 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 ≡ K
≡ L và M≡ N ≡ P, sau khi khử I, J, K, L N và P thấy rằng E ≡ F ≡ G và bảng được
thu gọn thành 7 hàng sau
Thời gian Chuỗi vào
nhận được
Trạng
thái hiện
tại
Trạng thái
kế
X = 0 X=1
Giá trị ra hiện
tại (Z)
X=0 X=1
t
0
reset A B C 1 0
t
1
0
1
B
C
D
E
F
G
1
0
0
1
t
2
00
01
10
11
D
E
F
G
H
I
J
K
L
M
N
P
0
1
1
1
1
0
0
0
t
3
000
001
010
011
100
101
110
111
H
I
J
K
L
M
N
P
A
A
A
A
A
A
A
A
A
A
-
-
-
-
-
-
0
0
0
0
0
1
1
1
1
1
-
-
-
-
-
-
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
125
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 X=1
Giá trị ra hiện
tại (Z)
X=0 X=1
t
0
A B C 1 0
t
1
B
C
D
E
F
G
1
0
0
1
t
2
D
E
H
H
H
M
0
1
1
0
t
3
H
M
A
A
A
-
0
1
1
-
Có thể dùng một cách khác để suy ra bảng trên bằng cách bắt đầu bằng giản đồ
trạng thái.
Giản đồ trạng thái có dạng hình cây. Mỗi đường bắt đầu ở trạng thái reset biểu
diễn một trong 10 chuỗi vào có thể có
Bảng gán trạng thái và bảng chuyển trạng thái
Thời
gian
Trạng thái
hiện tại
Q
1
Q
2
Q
3
Q
1
+
Q
2
+
Q
3
+
X=0 X=1
Z
0 1
t
0
A 000 010 011 1 0
t
1
B
C
010
011
101
100
100
100
1
0
0
1
t
2
D
E
101
100
111
111
111
110
0
1
1
0
t
3
H
M
111
110
000
000
000
---
0
1
1
---
A
B C
D F E G
H L J N I
M
K
P
0/1
t
0
t
1
0/1
1/0
0/0
1/1
0/1
1/0
0/1
1/0
0/1
1/0
1/1
0/0
1/0
Reset
t
2
t
3
0/0 1/1
0/0 0/0 0/1
0/0 1/1
0/1 0/0 0/1
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
126
Cài đặt bộ chuyển đổi mã này dùng ROM và các D-FF. Vì có 7 trạng thái nên
cần 3 DFF. Như vậy cần ROM có 4 input (2
4
word) và 4 output . Dùng gán nhò
phân trực tiếp, xây dựng bảng chuyển trạng thái cho trạng thái kế của các D-FF
như là hàm của trạng thái hiện tại và input.
Vì đang sử dụng các D FF, D
1
= Q
1
+
, D
2
=Q
2
+
, D
3
=Q
3
+
. bảng chân trò cho ROM
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
(Z, D
1
, D
2
, D
3
) là các hàm của các input của ROM (X, Q
1
, Q
2
, Q
3
)
(a) Bảng trạng thái (b) bảng chuyển trạng thái
T. thái
h.tại
T. thái kế
X=0 X=1
G.trò ra h.tại Z
X=0 X=1
Q
1
Q
2
Q
3
Q
1
+
Q
2
+
Q
3
+
X=0 X=1
Z
X=0 X=1
A B C 1 0 A 000 001 010 1 0
B
C
D
E
E
E
1
0
0
1
B
C
001
010
011
100
100
100
1
0
0
1
D
E
H
H
H
M
0
1
1
0
D
E
011
100
101
101
101
110
0
1
1
0
H
M
A
A
A
---
0
1
1
---
H
M
101
110
000
000
000
---
0
1
1
---
Bảng chân trò cho ROM
X Q
1
Q
2
Q
3
Z D
1
(Q
1
+
) D
2
(Q
2
+
) D
3
(Q
3
+
)
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
1
x
0
0
1
1
0
1
x
x
0
0
1
1
1
0
0
x
0
1
1
1
1
0
x
x
0
1
0
0
0
0
0
x
1
0
0
0
1
0
x
x
1
1
0
1
1
0
0
x
0
0
0
1
0
0
x
x
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
127
Cài đặt mạng tuần tự dùng ROM
4.10. PLD tổ hợp (Combinational PLD)
5.3.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 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 nột của ROM
Cấu trúc PLA (PLA nxm với p số hạng tích)
Ví dụ, Tổ chức nội của PLA 4x3 với 6 số hạng tích
+
3
Q
+
2
Q
+
1
Q
Q1
ROM
16 words
x 4 bit
X
1
Q
1
Q
2
Q
3
Z
D1
CK
Q2
D2
CK
Q3
Dk
CK
Clock
Dãy
AND
Dãy
OR
n
input
p đường word
(số hạng tích)
m đường ra
Dãy AND
Dãy OR
Các
đường
Word
Output
F1
c d
b'c
bc
abd
a
a'bd
ab'c'
F3
c
b
F2