ế ế

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

N i dung môn h c

ế

ắ ạ ừ ệ i t

ử ố  Đi n T  S )

ứ • Các ki n th c chung (nh c l • HDL & Automation Design ả • IC kh  trình

Ch

ng

ươ I

ơ

ế

ế

Các kh i MSI, SSI đ n gi n đã bi

ị t trong ĐTS: c ng, d ch, thanh ghi, đ m

Ch

ng

ữ • Ngôn ng  VHDL ỹ • K  năng TK:  FSM…

ươ II

ế ế ộ ố

ố t k  m t s  kh i LSI thông d ng

ơ ồ ể ố

ố ự

ố Các kh i LSI, VLSI: CLA, nhân, chia s  nguyên, s  th c, có d u  và không d u,

ơ

Ch

ng

ậ ớ

• Các thu t toán và s  đ  đ  thi • K  năng TK:  Memory, c u trúc CPU đ n gi n. ọ • Bài t p l n môn h c

ươ III

t k  FPGA trên Xilinx ISE ệ

ươ

ế

các ch

ậ ng tr oc trên FPGA, l p trình giao ti p b ng

Ch

ng

ự Hi n th c hóa thi ả ạ ị ơ

• Công ngh  FPGA ế ế • Thi ế ế ở ỹ t k   • K  năng TK:  VHDL cho các ngo i v  đ n gi n  : UART, PS/2, I2C, SPI, VGA/LCD.

ươ IV

2

quangkien82@gmail.com

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

2/26

M c đích & n i dung

ụ • M c đích • Gi

ệ i thi u t ng quan v  công ngh  FPGA, so sánh FPGA v i các  ụ

ề ử

ế ế

ế

ượ

t k  và x  lý  ng d ng cho các bài toán s . Ki n  c nguyên lý

n m đ

ệ ủ

ệ ổ ệ công ngh  thi ế ổ trúc t ng quan và Ki n trúc Xilinx FPGA,  làm vi c c a FPGA.

ế

ộ • N i dung ệ • Khái ni m FPGA ổ • Ki n trúc t ng quan FPGA • Công ngh  tái c u trúc FPGA (SRAM­based) So sánh FPGA v i CPLD, SPLD, ASIC, DSP

ấ ớ ủ

ợ ụ ể ủ

ứ ậ ộ ế

ụ • Các  ng d ng c a FPGA ả • M t đ  tích h p và kh  năng tài nguyên c a FPGA • Ki n trúc c  th  c a Xilinx Spartan 3E

quangkien82@gmail.com

3/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Yêu c u chu n b  & Tài li u tham kh o

ướ ướ

ng IV ạ ị

ọ • Đ c tr • Xem tr

ươ c TL[1], tr95­237: Ch ả c slide bài gi ng s  4.1 t

i đ a ch :

https://sites.google.com/site/bmvixuly/thiet­ke­logic­so https://dl.dropbox.com/u/68634585/lecture/lecture4.1.pptx

ặ ẩ

ụ ụ

• Đ c thêm TL[7]  tr 1­116 ề ầ • Cài đ t ph n m m Xilinx ISE 12.4 ự • Chu n b  bài th c hành s  1 trên FPGA t

i ph  l c 4 TL[1].

https://www.doc.ic.ac.uk/~wl/teachlocal/arch2/killasic.pdf http://www.deepchip.com/downloads/fpga­vs­asic.pdf http://www.xess.com/appnotes/fpga_tut.php

quangkien82@gmail.com

4/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

ệ Khái ni m FPGA

(Xilinx.com)  Field­Programmable  Gate  Arrays  (FPGAs)  are  semiconductor  devices  that  are  based  around  a  matrix  of  configurable  logic  blocks  (CLBs)  connected  via  programmable  interconnects.  FPGAs  can  be  reprogrammed  to  desired application or functionality requirements after manufacturing.

- công nghệ IC lập trình mới nhất và tiên

-

tiến nhất hiện nay. quá trình tái cấu trúc IC có thể được thực hiện bởi người dùng cuối

- Công nghệ cho phép hiện thực hóa các thiết kế số với chi phí và thời gian hợp lý -Công nghệ đủ mạnh để đáp ứng đa số các ứng dụng cơ bản, thay thế các chip ASIC chuyên dụng - Công nghệ cho phép mở ra các giải pháp kỹ thuật mới cho các hệ xử lý truyền thống, thay thế bằng các hệ có khả năng tái cấu hình mềm dẻo.

quangkien82@gmail.com

5/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

ế

Ki n trúc t ng quan FPGA

-

- Thành phần cơ bản : Logic block khả trình (up to 10 mill gates) Sô lượng IO PADs: 200- 1000: đáp ứng các thiết kế phức tạp

- Kiến trúc ma trận: Cho phép tích hợp tài nguyên mật độ rất lớn

- Công nghệ mới cho phép tốc

độ làm việc cao

- Thiết kế chuyên biệt: Hiệu năng cao hơn cấc thiết kế truyền thống

quangkien82@gmail.com

6/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Tái c u trúc FPGA

SRAM­based – Violated memory

quangkien82@gmail.com

7/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

ậ ộ

ợ M t đ  tích h p c a FPGA

IC

Transitor count

Process

Manufacture

Year

Intel 4004

2 300

10 um

Intel

1971

Zilog Z80

8 500

4 um

Zilog

1976

Intel 80286

164 000

1.5 um

Intel

1982

Pentium 2

7 500 000

0.35um

Intel

1997

Pentium 4

42 000 000

180 nm

Intel

2000

Core 2 Duo

291 000 000

65 nm

Intel

2006

Six core Xenon 7400

1 900 000 000

45 nm

Intel

2008

10­Core Xeon

2 600 000 000

32 nm

Intel

2010

GK110 Kepler

7,080,000,000

28nm

NVIDIA

2012

AMD K8

106 000 000

130 nm

AMD

2003

Spartan 3E

~40 000 000

90 nm

Xilinx

1998

Virtex 4

1 000 000 000

90 nm

Xilinx

2004

Virtex 5

1 100 000 000

65 nm

Xilinx

2006

Starix IV

2 500 000 000

40 nm

Altera

2008

Starix V

3 800 000 000

28 nm

Altera

2011

Virtex 6

~2 600 000 000

65 nm

Xilinx

2010

~6 800 000 000

28nm

2011

Virtex 7  ươ

Xilinx quangkien82@gmail.com

8/26

ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

FPGA versus SPLD & CPLD

FPGA

SPLD&CPLD

Very high (Up to 2 Millions gates)

Small, medium (~max 1024 Macroclls)

Integration

Matrix (chess­board)

“Wings” with center GIM

Architechture

Conf. technology

Field­programmable (Violated)

PROM, E2PROM­technology (non­ violated)

Application

Large class

Small class

Element cell

Logic block

Macrocell

Speed

Vary (low)

Determined (may be faster)

Resource

High in logic

High in memory

quangkien82@gmail.com

9/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

FPGA versus ASIC

FPGA

ASIC

Integration

Very high (Up to 2 Millions gates)

­

Low

Complexity (design cost)

Very High

Low

Cost for small quantity

High

High

Cost for small quantity

Low

Large class

Application

Any problems

Average

Optimum

Performance (for same  application)

Speed

100­500Mhz

Up to several Ghz

Time to market

Several months

Several years

quangkien82@gmail.com

10/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

ế

Ki n trúc Spartan 3E ­ M c đích chung

ầ ấ ạ

ế

1. Ki n trúc và các thành ph n c u t o nên FPGA

(Spartan 3E)

2. C  ch  nào hay c u trúc nào cho phép hi n th c hóa

ơ ế ứ

ệ các ch c năng logic (hàm logic) trên FPGA?

quangkien82@gmail.com

11/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

ế

Ki n trúc Spartan 3E

quangkien82@gmail.com

12/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

CLB­Phân bố

ấ ạ ừ SLICEs  4

CLB: C u t o t

quangkien82@gmail.com

13/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Phân b  Slices trong CLB

ế ế ấ t k  t

t

SLICE: SLICEM và SLICEL : T i sao không thi ả c  là SLICEM?

quangkien82@gmail.com

14/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Phân b  tài nguyên trong SLICEM và SLICEL

quangkien82@gmail.com

15/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Slice­ detail

quangkien82@gmail.com

16/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

LUT – phân bố

ể ự

LUT: Kh i logic kh  trình có th  th c hi n m t hàm  ộ ầ logic b t k  4 đ u vào m t đ u ra Y= F(X1, X2, X3, X4)   Y, Xi

ố ấ ỳ ∊  {0,1}

quangkien82@gmail.com

17/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

LUT – nguyên lý làm vi cệ

ể ự

ế

ượ

ấ ỳ c hàm logic b t k ?

LUT: Làm th  nào đ  th c thi đ

quangkien82@gmail.com

18/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

ở ộ

ộ Wide­multiplexer – B  ch n kênh m  r ng

ể ự

ế

ề ơ

Question: Làm th  nào đ  th c thi các hàm  nhi u h n 4 đ u vào?

quangkien82@gmail.com

19/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Wide­multiplexers­nguyên lý

LUT0

OUT0

OUT

X U M

OUT1

LUT1

quangkien82@gmail.com

20/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

ế T ng k t

ố 1. FPGA: Ma tr n các kh i logic kh  trình, tái c u

ườ

trúc đ

i dùng cu i.

ố SRAM based.

3.

ậ ượ ở c b i ng ấ ệ 2. Công ngh  tái c u trúc:  ớ

ế ế ố

t k  s  chuyên

ng d ng cho l p các bài toán thi ệ

ố ộ ệ

Ứ bi

t đòi h i tài nguyên và t c đ , hi u năng cao. 4. Thành ph n FPGA: IOB, CLB, DCM, Multiplier,

ượ

ỏ ầ Block RAM. 5. Các hàm logic đ

c th c hi n trên c  s

ơ ở LUT =

ệ 16 to 1 Multiplexer và c  c u

ự ơ ấ Wide­Multiplexer

quangkien82@gmail.com

21/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

ị Yêu c u chu n b

ướ ướ

ng IV ạ ị

ọ 1. Đ c tr 2. Xem tr

ươ c TL[1], tr95­237: Ch ả c slide bài gi ng s  4.2 t

i đ a ch :

3.

https://sites.google.com/site/bmvixuly/thiet­ke­logic­so https://dl.dropbox.com/u/68634585/lecture/lecture4.2.pptx

ọ ố

4. Đ c thêm TL[7]  tr 1­116 ự 5. B  trí th c hi n bài th c hành s  1 trên FPGA và

ụ ụ

ệ ố

ự ị chu n b  bài s  2 (t

ạ ỏ ắ

ẩ ả ờ 6. Tr  l

i ph  l c 4 TL[1]) ệ i các câu h i tr c nghi m sau bài gi ng này.

quangkien82@gmail.com

22/26

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Tr c nghi m

ấ ớ ế

Câu 1: Mô t

nào sau đây đúng nh t v i ki n trúc c a

FPGA:

ể ế ố

ậ ổ

A. Ma tr n c ng logic, có th  k t n i kh  trình v i nhau.

ế ố ớ

B. Ma tr n các kh i logic kh  trình có kh  năng k t n i v i nhau tùy ý

ệ ố

ế ố

thông qua h  th ng k t n i kh  trình

ầ ử

ượ ế ố ớ

C. M ng các ph n t

ả  logic kh  trình đ

c k t n i v i nhau thông qua ma

ườ

ế ố

tr n các đ

ng k t n i kh  trình.

ầ ử

ượ

ậ D. Ma tr n các ph n t

ả  logic kh  trình đ

c đi u khi n b i các giá tr  trong

ể ế ố ớ SRAM đ  k t n i v i nhau.

quangkien82@gmail.com

23

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Tr c nghi m

Ư ể

ả Câu 2:  u đi m chính c a FPGA so v i các IC kh

ướ

trình tr

c đó:

A.

Tài nguyên logic l nớ

B.

ố ộ

T c đ  làm vi c cao

C.

ạ Tính kh  trình linh ho t

D.

ứ ạ

Hi u năng làm vi c cao và  ng d ng cho l p nh ng bài toán ph c t p

quangkien82@gmail.com

24

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Tr c nghi m

ế ế ộ ử

Câu 3: T i sao trong SLICE l

i thi

t k  m t n a là SLICEL

ộ ử

ế ế ấ ả

M t n a là SLICEM mà không thi

t k  t

t c  là SLICEM?

ể ế

ướ ớ

ộ ứ ạ

A. Đ  ti

t ki m tài nguyên logic vì SLICEM có kích th

c l n và đ  ph c t p cao

ể ố ư

ượ

B. Đ  t

i  u năng l

ng tiêu th  trong chip FPGA

ể ố ư ề ặ ố ộ ự

ơ

C. Đ  t

i  u v  m t t c đ  th c thi các kh i logic vì SLICEL có c u trúc đ n gi n.

ể ố ư ệ ố ử ụ

ườ

D. Đ  t

i  u h  s  s  d ng tài nguyên trong FPGA vì thông th

ng trong các kh i

ế ế

ổ ợ

ế

ỷ ệ ớ

ơ

Thi

ầ t k  ph n logic t

h p chi m t

ớ  l n h n ph n nh .

l

quangkien82@gmail.com

25

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Tr c nghi m

ạ ộ

Câu 4: C u hình c a FPGA khi ho t đ ng đ

ượ ư ở c l u

đâu?

A. Trong kh i ROM

ố B. Trong kh i Block RAM

ớ ượ ạ

ư

C. L u trên máy tính và khi th c thi m i đ

c n p vào FPGA

ư

ế

ằ D. L u trong các SRAM n m phân tán b n trong FPGA.

quangkien82@gmail.com

26/25

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Tr c nghi m

ừ ơ ở

Câu 5: Xu t phát t

c  s  nào đ  xây d ng kh i LUT

ấ ỳ

ệ trên FPGA cho phép th c hi n hàm b t k  4 đ u vào 1

đ u ra?

ễ ướ ạ

A. Đ c tính bi u di n d

i d ng b ng chân lý c a hàm logic

ấ ỳ b t k .

ễ ủ

ướ ạ

ạ ố

B. Công th c bi u di n c a hàm logic d

i d ng đ i s

C. Tính kh  trình c a kh i CLB

ệ ủ D. Đ c đi m làm vi c c a kh i ch n kênh.

quangkien82@gmail.com

27

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Tr c nghi m

ấ ủ Câu 6: B n ch t c a kh i LUT là

ả A. M t kh i logic đa năng có kh  năng th c hi n m i hàm logic

B. M t kh i logic kh  trình có kh  năng th c hi n m i hàm

logic

ớ ấ ạ ơ ả

C. Kh i logic kh  trình v i c u t o c  b n là m t multiplexer

ỡ ớ

ầ     c  l n có 16 đ u vào 1 đ u ra, 4 đ u vào ch n kênh

ả D. Kh i logic kh  trình có kh  năng th c hi n hàm 4 đ u vào

b t kấ ỳ

quangkien82@gmail.com

28

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA

Tr c nghi m

ở ộ

ủ ộ ọ Câu 7: Vai trò c a b  ch n kênh m  r ng:

ượ

ơ

ể ự A. Đ  th c thi đ

ề c các hàm s  có nhi u h n 4 đ u vào logic

ể ở ộ

B. Đ  m  r ng các kh i logic ch c năng

ể ọ

ố ượ

ở ộ

C. Đ  ch n kênh cho các đ i t

ng m  r ng

ể ọ

ướ

ầ D. Đ  ch n gi a các đ u ra c a kh i LUT tr

c khi đ y ra ngoài

ổ c ng vào ra c a SLICE

quangkien82@gmail.com

29

ươ ế ế ạ ố Ch ng IV: Thi t k  m ch s  trên FPGA