45
1 1 COÂNG NGHEÄ FPGA I. Giôùi thieäu linh kieän logic khaû trình II. Coâng ngheä laäp trình III. Caáu truùc FPGA toång quaùt IV. Caáu truùc FPGA haõng Xilinx V. Caáu truùc FPGA haõng Altera VI. Caáu truùc FPGA hoï Stratix (Altera) VII. Ngoân ngöõ moâ taû phaàn cöùng Verilog vaø VHDL VIII. Giôùi thieäu moät soá kit FPGA IX. Moät soá hoï FPGA cuûa caùc haõng X. Kết lun

Cong nghe fpga bao cao

Embed Size (px)

Citation preview

Page 1: Cong nghe fpga   bao cao

11

COÂNG NGHEÄ FPGAI. Giôùi thieäu linh kieän logic khaû trình

II. Coâng ngheä laäp trình

III. Caáu truùc FPGA toång quaùt

IV. Caáu truùc FPGA haõng Xilinx

V. Caáu truùc FPGA haõng Altera

VI. Caáu truùc FPGA hoï Stratix (Altera)

VII. Ngoân ngöõ moâ taû phaàn cöùng Verilog vaø VHDL

VIII. Giôùi thieäu moät soá kit FPGA

IX. Moät soá hoï FPGA cuûa caùc haõng

X. Kết luận

Page 2: Cong nghe fpga   bao cao

22

I. LINH KIEI. LINH KIEÄÄN LOGIC KHAN LOGIC KHAÛÛ TRÌNHTRÌNH

-- TrTrööôôùùcc ññaâyaây phaphaàànn lôlôùùnn cacaùùcc loaloaïïii linhlinh kiekieäänn ññieieäänn ttöûöû lalaøø cocoáá ññònhònh, , khoângkhoâng lalaääpp trtrììnhnh ñöñöôôïïcc..-- CaCaùùcc loaloaïïii linhlinh kiekieäänn logic logic khakhaûû trtrììnhnh ññônôn giagiaûûnn: EPROM, : EPROM, EEPROM, Flash ROM, PLDEEPROM, Flash ROM, PLD-- ÑÑeeåå thuathuaäänn tietieäänn chocho vievieääcc ththöûöû nghienghieäämm, , tataïïoo maãumaãu, , phaphaùùtt trietrieåånn öùöùngngduduïïngng, , sasaûûnn xuaxuaáátt ôôûû quyquy moâmoâ nhonhoûû, , ngngööôôøøii tata ññaõaõ checheáá tataïïoo rara cacaùùcc linhlinhkiekieäänn ((thiethieáátt bòbò) logic ) logic khakhaûû trtrììnhnh (Programmable Logic Devices), (Programmable Logic Devices), ttöùöùcc lalaøø cacaùùcc linhlinh kiekieäänn sosoáá cocoùù thetheåå ñöñöôôïïcc cacaááuu hhììnhnh lalaïïii nhienhieààuu lalaàànn chochocacaùùcc öùöùngng duduïïngng logic logic khakhaùùcc nhaunhau-- GoGoààmm 2 2 loaloaïïii chchíínhnh: CPLD (Complex Programmable Logic : CPLD (Complex Programmable Logic Devices) Devices) vavaøø FPGA (Field Programmable Gate Array)FPGA (Field Programmable Gate Array)-- CaCaùùcc haõnghaõng sasaûûnn xuaxuaáátt FPGA/CPLD: ALTERA, XILINX, FPGA/CPLD: ALTERA, XILINX, ATMEL, QUICKLOGIC, ACTEL,ATMEL, QUICKLOGIC, ACTEL,……

Page 3: Cong nghe fpga   bao cao

33

FPGA FPGA llàà ggìì??

