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
M c đích, n i dung
ụ
ộ
: Ki n trúc ki u c u trúc, Mô
ể
ng d li u, ữ ệ
ấ ế ph ng trên ModelSim, Đ i t ố ượ ki u d li u
• N i dung ộ ỏ ể
ữ ệ
• Th i l
t bài gi ng
ờ ượ : 3 ti ng
ế
ả
2/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Adder 4 bit
A
4
B Cin 4
Cout
Σ
4
Sum
b3
a3
b2
a2
b1
a1
b0
a0
C(2)
C(1)
C(0)
CI
FULL_ADDER
FULL_ADDER
FULL_ADDER
FULL_ADDER
CO
S2
S1
S0
S3
3/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Configuration
M t th c th có bao nhiêu ki n trúc ?
ự
ộ
ể
ế
Ki n trúc nào đ
c biên d ch vào th vi n Work?
ế
ượ
ư ệ
ị
Ki n trúc nào s đ
ẽ ượ
ế
c mô ph ng b ng l nh Vsim? ằ
ỏ
ệ
4/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Configuration
Dataflow
ADDER4 = 4 Full_adder
?
Behavioral
configuration behav of adder4 is for structure -- one of architecture for all: full_adder use entity work.full_adder(behavioral); end for; end for; end configuration;
-- select architecture for u0: full_adder use entity work.full_adder(behavioral); for u1: full_adder use entity work.full_adder(behavioral); for u2: full_adder use entity work.full_adder(dataflow); for u3: full_adder use entity work.full_adder(dataflow);
5/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Object Types Đ i t
ng d li u
ố ượ
ữ ệ
6/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Object Types
ữ ữ ệ
ố ượ ị ở ạ ự ệ
ự
ng d li u dùng kh i t o đ H ngằ là nh ng đ i t ể ch a các giá tr xác đ nh trong quá trình th c hi n. ị c khai báo trong các gói, th c th , H ng có th đ ể ể ượ ng trình con, các kh i và quá trình. ki n trúc, ch ố ươ ứ ằ ế
ữ ứ
ể c khai báo bên ả
Bi nế là nh ng đ i t ữ ệ k t qu trung gian, bi n ch có th đ ỉ ế trong các quá trình ho c ch ươ ng d li u dùng đ ch a các ố ượ ế ể ượ ng trình con. ặ
ữ ệ
ố ượ ố ể ồ ữ ặ
Tín hi u ệ là các đ i t ng d li u dùng đ k t n i ể ế ố gi a các quá trình (kh i logic) ho c đ đ ng b ộ các quá trình
7/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Data types
8/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Data types
Name
‘U’ 'X' '0' '1' 'Z' Driver Strength - Strong Strong Strong -
STD_LOGIC_11 64 Value Unsolved X 0 1 High impedance
'W' 'L' 'H' '-' X 0 1 Don’t care Weak Weak Weak -
9/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Tr c nghi m
ệ
ắ
Câu 1: Ki u d li u ti n đ nh nghĩa nào đ c xem ữ ệ ề ể ị ượ
A. Ki u BIT và NUMERIC
là ki u d li u c b n nh t trong VHDL ơ ả ữ ệ ể ấ
B. Ki u BIT ể
C. Ki u STD_LOGIC
ể
D. Ki u NUMERIC và STD_LOGIC
ể
ể
10/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Tr c nghi m
ệ
ắ
A. Bi n là đ i t
Câu 2: Phát bi u sau nào sau đây không chính xác: ể
ố ượ ế ng d li u dùng đ l u tr các giá tr ị ể ư ữ ệ ữ
trung gian trong quá trình tính toán.
B. Bi n th ế
ng không t ng ng v i m t th c th v t lý ườ ươ ể ậ ứ ự ộ ớ
C. H ng s là đ i t
nào trong vi m ch mô t ạ . ả
ng d li u dùng đ l u tr các giá ố ượ ằ ố ữ ệ ể ư ữ
D. Giá tr c a m t tín hi u đ
ng trình tr không đ i trong ch ổ ị ươ
c xác đ nh t nhi u đi u ị ủ ệ ộ ượ ị ừ ề ề
ki n logic đ c l p v i nhau.. ộ ậ ệ ớ
11/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Tr c nghi m
ệ
ắ
A. Quy đ nh v s d ng ki n trúc c th c a các thi
Câu 3: M c đích c a khai báo c u hình là: ủ ụ ấ
t ụ ể ủ ề ử ụ ế ị ế
B. Quy đ nh v c u hình các c ng vào ra c a m t thi
kế
t ề ấ ủ ổ ộ ị ế
C. Thi
k .ế
D. C u hình cho các d li u vào ra c a m t thi
t l p các tham s tĩnh cho thi ế ậ ố t k ế ế
ữ ệ ủ ấ ộ t k . ế ế
12/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Tr c nghi m
ệ
ắ
Câu 4: M c đích c a vi c s d ng các giá tr 9 m c ệ ử ụ ủ ụ ứ ị
A. Đ m b o mô t
logic c a ki u d li u STD_LOGIC ữ ệ ủ ể
đ y đ các tr ng thái v t lý c a m ch ả ả ả ầ ủ ủ ạ ậ ạ
B. Đ m b o có th mô ph ng đ
số
c chính xác ch c năng ể ả ả ỏ ượ ứ
C. Đ m b o mô t
c a vi m ch s . ố ủ ạ
đ y đ các d ng tín hi u th t trong ả ả ả ầ ủ ệ ậ ạ
D. Ph c v yêu c u m r ng cho đ c tính c a vi m ch tích
m ch và ph c v m c đích mô ph ng ki m tra ụ ụ ụ ể ạ ỏ
ở ộ ủ ụ ụ ầ ặ ạ
ng ố ợ ạ ườ
13/15
quangkien82@gmail.com
h p s so v i các m ch thông th ng II: Ngôn ng VHDL
Ch
ớ ữ
ươ
Tìm l
i sai
đo n code sau
ỗ
ở
ạ
entity logic_expample is port( A : in std_ulogic_vector(8 downto 0); U : out std_ulogic_vector(8 downto 0) ); end logic_expample; ----------------------------------------- architecture dataflow of logicexpample is Begin A <= “XXXX01ZWLH"; U <= A; U <= "X01ZWLH-1"; end dataflow;
14/15
quangkien82@gmail.com
Ch
ng II: Ngôn ng VHDL
ươ
ữ
Vi
t mô t
th c th cho kh i thiêt k sau
ế
ả ự
ố
ế
ể
Cin
B(N-bit )
A(N-bit)
Cout
Σ
Sum (N-bit)
15/15
quangkien82@gmail.com