Tải bản đầy đủ (.pdf) (13 trang)

Công nghệ lập trình FPGA và ứng dụng xử lý dữ liệu đa phương tiện

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (451.17 KB, 13 trang )

I H C QU C GIA HÀ N I
TR

NG

I H C CỌNG NGH

PH M

C HI U

CỌNG NGH L P TRÌNH FPGA VĨ
NG D NG X

Lụ D

LI U A PH

LU N V N TH C S

HƠ N i ậ 2016

NG TI N


I H C QU C GIA HÀ N I
TR

NG

I H C CỌNG NGH



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

IH

NG D N KHOA H C: TS. LÊ QUANG MINH

HƠ N i 2016


III
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


IV
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


V
M CL 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 IM
CH

U ....................................................................................................... 1
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!
defined.

Bookmark

not

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.


2.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
PH

NG III: NG D NG CỌNG NGH FPGA X Lụ D LI U A
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!
defined.

Bookmark

not

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


1
L IM

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
khi n ngƠy cƠng thông minh h n, gi i quy t đ

ng vƠ đi u

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
th


ng k t h p các b FPGA v i nh ng b x lý thông

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
đa ph

ng ti n.

t ng ch t l

ng ti n thì vi c x lý các d li u đa ph

nay các gi i pháp x lý d li u đa ph

ng d ch v c a các d ch v
ng ti n lƠ r t c n thi t. Hi n


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

v y, m t h th ng x lý nơng cao ch t l

ng hình nh không đ

c t t. Vì

ng d li u hình nh, video thu đ

ct



2
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
it

ng hình nh trong h th ng camera giám sá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
ph

ng pháp x

lý hình nh, đánh giá hi u qu c a các

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 đ
ch c a lu n v n, h

c vƠ nh ng h n

ng phát tri n c a lu n v n trong các nghiên c u ti p theo.


3
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
ng
l

i đ u tiên thi t k PFGA vƠ c ng lƠ

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
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 đ

xác đ nh vƠ ch a m t s l

c có kích th

c

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.


4
+ 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õ nh p vƠo vƠ ngõ xu t đ

ng đ a ch nh các

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 đ
chíp nƠy th
b đ

c l p trình b i nhƠ s n xu t. Các

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

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
Programmable khi s n xu t v i s l

h n nhi u so v i Mask-

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
các c ng AND đ

ng có c u t o g m m t dƣy

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 nh .

c các m ch logic


5
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

dùng đ nh ngh a nƠy có th trong c hƠng vƠ c c t.

i

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


6
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: />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



7
[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.




×