Cong Nghe Fpga - Bao Cao

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Cong Nghe Fpga - Bao Cao as PDF for free.

More details

  • Words: 2,785
  • Pages: 45
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 luận

1

I. LINH KIEÄN LOGIC KHAÛ TRÌNH Tröôùc ñaây phaàn lôùn caùc loaïi linh kieän ñieän töû laø coá ñònh, khoâng laäp trình ñöôïc. - Caùc loaïi linh kieän logic khaû trình ñôn giaûn: EPROM, EEPROM, Flash ROM, PLD - Ñeå thuaän tieän cho vieäc thöû nghieäm, taïo maãu, phaùt trieån öùng ng duïng ng, saûn xuaát ôû quy moâ nhoû, ngöôøi ta ñaõ cheá taïo ra caùc linh kieän (thieát bò) logic khaû trình (Programmable Logic Devices), töùc laø caùc linh kieän soá coù theå ñöôïc caáu hình laïi nhieàu laàn cho caùc öùng ng duïng ng logic khaùc nhau - Goàm 2 loaïi chính: CPLD (Complex Programmable Logic Devices) vaø FPGA (Field Programmable Gate Array) - Caùc haõng saûn xuaát FPGA/CPLD: ALTERA, XILINX, ATMEL, QUICKLOGIC, ACTEL,… -

2

FPGA là gì? „

„

FPGA là một vi mạch chứa các logic cells. Các logic cells thực hiện các mạch logic và được kết nối với nhau bởi ma trận kết nối và chuyển mạch lập trình được. FPGA là tập hợp các phần tử rời rạc được kết nối theo một cách chung.

3

II. COÂNG NGHEÄ LAÄP TRÌNH A. NGUYEÂN LYÙ ANTIFUSE: 1. Caáu truùc Antifuse: Antifuse: caàu chì nghòch Difussion: khuyeách taùn Laäp trình baèng doøng ñieän

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

B. NGUYEÂN LYÙ TEÁ BAØO SRAM: 1. Caáu truùc teá baøo SRAM

Hình 2: Caáu truùc teá baøo SRAM (haõng Xilinx) 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åi

heä 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ôn antifuse

5

C. NGUYEÂN LYÙ UVEPROM VAØ EEPROM 1. Nguyeân lyù hoaït ñoäng Transistor EPROM

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

2. Öu khuyeát ñieåm 9 Taùi laäp trình khoâng caàn boä nhôù ngoaøi. Dieän tích nhoû

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

III. CAÁU TRUÙC FPGA TOÅNG NG QUAÙT

Caáu truùc FPGA goàm 3 phaàn: Logic Blocks (LBs), I/O Blocks (IOB), Interconnection

7

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

Caáu truùc FPGA haõng Xilinx

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

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

9

„

Gồm các khối: • CLB: Một CLB gồm 4logic-cell, Logic cell gồm 2 LUT giống nhau, mỗi LUT gồm 4-ngõ-vào, tín hiệu điều khiển và FF-D. Mỗi CLB gồm hai bộ điều khiển ngõ ra 3 trạng thái (BUFT). Mỗi BUFT có chân điều khiển và ngõ vào độc lập.

10

• Đi dây: Công nghệ SRAM, General Routing Matrix (GRM) „ Local routing: „ I/O Routing: „ General Purpose Routing: „ Dedicated Routing: „ Global Routing: • IOB: tín hiệu vào qua 1 bộ đệm, tín hiệu ra qua bộ đệm 3 trạng thái, theo các chuẩn, bộ nhớ/giao tiếp Bus. Mỗi IOB gồm 3 Flip-Flop chia chung 1 tín hiệu Clock và các tín hiệu CE (Clock Enable), điều khiển độc lập cho từng Flip-Flop.

11

• Khối chức năng „ RAM Block: gồm nhiều khối RAM, tổ chức thành hai cột, ở hai cạnh đứng của linh kiện.

„

DLL (Delay Lock Loops): điều khiển xung clock, nhằm loại trừ độ lệch hoặc trì hoãn một khoảng thời gian giữa tín hiệu Clock ngõ vào và các xung Clock ngõ vào bên trong, giảm tối đa sự trì hoãn, tạo sự đồng bộ và tiết kiệm năng lượng. Mỗi DLL nối hai mạng Clock toàn cục. 12

V. CAÁU TRUÙC FPGA HAÕNG ALTERA Cấu trúc CPLD MAX7000

Caáu truùc FPGA haõng Altera goàm: 9 Logic Element / Look up Tables 9 Programmable Interconnect Array 9 I/O Block

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

MAX 7000 (t.t) Cấu trúc Logic Array Block

• 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

14

