Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoGraziana Villani Modificato 11 anni fa
1
UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Dipartimento di Elettrotecnica, Elettronica ed Informatica REALIZZAZIONE DI UN SISTEMA EMBEDDED CON ACCELERAZIONE HARDWARE 2D SU FPGA Candidato: Matteo GEROMIN Relatore: Prof. Stefano MARSI Correlatore: Ing. Matteo VIT Anno Accademico
2
Sommario Stato dell’arte: Hardware e Software Progetto preesistente
Frame Buffer Acceleratori Grafici Sistemi Embedded Hardware e Software Progetto preesistente Progetto realizzato Confronto fra i due sistemi Sviluppi futuri
3
Frame Buffer Immagine composta da tanti pixel
Memorizzati in sequenza nel frame buffer Profondità colore : 1bpp, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp, 32bpp
4
Acceleratori grafici Meno carico al processore di sistema
Accelerazione 2D e 3D Per il bidimensionale: BITblt e sprite Riempimento aree Linee e poligoni Cerchi ed archi Caratteri Uscita video VGA o DVI
5
Sistemi Embedded Sistemi a microprocessore dedicati
Hardware: progettato ad hoc Software: dimensioni molto variabili
6
Obiettivi Settore: controlli industriali
Realizzazione prototipo: testare vantaggi dell’accelerazione grafica 2D in sistemi Embedded
7
Descrizione Hardware XILINX ML403 Virtex-4 FX Evaluation Platform
Virtex4-FX (XC4VFX12) PowerPC 405 64MB DDR-SDRAM 1MB ZBT SRAM VGA DAC Expansion Headers RS-232 Serial Port
8
FPGA e HDL 1/2 Field Programmable Gate Array
Circuiti logici programmabili CLB Configurable Logic Block Interconnections I/O Blocks Memory blocks Other functions blocks (DCM, DSP, Multiplier)
9
FPGA e HDL 2/2 Hardware Description Language
VHDL, Verilog, SystemC Similitudini con linguaggi di programmazione: If..Then..Else, For, While, Case…. Differenze con i linguaggi di programmazione: Organizzazione a moduli Interazione tramite “fili” e registri Esecuzione parallela delle istruzioni Vari livelli di astrazione: Behavioural, Structural, RTL Sintesi e simulazione
10
PowerPC 405 Hard IP 32 bit RISC (Reduced Instruction Set Computer)
Architettura Harvard Processor Local Bus
11
Software utilizzato Ambiente di sviluppo e sintesi Simulazione
EDK (Embedded Development Kit) ISE (Integrated Software Environment) Simulazione ModelSim-XE & ISE-simulator Debug on-chip ChipScope
12
Progetto Preesistente
MicroBlaze: Soft-ip PLB or OPB Harvard Customizable 2D Graphic Engine Display Controller 2MB frame buffer 640x480 32 bpp Block RAM
13
2D Graphic Engine 1/5 Interfaccia Bus OPB:
gestione comunicazioni da e verso il bus OPB gestione registri organizzazione dati e comandi
14
2D Graphic Engine 2/5 Decoder immagazzina e distribuisce i comandi
monitorizza e comanda i moduli di accelerazione
15
2D Graphic Engine 3/5 Moduli funzioni accelerate illuminazione pixel
disegno rettangoli disegno linee (Bresenham) visualizzazione caratteri (maschere) elaborano colore e posizione dei pixel
16
2D Graphic Engine 4/5 Arbiter
memorizza temporaneamente i pixel elaborati invia in successione i pixel al frame buffer
17
2D Graphic Engine 5/5 Display Controller
gestione comunicazioni con la ZBT SRAM (frame buffer) gestione accessi in memoria generazione sincronismi lettura pixel ed invio a display
18
Nuovo Progetto OpenCores ( Bus Wishbone
19
BUS Wishbone Architettura di comunicazione dati sincrona e parallela.
8bit, 16bit, 32bit, 64 bit Point to Point Shared Bus Crossbar Swich Read, Write, RMW Accesso in burst grazie a terminazione avanzata del ciclo Protocollo di HandShake (stb, cyc, ack)
20
Wishbone Conmax Arbiter
Gestione degli accessi: Bus 32bit 8 Master, 16 Slave Indirizzamento Slave con ultimo nibble (4bit) del bus indirizzi Fino a 4 livelli di priorità impostabili su registri Round-Robin nel caso di priorità uguale
21
VGA/LCD Controller Generazione sincronismi e lettura pixel da Frame Buffer Interfaccia Slave per modifica impostazioni Interfaccia Master per accesso a Frame Buffer Profondità di colore: 32bpp 24bpp 16bpp 8bpp scala di grigi 8bpp lookup table
22
ZBT SRAM Controller Interfaccia Slave per accesso alla memoria ZBT SRAM Accesso singolo in lettura o scrittura (non ottimizzato) Accesso in BURST indirizzi consecutivi
23
Modifiche per l’implementazione
Modulo acceleratore: creazione master e slave supporto 16bpp (RGB 565) Indirizzamento slave tramite il terzo Nibble più significativo di indirizzo Creazione delle maschere caratteri Generazione delle frequenze: problema del clock skew
24
Caratteristiche dei sistemi
Nuovo Preesistente Processore PowerPC405 MicroBlaze F processore 200Mhz 28.57Mhz F sistema 100Mhz Pixel Clock 25Mhz Risoluzione 640x480 Accesso diretto FB SI NO Funz. acc. Line, blit, pix, char Line, blit, pix
25
Analisi delle prestazioni 1/2
Definitivo Preesistente medio (us) minimo (us) massimo (us) 640x480 30026 - 48359 320x480 15012 24221 320x240 7524 12148 160x120 1881 681,84 3058 4447 100x100 979,71 357,04 1597 2321 100x50 489,75 180,29 810,98 1175 50x50 244,72 91,04 417,07 603,41 10x10 9,95 4,24 19,67 25,05
26
Analisi delle prestazioni 2/2
27
Conclusioni
28
Conclusioni Sviluppi futuri: Ottimizzazione accessi al Frame Buffer
FPGA più performante Supporto risoluzioni e profondità colore multiple Separazione acceleratore e processore (PCI) Standardizzazione registri e funzioni Driver e sistema operativo (Linux)
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.