FPGA FPGA llàà mmộộtt vi vi mmạạchch chchứứaa ccáácc logic logic cells. cells. CCáácc logic cells logic cells ththựựcc hihiệệnn ccááccmmạạchch logic logic vvàà đưđượợcc kkếếtt nnốốii vvớớii nhaunhaubbởởii ma ma trtrậậnn kkếếtt nnốốii vvàà chuychuyểểnn mmạạchchllậậpp trtrììnhnh đưđượợcc..FPGA FPGA llàà ttậậpp hhợợpp ccáácc phphầầnn ttửử rrờờii rrạạccđưđượợcc kkếếtt nnốốii theotheo mmộộtt ccááchch chungchung..

Page 4: Cong nghe fpga   bao cao

44

A. NGUYEÂN LYA. NGUYEÂN LYÙÙ ANTIFUSE:ANTIFUSE:

Hình 1: Caáu truùc Antifuse (haõng Actel)

(a) Phaàn giao nhau (b) Hình veõ ñôn giaûn (c) Antifuse hoaït ñoäng nhö 1 coâng taéc

Antifuse: caàu chì nghòch

Difussion: khuyeách taùn

Laäp trình baèng doøng ñieän

1. Caáu truùc Antifuse:

2. Öu khuyeát ñieåm:

• Kích thöôùc nhoû

• Quy trình cheá taïo khaùc vôùi coâng ngheä CMOS

II. COÂNG NGHEÄ LAÄP TRÌNH

Page 5: Cong nghe fpga   bao cao

55

B. NGUYEÂN LYB. NGUYEÂN LYÙÙ TETEÁÁ BABAØØO O SRAM:SRAM:

Hình 2: Caáu truùc teá baøo SRAM (haõng Xilinx)

1. Caáu truùc teá baøo SRAM

2. Öu khuyeát ñieåm

• Taùi söû duïng vaø naâng caáp thieát keá deã daøng. Caäp nhaät vaø thay ñoåiheä thoáng baèng taùi caáu hình phaàn cöùng tröïc tieáp. Coâng ngheäCMOS

• Döõ lieäu bò maát khi nguoàn cung caáp bò ngaét. Kích thöôùc lôùn hônantifuse

Page 6: Cong nghe fpga   bao cao

66

C. NGUYEÂN LYC. NGUYEÂN LYÙÙ UVEPROM VAUVEPROM VAØØEEPROMEEPROM

Hình 3: Caáu truùc transistor EPROM (haõng Xilinx)

1. Nguyeân lyù hoaït ñoäng Transistor EPROM

2. Öu khuyeát ñieåm

Taùi laäp trình khoâng caàn boä nhôù ngoaøi. Dieän tích nhoû

Khoâng taùi caáu hình tröïc tieáp treân maïch

Page 7: Cong nghe fpga   bao cao

77

III. CAIII. CAÁÁU TRUU TRUÙÙC FPGA TOC FPGA TOÅÅNG QUANG QUAÙÙTTCaáu truùc FPGA goàm 3 phaàn: Logic Blocks (LBs), I/O Blocks

(IOB), Interconnection

Page 8: Cong nghe fpga   bao cao

88

IV. CAIV. CAÁÁU TRUU TRUÙÙC FPGA HAÕNG XILINXC FPGA HAÕNG XILINX

Caáu truùc FPGA haõng Xilinx Caáu truùc FPGA Spartan II haõng Xilinx

Page 9: Cong nghe fpga   bao cao

99

Spartan IIESpartan IIE• Là một họ linh kiện FPGA của hãng Xilinx

Page 10: Cong nghe fpga   bao cao

1010

GGồồmm ccáácc khkhốốii::•• CLB: CLB: MMộộtt CLB CLB ggồồmm 44--

logiclogic--cell, Logic cell cell, Logic cell ggồồmm2 LUT 2 LUT gigiốốngng nhaunhau, , mmỗỗiiLUT LUT ggồồmm 44--ngõngõ--vvàào, o, ttíínnhihiệệuu điđiềềuu khikhiểểnn vvàà FFFF--D. D. MMỗỗii CLB CLB ggồồmm haihai bbộộ điđiềềuukhikhiểểnn ngõngõ rara 3 3 trtrạạngng ththááii(BUFT). (BUFT). MMỗỗii BUFT BUFT ccóóchânchân điđiềềuu khikhiểểnn vvàà ngõngõvvààoo đđộộcc llậậpp. .

