Tải bản đầy đủ (.pdf) (7 trang)

Đề Thi + Đáp án Môn kỹ thuật số

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (176.18 KB, 7 trang )

Đ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 (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: ………..
SINH VIÊN LÀM BÀI NGAY TRÊN ĐỀ THI - ĐỀ THI CÓ 6 TRANG
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ẽ.
Q0

Q1

0
Pr

D

CK

CK

Cl

Q2


0

0
Q

D

Q

CK

0

Pr

Cl

Q

D

Q

CK

Pr

Cl

0


Q

Q

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.

0,5 đ

* 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.

0,5 đ

Vậy ta có dãy đếm là: Q2Q1Q0= 001, 010, 011, 100, 001, …
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
đồ).

CK
QA(msb)
QB
QC

1


Dãy đếm QAQBQC = 100, 010, 000, 001, 101, 111, 100, …

0,75 đ

QA QB QC
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Q+A Q+B Q+C
0 0 1
1 0 1
0 0 0
1 0 0
0 1 0
1 1 1
1 0 0
1 0 0

JAKA
0 X
1 X

0 X
1 X
X 1
X 0
X 0
X 0

JBKB JCKC
0 X 1 X
0 X X 0
X 1 0 X
X 1 X 1
1 X 0 X
1 X X 0
X 1 0 X
X 1 X 1

Rút gọn bìa K, ta có:

QA

KA

QA

KA = QB QC

JB = QA

KB = 1


JC = QA QB

KC = QB
0,75 đ

QA

JA

JA = QC

QC

QB

JB

QB

JC

QC

KB

QB

KC


QC

1
CK

0,5 đ

Câ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)
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,..
(1,0 đ)
Trạng thái

Ý nghĩa

A

Trạng thái reset

HT

KT
X=0 X=1
B
C

1,0 đ


Z
X=0 X=1
0
0

Ta có, A và C tương đương
HT
KT
Z
X=0 X=1 X=0 X=1
A
B
A
0
0

(chưa nhận bit)

A

B

1 bit 0

B

B

D


0

0

C

1 bit 1

C

B

C

0

0

B

B

D

0

0

D


2 bit 0,1

D

B

E

1

0

D

B

E

1

0

E

3 bit 0,1,1

E

B


C

1

0

E

B

A

1

0

2


Câ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

Ngõ ra (UV)

X=0


X=1

X=0

X=1

10

A

A

B

01

01

01

B

C

A

00

11


00

C

B

D

01

10

11

D

C

B

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)
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

U V Q+1 Q+0
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

T1 T0
0 1
0 1
0 0
1 1
1 1
1 1
1 1
1 0

1,0 đ
ROM 23 x 4 (bit)
D3


U

D2

V

A1

D1

T1

Q1

A0

D0

T0

Q0

A2

X

Bảng nạp ROM
X Q1 Q0
U V T1 T0
A2 A1 A0 D3 D2 D1 D0

0 1 0 1
0 0 0
0 0 0 1
0 0 1
0 1 0 0
0 1 0
1 0 1 1
0 1 1
1 0 1 1
1 0 0
1 1 1 1
1 0 1
0 1 1 1
1 1 0
1 1 1 0
1 1 1

CK

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)
Clock
X
Trạng thái

C

D


B

U
V
3

1,0 đ


Câ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ệ.
Bảng nạp PLA
X

Z

QA

DA

D

Q

ck
D

DB


QB

Q

X Q A QB

Z DA DB

1 0 - - 1
- 0 1
- 1 0

0
0
1
1

1
1
0
0

0
0
1
0

Từ bảng PLA, ta có:
Z = QA QB + QA QB


ck

DA = X QA + QB = Q+A

CK

DB = QA QB = Q+B

Bảng chuyển trạng thái
X Q A QB

Z Q+AQ+B

0
0
0
0
1
1
1
1

0
1
1
0
0
1
1
0


0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
0
1
1
1
0
1

0
1

0
0
0
1
0
0

0,5 đ

1
00
0

0, 1

10
1

X=0
0,5 đ
0, 1
01
1

0, 1

11
0

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;

4


Biểu thức của hàm F:
F =

A.BC

+ A (C + D)

0,5 đ

Viết lại bằng lệnh WITH – SELECT - WHEN
architecture THI of CAU6 is


0,5 đ

begin
WITH

A

SELECT

F <= B and C

WHEN ‘0’,

not C or D

WHEN OTHERS;

end THI;

Câ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.
*Chú ý: Ngõ vào Cl (clear) là ngõ vào đồng bộ
M

Q

Bảng hoạt động

Cl M N
0 X X
1 0 0

1 0 1
1 1 0
1 1 1

CK
N

Cl

Q

entity MN_FF is
port ( CK, Cl, M, N : IN
Q, nQ

:

std_logic;

Q+
0
0
Q
Q
1

1,0 đ

BUFFER std_logic);


end MN_FF;
architecture THI of MN_FF is
begin
process (CK)
begin
if rising_edge (CK) then
if Cl = ‘0’ then Q <= ‘0’ ;
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;
nQ <= not Q;
end process;
end THI;

5


Câ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

A

10 = Q1Q0

Lưu đồ SM rút gọn

0,5 đ
0


A

1

X

V

10 = Q1Q0
V

0,5 đ

V
0

B

1

X

01

B
0

X


C

1
U,V
0

X

C
0

1
0

U

X
1

V

D

U
D

U,V

X


0

U
U
1
V

6

1
U,V

X

V

1

01

X

0


8b. Viết code VHDL mô tả hệ tổ hợp này với yêu cầu
X
B1
B0
X


d0 d1 s
MUX2to1
y

d0 d1 s
MUX2to1
y

A1

A0
x

c

D2

- 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)

x

y
FA
s


z

c

y
FA
s

z

C0

D0

D1

library ieee;
use ieee.std_logic_1164.all;

1,0 đ

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;

Ngày 30 tháng 12 năm 2013
BM Điện Tử

GV ra đề

NGUYỄN TRỌNG LUẬT
7



×