MƠN KỸ THUẬT SỐ Bộ mơn Điện tử Đại Học Bách Khoa TP.HCM Bài 1 Cho mạch logic như hình vẽ... 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
Trang 1MƠN KỸ THUẬT SỐ
Bộ mơn Điện tử Đại Học Bách Khoa TP.HCM
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
Q
D
CK
Q
Q
B
C
Y
Z
T
T = Z ⊕ C = Z ⊕ C
A
B
C
Y
Z
T
Trang 2Bà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ẽ
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ẽ
111
000
001
101
110
QAQBQC
X
J
K
Q
Q
CK
Pr
Cl
1
1
J
K
Q
Q
CK
Pr
Cl
1
1
J
K
Q
Q
CK
Pr
Cl
1
1
1
Từ giản đồ trạng thái ta có đây là bộ đếm lên có dãy đếm tuần hoàn:
101, 110, 111, 000, 001
Q A Q B Q C
1 0 1
1 1 0
1 1 1
0 0 0
0 0 1
0 1 0 Z = QA Q B = Q A + Q B
(Tích cực thấp)
Trang 3Bà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
Từ sơ đồ ta có: T0 = X + Q1 và T1 = (X + Q1) ⊕⊕⊕ Q0
Lập bảng chuyển trạng thái: X Q1 Q0 T1 T0 Q+1 Q+0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
1 0
0 0
0 1
1 1
0 1
1 1
0 1
1 1
1 0
0 1
1 1
0 0
0 1
1 0
1 1
0 0
0
10
11
0, 1
01
1
1
0, 1
Ta có giản đồ trạng thái:
X = 0 X = 1
Ngõ ra
(reset) A
( 1 ) B
( 1, 1 ) C
(1, 1, 0) D
(1, 1, 0, 1) E
A B
A C
D C
A E
A C
0
0
0
0
1 Bảng trạng thái rút gọn:
0
01
11
0, 1
10
1
1
0, 1
Hoặc
X = 0 X = 1
Ngõ ra
(reset) S0 ( 1 ) S1 ( 1, 1 ) S2 (1, 1, 0) S3 (1, 1, 0, 1) S4
S0 S1 S0 S2 S3 S2 S0 S4 S0 S2
0
0
0
0
1
Hoặc
Trang 4Bà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
D
0
0
0
1
1
X Q1 Q2 Z1 Z2 Q+1 Q+2 J1 K1 J2 K2
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
1 1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
0 1
1 1
1 0
1 0
0 0
1 0
0 0
0 0
0 X 1 X
1 X X 0
X 0 0 X
X 0 X 1
0 X 0 X
1 X X 1
X 1 0 X
X 1 X 1
Dùng bìa K, ta có: Z1 = Q1 Q2 + Q1 Q2 = Q2 ⊕⊕ Q2 Z2 = Q2
D1 = Q+1 = X Q1 + Q1 Q2 D2 = Q+2 = X Q1
J1 = Q2 K1 = X J2 = X Q1 K2 = X + Q1
J2
K2
Q2
Q2
CK
Z 2
J1
K1
Q1
Q1
CK
X
Z 1
CK
X Q1 Q2 Z1 Z2 D1 D2
- 0 0 1 0 0 0
Bảng nạp PLA
* Thiết kế bằng D-FF và PLA:
* Thiết kế bằng JK-FF và cổng:
PLA
X
Z1 Z2
D Q
Trang 5Bà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
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
P/trình ngõ ra: Z1 = Q1 Q2 + Q1 Q2 + X Q1 Q2
Z2 = X Q1 Q2 + Q1 Q2
P/trình TTKT: Q+1 = X Q1 Q2 + X Q1 Q2 + X Q1 Q2
Q+2 = X Q1 Q2 + X Q1 Q2 + X Q1 Q2 + X Q1 Q2 + X Q1 Q2
Trang 6Bà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
s1 s0 y
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;
END MUX4;
x1 x0 Z = z3 z2 z1 z0
0 0 M = m3 m2 m1 m0
0 1 N = n3 n2 n1 n0
1 0 P = p3 p2 p1 p0
1 1 Q = q3 q2 q1 q0
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY cau7 IS
PORT (m, n, p, q: IN std_logic_vector(3 downto 0);
x1, x0: IN std_logic;
z: OUT std_logic_vector(3 downto 0));
END cau7;
ARCHITECTURE structure OF cau7 IS
COMPONENT MUX4 IS
END COMPONENT;
BEGIN
Trang 7Bài 8
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;