Thi
t k logic s ố
ế ế (VLSI design)
ố
B môn KT Xung, s , VXL ộ quangkien82@gmail.com https://sites.google.com/site/bmvixuly/thiet-ke- logic-so 08/2012
12:57:29 PM
1
ươ
ng II: Ngôn ng ữ
Ch VHDL
quangkien82@gmail.com
12:57:29 PM
M c đích n i dung
ụ
ộ
: Toán t
và bi u th c, phép d ch
ộ
ứ
ị
ử và kh i d ch không s d ng toán t
• N i dung ố ị
ể ử ụ
ử
• Th i l
t bài gi ng
ờ ượ : 3 ti ng
ế
ả
2/13
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
12:57:29 PM
Toán tử
Toán t
logic
not, and, or, nand, nor, xor
ử
nào đ đ thi
ậ
ử
ủ ể
ế ế ọ =, /=, <, <=, >, >=
t k m i kh i s (v ố ố ề
sll, srl, sla, sra, rol, ror
T p h p toán t ợ Các phép toán quan hệ lý thuy t)?ế Các phép toán d chị
Các phép toán c ng, h p
+, -, &
ợ
ộ
nào th
ườ
ể
t k ế ế
+, - ng s d ng đ thi ử ụ *, /, mod, rem
d u Toán t ử ấ T p h p toán t ử ợ ậ Các phép toán nhân các kh i s ? ố ố
Các phép toán khác
**, abs
3/13
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
12:57:29 PM
Toán t
d ch
ử ị
Arithmetic
+
Horizotal
Right
A L
Logical
=
+
Left
Cyclic
R L
S Ro
SRA SRL SLA SLL
Syntax
Shift_out <= Shift_in SLL shift_value
Shift_out, Shift_in : BIT_VECTOR SHIFT_VALUE : Integer
RoL RoR
library ieee; USE ieee.Numeric_STD.all; USE ieee.Numeric_BIT.all;
4/13
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
12:57:30 PM
Toán t
d ch
ử ị
ệ
t gi a d ch logic và d ch s ố
ữ
ị
ị
S khác bi ự h c?ọ
Sho = "11000110"; # sho sll 2 = 00011000 # sho srl 2 = 00110001 # sho sla 2 = 00011000 # sho sra 2 = 11110001 # sho rol 2 = 00011011 # sho ror 2 = 10110001
5/13
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
12:57:30 PM
Kh i d ch không s d ng toán t
ử ụ
ố ị
ử
Shift_in
?
Shift_value
SHIFTER
Shift_out
ị
ứ
Đi m ph c ể t p?ạ
Giá tr d ch ị không xác đ nh. ị
6/13
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
12:57:30 PM
Kh i d ch không s d ng toán t
ử ụ
ố ị
ử
A(4:0) = A4 .24 + A3 .23 + A2 .22 + A1 .21 + A0 .20
Q SLL 5
Q (31:0) <= Q(27:0) & “00000”;
7/13
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
12:57:30 PM
Kh i d ch không s d ng toán t
ử ụ
ố ị
ử
Shift_in
SH16
Shift16
Shift_value(4)
Shift_in4
SH8
Shift8
Shift_value(3)
Shift_in3
….
…. ….
Shift_in1
SH1
Shift1
Shift_value(0)
Shift_out
8/13
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Tr c nghi m
ệ
ắ
A. D ng Logic
Câu 1: Toán t logic tr v giá tr d ng gì? ử ả ề ị ạ
B. D ng Numeric
ạ
C. Các c ng logic t ổ
ạ
D. D ng logic t
ươ ng ng ứ
ng ng ho c d ng Boolean ạ ươ ứ ạ ặ
9/13
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
12:57:30 PM ươ
ữ
Tr c nghi m
ệ
ắ
Câu 2: D ch logic m t chu i bit sang ph i 2 bit t ng ỗ ộ ả ị ươ
A. Chia giá tr bi u di n b i chu i bit v i 2^2 ễ
ng là: ứ
B. Chia giá tr bi u di n không d u b i chu i bit v i 2^2
ị ể ớ ở ỗ
C. Nhân giá tr bi u di n b i chu i bit v i 2^2 ễ
ị ể ễ ấ ớ ở ỗ
D. Chia giá tr bi u di n logic b i chu i bit v i 2^2
ị ể ở ỗ ớ
ị ể ễ ớ ở ỗ
10/13
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
12:57:30 PM ươ
ữ
Tr c nghi m
ệ
ắ
ữ ế ả ị ị
Câu 3: Khác nhau gi a k t qu d ch logic và d ch s ố h cọ A. D ch logic ch áp d ng cho s có d u còn d ch s h c áp ố ọ ấ ố ị ỉ
ị ụ
ố ấ ố ọ ị ể ễ
ụ d ng cho s có d u ấ ủ ấ ố ọ ị
B. Tính ch t s h c c a phép d ch logic đúng cho bi u di n s nguyên không d u, phép d ch s h c đúng cho s ố ố nguyên có d u.ấ C. Khác nhau căn b n khi d chị D. Giá tr thu đ
c đi n vào v trí tr ng giá tr bit đ ị ả ở ượ ề ố ị
ng ng là s không d u và s có d u. c t ượ ươ ứ ấ ấ ố ố ị
11/13
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
12:57:30 PM ươ
ữ
Tr c nghi m
ệ
ắ
Câu 4: Kh i d ch không s d ng toán t c xây ử ụ ố ị đ ử ượ
A. S d ng toán t
d ng trên nguyên lý nào ự
h p (&) có th th c thi đ ử ụ ử ợ ể ự ượ c m i ọ
B. Kh i d ch đi m t đ i l
thao tác d ch v i s bit d ch là m t h ng s ộ ằ ớ ố ị ị ố
C. Công th c tính giá tr s nguyên không d u c a m t
ộ ạ ượ ố ị ng 2i và kh i ch n kênh ố ọ
ị ố ứ ủ ấ ộ
chu i bit nh phân. ỗ ị
D. Chia thao tác d ch thành nhi u b ị
c v i m i b c ề ướ ỗ ướ ớ
d ch đi m t h ng s c đ nh. ố ố ị ộ ằ ị
12/13
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
12:57:30 PM ươ
ữ
Tr c nghi m
ệ
ắ
V gi n đ sóng thu đ ồ ẽ ả ượ c b i kh i l nh sau: ố ệ ở
begin waiting: process begin A <= 'Z'; B <= 'X'; wait for 100 ns; A <= '1'; B <= 'Z'; wait for 200 ns; A <= '0'; B <= '1'; wait for 300 ns; A <= '1'; B <= '0'; wait; end process waiting; end behavioral;
13/13
quangkien82@gmail.com