Page 11: Cong nghe fpga   bao cao

1111

•• ĐiĐi dâydây: : CôngCông nghnghệệ SRAM, General Routing Matrix (GRM)SRAM, General Routing Matrix (GRM)Local routing: Local routing: I/O Routing:I/O Routing:General Purpose Routing:General Purpose Routing:Dedicated Routing:Dedicated Routing:Global Routing:Global Routing:

•• IOB: IOB: ttíínn hihiệệuu vvààoo qua 1 qua 1 bbộộ đđệệmm, , ttíínn hihiệệuu rara qua qua bbộộ đđệệmm 3 3 trtrạạngng ththááii, , theotheo ccáácc chuchuẩẩnn, , bbộộ nhnhớớ/giao/giao titiếếpp Bus. Bus. MMỗỗii IOB IOB ggồồmm 3 Flip3 Flip--Flop Flop chiachiachungchung 1 1 ttíínn hihiệệuu Clock Clock vvàà ccáácc ttíínn hihiệệuu CE (Clock Enable), CE (Clock Enable), điđiềềuu khikhiểểnnđđộộcc llậậpp chocho ttừừngng FlipFlip--Flop. Flop.

Page 12: Cong nghe fpga   bao cao

1212

•• KhKhốốii chchứứcc năngnăngRAM Block: RAM Block: ggồồmm nhinhiềềuu khkhốốii RAM, RAM, ttổổchchứứcc ththàànhnh haihai ccộộtt, , ởở haihai ccạạnhnh đđứứngngccủủaa linhlinh kikiệệnn. .

DLL (Delay Lock Loops): DLL (Delay Lock Loops): điđiềềuu khikhiểểnnxungxung clock, clock, nhnhằằmm loloạạii trtrừừ đđộộ llệệchchhohoặặcc trtrìì hoãnhoãn mmộộtt khokhoảảngng ththờờii giangiangigiữữaa ttíínn hihiệệuu Clock Clock ngõngõ vvààoo vvàà ccááccxungxung Clock Clock ngõngõ vvààoo bênbên trongtrong, , gigiảảmmttốốii đađa ssựự trtrìì hoãnhoãn, , ttạạoo ssựự đđồồngng bbộộ vvààtitiếếtt kikiệệmm năngnăng lưlượợngng. . MMỗỗii DLL DLL nnốốii haihaimmạạngng Clock Clock totoàànn ccụụcc..

Page 13: Cong nghe fpga   bao cao

1313

CCấấuu trtrúúcc CPLD MAX7000CPLD MAX7000

Cấu trúc MAX7000 gồm:• Logic Array Block• Macrocells• Programmable Interconnect Array• I/O control blocks

V. CAV. CAÁÁU TRUU TRUÙÙC FPGA HAÕNG ALTERAC FPGA HAÕNG ALTERACaáu truùc FPGA haõng Alteragoàm:

Logic Element / Look up Tables

Programmable Interconnect Array

I/O Block

Page 14: Cong nghe fpga   bao cao

1414

MAX 7000 (MAX 7000 (t.tt.t))

• Một LAB bao gồm 16 Macrocells.• Các LAB được nối với nhau qua đường kết nối chung lập trìnhđược Programmable Interconnect Array (PIA), các đường này sẽnối các macrocells và chân I/O.• 36 tín hiệu ngõ vào Macrocells

Cấu trúcLogic Array Block

Page 15: Cong nghe fpga   bao cao

1515

MAX 7000 (MAX 7000 (t.tt.t))

Khối I/O:• Các chân I/O có thể cấu hình là ngõ vào, ngõ ra, 2 chiều• Các chân I/O đệm 3 trạng thái

