slide1
Download
Skip this Video
Download Presentation
REALIZZAZIONE DI UN SISTEMA EMBEDDED CON ACCELERAZIONE HARDWARE 2D SU FPGA

Loading in 2 Seconds...

play fullscreen
1 / 28

REALIZZAZIONE DI UN SISTEMA EMBEDDED CON ACCELERAZIONE HARDWARE 2D SU FPGA - PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' REALIZZAZIONE DI UN SISTEMA EMBEDDED CON ACCELERAZIONE HARDWARE 2D SU FPGA' - anevay


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
UNIVERSITÀ DEGLI STUDI DI TRIESTEFacoltà di IngegneriaDipartimento 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 2007-2008

sommario
Sommario
  • Stato dell’arte:
    • Frame Buffer
    • Acceleratori Grafici
    • Sistemi Embedded
  • Hardware e Software
  • Progetto preesistente
  • Progetto realizzato
  • Confronto fra i due sistemi
  • Sviluppi futuri
frame buffer
Frame Buffer
  • Immagine composta da tanti pixel
  • Memorizzati in sequenza nel frame buffer
  • Profondità colore : 1bpp, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp, 32bpp
acceleratori grafici
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
sistemi embedded
Sistemi Embedded
  • Sistemi a microprocessore dedicati
  • Hardware: progettato ad hoc
  • Software: dimensioni molto variabili
obiettivi
Obiettivi
  • Settore: controlli industriali
  • Realizzazione prototipo: testare vantaggi dell’accelerazione grafica 2D in sistemi Embedded
descrizione hardware
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
fpga e hdl 1 2
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)

fpga e hdl 2 2
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
powerpc 405
PowerPC 405
  • Hard IP
  • 32 bit RISC (Reduced Instruction Set Computer)
  • Architettura Harvard
  • Processor Local Bus
software utilizzato
Software utilizzato
  • Ambiente di sviluppo e sintesi
    • EDK (Embedded Development Kit)
    • ISE (Integrated Software Environment)
  • Simulazione
    • ModelSim-XE & ISE-simulator
  • Debug on-chip
    • ChipScope
progetto preesistente
Progetto Preesistente

Block RAM

  • MicroBlaze:
    • Soft-ip
    • PLB or OPB
    • Harvard
    • Customizable
  • 2D Graphic Engine
  • Display Controller
    • 2MB frame buffer
    • 640x480
    • 32 bpp
2d graphic engine 1 5
2D Graphic Engine 1/5
  • Interfaccia Bus OPB:
  • gestione comunicazioni da e verso il bus OPB
  • gestione registri
  • organizzazione dati e comandi
2d graphic engine 2 5
2D Graphic Engine 2/5
  • Decoder
  • immagazzina e distribuisce i comandi
  • monitorizza e comanda i moduli di accelerazione
2d graphic engine 3 5
2D Graphic Engine 3/5
  • Moduli funzioni accelerate
  • illuminazione pixel
  • disegno rettangoli
  • disegno linee (Bresenham)
  • visualizzazione caratteri (maschere)
  • elaborano colore e posizione dei pixel
2d graphic engine 4 5
2D Graphic Engine 4/5
  • Arbiter
  • memorizza temporaneamente i pixel elaborati
  • invia in successione i pixel al frame buffer
2d graphic engine 5 5
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
nuovo progetto
Nuovo Progetto
  • OpenCores (www.OpenCores.org)
  • Bus Wishbone
bus wishbone
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)

wishbone conmax arbiter
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
vga lcd controller
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
zbt sram controller
ZBT SRAM Controller
  • Interfaccia Slave per accesso alla memoria ZBT SRAM
  • Accesso singolo in lettura o scrittura (non ottimizzato)
  • Accesso in BURST indirizzi consecutivi
modifiche per l implementazione
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
conclusioni1
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)
ad