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

Ch

ng II: Ngôn ng VHDL

12:57:30 PM ươ