• 1 Macrocell bao gồm 3 khối chức năng: Mảng logic, ma trậnchọn thành phần tích (Product Term Select Matrix) và thanh ghilập trình được (Programmable Register)• Thực hiện chức năng mạch tổ hợp hoặc mạch tuần tự• Parallel Logic Expanders cho phép nối các macrocell lại vớinhau để tạo thành chức năng logic lớn hơn và Sharable Logic Expanders mở rộng thành phần tích

Cấu trúc Macrocells Cấu trúc I/O

Page 16: Cong nghe fpga   bao cao

1616

• FLEX10K bao gồm các EAB (Embedded Array Block). Mỗi EAB gồm có 2048 bit, có thể tạo RAM, FOM, FIFO hoặc các chức năng logic tổng quát. Mỗi EAB gồm 100-600 cổng, có thể dùng độc lậphoặc kết hợp lại với nhau. Các EAB khi là RAM có thể là 256x8, 512x4, 1024x2, 2048x1.• Các mảng Logic bao gồm các LAB, mỗi LAB gồm 8 LE và một đường kết nối cục bộ.• Mỗi LE gồm 1 LUT (Look-up Table) 4 ngõ vào, 1 FlipFlop lập trình được và các đường để dành đểghép nối.• Các Interconnection theo hàng và cột, nối các LAB với nhau• Các IOE (I/O Element) chứa các I/O pin. Mỗi IOE gồm 1 bộ đệm 2 chiều và 1 FlipFlop có thể là ngõvào/ra/2 chiều, hoặc thanh ghi vào/ra.• Ứng dụng của các EAB là tạo bộ nhớ, các bộ vi xử lý, vi điều khiển, lọc số,…

Cấu trúc Flex10K

Page 17: Cong nghe fpga   bao cao

1717

Caáu truùc CPLD hoï Flex10K

Page 18: Cong nghe fpga   bao cao

1818

CaCaááuu trutruùùcc CPLD CPLD hohoïï Flex10K (Flex10K (tttt))

Cấu trúc Logic array block Cấu trúc LE

Page 19: Cong nghe fpga   bao cao

1919

V. CAV. CAÁÁU TRUU TRUÙÙC FPGA HAÕNG ALTERAC FPGA HAÕNG ALTERACaáu truùc FPGA haõng Altera goàm:

Logic Element / Look up TablesProgrammable Interconnect ArrayI/O Block

Caáu truùc CPLD

hoï Flex10K

Page 20: Cong nghe fpga   bao cao

2020

VI. CAVI. CAÁÁU TRUU TRUÙÙC FPGA HOC FPGA HOÏÏ STRATIXSTRATIX

- Goàm caùc LAB, Interconnection, caùc khoái boä nhôù vaø caùc khoái DSP- Caáu truùc 2 chieàu : haøng vaø coät, duøng coâng ngheä keát noái MultiTrack- Caùc chuoãi keát noái haøng vaø coät keát noái caùc LABs, khoái boä nhôù, IOE vaøDSP- Maûng logic bao goàm caùc LAB, moãi LAB goàm 10 LEs (LE laø 1 ñôn vòlogic nhoû nhaèm thöïc hieän hieäu quaû nhöõng haøm logic). Caùc LAB ñöôïcnhoùm trong caùc haøng vaø coät xuyeân suoát trong linh kieän.- Caùc khoái boä nhôù goàm M512 RAM, M4K RAM, M-RAM thöïc hieänRAM, ROM, FIFO,…- Caùc chaân I/O ( IOE) ñaët ôû cuoái haøng vaø coät cuûa LAB. Moãi IOE goàm 1 boä ñeäm 2 chieàu, 6 thanh ghi cho caùc ngoõ vaøo/ra thanh ghi vaø ñieàu khieån- Caùc khoái DSP - Khoái PLLs.

1. CA1. CAÁÁU TRUU TRUÙÙC HOC HOÏÏ STRATIX:STRATIX:

