Tải bản đầy đủ (.pdf) (42 trang)

Bài Giảng Kỹ Thuật Số Chương 4 hệ tuần tự dành cho sv viễn thông docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (560.92 KB, 42 trang )

Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
104
4.6. MÁY TRẠNG THÁI
Hệ tuần tự còn có tên gọi khác là máy trạng thái (State Machine), tên này
thường sử dụng khi dùng một hệ tuần tự để điều khiển 1 hệ thống số thực hiện
một thủ tục hoặc một thuật toán từng bước một. Có thể đònh nghóa các máy
trạng thái bằng các giản đồ trạng thái, hoặc một kiểu lưu đồ đặc biệt được gọi là
lưu đồ máy trạng thái hay lưu đồ SM (State Machine) dùng để mô tả đặc tính
làm việc của một máy trạng thái
Trong thiết kế số, thường sử dụng từ máy trạng thái để chỉ các mạch đồng bộ
như mạch đếm… ở đó các giá trò ra thay đổi từ một trạng thái nhò phân này sang
một trạng thái nhò phân khác khi mạch được cung cấp xung clock.
SM có hai loại: Moore và Mealy.
4.6.1. Máy trạng thái kiểu MOORE
Sơ đồ khối máy trạng thái kiểu Moore và một mạch counter nhò phân 2bit là một
ví dụ cho máy trạng thái kiểu Moore

























Các FF

Giải mã
ngõ ra
Các t/hiệu
n
g
oài
Clock
Giải mã
t.thái ke
á
Lưu trữ t.thái
hiện tại
+
k
Q
+
2
Q

+
1
Q
Q1
Mạng tổ
hợp
X
1
X
2
X
m
Q
1
Q
2
Q
k
D1
CK
Q2
D2
CK
Qk
Dk
CK
Clock
Hệ tổ
hợp
(cho

các
ngõ
ra)
Z
2
Z
1
Z
n
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
105
4.6.2. Máy trạng thái kiểu MEALY
Sơ đồ khối máy trạng thái Mealy
























4.7. LƯU ĐỒ MÁY TRẠNG THÁI
Các lưu đồ SM còn được gọi là lưu đồ ASM (Algorithmic State Machine). Lưu
đồ SM cho nhiều thuận lợi trong việc dễ hiểu hơn hoạt động của một hệ thống
số bằng cách quan sát thay vì là giản đồ trạng thái tương đương. Có thể chuyển
một lưu đồ SM cho trước thành nhiều dạng tương đương, và mỗi dạng dẫn trực
tiếp đến một cài đặt phần cứng.
Ba thành phần chính của một lưu đồ SM







Logic
trạng thái
kế
Bộ nhớ
trạng thái

Ngõ CK

Logic ra

G
Clock
Trạng thái
hiện hành
Kích
thích
Các giá trò
ra (Output)
Giá trò
vào

Q1
Z
2
HỆ
TỔ
HP
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
Mã trạng
thái
tên trạng
thái
(a) Hộp trạng thái
điều kiện
nhánh
đúng
1

nhánh
sai
0
(b) Hộp quyết đònh
danh
sách xuất
theo điều
kiện
(c) Hộp xuất theo đk
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
106
• Trạng thái của một hệ thống được biểu diển bằng hộp trạng thái (state box),
hộp trạng thái có thể chứa một danh sách giá trò ra. Mã trạng thái có thể đặt
bên cạnh hộp ở phần trên. Tên trạng thái được đặt trong hình tròn bên trái
hộp trạng thái.
• Hộp quyết đònh (decision box) được biểu diễn bằng một ký hiệu hình thoi
với các nhánh đúng và sai. Điều kiện đặt trong hộp là một biểu thức
Boolean được xác đònh để lấy nhánh nào.
• Hộp xuất theo điều kiện (conditional output box) chứa danh sách và các giá
trò ra theo điều kiện phụ thuộc vào cả trạng thái của hệ thống và các giá trò
vào
Một lưu đồ SM được xây dựng từ các khối SM (SM block) mỗi khối SM chứa
chính xác một hộp trạng thái cùng với các hộp quyết đònh và các hộp xuất theo
điều kiện liên hệ với trạng thái đó.
Một khối SM có chính xác một đường vào và một hoặc nhiều đường ra và mô tả
hoạt động của máy trong thời gian mà máy đang trong trạng thái.
Khi một hệ thống số đi vào trạng thái liên hệ với một khối SM cho trước, các
giá trò ra ở danh sách xuất trong hộp trạng thái sẽ trở thành đúng. Các điều kiện
trong các hộp quyết đònh sẽ được đònh trò để xác đònh xem đường nào đi theo

