Bookmark not defined.. Bookmark not defined.. Bookmark not defined.. [4] System Generator for DSP Getting started Guide, Reference Guide, User Guide.. [7] Jim Lewis, Coding a 40x40 Pipe
Trang 1I H C QU C GIA HÀ N I
PH M C HI U
CỌNG NGH L P TRÌNH FPGA VĨ
NG D NG X Lụ D LI U A PH NG TI N
LU N V N TH C S
HƠ N i ậ 2016
Trang 2I H C QU C GIA HÀ N I
PH M C HI U
CỌNG NGH L P TRÌNH FPGA VĨ
NG D NG X Lụ D LI U A PH NG TI N
Ngành: Công ngh thông tin Chuyên ngành: K thu t ph n m m
Mã s : 60480103
NG I H NG D N KHOA H C: TS LÊ QUANG MINH
HƠ N i 2016
Trang 3III
DANH M C CÁC Kụ HI U, T VI T T T
T vi t t t Ngh a ti ng anh
FPGA : Field-Programmable Gate Array
DSP : Digital Storage Oscilloscop
RAM : Ramdom Access Memory
ROM : Read ậ only Memory
DLL : Delay Locked Loop
ADC : Analog-to-Digital Converter
ASIC : Application-Specific Integrated Circuit
CPLD : Complex Programmable Logic Device
DAC : Digital - to - Analog Converter
DRAM : Dynamic Ramdom Access Memory
EEPROM : Electrically Erasable Programmable Read ậ Only Memory FIFO : First In First Out
HDL : Hardware Description Language
I/O : Input/Output
LAB : Logic Array Block
LUT : Look Up Table
PLA : Programmable Logic Array
SPLD : Simple Programmable Devices
SRAM : Static Ramdom Access Memory
VHDL : VHSIC hardware description language
VHSIC : Very High Speed Itergrated Circuit
RTL : Register Transfer Level
Avalon-ST : Avalon Streaming
Trang 4IV
DANH M C B NG
B ng 1-1 Các đ c tính c a công ngh l p trình
B ng 3-1 B ng mô t các tín hi u vƠo ra theo chu n Avalon-ST
Trang 5V
M C L C
L I CAM OAN Error! Bookmark not defined
L I C M N Error! Bookmark not defined
Danh m c các ký hi u, t vi t t t III Danh m c b ng IV DANH M C HÌNH Error! Bookmark not defined
M C L C V
L I M U 1
CH NG I: TỌNG QUAN V CỌNG NGH FPGA 3
1.1 L ch s ra đ i FPGA 3
1.2 S phát tri n c a FPGA 3
1.2.1 C u trúc FPGA 5
1.2.2 Phơn lo i FPGA Error! Bookmark not defined
1.2.3 Các công ngh l p trình FPGA Error! Bookmark not defined 1.3 Các l nh v c ng d ng c a công ngh FPGAError! Bookmark not defined
1.4 Qui trình thi t k FPGA Error! Bookmark not defined 1.5 Ngôn ng l p trình trong FPGA Error! Bookmark not defined 1.5.1 Ngôn ng VHDL Error! Bookmark not defined 1.5.2 Ngôn ng Verilog Error! Bookmark not defined
CH NG II: M t s k thu t x lý nh Error! Bookmark not defined.
2.1 K thu t nơng c p nh Error! Bookmark not defined
2.1.1 Toán t đi m Error! Bookmark not defined 2.1.2 Toán t không gian Error! Bookmark not defined 2.2 M t s k thu t l c nhi u Error! Bookmark not defined
2.2.1 K thu t l c trung bình Error! Bookmark not defined 2.2.2 K Thu t l c trung v Error! Bookmark not defined
2.3 K thu t phơn ng ng Error! Bookmark not defined
2.3.1 K thu t phơn ng ng t đ ng Error! Bookmark not defined.
2.3.2 K Thu t s d ng các đi m biên Error! Bookmark not defined
Trang 62.4 B l c mƠu bayer pattern vƠ thu t toán DemosaicError! Bookmark not defined
2.5 Ma tr n s a mƠu Error! Bookmark not defined
CH NG III: NG D NG CỌNG NGH FPGA X Lụ D LI U A
PH NG TI N d ng nh Error! Bookmark not defined
3.1 Thi t l p bƠi toán th nghi m: Error! Bookmark not defined
3.2 L a ch n ph n c ng vƠ công c th nghi m:Error! Bookmark not defined
3.2.1 Gi i thi u kit DE2: Error! Bookmark not defined 3.2.2 Gi i thi u ph n m m Quartus II Error! Bookmark not defined 3.3 Xơy d ng th nghi m Error! Bookmark not defined
3.3.1 Cách ti n hƠnh Error! Bookmark not defined.
3.3.2 Th c hi n Demo trên Kit DE2 Error! Bookmark not defined 3.3.3 ánh giá k t qu : Error! Bookmark not defined
K T LU N Error! Bookmark not defined
PH L C Error! Bookmark not defined
TÀI LI U THAM KH O 6
Trang 71
L I M U
Trong nh ng n m g n đơy v i s phát tri n c a công ngh bán d n trong
vi c t o ra nh ng b vi x lý vƠ vi đi u khi n, các h th ng đo l ng vƠ đi u khi n ngƠy cƠng thông minh h n, gi i quy t đ c nhi u bƠi toán ph c t p h n Tuy nhiên các h th ng ngƠy cƠng hoƠn thi n h n, thông minh h n thì vi x lý
vƠ vi đi u khi n ch a th đáp ng h t nhu c u S xu t hi n các thi t b có th
l p trình nh FPGA (Filed Progammable Gate Array đƣ t o ra b c đ t phá V i công ngh FPGA đƣ có r t nhi u công trình nghiên c u gi i quy t các bƠi toán
l n nh bƠi toán x lý tín hi n s , m t mƣ vƠ nh n d ng Các nghiên c u hi n nay ch y u đi theo h ng k t h p các b FPGA v i nh ng b x lý thông
th ng trong m t chip t o ra h th ng m i RCS (reconfigurable Computing System) ơy lƠ m t mô hình m i trong thi t k các h th ng có kh n ng tính toán r t m nh, thay th đ c cho nh ng máy tính l n Không nh ng th , các thi t b nƠy có kh n ng tái l p trình nên các h th ng nƠy có đ linh ho t cao,
có th thay đ i l i c u hình đ đáp ng nhi u thu t toán hay các yêu c u khác nhau v ph n c ng trong quá trình h th ng đang ho t đ ng
Cùng v i s bùng n c a các m ng internet, m ng di đ ng lƠ các nhu c u
gi i trí, truy n thông đa ph ng ti n t ng ch t l ng d ch v c a các d ch v
đa ph ng ti n thì vi c x lý các d li u đa ph ng ti n lƠ r t c n thi t Hi n nay các gi i pháp x lý d li u đa ph ng ti n đ u có chi phí r t cao Do v y
m c đích c a nghiên c u nƠy lƠ ng d ng công ngh FPGA vƠo vi c x lý d
li u đa ph ng ti n m t cách hi u qu
Trong nh ng n m g n đơy, giám sát t đ ng lƠ môt trong nh ng l nh v c
đ c quan tơm vƠ phát tri n r ng rƣi M t trong nh ng lý do khi n giám sát t
đ ng phát tri n m nh m lƠ do s ti n b c a khoa h c vƠ kh n ng ng d ng
r ng kh p c a h th ng Tuy nhiên, các h th ng s d ng các camera giám sát
do các đi u ki n khách quan nh ánh sáng thay đ i, ầ mƠ các hình nh, video thu đ c th ng xu t hi n các nhi u vƠ ch t l ng hình nh không đ c t t Vì
v y, m t h th ng x lý nơng cao ch t l ng d li u hình nh, video thu đ c t
Trang 82 camera lƠ c n thi t giúp cho h th ng giám sát ho t đ ng hi u qu h n Do đó,
lu n v n l a ch n xơy d ng th nghi m h th ng x lý nh trên công ngh FPGA nh m nơng cao ch t l ng hình nh trong h th ng camera giám sát
i t ng vƠ ph m vi nghiên c u:
1 Công ngh FPGA: các l nh v c ng d ng, các công c phát tri n
2 K thu t x lý nh
3 ng d ng công ngh FPGA x lý d li u hình nh
Nh ng n i dung chính: N i dung c a lu n v n g m ph n đ t v n đ , 3
ch ng, k t lu n vƠ tƠi li u tham kh o
Ch ng I: T ng quan v công ngh FPGA
Ch ng nƠy trình bƠy t ng quan v công ngh FPGA, các l nh v c ng
d ng c a công ngh nƠy vƠ các công c phát tri n, h tr l p trình trên FPGA
Ch ng II M t s k thu t x lý hình nh
Ch ng nƠy trình bƠy các khái ni m c b n v hình nh, các lo i nhi u vƠ
gi i thi u m t s ph ng pháp x lý hình nh, đánh giá hi u qu c a các
ph ng pháp x lý d li u hình nh
Ch ng III ng d ng công ngh FPGA x lý d li u đa ph ng ti n d ng
nh
Th c hi n thi t k lõi IP x lý nơng cao ch t l ng hình nh, c th lõi IP
s xác đ nh các đi m nh b l i vƠ s a chúng, xác đ nh mƠu b ng ph ng pháp
n i suy, s a ma tr n mƠu
Ph n k t lu n c a lu n v n trình bƠy các k t qu đ t đ c vƠ nh ng h n
ch c a lu n v n, h ng phát tri n c a lu n v n trong các nghiên c u ti p theo
Trang 93
CH NG I: T NG QUAN V CỌNG NGH FPGA 1.1 L ch s ra đ i FPGA
N m 1984 Ross Freeman lƠ ng i đ u tiên thi t k PFGA vƠ c ng lƠ
ng i sáng l p công ty Xilinx Ki n trúc m i c a FPGA cho phép tích h p s
l ng l n các ph n t bán d n vƠo m t vi m ch so v i ki n trúc tr c đó lƠ CPLD FPGA có kh n ng ch a t 100.000 đ n vƠi t c ng logic, trong khi CPLD ch ch a t 10.000 đ n 100.000 c ng logic, con s nƠy đ i v i PAL vá PLA còn th p h n r t nhi u ch đ t vƠi nghìn đ n 10.000 c ng logic
SPLD th ng lƠ m t m ng logic AND/OR l p trình đ c có kích th c xác đ nh vƠ ch a m t s l ng h n ch các ph n t nh đ ng b (clocked register) C u trúc nƠy h n ch kh n ng th c hi n nh ng hƠm ph c t p vƠ thông th ng hi u xu t lƠm vi c c a vi m ch ph thu c vƠo c u trúc c th c a
vi m ch h n lƠ vƠo yêu c u bƠi toán
Ki n trúc c a FPGA lƠ ki n trúc m ng các kh i logic, kh i logic nh h n nhi u n u đem so sánh v i m t kh i SPLD, u đi m nƠy giúp FPGA có th ch a nhi u h n các ph n t logic vƠ phát huy t i đa kh n ng l p trình c a các ph n
t logic vƠ h th ng m ch k t n i, đ đ t đ c m c đích nƠy thì ki n trúc c a FPGA ph c t p h n nhi u so v i CPLD M t đi m khác bi t v i CPLD lƠ trong
nh ng FPGA hi n đ i đ c tích h p nhi u nh ng b logic s h c đƣ s b t i u hóa h tr RAM, ROM t c đ cao, hay các b nhơn
NgoƠi kh n ng tái c u trúc vi m ch toƠn c c, FPGA hi n t i còn h tr tái c u trúc m t b ph n riêng l trong khi v n đ m b o ho t đ ng bình th ng cho các b ph n khác
1.2 S phát tri n c a FPGA
Các thi t b l p trình đ c, g i chung lƠ các thi t b kh trình, có vai trò
r t quan tr ng trong thi t k ph n c ng s Chúng lƠ các chíp đa d ng có th
đ c c u hình theo nhi u cách cho nhi u ng d ng khác nhau
Trang 104 + Lo i đ u tiên c a thi t b kh trình đ c s d ng r ng rƣi lƠ Programmable read-only Memory-PROM PROM lƠ thi t b l p trình ch đ c
m t l n g m m t dƣy các ô nh ch đ c PROM có th th c hi n b t k m t hƠm logic theo b ng s th t nƠo đó, b ng cách s d ng các đ ng đ a ch nh các ngõ nh p vƠo vƠ ngõ xu t đ c xác đ nh n i dung các bít nh Có hai lo i PROM c b n lƠ Mask-Programmable vƠ Field-Programmable
- Mask-Programmable lƠ lo i thi t b đ c l p trình b i nhƠ s n xu t Các chíp nƠy th ng s n xu t các chíp lôgíc t c đ cao vì các k t n i bên trong thi t
b đ c th c hi n b ng ph n c ng ngay t khi s n xu t
- Field-Programmable lƠ thi t b đ c l p trình b i ng i dùng Các k t
n i bên trong c a Field-Programmable luôn c n đ n m t s chuy n m ch l p trình đ c (c u chì, transistor truy n…) vì v y t c đ truy n ch m h n c a thi t
b n i c ng ( Mask-Programmable) Tuy nhiên nó có nhi u u đi m nh :
Các chíp Field-Programmable có th l p trình trong th i gian ng n (kho ng vƠi phút hay vƠi gi đ ng h ) còn các chíp Mask-Programmable khi
s n xu t ph i th c hi n trong th i gian dƠi (hƠng tu n hay hƠng tháng)
Các chíp Field-Programmable r h n nhi u so v i Mask-Programmable khi s n xu t v i s l ng nh
Hai bi n th c a PROM lƠ EPROM chúng đ u có chung u đi m lƠ có kh
n ng xoá vƠ l p trình l i nhi u l n
Ti p đ n lƠ các thi t b PLD, chúng thông th ng có c u t o g m m t dƣy các c ng AND đ c n i v i m t dƣy các c ng OR Lo i c b n c a PLD lƠ PAL, PAL g m m t kh i các c ng AND l p trình đ c n i đ n các kh i c ng
OR c đ nh M t lo i n a c a PLD linh ho t h n PAL lƠ PLA PLA c ng có c u trúc gi ng PAL nh ng các k t n i kh trình Trong PLA c ng có hai lo i lƠ Mask-Programmable vƠ Field-Programmable
C hai lo i PLD trên cho phép th c hi n các m ch logic có t c đ cao tuy nhiên c u trúc đ n gi n c a chúng ch cho phép th c hi n đ c các m ch logic
c nh
Trang 115
Lo i thi t b kh trình t ng quát nh t g m dƣy các ph n t r i r c có th
k t n i v i nhau theo mô t c a ng i s d ng, đ c g i lƠ Mask-Programmable Gate Array (MPGA) chúng có c u trúc c b n nh t lƠ g m các hƠng transistor
có th đ c k t n i v i nhau đ th c hi n các m ch logic Các k t n i do ng i dùng đ nh ngh a nƠy có th trong c hƠng vƠ c c t u đi m chính c a MPGA
so v i PLD lƠ nó cung c p các ki n trúc t ng quát cho phép th c hi n các m ch logic l n h n Vì c u trúc c a chúng có th m r ng l n h n cùng v i s l ng logic l n h n
FPGA đƣ k t h p kh n ng l p trình c a PLD vƠ k t c u n i có th m r ng
c a MPGA Do đó các thi t b l p trình lo i nƠy có m t đ logíc cao h n FPGA
đ c công ty Xilinx gi i thi u l n đ u tiên vƠo n m 1985 vƠ đ n nay đƣ có nhi u công ty phát tri n nh : Actel, Altera, Plessey, Plus logic, Quick
1.2.1 C u trúc FPGA
Hình 1-1 C u trúc FPGA
Trang 126
TĨI LI U THAM KH O [1] PGS.V Quý i m (ch biên), Ph m V n Tuơn, Nguy n Thúy Anh,
Lê Phú, Nguy n Ng c V n ậ C s k thu t đo l ng đi n t - NXB Khoa
H c vƠ K Thu t 2006
[2] Tr n Ng c Ph ng, Tr n Th i m, Cao Tr n B o Th ng, Hu nh
H u Thu n, - th c hi n m t s thu t toán dò tìm chuy n đ ng trên FPGA - H i
Ngh Khoa H c Tr ng i H c KHTN l n 5, (2006)
[3] Mani B Srivastava VHDL tutorial UCLA ậ EE
[4] System Generator for DSP (Getting started Guide, Reference Guide,
User Guide) Xilinx
[5] Nguy n Tr ng H i - Bài gi ng Verilog - H K thu t công ngh
TPHCM
[6] Nguy n Vi t Kính, Tr nh Anh V - Thông tin s - NXBGD
[7] Jim Lewis, Coding a 40x40 Pipelined Multiplier in VHDL (version
online:http://www.synthworks.com/papers/VHDL_RTL_Pipelined_Multiplier_ MAPLD_2002_S_BW.pdf)
[8] ISO/IEC 15444-1,Information Technology-JPEG2000 Image Coding
System, Part 1: Core Coding System, 2000
[9] PENG Zhou, ZHAO Bao-jun, High-throughout hardware architecture
of MQ arithmetic coder, International Conference on Signal Processing (ICSP), October, 2010, pp 430-433
[10] Michael Dyer, David Taubman, Saeid Nooshabadi, Improved
throughput arithmetic coder for JPEG2000, International Conference on Image Processing, vol 4, October, 2004, pp 2817-2820
[11] Manjunath Gangadhar, Dinesh Bhatia, FPGA based EBCOT
architecture for JPEG 2000, International Conference on Field-Programmable Technology (FPT), December, 2003, pp 228-233
Trang 137
[12] Taoufik Saidani, Mohamed Atri, Rached Tourki, Implementation of
JPEG 2000 MQ-Coder, International Conference on Design and Technology of Integrated Systems in Nanoscale Era, March, 2008, pp 1-4
[13] Kai Liu, Yu Zhoub,Yun Song Li,Jian Feng Ma, A high performance
MQ encoder architecture in JPEG2000, the VLSI Journal, vol 43, no 3, June,
2010, pp 305-317
[14] Minsoo Rhu, In-Cheol Park, Optimization of Arithmetic Coding for
JPEG2000, IEEE Transactions on Circuits and Systems for Video Technology, vol 20, no 3, March, 2010, pp 446-451 118 T p chí Khoa h c vƠ K thu t -
H c vi n KTQS s 153 (4-2013)
[15] Tinku Acharya, Ping-Sing Tai, JPEG2000 Standard for Image
Compression: Concepts, Algorithms and VLSI Architectures, New Jersey, U.S.A: John Wiley & Sons, chapter 5, 2005, pp 185-195
[16] Wael M El-Sharkasy, Mohamed E Ragab, Hardware modelling of
JPEG2000 MQ-encoder, International Conference on Intelligent and Advanced Systems (ICIAS), vol 2, June, 2012, pp 707-712
[17] Altera, Avalon Interface Specifications, California, U.S.A, 2011, pp
35 - 44
[18] Altera, Stratix III Device Handbook, California, U.S.A, 2011
[19] Lê Quang Minh, TƠi li u bƠi gi ng môn “Công ngh l p trình nhúng”, K20-CNPM, Tr ng i h c Công ngh - HQGHN
[20] Giáo trình: Công ngh ph n m m nhúng, Nguy n Ng c Bình, NXB HQGHN, HƠ N i, 2013