Page 21: Cong nghe fpga   bao cao

2121Caáu truùc FPGA hoï Stratix (haõng Altera)

Page 22: Cong nghe fpga   bao cao

2222Caáu truùc LAB hoï Stratix (haõng Altera)

Page 23: Cong nghe fpga   bao cao

2323Caáu truùc LUT hoï Stratix (haõng Altera)

Page 24: Cong nghe fpga   bao cao

2424

2. TA2. TAØØI NGUYEÂN KEI NGUYEÂN KEÁÁT NOT NOÁÁI HOI HOÏÏ STRATIX:STRATIX:- Keát noái giöõa caùc LE, boä nhôù, DSP vaø chaân I/O- Keát noái haøng goàm:

+ Keát noái tröïc tieáp giöõa caùc LAB vaø caùc khoái keá caän+ Keát noái R4, Keát noái R8, Keát noái haøng R24 xuyeân suoát chieàu daøi linh kieän

- Keát noái coät goàm:+ Keát noái chuoãi LUT vaø chuoãi thanh ghi trong LAB+ Keát noái C4, Keát noái C8, Keát noái coät C16 xuyeân suoát chieàu doïc linh kieän

- Keát noái haøng keát noái vôùi keát noái coät.

Page 25: Cong nghe fpga   bao cao

2525

Caáu truùc IOE hoï Stratix (haõng Altera)

Page 26: Cong nghe fpga   bao cao

2626

3. CA3. CAÙÙC KHOC KHOÁÁI CHI CHÖÙÖÙC NAÊNG HOC NAÊNG HOÏÏ STRATIX:STRATIX:

1. Khoái boä nhôù:

+ RAM 2-port ñôn giaûn, RAM 1 port, FIFO, ROM, thanh ghi dòch. Khoái boä nhôù goàm 3 khoái RAM: M512, M4K, M-RAM

2. Khoái PLLs: (Phase Lock Loop)+ Caáu truùc phaân caáp xung Clock+ Keát hôïp caùc nguoàn taøi nguyeân xung Clock vôùi toång hôïp taàn soáchính xaùc ñöôïc cung caáp bôûi caùc PLL nhanh vaø tieân tieán taïo thaønhgiaûi phaùp quaûn lyù xung Clock hoaøn chænh

3. Khoái DSP: (Digital Signal Processing)+ Duøng trong loïc FIR, loïc FIR phöùc taïp, loïc IIR, FFT, bieán ñoåiCosin rôøi raïc, töông quan+ Khoái DSP goàm caùc thaønh phaàn sau:

o Khoái nhaâno Khoái coäng/ngoõ ra

Page 27: Cong nghe fpga   bao cao

2727Caáu truùc khoái boä nhôù hoï Stratix (haõng Altera)

Page 28: Cong nghe fpga   bao cao

2828Caáu truùc MAC - DSP hoï Stratix (haõng Altera)

Page 29: Cong nghe fpga   bao cao

2929Caáu truùc PLLs hoï Stratix (haõng Altera)

Page 30: Cong nghe fpga   bao cao

3030

VII. NGOÂN NGÖÕ MOÂ TAÛ PHAÀN CÖÙNG

VERILOG HDL VAØ VHDL

+ Coù raát nhieàu ngoân ngöõ moâ taû phaàn cöùng ñöôïc phaùt trieån nhaèm muïc ñích moâphoûng, taïo maãu, thieát keá, kieåm tra vaø laøm taøi lieäu cho caùc heä thoáng soá.

+ Tuy nhieân ngaøy nay coù hai ngoân ngöõ ñöôïc söû duïng raát phoå bieán, ñoù laø : Verilog HDL vaø VHDL.

