t k logic s ố

Thi ế ế (VLSI design)

B môn KT Xung, s , VXL quangkien82@gmail.com https://sites.google.com/site/bmvixuly/thiet-ke- logic-so 08/2012

M c đích, n i dung

• N i dung

: Phát bi u tu n t ể

ầ ự

• Th i l

t bài gi ng

ờ ượ : 3 ti ng

ế

2/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

VHDL statements

3/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

Sequential statements

ụ ộ ấ ị

Đn: Phát bi u th c thi ph thu c vào v trí xu t ể hi n trong ch ự ng trình. ươ ệ

: V trí ị

ng trình con Trong kh i quá trình ố Trong ch ươ

ầ ự

h p (not recommended) ả ả ạ

ụ : ng d ng cho m ch tu n t Dùng mô t ạ m ch t Dùng mô t ổ ợ Dùng cho các c u trúc mô ph ng ki m tra ấ ỏ ể

4/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

Sequential statements

1. IF, CASE

2. WAIT, ASSERT, REPORT

3. LOOP

4. Sequential Signal Assignment

5/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

PROCESS

[label]: Process (sensitive list) Begin -- sequential statements End process [label];

SENSITIVE LIST?

6/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

L nh IF

IF condition1 THEN sequence-of-statements ELSIF condition2 THEN [sequence-of-statements ] ELSIF condition3 THEN [sequence-of-statements ] .. ELSE [sequence-of-statements END IF;

7/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

IF Example 1-D-FlipFlop

SET

D

Q

CLK

CLR

Q

8/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

IF Example 2 - Register

D

clk, reset

REG1

Q

9/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

IF Example 3 - Simple Counter

Counter enable? Kd #= 2N

10/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

L nh CASE

CASE expression IS WHEN choice1 => [sequence-of-statements] WHEN choice2 => [sequence-of-statements] ...

WHEN others => -- optional if all choices covered [sequence-of-statements] END CASE;

11/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

CASE – Example: Multiplexer

IN2(n-bit)

IN1(n-bit)

Sel

MUX

Dout(n-bit )

12/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

Tr c nghi m

Câu 1: Đi m đ c tr ng nh t c a câu l nh tu n t ấ ủ ầ ự ư ể ệ ặ

A. Câu l nh đ

trong VHDL

theo th t ệ ượ c th c thi m t cách tu n t ộ ầ ự ự ứ ự

B. L nh tu n t

xu t hi n ệ ấ

đ c biên d ch thành mã máy gi ng ầ ự ượ ệ ố ị

C. L nh tu n t

nh câu l nh c a ph n m m. ủ ư ệ ề ầ

ch xu t hi n trong kh i quá trình ho c ầ ự ệ ệ ấ ặ ố ỉ

ch ng trình con ươ

D. Câu l nh tu n t ệ

dùng đ mô t m ch tu n t ầ ự ể ả ạ ầ ự

13/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

Tr c nghi m

t gi a l nh IF và l nh ể ặ ệ ữ ệ ệ

A. Không có s khác bi

Câu 2: Đ c đi m khác bi CASE

t, hai l nh này có th s d ng ự ệ ể ử ụ ệ

B. Đi u ki n trong câu l nh CASE là đi u ki n cùng

thay th l n nhau. ế ẫ

ề ệ ệ ề ệ

c p còn đi u ki n trong câu l nh IF là đi u ki n ấ ề ệ ệ ề ệ

phân c pấ

C. L nh CASE th ng dùng cho các kh i t h p, còn ệ ườ ố ổ ợ

l nh IF s d ng cho kh i m ch tu n t ệ ử ụ . ầ ự ạ ố

D. Không có s khác bi t rõ r t gi a hai câu l nh ự ệ ữ ệ ệ

14/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ

Tr c nghi m

Câu 3: C ch nh h ng c a sensitive list trong kh i ế ả ơ ưở ủ ố

A. Gi ng nh danh sách các tham bi n đ u vào c a kh i ố

Process

ư ủ ế ầ ố

B. Danh sách sensitive list kích thích cho quá trình th c ự

thi t kế ế

hi nệ

C. B t kỳ s thay đ i nào c a các đ i t ổ

ng trong danh ố ượ ủ ự ấ

sách sensitive list đ u làm cho quá trình t ề ươ ng ng ứ

đ ượ c th c thi. ự

ị ủ ệ

15/16

quangkien82@gmail.com

Ch

D. Giá tr c a các tín hi u trong danh sách sensitive list ươ

ng II: Ngôn ng VHDL quy đ nh giá tr c a các tín hi u đ u ra c a kh i quá

ị ủ ủ ệ ầ ố ị

trình

Tr c nghi m

A. L nh Loop ch có ý nghĩa s d ng trong mô ph ng thi

Câu 4: Phát bi u nào sau đây không đúng ể

t ử ụ ệ ỏ ỉ ế

B. L nh IF và l nh CASE có th thay th nhau trong m t

kế

ệ ể ế ệ ộ

C. L nh WAIT, ASSERT ch s dung cho m c đích mô

ng h p s tr ố ườ ợ

ỉ ử ụ ệ

D. Ph n t

ph ng ki m tra thi ể ỏ t k . ế ế

nh ch có th mô t b ng câu l nh tu n t ầ ử ể ớ ỉ ả ằ ầ ự ệ

16/16

quangkien82@gmail.com

Ch

ng II: Ngôn ng VHDL

ươ