ế ế
Thi
ố t k logic s
(VLSI design)
ố
ộ
B môn KT Xung, s , VXL quangkien82@gmail.com https://sites.google.com/site/bmvixuly/thietkelogicso 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 (SRAMbased) 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], tr95237: Ch ả c slide bài gi ng s 4.1 t
i đ a ch :
•
https://sites.google.com/site/bmvixuly/thietkelogicso https://dl.dropbox.com/u/68634585/lecture/lecture4.1.pptx
ọ
ặ ẩ
ố
ị
ạ
ụ ụ
• Đ c thêm TL[7] tr 1116 ề ầ • 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/fpgavsasic.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) FieldProgrammable 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
SRAMbased – 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
10Core 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 (chessboard)
“Wings” with center GIM
Architechture
Conf. technology
Fieldprogrammable (Violated)
PROM, E2PROMtechnology (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
100500Mhz
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
CLBPhâ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
ở ộ
ọ
ộ Widemultiplexer – 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
Widemultiplexersnguyê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
ự ơ ấ WideMultiplexer
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], tr95237: Ch ả c slide bài gi ng s 4.2 t
i đ a ch :
3.
https://sites.google.com/site/bmvixuly/thietkelogicso https://dl.dropbox.com/u/68634585/lecture/lecture4.2.pptx
ố
ọ ố
4. Đ c thêm TL[7] tr 1116 ự 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