+ VHDL (Very High Speed Integrated Circuits Hardware DescriptionLanguage) laø ngoân ngöõ moâ taû phaàn cöùng ñöôïc coâng nhaän tieâu chuaån IEEE töønaêm 1987. Noù laø ngoân ngöõ coù ñaày ñuû söùc maïnh cho vieäc thieát keá vaø moâ taû caùcheä thoáng soá ngaøy nay. Tuy nhieân VHDL raát gioáng vôùi ngoân ngöõ Ada, moätngoân ngöõ khoâng phoå bieán. Ñaëc ñieåm naøy laøm cho VHDL khoù hoïc hôn.

+ Verilog HDL ñöôïc chuaån hoùa töø naêm 1995 vaø raát gioáng ngoân ngöõ C. Chínhñaëc ñieåm naøy maø noù ñöôïc söû duïng khaù roäng raõi ngaøy nay. Taïi Vieät Nam, coângty Renesas cuõng söû duïng ngoân ngöõ naøy trong vieäc thieát keá.

Page 31: Cong nghe fpga   bao cao

3131

VIII. GIÔÙI THIEÄU MOÄT SOÁ KIT FPGA

Kit Stratix EP1S25 (Altera) cuûahaõng Parallax

+ 144 chaân I/O

+ Boä dao ñoäng xung clock 50MHz

+ Nguoàn 3.3V cho I/O vaø 1.5V cho loõi FPGA

+ Coång noái tieáp chuaån 9 chaân

+ Caùc chaân noái JTAG

www.parallax.com

Page 32: Cong nghe fpga   bao cao

3232

Kit UP2 cuûa Altera

+ Chip EPM7128S hoï Max7000

+ Chip EPF10K70 hoï FLEX10K

+ Hoã trôï 2 led 7 ñoaïn

+ 16 led

+ JTAG chain, caùp taûiByteBlaster II

+ Coång giao tieáp P/S2, VGA

+ Boä taïo dao ñoäng 25.17 MHz

Ngoaøi ra coøn coù Kit UP3 (Altera)

www.altera.com

Page 33: Cong nghe fpga   bao cao

3333

Kit Digilab 2E cuûa Digilent

+ Spartan 2E XC2S200E cuûa Xilinx

+ 143 chaân I/O ngöôøi duøng

+ Nguoàn ñieàu chænh 1,5A (2,5 vaø3,3V)

+ Boä dao ñoäng 50MHz

+ Coång JTAG

+ Coång RS-232

+ Moät led vaø moät nuùt baám

www.digilentinc.com

Page 34: Cong nghe fpga   bao cao

3434

VirtexVirtex--4 ML401 Development Board4 ML401 Development Board

LinhLinh kiekieäänn:: XC4VLX25XC4VLX25--FF668FF668--10C10CTaTaàànn sosoáá:: 100 MHz Oscillator100 MHz Oscillator••BoBoää nhônhôùù:: 64 MB DDR SDRAM, 64 MB DDR SDRAM, 8Mb ZBT SRAM, 64 Mb Flash, 4 8Mb ZBT SRAM, 64 Mb Flash, 4 kb I2C EEPROM kb I2C EEPROM HieHieåånn thòthò:: 16x2 Character LCD 16x2 Character LCD CaCaùùcc giaogiao tietieáápp:: 4 SMA (Differential 4 SMA (Differential Clocks), 2 PS/2 (Keyboard/Mouse), Clocks), 2 PS/2 (Keyboard/Mouse), 4 Audio Jacks (Line In/Out, 4 Audio Jacks (Line In/Out, Microphone, Head Phone), RSMicrophone, Head Phone), RS--232 232 Serial Port, 3 USB Ports, JTAG, Serial Port, 3 USB Ports, JTAG, VGAVGA

www.nuhorizons.com

Page 35: Cong nghe fpga   bao cao

3535

PHAÀN MEÀM SÖÛ DUÏNG TRONG THIEÁT KEÁ FPGA

Xilinx: Xilinx ISE Foundation 7.1 Xilinx: Xilinx ISE Foundation 7.1 http://http://www.xilinx.comwww.xilinx.com