qua khối SM. Khi trên đường đi có gặp một hộp xuất theo điều kiện thì các giá
trò ra tương ứng sẽ trở thành đúng. Một đường dẫn qua khối SM từ ngõ vào đến
ngõ ra được gọi là đường dẫn nối ghép (link path)
Ví dụ, một khối SM















khi vào trạng thái S
1
, các giá trò ra Z
1
và Z
2
= 1. Nếu giá trò vào X
1
và X
2
đều

bằng 0 thì Z
3
và Z
4
bằng 1 và ở cuối thời gian trạng thái, máy đi vào trạng thái
Z
1,
Z
2

S
1
X
1
X
3
Z
3
, Z
4
0
1
01
Z
5
X
3
0
1
1

2
3
n
n đường ra
nhánh a
nhánh b
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
107
kế qua đường ra 1, ngược lại nếu X
1
=1 và X
3
= 0, giá trò ra Z
5
= 1 và đi vào
trạng thái kế qua đường ra 3
Tổng quát thì một khối SM có thể được vẽ bằng nhiều dạng khác nhau. Hai khối
SM sau là tương đương.















Ví dụ, Vẽ một khối SM tương đương với khối SM sau.

`











Phải tuân theo một số quy tắc nhất đònh khi xây dựng một khối SM:
Thứ nhất, với mọi kết hợp các biến vào hợp lệ phải có chính xác một đường ra
được đònh nghóa. Điều này là cần thiết vì mỗi tổ hợp vào được cho phép phải
dẫn đến 1 trạng thái kế duy nhất.
Thứ hai, không cho phép có đường hồi tiếp nội trong một khối SM.


A
Z
1
1
C
B

0
0
1
0
1
Z
1

S
1

X
3
Z
2
0 1
0
1
S
2

S
3
Z
1

S
1
X
2

Z
2
0 1
S
2
S
3

X
1
0
1
Z
2
X
1
1
0
X
1
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
108
Ví dụ, 1 cách vẽ sai và 1 cách vẽ đúng đối với 1 khối SM có đường hồi tiếp











Một khối SM có thể có nhiều đường song song mà dẫn đến cùng một đường ra,
và hơn một đường trong các đường này có thể tích cực đồng thời. Ngoài ra cũng
có thể biểu diễn bằng một khối SM nối tiếp tương đương. Trong khối nối tiếp
này có thể có một đường dẫn nối ghép tích cực duy nhất giữa ngỏ vào và ra. Với
bất cứ tổ hợp nào của các giá trò vào, các giá trò ra sẽ giống như trong dạng song
song tương đương.
Ví dụ,























(a) Sai
(b) Đúng
Z
1
X
2
X
1
Z
2
1

0

Z
3
0

1

Z
4
1

0

X

3
(a) dạng song song

Z
1
X
1
Z
2
X
2
Z
3
X
3
Z
3
(b) dạng nối tiếp

Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
109
Có thể chuyển một giản đồ trạng thái của máy tuần tự sang lưu đồ SM tương
đương một cách dễ dàng.
Ví dụ, Giản đồ trạng thái







Và lưu đồ SM tương đương

















Giản đồ đònh thì cho lưu đồ SM













S
0
Z
a
S
1
Z
b
S
2

Z
c

1/0
0/0
1/0
0/Z
1
0/0

1/Z
2

Z
a
X


Z
b
X

Z
c
X

Z
1
Z
2

00
01
11
0
1
0
1
0
1
link 1
link 2
S
0

S
1
S

1

link 3

clock
trạng thái
X
S
0
S
1
S
2
S
2
S
0
S
0
Z
a
Z
b
Z
c
Z
1
Z
2
Bài Giảng Kỹ Thuật Số Chương 4

GV: Nguyễn Trọng Hải Trang
110
Ở giản đồ trạng thái, có cả 2 giá trò ra Moore và Mealy, lưu đồ SM tương đương
có 3 khối, một khối ứng với một trạng thái. Các giá trò ra Moore (Z
a
, Z
b
, Z
c
)
được đặt trong các hộp trạng thái, từ đó chúng không phụ thuộc vào giá trò vào.
Các giá trò ra Mealy (Z
1
, Z
2
) xuất hiện trong các hộp xuất theo điều kiện, chúng
phụ thuộc vào cả trạng thái và giá trò vào. Trong ví dụ này, mỗi khối SM chỉ có
một hộp quyết đònh, do đó chỉ phải kiểm tra 1 biến vào. Đối với cả hai giản đồ
trạng thái và lưu đồ SM, Z
c
luôn bằng 1 trong trạng thái S
2
. Nếu X=0 trong trạng
thái S
2
, Z=1 và trạng thái kế là S
0
. Nếu X=1, Z
2
=1 và trạng thái kế là S

2

Ở giản đồ đònh thì cho lưu đồ SM, với chuỗi vào X=1,1,1,0,0,0. Tất cả các thay
đổi trạng thái xảy ra ngay sau cạnh lên của xung nhòp. Vì các giá trò Moore phụ
thuộc vào trạng thái và chỉ có thể thay đổi tức thời sau 1 thay đổi trạng thái hoặc
một thay đổi giá trò vào. Nói chung, tất cả các giá trò ra sẽ có giá trò đúng của
chúng ở cạnh tích cực của xung nhòp
Ví dụ, Lập lưu đồ SM cho bộ chia nhò phân song song cho các số nhò phân
dương, số bò chia (dividend) 6 bit cho số chia (divisor) 3 bit để có được thương 3
bit.
Minh họa quá trình chia







Phép chia có thể thực hiện bằng phép toán trừ và dòch. để xây dựng bộ chia sẽ
sử dụng thanh ghi số bò chia 7 bit và thanh ghi số chia 3 bit như sau













Trong quá trình chia thay vì dòch số chia sang phải trước mỗi lần trừ, ở đây sẽ
dòch số bò chia sang trái. Chú ý là cần thêm 1 bit ở đầu bên trái thanh ghi số bò
x
7
x
6
x
5
x
4
x
3
x
2
x
1
Thanh ghi số bị chia
Bộ trừ và so
sánh
y
3
y
2
y
1
Số chia

Điều

khiển
Sh
Su
C (so sánh)
clock

V

Chỉ báo tràn trên
start
100010 110
110 101
101
000
1010
110
100
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
111
chia để cho không mất 1 bit khi dòch trái số bò chia. Thay vì dùng 1 thanh ghi để
chứa thương số, có thể đưa thương số từng bit một vào đầu bên phải của thanh
ghi số bò chia khi dòch trái số bò chia
Nếu ban đầu x
7
x
6
x
5
x

4
≥ y
3
y
2
y
1
(nghóa là nếu 4 bit trái của thanh ghi số bò chia
vượt quá hoặc bằng số chia) thương số sẽ lớn hơn 8 và tràn trên xảy ra. Chú ý là
nếu
8
yyy
8xxxx
yyy
0000xxxx
yyy
xxxxxxx
123
4567
123
4567
123
1234567
≥=≥
báo tràn vì thương số chỉ có 3 bit (tối đa bằng 7)
Tín hiệu dòch (Sh = shift) sẽ dòch số bò chia sang trái một vò trí. Tín hiệu trừ (Su
= Subtract) sẽ trừ số chia cho 4 bit tận cùng bên trái của thanh ghi số bò chia và
đặt bit thương số (bit tận cùng bên phải thanh ghi số bò chia) lên 1. Nếu số chia
lớn hơn 4 bit tận cùng bên trái của số bò chia, ngõ ra của bộ so sánh là C=0,
ngược lại C=1. Mạch điều khiển tạo ra chuổi các tín hiệu dòch và trừ mong

muốn. Bất cứ lúc nào C=1, tín hiệu trừ được tạo ra và bit thương số được đặt lên
Giản đồ trạng thái của mạch điều khiển











Ban đầu số bit chia 6 bit và số chia 3 bit được đưa vào các thanh ghi thích hợp.
Mạch vẫn ở trạng thái dừng Stop (S
0
) cho đến khi có tín hiệu Start. Nếu giá trò
ban đầu của C=1, thương số sẽ cần 4 bit trở lên. Vì không gian chỉ cung cấp cho
thương số 3 bit, điều kiện này làm tràn trên do đó bộ chia dừng và bộ chỉ tràn sẽ
đặt lên 1 bằng ngõ ra tràn trên.
Bình thường giá trò ban đầu của C=0, vì vậy dòch sẽ xảy ra đầu tiên và mạch sẽ
đi vào trạng thái S
1
. Rồi nếu C=1 thì xảy ra trừ. Sau khi hoàn tất trừ C sẽ luôn
luôn bằng 0 vì vậy xung nhòp kế sẽ tạo ra dòch. Quá trình này tiếp tục cho đến
khi xảy ra 3 lần dòch và điều khiển ổ trong trạng thái S
3
. Rồi phép trứ cuối cùng
xảy ra nếu cần, và điều khiển quay về trạng thái dừng. Với vd này sẽ giả sừ là
khi tín hiệu bắt đầu (start) xảy ra nó sẽ là 1 trong thời gian 1 clock và rồi giữ là

0 cho đến khi hệ điều khiển quay về trạng thái S
0
. Do đó Start sẽ luôn là 0 trong
các trạng thái S
1
, S
2
, S
3

S
0
Stop
S
1
S
2
S
3
C.Start/V
Start’/0
C’/0
C’.Start/Sh
C/Su
C’/Sh
C/Su
C’/Sh
C/Su

Bài Giảng Kỹ Thuật Số Chương 4

GV: Nguyễn Trọng Hải Trang
112
Từ đó suy ra lưu đồ SM như sau






















S
0
là trạng thái bắt đầu, nếu Start=1, tín hiệu so sánh C được kiểm tra, nếu C=1,
thương số lớn hơn 3 bit, vì vậy báo tràn V=1 được tạo ra và không có sự thay đổi
xảy ra. Nếu C=0, Sh=1, ở xung nhòp kế số bò chia được dòch sang trái và trạng

thái chuyển sang S
1
. C được kiểm tra trong trạng thái S
1
. Nếu C=1 có thể có
phép trừ, Su=1 và không có sự thay đổi trạng thái. Nếu C=0, Sh=1 và số bò chia
được dòch khi trạng thái chuyển sang S
2
. Hoạt động ở S
2
thì giống S
1
. Trong
trạng thái S
3
trạng thái kế luôn là S
0
, và C=1 làm cho phép trừ xảy ra

Ví dụ, Lập lưu đồ Sm cho điều khiển bộ nhân song song cho các số nhò phân
dương.
Nhân nhò phân chỉ cần phép toán dòch và cộng. Thay vì ban đầu tạo ra tất cả các
tích bộ phận rồi cộng lại, thì mỗi tích bộ phận (partial product) được cộng mỗi
khi được tạo ra và do đó không cần cộng một lần hơn 2 số nhò phân
Nhân 2 số 4 bit cần 1 thanh ghi số bò nhân (multiplicant register) 4bit, một thanh
ghi số nhân 4 bit và thanh ghi 8bit cho số hạng tích. Thanh ghi tích số làm việc
như thanh ghi tích lũy là tích lũy tổng các tích bộ phận. Thay vì dòch số bò nhân
sang trái trước khi cộng, ở đây sẽ dòch thanh ghi tích sang phải
S
0

Start
C
V
0

1

1

0
Sh
S
1
C
Su
0

1

Sh
S
2
C
Su
0
1
Sh
S
3
C

Su
0

1
00
01
10
11
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
113
Số bò nhân
Số nhân


1101
1011
Các tích bộ phận 1101
1101
10111
0000
100111
1101
Tích số 10001111
Sơ đồ khối của bộ nhân song song













Ví dụ, nhân 13 x 11 được làm lại sau đây chỉ vò trí các bit trong các thanh ghi ở
mỗi thời điểm xung nhòp

Nội dung ban đầu của t.ghi tích
lũy (cộng số bò nhân vì M=1)
000001011
1101
M(11)
(13)
Sau khi cộng
Sau khi dòch phải
Cộng số bò nhân vì M=1
011011011
001101101
1101

M=1
Sau khi cộng
Sau khi dòch phải
100111101
010011110

M=0

Bỏ qua cộng vì M=0
Sau khi dòch
cộng số bò nhân vì M=1

001001111
1101

M=1
Sau khi cộng
Sau khi dòch (đáp số)
100011111
010001111


Đường chấm chấm là đường chia giữa bộ nhân và tích số
Mạch điều khiển phải được thiết kế để cho ra chuỗi các tín hiệu cộng và dòch
đúng.
Thanh
g
hi tích lũ
y
Bộ cộng
Số b
ò
nhân
Điều
khiển
Ad
N


P
C
C
Thanh ghi tích so
á

Số nhân
P
C
Sh
M=1: cộng &dòch
M=0: dòch

Ad: tín hiệu cộng
Sh: tín hiệu dòch
P
C
: xung clock
M: bit bộ nhân
N: tín hiệu start
C: số nhớ
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
114
Giản đồ trạng thái cho điều khiển bộ nhân, SV giải thích tương tự như mạch chia


































Lập lưu đồ SM cho điều khiển bộ nhân, điều khiển này tạo ra chuỗi các xung
cộng và dòch mong muốn của bộ nhân nhò phân. Bộ đếm sẽ đếm số lần dòch và

xuất K=1 trước khi lần dòch cuối cùng xảy ra. Lưu đồ SM cho điều khiển bộ
nhân tương ứng với giản đồ trạng thái hình (c)

S
0
S
2
S
6
S
4
S
7
S
1
S
3
S
5
MN/Ad
-/Sh
M/Ad
-/Sh
M/Ad
- /Sh
M/Ad
-/Sh
N’/0
M’N/Sh
M’N/Sh

M’N/Sh
M’N/Sh
Điều khiển
Cộng - dòch
N
P
C
Ad
Sh
Bộ đếm
K=1 nếu n-1 lần dòch
S
0
S
0
S
0
M’N/Sh
MN/Ad
N’/0
M/Ad
- /Sh
M’/Sh
(a) Điều khiển bộ nhân
(b) Giản đồ trạng thái của
điều khiển cộng dòch
S
0
S
0

S
0
M’N/Sh
MN/Ad
N’/0
K/Sh
K’/Sh
M’K’/Sh
(c) Giản đồ trạng thái cuối
của điều khiển cộng dòch
M’K/Sh
M/Ad
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
115









































S
0
N
M
Sh

Ad
Sh
K
M
Ad
Sh
M
S
1
S
2
0
1
10
1 0
10
10
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
A
4
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
Bài Giảng Kỹ Thuật Số Chương 4
GV: Nguyễn Trọng Hải Trang
128
Với ký hiệu









Bảng PLA cho PLA ở trên
a b c d F
1
F
2
F
3
0
1
1
-
-
-
1
1
0
0
-
1
-
-
0
1
1
1
1
1
-
-

-
-
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
0
1
Mỗi hàng trong bảng biểu diển một số hạng tích tổng quát.
Có hai loại PLA:
• PLA lập trình mặt nạ (Mask programmable): được lập trình lúc chế tạo
(tương tự PROM)
• PLA lập trình trường (field programmable) có các nối kết cầu chì (fusible
link) có thể làm đứt để lưu trữ các mẫu trong các dãy AND và OR.
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
5.3.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, trong đó các 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
Một đoạn PAL
a'
a'bd
d
b
a'
a'bd
b d
F3
a'bd
c
a'bd
c
ab'c'
ab'c'
bc
bc
F3

×