ĐH BÁCH KHOA TP.HCM * KHOA ĐIỆN - ĐIỆN TỬ * BỘ MƠN ĐIỆN TỬ
Điểm
Chữ kí giám thị
ĐỀ THI HK1 (2012-2013)
Mơn: Kỹ thuật số
Thời gian: 110 phút
(SINH VIÊN KHƠNG ĐƯỢC SỬ DỤNG TÀI LIỆU)
HỌ TÊN: ………………………………………. MSSV: ………………… NHÓM: ………..
SINH VIÊN LÀM BÀI NGAY TRÊN ĐỀ THI - ĐỀ THI CÓ 5 TRANG
Câu 1 (1,5 điểm)
Cho bộ đếm song song 2 bit Q1 và Q0 (LSB); bộ đếm có 1 ngõ vào điều khiển X như
hình vẽ.
Q0 (lsb)
Q1
X
D1
Q1
D0
Q0
CK1
Q1
CK0
Q0
CK
a. Viết phương trình ngõ vào D:
c. Xác định dãy đếm và cho biết ý nghĩa
của ngõ vào X:
D1 = X Q1 Q0
D0 = Q0
X = 0: Q1Q0 = 11, 10, 01, 00, 11, …
X = 1: Q1Q0 = 00, 01, 10, 11, 00, …
b. Thành lập bảng chuyển trạng thái: (0,5d)
X Q1 Q0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
(0,5d)
(0,5d)
Với X = 0, ta có bộ đếm xuống 2 bit;
Q+1 Q+0
1
1
0
0
0
1
1
0
0
1
1
0
1
1
0
0
và X =1, ta có bộ đếm lên 2 bit.
1
Câu 2 (3,0 điểm)
a. Cho hệ tuần tự (gồm 1 ngõ vào X và 1 ngõ ra Z) có giản đồ trạng thái như hình vẽ
X=1
0
D
C
0
0
1
1
B
A
1
0
1
0
Q1
Q0 0
0 A
B
D
C
1
0
1
0
Bảng gán trạng thái
Thiết kế hệ trên bằng T-FF (kích cạnh lên) và PLA (vẽ sơ đồ kết nối PLA với Flipflop
và trình bày bảng nạp PLA)
X
0
0
0
0
1
1
1
1
Q1 Q0
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
Z
0
0
0
1
0
0
0
1
Q+1
Q+0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
T1
0
1
0
1
1
0
0
0
T0
0
0
0
0
0
0
1
1
1
1
(0,5d)
Z
Q1
T1
T1 XQ1
Q0 00 01 11 10
1
0
1
1
T1 = X Q0 + X Q1Q0
1
T0 XQ1
Q0 00 01 11 10
1
0
T0 = X Q1
1
(0,5d)
T
Q
T
T0
Q0
Z = Q 1 Q0
1
1
X
(0,5d)
Z XQ1
Q0 00 01 11 10
0
Bảng nạp PLA
Q
(0,5d)
X Q1 Q0
Z T 1 T0
- 1 1
0 - 1
1 0 0
1 1 -
1
0
0
0
CK
b. Hoàn tất giản đồ định thì (giản đồ xung) của hệ tuần tự
(1,0d)
CK
X
A
A
B
B
C
B
Q1
Q0
Z
2
C
D
C
0
1
1
0
0
0
0
1
Câu 3 (1,0 điểm) Cho Flip-flop như hình vẽ:
X1
Bảng hoạt động
Q
X1
0
0
1
1
CK
X2
Q
Q+
1
Q
0
Q
X2
0
1
0
1
a. Xác định phương trình đặc tính của Flip-flop: Q+
(0,5d)
X1 X2 Q
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Q+
Q+ X1X2
00 01 11 10
Q
0 1 1
1
1
1
0
0
0
0
1
1
1
1
Q+ = X1 Q + X1 X2 + X1X2Q
b. Với ngõ vào X1 = 0 và X2 = 1 thì Flip-flop có tính chất gì? Giải thích ngắn gọn
Với X1 = 0 và X2 = 1 thì Q+ = Q : ta có FF đếm 2 (chia đôi tần số)
(0,5d)
Câu 4 (1,0 điểm)
Một hệ tuần tự kiểu Moore 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 2 bit liên tiếp khác nhau. Hãy thành lập bảng chuyển trạng thái.
Trạng thái
Ý nghĩa
S0
Trạng thái reset
Hiện tại
(chưa nhận bit)
Kế tiếp
Ngõ ra
X =0
X=1
Z
S0
S1
S2
0
S1
Có 1 bit 0, Z = 0
(0)
S1
S1
S3
0
S2
Có 1 bit 1, Z = 0
(1)
S2
S4
S2
0
S3
Có 1 bit 1, Z = 1
(1)
S3
S4
S2
1
S4
Có 1 bit 0, Z = 1
(0)
S4
S1
S3
1
3
Câu 5 (1,5 điểm)
Hãy vẽ sơ đồ logic của bộ đếm nối tiếp được mơ tả VHDL, từ đó xác định dãy đếm của
bộ đếm này:
library ieee;
use ieee.std_logic_1164.all;
entity CAU5 is
port ( CLK : IN std_logic;
Q : BUFFER std_logic_vector(2 downto 0));
end CAU5;
architecture THI of CAU5 is
component T_FF
port ( T, CK, Pr, Cl: IN std_logic;
Q: OUT std_logic);
end component;
signal Z, ONE, ZERO: std_logic;
begin
ONE <= ’1’; ZERO <= ’0’;
Z <= not Q(2) and Q(1) and not Q(0);
u0: T_FF port map (ONE, CLK, Z, ZERO, Q(0));
u1: T_FF port map (ONE, Q(0), Z, ZERO, Q(1));
u2: T_FF port map (ONE, Q(1), Z, ZERO, Q(2));
end THI;
Q0
1
Pr
T
CK
CLK
Pr
T
CK
Cl
0
CK
Q
Q
Cl
T_FF component
Q1
1
Q
Pr
T
Q2
1
Pr
T
CK
Cl
0
Q
Cl
0
Z
(1,0d)
Đây là bộ đếm nối tiếp có chức năng đếm xuống
Z = Q2 Q1 Q0 nên khi Q2Q1Q0 = 010 thì bộ đếm reset về trạng thái ban đầu là 111.
=> Vậy dãy đếm của bộ đếm Q2Q1Q0= 111, 110, 101, 100, 011, 111, 110, ..
(0,5d)
Câu 6 (1,0 điểm)
a. Thực hiện hàm F = A B chỉ bằng cổng NAND 2 ngõ vào
F=AB= AB+AB = AB.AB
(0,5d)
A
C1
C2
F
B
C3
C4
4
b. Sử dụng mô tả cấu trúc với component NAND2 cho trước (với x, y là 2 ngõ vào và z
là ngõ ra), viết tiếp đoạn mã VHDL mô tả hoạt động hàm F:
entity CAU6 is
signal C1,C2,C3,C4: std_logic;
port ( A, B: IN std_logic;
begin
F: OUT std_logic);
u1: NAND2 port map (A, A, C1);
end CAU6;
u2: NAND2 port map (C1, B, C2);
architecture THI of CAU6 is
u3: NAND2 port map (B, B, C3);
component NAND2
u4: NAND2 port map (C3, A, C4);
port (x, y: IN std_logic;
u5: NAND2 port map (C2, c4, F);
z: OUT std_logic);
end THI;
(0,5d)
end component;
Câu 7 (1,0 điểm)
Viết đoạn mã VHDL (chỉ viết từ ENTITY) mô tả mạch tổ hợp: có A, B là ngõ vào 8 bit
và S là ngõ vào 2 bit. Mạch có ngõ ra F cũng 8 bit. Mạch có hoạt động như sau:
- S = 00 thì F là NOT của A.
- S = 01 thì F là AND giữa A và B.
- S = 10 thì F là OR giữa A và B.
- S = 11 thì F là XOR giữa A và B.
Yêu cầu: khai báo các ngõ vào và ngõ ra đều là vector và sử dụng lệnh CASE để mơ tả.
Chú ý: các phép tốn logic đều được sử dụng trên toán hạng là vector
entity CAU7 is
case S is
when “00” => F <= not A;
port
when “01” => F <= A and B;
( A, B: IN std_logic_vector (7 downto 0);
when “10” => F <= A or B;
S: IN std_logic_vector (1 downto 0);
when “11” => F <= A xor B;
F: OUT std_logic_vector (7 downto 0));
end CAU7;
when others => null;
architecture THI of CAU7 is
end case;
begin
end process;
process (A, B, S)
end THI:
z: OUT std_logic);
end component;
GV ra đề
Ngày 02 tháng 01 năm 2013
BM Điện Tử
NGUYỄN TRỌNG LUẬT
5