AlteraAltera: : MaxplusMaxplus II, II, QuartusQuartus II (II (TaTaøøii lielieääuu ssöûöû duduïïngngMaxplusMaxplus II II ññaõaõ ñöñöôôïïcc ññaêngaêng trongtrong phaphaàànn tin CMS tin CMS DieãnDieãnññaaøønn ññieieäänn ttöûöû), ), www.altera.comwww.altera.com

CaCaùùcc phaphaàànn memeààmm hoãhoã trôtrôïï FPGA FPGA khoângkhoâng phuphuïï thuothuoääcc haõnghaõngsasaûûnn xuaxuaáátt nhnhöö FPGA Advantage (Mentor Graphics): FPGA Advantage (Mentor Graphics): Leonardo Spectrum, Leonardo Spectrum, ModelSimModelSim,,……MatlabMatlab, , LabviewLabview,,…… www.mentor.comwww.mentor.com

Page 36: Cong nghe fpga   bao cao

3636

Giao dieän cuûa chöông trình Quartus II

Chöùc naêng:Soaïn thaûo thieát keá:

Verilog HDL, VHDL, AHDL; Graphic Mode

Bieân dòch

Toång hôïp

Toái öu hoùa

Phaân tích ñònh thôøi

Moâ phoûng daïng soùng

Naïp chöông trình

Chöông trình Quartus II

Page 37: Cong nghe fpga   bao cao

3737

XI. MOÄT SOÁ HOÏ FPGA CUÛA CAÙC HAÕNG

•+ Altera : goàm caùc hoï Max3000, Max7000, MAXII, Flex10K, Cyclone, APEX, ACEX, Mercury, Stratix, Stratix GX, Stratix II (coù theå tham khaûotaïi www.altera.com).

•+ Xilinx : XC3000, XC4000, XC9500, Spartan, Spartan2, Spartan3, QproVirtex, Virtex, VirtexII (coù theå tham khaûo taïi www.xilinx.com).

•+ QuickLogic : Eclipse, EclipsePlus, QuickRam, pASIC1, pASIC2, pASIC3 (coù theå tham khaûo taïi www.quicklogic.com).

•+ Atmel : AT6000, AT40K (coù theå tham khaûo taïi www.atmel.com).

Page 38: Cong nghe fpga   bao cao

3838

X. KẾT LUẬN1. ỨNG DỤNG

+ Thieát keá maïch logic soá hieän ñaïi theo nhu caàu cuûa ngöôøi thieát keá

+ Taïo maãu tröôùc khi cheá taïo vi maïch

+ Thieát keá caùc boä vi xöû lyù, vi ñieàu khieån

+ Xöû lyù tín hieäu soá

+ Xöû lyù aûnh soá, Video

+ Xöû lyù aâm thanh

+ Trong truyeàn thoâng: caùc chuaån Ethernet, maõ Turbo, maõ Viterbi, Reed –Solomon,…

+ Caùc giao tieáp PCI, USB

+ Ñieàu khieån töï ñoäng

+ Vaø caùc öùng duïng khaùc …

Page 39: Cong nghe fpga   bao cao

3939

2. QUY TRÌNH THIEÁT KEÁ FPGANgoõ vaøo thieát keá

(Schematics, Verilog, VHDL)

Moâ phoûng haønh vi

Toång hôïp thieát keá

Thöïc hieän thieát keá(FPGA Place and

Route)

Moâ phoûng

Caáu hình FPGA(Taûi thieát keá

xuoáng FPGA)

Page 40: Cong nghe fpga   bao cao

4040

NgoaNgoaøøi ra coi ra coøøn con coùù thetheåå thiethieáát ket keáá treân FPGA, ketreân FPGA, keáát hôt hôïïp p phaphaààn men meààm cum cuûûa haõng saa haõng saûûn xuan xuaáát vat vaøø phaphaààn men meààm m LabviewLabview

Sô ñoà thieát keá FPGA söû duïng phaàn meàm Labview cuûa haõng National Instrumetns

