Bài 2 Sử dụng JK.FF có xung clock kích theo cạnh lên, ngõ vào Preset và Clear tích cực logic 0 tích cực thấp, thiết kế bộ đếm nối tiếp bộ đếm bất đồng bộ 3 bit QAQBQC QC là LSB có giản
Trang 1Trang 1 / 11
BÀI TẬP ƠN CUỐI KỲ - KỸ THUẬT SỐ
Bài 1
Cho mạch logic như hình vẽ Khảo sát dạng tín hiệu Y, Z, T theo tín hiệu A, B, C Biết rằng giá trị ban đầu ngõ ra Q của chốt D và Flip Flop D đều bằng 1
Bài 2
Sử dụng JK.FF có xung clock kích theo cạnh lên, ngõ vào Preset và Clear tích cực logic
0 (tích cực thấp), thiết kế bộ đếm nối tiếp (bộ đếm bất đồng bộ) 3 bit QAQBQC (QC là LSB) có giản đồ trạng thái như hình vẽ
111
000
001
101
110
QAQBQC
Q
D
CK
Q
Q
B
C
Y
Z
T
A
B
C
Trang 2Trang 2 / 11
Bài 3
Xác định giản đồ trạng thái của hệ tuần tự gồm 1 ngõ vào X và 2 T-FF Q1, Q0 như hình vẽ
Bài 4
Thành lập bảng chuyển trạng thái hoặc giản đồ trạng thái của hệ tuần tự kiểu MOORE có 1 ngõ vào X và 1 ngõ ra Z Ngõ ra Z chỉ bằng 1 khi ngõ vào X nhận được chuỗi liên tục
1, 1, 0, 1 Hãy rút gọn bảng trạng thái
Bài 5
Cho hệ tuần tự có 1 ngõ vào X và 2 ngõ ra Z1, Z2 Hệ có 4 trạng thái A, B, C và D có giản đồ trạng thái như hình vẽ Với phép gán trạng thái (mã hóa trạng thái) A: Q1Q2 = 10, B: Q1Q2 = 00, C: Q1Q2 = 01 và D: Q1Q2 = 11 Hãy thiết kế hệ bằng JK_FF và cổng logic hoặc D_FF và PLA (chỉ chọn 1 trong 2) Biết rằng khi xung clock vào có cạnh xuống hệ sẽ chuyển trạng thái
A
01 X = 1
B
11
D
10
C
00
0
0
0
1
1
T
CK
Q
Q
T
CK
Q
Q
X
CK
Trang 3Trang 3 / 11
Bài 6
Cho hệ tuần tự có lưu đồ máy trạng thái (lưu đồ SM, giản đồ trạng thái như hình vẽ) Xác định phương trình (hàm) trạng thái kế của các biến trạng thái Q+1, Q+2 và phương trình (hàm) ngõ ra Z1, Z2
Bài 7
Một hệ tổ hợp có ngõ ra Z là số nhị phân 4 bit (z3 z2 z1 z0); có chức năng chọn 1 trong
4 mã nhị phân 4 bit ở ngõ vào: M, N, P hoặc Q phụ thuộc 2 ngõ vào điều khiển x1 và x0
Viết mã VHDL thực hiện mạch này sử dụng component MUX 4 1 có khai báo ENTITY:
Gợi ý: - Mỗi ngõ ra zi chọn 1 trong 4 ngõ vào mi, ni, pi, qi
- Các ngõ vào và M, N, P, Q và ngõ ra Z khai báo kiểu STD_LOGIC_VECTOR
0
0 1
S2 10 S1 11
Z1
S0 01 = Q 1 Q 2
X Z2
Z1, Z2
0 1
X
X
Z1
11
1
ENTITY MUX4 IS
s1, s0: IN STD_LOGIC;
y: OUT STD_LOGIC);
END MUX4;
Trang 4Trang 4 / 11
Bài 8
Sử dụng các JK-FF có xung nhịp (clock) cạnh lên, hãy thiết kế mạch đếm song song có dãy đếm
Q2Q1Q0 như sau
Bài 9
Sử dụng các T-FF có xung nhịp (clock) cạnh lên và các ngõ Preset & Clear tích cực mức thấp, hãy
thiết kế mạch đếm nối tiếp có dãy đếm Q2Q1Q0 như sau
Bài 10
Hãy thiết lập bảng chuyển trạng thái của hệ tuần tự kiểu Mealy có 1 ngõ vào X và 1 ngõ ra Z Ngõ
ra Z chỉ bằng 1 khi ngõ vào X nhận được chuỗi liên tục 1, 0, 1, 1 Ký hiệu các trạng thái của hệ là
S0, S1, S2, …
Bài 11
trạng thái và vẽ giản đồ trạng thái của hệ
110
010
111
000
001
110
000
001
010
100
011
101
111
Q1
Q
CK
Q
CK
Q0
X
CK
Trang 5Trang 5 / 11
Bài 12
Cho một hệ tuần tự có giản đồ trạng thái như hình vẽ sau Hệ có 1 ngõ vào X và 1 ngõ ra Z Hệ có 4
trạng thái A, B, C và D Các trạng thái được gán như sau: A: Q 1 Q 0 = 00, B: Q 1 Q 0 = 10, C: Q 1 Q 0 =
01 và D: Q 1 Q 0 =11 Hãy thiết kế hệ bằng T-FF (có xung clock cạnh xuống) và PLA
Bài 13
Một mạch tổ hợp nhận vào một số BCD 4 bit (D 3 D 2 D 1 D 0 ) và tạo ra 7 ngõ ra a,
b, c, d, e, f, g để điều khiển LED 7 đoạn hiển thị số tương ứng Biết rằng, để
đoạn LED sáng thì ngõ điều khiển tương ứng là mức 1 Ví dụ, khi mạch tổ hợp
nhận vào D3D2D1D0 = 0001 thì sẽ tạo ra abcdefg = 0110000 (sáng số 1)
Hãy vẽ bảng chân trị mô tả hoạt động của mạch, và sau đó viết mã VHDL (sử
dụng phát biểu Process) để thực hiện mạch
Bài 14
Một mạch dồn kênh (Multiplexer) 2 sang 1 có hai ngõ vào là D1, D0, một ngõ lựa chọn S và một
ngõ ra Y Hãy viết mã VHDL (sử dụng phát biểu Process) để thực hiện mạch này
Bài 15
a Thiết kế bộ đếm nối tiếp sử dụng T-FF (CK cạnh lên, ngõ Preset và Clear tích cực thấp)
có giản đồ xung như hình vẽ
B
C
D
0/0
0/1
0/0 1/0
1/1
1/1 1/0
CK
Q 2
Q 1
Q 0
S
C
Trang 6Trang 6 / 11
b Ghép bộ đếm vừa thiết kế với Bộ cộng toàn phần (FA), hãy vẽ giản đồ xung của 2 ngõ ra
S và C (vẽ trên hình câu a)
Bài 16
Bộ đếm song song 2 bit QA QB , có 1 ngõ vào điều khiển X hoạt động như sau:
- X = 0: bộ đếm thực hiện chức năng đếm lên theo mã Gray
- X = 1: bộ đếm thực hiện chức năng đếm xuống theo mã Gray Thiết kế bộ đếm trên bằng PLA và D_FF (xung clock kích cạnh xuống)
Bài 17
Mạch số gồm 4 ngõ vào: A, B, C, CK và 1 ngõ ra S có sơ đồ logic sau:
a Khảo sát dạng xung ngõ ra Y của bộ dồn kênh 4 → 1 (MUX4) và ngõ ra Q của Flipflop T
(T_FF) (với giá trị ban đầu Q=1)
CK
A
B
C
Y
Q
CK
(MSB) Q 2 x
y z
S
C
Clock
Q 0
Q 1
FA: S = x ⊕ y ⊕ z
C = xy + xz + yz
E
C
D 0
D 1
D 2
D 3
S 0
S 1 (msb)
1 0
T Q
B
A
CK
MUX4
T_FF
Bảng hoạt động MUX 4 →1
S 1 S 0 Y
0 0
0 1
1 0
1 1
D 0
D 1
D 2
D 3
Trang 7Trang 7 / 11
b Viết chương trình VHDL mô tả hoạt động hệ thống trên (Sử dụng mô tả cấu trúc với 2
component MUX4 và T_FF cho trước)
Bài 18
Cho một mạch tuần tự như sơ đồ sau
a Hãy lập bảng chuyển trạng thái (bảng trạng thái) của mạch Trình bày cách làm
Trạng thái hiện tại
A B
Trạng thái kế tiếp
b Hãy vẽ giản đồ trạng thái với việc gán trạng thái: S0 = 00, S1 = 01, S2 = 11 và S3 = 10
Bài 19
Một hệ tuần tự kiểu Mealy có một ngõ vào X và một ngõ ra Z Ngõ ra Z là 1 khi và chỉ khi ngõ vào X nhận được một chuỗi tuần tự 0101 Hãy trình bày cách thiết lập bảng chuyển thái và rút gọn bảng trạng thái
Ví dụ: X = 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1
Z = 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0
Trạng thái Ý nghĩa
S1
S2
…
CK
J A A
K A A
X
B
X
CK
J B B
K B B
X
CK Clock
X
A
B
X
A
X
X
A
B
Z
Trang 8Trang 8 / 11
Bài 20
Hãy vẽ sơ đồ logic tương đương với đoạn mã VHDL:
Bài 21
Một mạch hoán đổi mạng 2 dây (2-input permutation network): có 2 ngõ vào a, b; ngõ vào điều khiển c và 2 ngõ ra x, y Mạch có hoạt động như sau:
- Khi c = 0 thì x = a và y = b
- Khi c = 1 thì x = b và y = a
Hãy viết mã VHDL (sử dụng phát biểu Process) mô tả hoạt động của mạch
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY cau8 IS
PORT (a, b, c: IN std_logic;
x, y : OUT std_logic);
END cau8;
ARCHITECTURE behavior OF cau8 IS BEGIN
PROCESS (a, b, c) BEGIN
IF c = ’0’ THEN x <= a;
y <= b;
ELSE x <= b;
y <= a;
END IF;
END PROCESS;
END behavior;
entity CAU6 is
port (
A, B, S1, S2, S3: in std_logic;
Y : out std_logic);
end CAU6;
architecture THI of CAU6 is
begin
process (A, B)
begin
if (A = ‘0’) then
Y <= S1;
elsif (B = ‘l’) then
Y <= S2 ;
else Y <= S3 ;
end if;
end process;
end THI;
Trang 9Trang 9 / 11
Bài 22
Một hệ tuần tự kiểu Moore có một ngõ vào X và một ngõ ra Z Hệ này tạo ra Z=1 nếu tổng số bit 0
nhận được là số chẵn (ngoại trừ số 0) Nếu nhận được X=1 thì hệ sẽ reset tổng số này về 0
Ví dụ: X = 0 0 0 0 1 0 0 0 1 1 0 0 0 0
Z = 0 1 0 1 0 0 1 0 0 0 0 1 0 1
a Hãy đặt tên các trạng thái và vẽ giản đồ trạng thái
S0 reset
b Hãy lập bảng chuyển trạng thái và rút gọn dùng phương pháp trạng thái tương đương
Trạng thái
hiện tại
Trạng thái kế tiếp Ngõ ra
Z
Bài 23
Thiết kế mạch nhân một số nhị phân 2 bit GH (H là LSB) với 1, 2, 3 hoặc
4, tùy thuộc vào 2 bit điều khiển E, F và tạo ra một số nhị phân 3 bit MNP
(P là LSB) Nếu kết quả của phép nhân lớn hơn 7 thì MNP =111 để báo
mạch bị tràn
a Thành lập bảng chân trị (truth table) mô tả hoạt động của mạch
b Cho một vi mạch giải mã 4 sang 16 (74154) hoạt động theo bảng chân trị (truth table) được cho sau đây Hãy thực hiện mạch tổ hợp ở câu a bằng một vi mạch 74154 và các cổng logic cần thiết Giải thích ngắn gọn cách làm
0 0
0 1
1 0
1 1
Nhân 1 Nhân 2 Nhân 3 Nhân 4
/G1 /G2 D C B A /Y15 /Y14 /Y13 /Y12 /Y11 /Y10 /Y9 /Y8 Y7 /Y6 /Y5 /Y4 /Y3 /Y2 /Y1 /Y0
1 X X X X X
X 1 X X X X
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 1 0
0 0 0 0 1 1
0 0 0 1 0 0
0 0 0 1 0 1
0 0 0 1 1 0
0 0 0 1 1 1
0 0 1 0 0 0
0 0 1 0 0 1
0 0 1 0 1 0
0 0 1 0 1 1
0 0 1 1 0 0
0 0 1 1 0 1
0 0 1 1 1 0
0 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Trang 10Trang 10 / 11
Bài 24 Cho một mạch tuần tự như sơ đồ sau
a Hãy lập bảng chuyển trạng thái (bảng trạng thái) của mạch Trình bày cách làm
b Hãy vẽ giản đồ trạng thái với việc gán trạng thái như sau: S0 = 00, S1 = 01, S2 = 11 và S3 = 10 Bài 25
a Cho hai mạch dồn kênh 2 sang 1 (MUX2TO1) hoạt động theo bảng chân trị (truth table) sau:
S Y
0 D0
1 D1
Không dùng thêm cổng, hãy tạo ra một dồn kênh 3 sang 1 (MUX3TO1) hoạt động như sau:
A B Y
1 X I2
b Hãy viết mã VHDL để mô tả MUX2TO1, sử dụng phát biểu CASE
c Hãy viết mã VHDL để mô tả mạch MUX3TO1 ở câu a sử dụng component MUX2TO1 ở câu b
74LS154
Y 0 1
Y 1 2
Y 2 3
Y 3 4
Y 4 5
Y 5 6
Y 6 7
Y 7 8
Y 8 9
Y 9 10
Y 10 11
Y 11 13
Y 12 14
Y 13 15
Y 14 16
Y 15 17
A
23
B
22
C
21
D
20
G1
18
G2
19
MUX3TO1
Y I1
I0
B I2 A
CK
Q
K
CK
J
Q
A
X
B
Q
CK D
Q
A
X
X
A
A
B
B
X
B
X
A
Z
F D1 D0
S
MUX2TO1
F D1 D0
S
MUX2TO1
(Vẽ trực tiếp vào hình trên)
Trang 11Bài 26
Cho bảng mã 6-3-1-1 như sau
a Thiết kế mạch đếm song song mod 10 (từ 0 đến 9) đếm theo thứ tự mã 6-3-1-1 sử dụng D-FF có xung clock cạnh xuống Lập bảng trạng thái và tìm các hàm ngõ
vào cho các FF Chú ý: các trạng thái không có trong dãy đếm sẽ
có trạng thái kế tiếp là tùy định
b Nếu trạng thái đầu của bộ đếm này là 1101 thì mạch có hoạt động
đúng theo dãy đếm đã thiết kế không? Giải thích
Bài 27
Sử dụng các JK-FF có xung clock cạnh xuống, ngõ vào Preset và Clear tích cực mức thấp, hãy thiết
kế bộ đếm nối tiếp 3 bit Q A Q B Q C (Q C là LSB) có giản đồ trạng thái như sau
Số thập phân Mã 6-3-1-1
0
1
2
3
4
5
6
7
8
9
0000
0001
0011
0100
0101
0111
1000
1001
1011
1100
110
010
001
000
111
QAQBQC