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