Dành cho các bnaj sinh viên ôn tập thi cuối kỳ môn kỹ thuật số
Trang 1Bài tập kỹ thuật số (trích từ các đề thi cuối học kỳ) Câu 1
Cho hệ tổ hợp có ngõ vào biểu diễn 1 giá trị x (số nhị phân 2 bit
x 1 x 0 ) Hệ có 3 ngõ ra a, b, c điều khiển các thanh đèn tương ứng sẽ sáng hoặc tắt (1 thì sáng, 0 thì tắt) tùy theo giá trị của x Ví dụ: x = 0 thì sáng tất cả thanh đèn
a Thiết kế hệ trên chỉ bằng cổng logic.
b Thiết kế hệ trên chỉ bằng mạch giải mã (decoder) 2 → 4 và cổng cần thiết
Câu 2
Cho bộ so sánh 3-bit (có ngõ ra tích cực cao) và bộ MUX 2 → 1 Hãy thiết kế hệ tổ hợp tìm giá trị lớn nhất trong 2 giá trị 3-bit M (M2 M1 M0) và
N (N2 N1 N0) để chọn đưa đến ngõ ra P (P2 P1 P0)
a
b c
D0 D1 S Y
Mux 2→1 A
2
A 1
A 0
B 2 B 1
B 0
A > B
A = B
A < B
0
Bảng hoạt động
EN X 1 X 0 Y 0 Y 1 Y 2 Y 3
0 x x
1 0 0
1 0 1
1 1 0
1 1 1
1 1 1 1
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
X
0 (LSB)
0
Y1 Y
2
Y3 EN
Trang 2Câu 3
Sử dụng T.FF có xung clock kích theo cạnh xuống, ngõ vào Preset và Clear tích cực logic 0 (tích cực thấp), hãy vẽ sơ đồ logic của bộ đếm nối tiếp
(bộ đếm bất đồng bộ) 3 bit Q 2 Q 1 Q 0 (Q 0 là LSB) có chức năng đếm 4 đếm
xuống với trạng thái đầu là 110.
Ghép nối tiếp bộ đếm này với 1 T.FF như hình vẽ Hãy xác định giản đồ trạng thái của bộ đếm Q3Q2Q1Q0 với giá trị đầu là 1010 (Giải thích
ngắn gọn)
Câu 4
Thiết kế bộ đếm 3 bit có dãy đếm 4, 2, 3, 6, 5, 1, 4, … sử dụng JK-FF có xung clock kích cạnh lên, ngõ vào Preset và Clear tích cực cao Các trạng thái không có trong vòng đếm: với trạng thái hiện tại là 0 thì trạng thái kế tiếp là 7, còn với trạng thái hiện tại 7 thì kế tiếp là 0 Vẽ thêm mạch khởi động giá trị ban đầu cho bộ đếm là 5
Câu 5
Cho mạch gồm MUX 4 → 1 và D-FF như hình vẽ Khảo sát tín hiệu Y và Q theo tín hiệu CK và các ngõ vào A, B (Giá trị ban đầu của Q = 0)
MUX 4 →
1
D0 D1 D2 D3 S0 (LSB) S1
1 0 B A
CK
T
ck
Q0 Q1 Q2 CK
Q
Q
Q3 1
Trang 3Câu 6
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ẽ
Câu 7
CK
A
B
Y
Q
T
CK
Q
Q
T
CK
Q
Q X
CK
Trang 4Cho 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.
Câu 8 :
Thiết kế hệ tổ hợp có nhiệm vụ nhân 3 của giá trị A (A là số nhị phân
2 bit A 1 A 0, với A0 là LSB) Kết quả là giá trị M = 3xA có 3 bit M2 M 1 M 0 (M0 là LSB). Tuy nhiên nếu kết quả đầy đủ thì giá trị M phải lớn hơn 3 bit
Trong trường hợp này hệ có thêm 1 ngõ ra I (Invalid): I = 1 nếu kết quả M lớn hơn 3 bit và I = 0 trong trường hợp ngược lại Trong trường hợp I = 1
thì giá trị M là tùy định.
Q
D
CK
Q
Q
B
C
Y
Z
T
D 10
A
B
C
Y
Z
T
Trang 5
Câu 9
a Cho mạch giải mã (decoder) 2 4 có ngõ ra tích cực logic 1 (tích cực cao) và có 1 ngõ vào cho phép tích cực logic 1 như hình vẽ Hãy tìm biểu thức của từng ngõ ra và vẽ sơ đồ logic của mạch giải mã
b Cho hàm F (A, B, C, D) có sơ đồ thực hiện bằng mạch giải mã trên và cổng logic như hình vẽ Hãy tìm dạng chính tắc 1 của hàm F (dạng chuẩn 1)
A1 A0 I M2 M1
M0
X0 X1 E
Y0 Y1 Y2 Y3
E X1 X0 Y0 Y1 Y2 Y3
0 X X
1 0 0
1 0 1
1 1 0
1 1 1
0 0 0 0
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
X0 X1 E
Y0 Y1 Y2 Y3
X0 X1 E
Y0 Y1 Y2 Y3 1
D
B
A
C
F
Decoder1
Trang 6Câu 10
Hệ tổ hợp có gồm có: - Ngõ vào: A0, A1, A2
- Ngõ vào điều khiển: X, Y
- Ngõ ra: F0, F1, F2
Hệ hoạt động theo 1 trong 4 chức năng như sau:
0 0
0 1
1 0
1 1
Quay phải giá trị ngõ vào (A0, A1, A2) Quay trái giá trị ngõ vào (A0, A1, A2) Dich phải giá trị ngõ vào (A0, A1, A2) Dịch trái giá trị ngõ vào (A0, A1, A2)
A2 A0 A1 A1 A2 A0
0 A0 A1 A1 A2 0 Thiết kế hệ tổ hợp trên chỉ sử dụng các MUX 4 1 (như hình vẽ)
Câu 11 :
Sử dụng T.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 Q 2 Q 1 Q 0 (Q0 là LSB) có chức năng đếm xuống, gồm 6 trạng
thái và trạng thái ban đầu là Q 2 Q 1 Q 0 = 011
Câu 12 :
Bộ đếm song song (bộ đếm đồng bộ) được thiết kế như hình vẽ Hãy
xác định giản đồ trạng thái của bộ đếm này Cho nhận xét về bộ đếm này.
Bảng hoạt động
0 0
0 1
1 0
1 1
D0 D1 D2 D3
Decoder2
D 0 D 1
D 2
S 1
S 0 (LSB)
F D
3
Trang 7Với giá trị đầu Q A Q B Q C = 001, hãy hoàn tất giản đồ xung như
hình vẽ:
Câu 1 3
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 Q A Q B Q C (Q C là LSB) có giản đồ trạng thái như hình vẽ.
Q CK
Cl
Q CK
Cl
Q CK
Cl
C
CK
RS
CK
Q
A
Q B
Q C
RS
0 0 1
111
000
0
001 010
011
Q A Q B Q C
Trang 8Câu
14
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ẽ
Câu
15
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 Câu
16
Rút gọn bảng trạng thái sau:
T
CK
Q
Q
T
CK
Q
Q X
CK
TRẠNG THÁI HIỆN TẠI
TRẠNG THÁI KẾ TIẾP X = 0X = 1X = 0X = NGÕ RA
1 S1S2S300S2S4S500S3S6S700S4S4S500S5S6S700S6S4
S510S7S6S700
Trang 9Câu
17
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 Với phép gán trạng thái A: Q 1 Q 2 = 10, B: Q 1 Q 2 = 00, C: Q 1 Q 2
= 10 và D: Q 1 Q 2 = 11 Hãy thiết kế hệ bằng JK_FF và cổng logic hoặc
D_FF và PLA Biết rằng khi xung clock vào có cạnh xuống hệ sẽ chuyển trạng thái.
Câu
18
A 01
11
D
0
0 0
1 1
Trang 10Cho hệ tuần tự có lưu đồ máy trạng thái (lưu đồ SM như hình vẽ) Xác định phương trình trạng thái kế của các biến trạng thái Q + 1, Q + 2 và phương trình ngõ ra Z1 Z2.
Câu
19
Hoàn tất mã VHDL thực hiện hệ tuần tự sau:
LIBRARY ieee;
USE iee.std_logic_1164.all;
ENTITY FSM IS
PORT (clock, reset, x: IN std_logic;
z: OUT std_logic);
END FSM;
ARCHITECTURE behavior OF FSM IS
TYPE state IS (A, B);
SIGNAL pr_state, nx_state: state;
0
0 1
S2 10 S1 11
Z1
S0 00 = Q 1 Q 2
X Z2
Z1, Z2
0 1X X
B
11
ZX
= 1
1 A
01
1
0/1, 1/0 0/1
Trang 11regst: PROCESS(clock, reset)
BEGIN
IF reset = ’1’ THEN pr_state <= A;
ELSIF (clock = ’1’ and clock’event) THEN
pr_state <= nx_state;
END IF;
END PROCESS;
Câu
20
Một mạch hoán đổi mạng 2 dây (2-input permutation network) Mạch
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:
- Nếu c = 0 thì x = a và y = b.
- Nếu 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.
Câu
21
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ó
0 0 d0
0 1 d1
1 0 d2
1 1 d3
ENTITY MUX4 IS
PORT (d0, d1, d2, d3: IN
STD_LOGIC;
s1, s0: IN STD_LOGIC;
y: OUT STD_LOGIC);
END MUX4;
Trang 12Gợi ý: - Mỗi ngõ ra z i chọn 1 trong 4 ngõ vào m i , n i , p i , q i
- Các ngõ vào và M, N, P, Q và ngõ ra Z khai báo kiểu STD_LOGIC_VECTOR.
Câu 22
Cho mạch logic như hình vẽ
a Xác định biểu thức của hàm F theo X2, X1, X0
b Thiết kế hàm F chỉ bằng các bộ cộng bán phần (Half-Adder HA)
c Thiết kế hàm F chỉ bằng IC74138 và các cổng AND 2 ngõ vào.
Câu 23
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 song song (bộ đếm
đồng bộ) 3 bit Q A Q B Q C (Q C là LSB) có giản đồ trạng thái như hình vẽ Vẽ
thêm mạch reset với trạng thái đầu là 111.
111
100
001 110
010
Q A Q B Q C
Mux2→1
D0
X2
D1 S Y
Mux2→1
D0 D1 S
Y D 10
X1
X0
F
Trang 13Câu 24
Hệ tuần tự gồm 1 ngõ vào X và 1 ngõ ra Z có mạch logic như hình vẽ
a Xác đị nh gi ả n đồ tr ạ ng thái c ủ a h ệ (1,5 điểm)
b Hãy chuy ể n l ạ i m ạ ch trên b ằ ng D-FF và PLA (1,0 điểm)
Câu 25
D1
CK
Q1
Q1
CK
Q0
X
Z
CLK
Trang 14Thà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ó 2 ngõ vào X1X0 (biểu diễn giá trị X là số nhị phân 2 bit) và 1 ngõ ra
Z Ngõ ra Z chỉ bằng 1 khi ngõ vào có gía trị X lớn hơn giá trị của nó trước đó
Ví d ụ : X1X0= 00, 10, 01, 01, 11, 00, 00, 10, 11, 00, …
Z = 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, Chú ý:
- Trạng thái reset coi như là trạng thái có giá trị vào X1X0 = 00 và ngõ ra Z
= 0
- Trạng thái reset đặt tên là S0, các trạng thái tiếp theo là S1, S2, …
Câu
26
Viết mã VHDL (sử dụng lệnh IF) mô tả mạch logic theo sơ đồ ở câu 21 Câu
27
a Cho mạch tổ hợp được mô tả bằng mã VHDL:
LIBRARY ieee;
USE iee.std_logic_1164.all;
ENTITY Cau_6 IS PORT ( w: IN STD_LOGIC_VECTOR(1 DOWNTO 0);
E: IN STD_LOGIC;
Y: OUT STD_LOGIC_VECTOR (0 TO 3);
END Cau_6;
ARCHITECTURE A OF Cau_6 IS
SIGNAL EW: STD_LOGIC_VECTOR (2 DOWNTO 0);
BEGIN
EW <= E & W;
WITH EW SELECT
Y <= ”0111” WHEN ”000”,
”1011” WHEN ”001”,
”1101” WHEN ”010”,
”1110” WHEN ”011”,
”1111” WHEN OTHERS;
END A;
Trang 15Hãy cho biết chức năng của mạch này và ý nghĩa của các ngõ vào/ngõ ra Giải thích ngắn gọn.
b Cho máy trạng thái được mô tả bằng mã VHDL:
LIBRARY ieee;
USE iee.std_logic_1164.all;
ENTITY Cau_6 IS
PORT (
clock, reset, x: IN std_logic;
z: OUT std_logic);
END Cau_6;
ARCHITECTURE B OF Cau_6 IS
TYPE state IS (S0, S1, S2);
SIGNAL pr_state, nx_state: state;
BEGIN
regst: PROCESS (clock, reset)
BEGIN
IF reset = ’1’ THEN
pr_state <= S0;
ELSIF falling_edge(clock)
THEN pr_state <= nx_state;
END IF;
END PROCESS;
nx_out: PROCESS (x, ps_state )
BEGIN
CASE ps_state IS
WHEN S0 =>
IF x = ’0’ THEN
z <= ’0’;
nx_state <= S0;
ELSIF
z <= ’0’;
nx_state <= S1;
END IF;
WHEN S1 =>
IF x = ’0’ THEN
z <= ’1’;
nx_state <= S2;
ELSIF
z <= ’1’;
nx_state <= S1;
END IF;
WHEN S2 =>
IF x = ’0’ THEN
z <= ’0’;
nx_state <= S2;
ELSIF
z <= ’1’;
nx_state <= S1;
END IF;
END CASE;
END PROCESS;
END B;
Trang 16Hãy vẽ giản đồ trạng thái của máy trạng thái này.