UNIVERSITÀ DEGLI STUDI DI TRIESTE
Download
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
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