slide1 n.
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


  • 98 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


Download Now 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)