MAX 7000 (t.t) Cấu trúc Macrocells

• 1 Macrocell bao gồm 3 khối chức năng: Mảng logic, ma trận chọn thành phần tích (Product Term Select Matrix) và thanh ghi lậ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ới nhau để 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 I/O

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 15 • Các chân I/O đệm 3 trạng thái

Cấu trúc Flex10K • 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ập hoặ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ố,…

16

Caáu truùc CPLD hoï Flex10K

17

Caáu truùc CPLD hoï Flex10K (tt) Cấu trúc Logic array block

Cấu trúc LE

18

V. CAÁU TRUÙC FPGA HAÕNG ALTERA Caáu truùc FPGA haõng Altera goàm: 9 Logic Element / Look up Tables 9 Programmable Interconnect Array 9 I/O Block

Caáu truùc CPLD hoï Flex10K

19

VI. CAÁU TRUÙC FPGA HOÏ STRATIX 1. CAÁU TRUÙC HOÏ STRATIX: - 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 ñöôïc nhoù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än RAM, 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. 20

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

21

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

22

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

23

2. TAØI NGUYEÂN KEÁT NOÁI HOÏ 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.

24

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

3. CAÙC KHOÁI CHÖÙC NAÊNG HOÏ 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ønh giaû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åi Cosin rôøi raïc, töông quan + Khoái DSP goàm caùc thaønh phaàn sau: o Khoái nhaân o Khoái coäng/ngoõ ra

26

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

27

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

28

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

29

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 Description Language) 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ùc heä thoáng soá ngaøy nay. Tuy nhieân VHDL raát gioáng vôùi ngoân ngöõ Ada, moät ngoâ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âng ty Renesas cuõng söû duïng ngoân ngöõ naøy trong vieäc thieát keá. 30

VIII. GIÔÙI THIEÄU MOÄT SOÁ KIT FPGA Kit Stratix EP1S25 (Altera) cuûa haõ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 31

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ûi ByteBlaster 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

32

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

33

Virtex-4 ML401 Development Board

„ „ „

„ „

Linh kieän: XC4VLX25-FF668-10C Taàn soá: 100 MHz Oscillator• Boä nhôù: 64 MB DDR SDRAM, 8Mb ZBT SRAM, 64 Mb Flash, 4 kb I2C EEPROM Hieån thò: 16x2 Character LCD Caùc giao tieáp: 4 SMA (Differential Clocks), 2 PS/2 (Keyboard/Mouse), 4 Audio Jacks (Line In/Out, Microphone, Head Phone), RS-232 Serial Port, 3 USB Ports, JTAG, VGA

www.nuhorizons.com

34

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

„

„

Xilinx: Xilinx ISE Foundation 7.1 http://www.xilinx.com Altera: Maxplus II, Quartus II (Taøi lieäu söû duïng ng Maxplus II ñaõ ñöôïc ñaêng trong phaàn tin CMS Dieãn ñaøn ñieän töû), ), www.altera.com Caùc phaàn meàm hoã trôï FPGA khoâng phuï thuoäc haõng saûn xuaát nhö FPGA Advantage (Mentor Graphics): Leonardo Spectrum, ModelSim,… Matlab, Labview,… www.mentor.com

35

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

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

36

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ûo taïi www.altera.com). • •+ Xilinx : XC3000, XC4000, XC9500, Spartan, Spartan2, Spartan3, Qpro Virtex, 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).

37

X. KẾT LUẬN 1. Ứ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 …

38

2. QUY TRÌNH THIEÁT KEÁ FPGA Ngoõ 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)

39

Ngoaøi ra coøn coù theå thieát keá treân FPGA, keát hôïp phaàn meàm cuûa haõng saûn xuaát vaø phaàn meàm Labview Ö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á

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

40

Thieát keá treân FPGA, keát hôïp phaàn meàm cuûa haõng saûn xuaát vôùi phaàn meàm 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

41

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

So sánh FPGA và CPLD FPGA

CPLD

Khối Logic

Logic cell nằm ngoài, chia chung nguồn tài nguyên

Logic cell nằm giữa các nguồn tài nguyên

Kết nối

Phức tạp

Đơn giản hơn

Công nghệ lập trình

SRAM

EPROM, EEPROM

Cấu trúc logic

LUT

Mảng AND-OR, PAL-like

Ứng dụng

Vừa và lớn

Nhỏ 43









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.

44

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.

45

Related Documents

Cong Nghe Fpga - Bao Cao
November 2019 14
Cong Nghe Fpga
November 2019 8
Bao Cao Cong Doan
November 2019 15
Bao Cao Cong Tac Thang
November 2019 17
Cong Nghe
June 2020 9
Bao Cao.
June 2020 27