Câu 1 1,0 điểm Phân tích và xác định dãy đếm của bộ đếm như hình vẽ.. Câu 2 2,0 điểm Sử dụng JK-FF, thiết kế bộ đếm song song có giản đồ xung như hình vẽ các trạng thái không có trong vò
Trang 1Câu 1 (1,0 điểm) Phân tích và xác định dãy đếm của bộ đếm như hình vẽ
Câu 2 (2,0 điểm) Sử dụng JK-FF, thiết kế bộ đếm song song có giản đồ xung như hình vẽ (các trạng thái không có trong vòng đếm đều chọn trạng thái kế tiếp là trạng thái đầu của giản đồ)
Điểm
SINH VIÊN LÀM BÀI NGAY TRÊN ĐỀ THI - ĐỀ THI CÓ 6 TRANG
ĐỀ THI HK1 (2013-2014)
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: ………
ĐH BÁCH KHOA TP.HCM * KHOA ĐIỆN - ĐIỆN TỬ * BỘ MÔN ĐIỆN TỬ
CK
QA(msb)
QB
D
CK
Q
Q
Q0
CK
Pr
Cl
D
CK
Q
Q
Q1
Pr
Cl
D
CK
Q
Q
Q2
Pr
Cl
Z
Từ hình vẽ, ta thấy đây là bộ đếm lên, không đầy đủ Ta có, tín hiệu reset: Z = Q2Q0, vậy khi Q2Q1Q0= 1x1, bộ đếm sẽ reset về trạng thái đầu Xét 2 trường hợp:
* T/H1: Q2Q1Q0= 101, trạng thái đầu là Q2Q1Q0= 001 (do Z chỉ đưa vào chân Clear của Q2)
Từ trạng thái 001, bộ đếm sẽ đếm lên: 001 -> 010 -> 011 -> 100 Xung clock tiếp theo sẽ reset
bộ đếm về lại 001 Ta có bộ đếm lên m=4, bắt đầu từ trạng thái 001
* T/H2: Q2Q1Q0= 111, trạng thái đầu là Q2Q1Q0= 011 Từ trạng thái 011, bộ đếm sẽ đếm lên: 011 -> 100 Với xung clock tiếp theo sẽ reset bộ đếm về lại 001 Ta cũng lại có bộ đếm lên m=4, bắt đầu từ trạng thái 001 như trường hợp 1
Vậy ta có dãy đếm là: Q2Q1Q0= 001, 010, 011, 100, 001, …
0,5 đ
0,5 đ
Trang 2Câu 3 (1,0 điểm) 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 ngõ vào X nhận được chuỗi bit liên tiếp là 010 hoặc 0110 Biết rằng chuỗi được xét liên tục Hãy thành lập bảng chuyển trạng thái Rút gọn bảng trạng thái (nếu được)
(1,0 đ)
Trạng thái Ý nghĩa
A Trạng thái reset
(chưa nhận bit)
B 1 bit 0
C 1 bit 1
D 2 bit 0,1
E 3 bit 0,1,1
Vd: X = 0,1,1,1,0,1,0,1,1,0,1,0,0,0,1,1,0,1,1,1,0,1,0,1,
Z = 0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1,0,
X=0 X=1
Z X=0 X=1
A
B
C
D
E
B C
B D
B C
B E
B C
0 0
0 0
0 0
1 0
1 0
Ta có, A và C tương đương
X=0 X=1
Z X=0 X=1
A
B
D
E
B A
B D
B E
B A
0 0
0 0
1 0
1 0
1,0 đ
QA
QA
CK
QB
QB
QC
QC
1
0,5 đ
Dãy đếm QAQBQC = 100, 010, 000, 001, 101, 111, 100, …
QA QB QC Q+A Q+B Q+C JAKA JBKB JCKC
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 0 1
1 0 1
0 0 0
1 0 0
0 1 0
1 1 1
1 0 0
1 0 0
0 X 0 X 1 X
1 X 0 X X 0
0 X X 1 0 X
1 X X 1 X 1
X 1 1 X 0 X
X 0 1 X X 0
X 0 X 1 0 X
X 0 X 1 X 1
Rút gọn bìa K, ta có:
JA = QC KA = QB QC
JB = QA KB = 1
JC = QA QB KC = QB
0,75 đ
0,75 đ
Trang 3Câu 4 (2,0 điểm) Hệ tuần tự có 1 ngõ vào X và 2 ngõ ra U, V Khi có xung clock cạnh lên thì hệ chuyển trạng thái theo bảng sau:
TT hiện tại
Q1Q0
TT kế tiếp X = 0 X = 1 Ngõ ra (UV) X = 0 X = 1 10 A 01 B 00 C 11 D
A B C A B D C B 01 01
00 11
01 10
10 11
a Thiết kế hệ trên bằng T-FF và ROM (vẽ sơ đồ kết nối ROM với Flipflop và bảng nạp ROM) b Biết rằng ban đầu hệ tuần tự ở trạng thái C và X = 1 khi hệ có cạnh lên clock như hình vẽ Xác định ngõ vào X cần thiết để có U = V= 0 với số xung clock ít nhất Vẽ xung của ngõ vào X và ngõ ra U và V trong trường hợp này (Chú ý tín hiệu X không thay đổi tại cạnh lên của clock) X Q1 Q0 U V Q+1 Q+0 T1 T0 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 1 0 1
0 0 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 1 0
0 1 0 1
1 1 0 1
0 1
0 1
0 0
1 1
1 1
1 1
1 1
1 0 Bảng nạp ROM
X Q1 Q0
A2 A1 A0
U V T1 T0 D3 D2 D1 D0
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 1 0 1
0 0 0 1
0 1 0 0
1 0 1 1
1 0 1 1
1 1 1 1
0 1 1 1
1 1 1 0
A2
A1
A0
D1
D0
T1 Q1
T0 Q0
CK
V D2
U D3
X
ROM 23 x 4 (bit)
1,0 đ
Clock
Trạng thái
U
X
Trang 4Câu 5 (1,0 điểm) Hệ tuần tự được thiết kế bằng PLA và D-FF như hình vẽ Hãy vẽ giản đồ trạng thái của hệ
Câu 6 (1,0 điểm)
Cho code VHDL mô tả hàm logic F Hãy xác định biểu thức của F và viết lại code bằng lệnh WITH-SELECT-WHEN (chỉ viết từ phần architecture)
library ieee;
use ieee.std_logic_1164.all;
entity CAU6 is
port ( A, B, C, D : IN std_logic; F : OUT std_logic);
end CAU6;
architecture THI of CAU6 is
begin
process (A, B, C, D)
begin
if A = ‘0’ then F <= B and C; else F <= not C or D; end if; end process;
end THI;
Bảng nạp PLA
X QA QB Z DA DB
1 0 -
- - 1
- 0 1
- 1 0
0 1 0
0 1 0
1 0 1
1 0 0
Z
X
QA
QB
DA
DB
CK
ck
ck
Từ bảng PLA, ta có:
Z = QA QB + QA QB
DA = X QA + QB = Q+A
DB = QA QB = Q+B
Bảng chuyển trạng thái
X QA QB Z Q+AQ+B
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 0 0
1 1 1
1 0 0
0 1 0
0 1 0
1 1 1
1 0 0
0 1 0
0,5 đ
00
0
10
1
01
1
11
0
X = 0
0, 1
0, 1
0, 1
1
0,5 đ
Trang 5Câu 7 (1,0 điểm) Cho Flip-flop như hình vẽ Hãy viết code VHDL mô tả Flip-flop này
Bảng hoạt động
Cl M N Q+
0 X X
1 0 0
1 0 1
1 1 0
1 1 1
0
0
Q
Q
1
M
N
CK
Q
Q
Cl
*Chú ý: Ngõ vào Cl (clear) là ngõ vào đồng bộ
entity MN_FF is
port ( CK, Cl, M, N : IN std_logic;
Q, nQ : BUFFER std_logic);
end MN_FF;
architecture THI of MN_FF is
begin
process (CK)
begin
elsif M = ‘0’ and N = ‘0’ then Q <= ‘0’; elsif M = ‘0’ and N = ‘1’ then Q <= not Q; elsif M = ‘1’ and N = ‘1’ then Q <= ‘1’; end if;
end if;
end process;
end THI;
1,0 đ
Viết lại bằng lệnh WITH – SELECT - WHEN architecture THI of CAU6 is
begin
WITH A SELECT
F <= B and C WHEN ‘0’, not C or D WHEN OTHERS;
end THI;
0,5 đ
Biểu thức của hàm F:
F = A B C + A (C + D) 0,5 đ
Trang 6Câu 8: câu tự chọn (sinh viên chọn làm 8a hoặc 8b) (1,0 điểm)
8a Thành lập lưu đồ SM (rút gọn nếu được) của hệ tuần tự được mô tả ở câu 4
Lưu đồ SM rút gọn
X
B
A
X
U,V
C
X
V
U
D
X
10 = Q1Q0
01
1
0
1
0
0
1
0,5 đ
X
V
B
A
X
U,V
C
X
V
U
D
X
V
U
10 = Q1Q0
01
1
0
1
0
0
1
0,5 đ
Trang 78b Viết code VHDL mô tả hệ tổ hợp này với yêu cầu
Ngày 30 tháng 12 năm 2013
BM Điện Tử
GV ra đề
NGUYỄN TRỌNG LUẬT
D0 D1
D2
d 0 d 1 s
y
x y
z
s
c
MUX2to1
FA
d 0 d 1 s
y
x y
C0
s
c
MUX2to1
FA
z
- ngõ vào: X, C0 và 2 vector A, B
- ngõ ra: D là vector
- sử dụng component MUX2to1 và FA (không cần viết code cho 2 component này)
library ieee;
use ieee.std_logic_1164.all;
entity CAU8 is
port ( X, C0: IN std_logic;
A, B : IN std_logic_vector (1 downto 0);
D : OUT std_logic_vector (2 downto 0));
end CAU8;
architecture THI of CAU8 is
signal E, F, G, H, I : std_logic;
component MUX2to1
port ( d0, d1, s : IN std_logic; y: OUT std_logic);
end component;
component FA
port ( x, y, z : IN std_logic; s, c : OUT std_logic); end component;
begin
E <= not B(1); F <= not B(0);
u1: MUX2to1 port map (B(1), E, X, G);
u2: MUX2to1 port map (B(0), F, X, H);
u3: FA port map (A(1), G, I, D(1), D(2));
u4: FA port map (A(0), H, C0, D(0), I);
end THI;
1,0 đ