Öu ñieåm:Söû duïng caùc thö vieän saün coù

Tröïc quan vaø deã söû duïng

Ruùt ngaén thôøi gian thieát keá

Ñôn giaûn hoùa quy trình thieát keá

Page 41: Cong nghe fpga   bao cao

4141

ThieThieáát ket keáá treân FPGA, ketreân FPGA, keáát hôt hôïïp phap phaààn men meààm cum cuûûa a haõng sahaõng saûûn xuan xuaáát vôt vôùùi phai phaààn men meààm Matlabm Matlab

Sô ñoà thieát keá FPGA keát hôïp phaàn meàm Quartus II cuûa haõng Altera vaø Matlab cuûa Mathworks

Page 42: Cong nghe fpga   bao cao

4242

3. ÖU VAØ KHUYEÁT ÑIEÅM FPGA

Öu ñieåm :

+ Thôøi gian thöïc hieän thieát keá nhanh

+ Coù theå thay ñoåi thieát keá deã daøng

+ Chi phí thaáp

Khuyeát ñieåm :

+ Toác ñoä chaäm

+ Chæ hieäu quaû trong caùc maïch logic soá

+ Khoâng theå thay theá caùc linh kieän ASIC

Tuy nhieân ngaøy nay khuyeát ñieåm naøy ñang ñöôïc khaéc phuïc nhôø söï tieán boäcuûa coâng ngheä. Do ñoù FPGA ngaøy caøng ñöôïc söû duïng phoå bieán vaø roäng raõi trong moïi lónh vöïc cuûa ñôøi soáng.

Page 43: Cong nghe fpga   bao cao

4343

So sSo sáánh FPGA vnh FPGA vàà CPLDCPLD

NhNhỏỏVVừừa va vàà llớớnnỨỨng dng dụụngng

MMảảng ANDng AND--OR, OR, PALPAL--likelike

LUTLUTCCấấu tru trúúc logicc logic

EPROM, EEPROMEPROM, EEPROMSRAMSRAMCông nghCông nghệệ llậập trp trììnhnh

Đơn giĐơn giảản hơnn hơnPhPhứức tc tạạppKKếết nt nốốii

Logic cell nLogic cell nằằm gim giữữa a ccáác nguc nguồồn tn tàài i

nguyênnguyên

Logic cell nLogic cell nằằm m ngongoàài, chia chung i, chia chung ngunguồồn tn tàài nguyêni nguyên

KhKhốối Logic i Logic

CPLDCPLDFPGAFPGA

Page 44: Cong nghe fpga   bao cao

4444

• Field-Programmable Device (FPD) — a general term that refers to any type of integrated circuit used for implementing digital hardware, where the chip can be configured by the end user to realize different designs. Programming of such a device often involves placing the chip into a special programming unit, but some chips can also be configured “in-system”. Another name for FPDs is programmable logic devices (PLDs); although PLDs encompass the same types of chips as FPDs, we prefer the term FPD because historically the word PLD has referred to relatively simple types of devices.

• SPLD — refers to any type of Simple PLD, usually either a PLA or PAL

• CPLD — a more Complex PLD that consists of an arrangement of multiple SPLD-like blocks on a single chip. Alternative names (that will not be used in this paper) sometimes adopted for this style of chip are Enhanced PLD (EPLD), Super PAL, Mega PAL, and others.

• FPGA — a Field-Programmable Gate Array is an FPD featuring a general structure that allows very high logic capacity. Whereas CPLDs feature logic resources with a wide number of inputs (AND planes), FPGAs offer more narrow logic resources. FPGAs also offer a higher ratio of flip-flops to logic resources than do CPLDs.

Page 45: Cong nghe fpga   bao cao

4545

LÔØI CAÛM ÔN

Xin chaân thaønh caùm ôn caùc baïn ñaõ ñeán tham döï lôùp hoïc naøy. Raát mong nhaän ñöôïc caùc yù

kieán ñoùng goùp cuûa caùc baïn.