UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Dipartimento di Elettrotecnica, Elettronica ed Informatica REALIZZAZIONE DI UN SISTEMA EMBEDDED.

Slides:



Advertisements
Presentazioni simili
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta di un corpo circolare sommerso in un serbatoio 50 cm 28 cm Blocco circolare.
Advertisements

L’Architettura del Sistema di Elaborazione
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Elaborazione del Book Informatico. 2 Marco M. Vernillo – a.a. 2002/2003 – Elaborazione del Book Informatico Elaborazione del Book Informatico 1. Tecnologie.
IL COMPUTER: l'HARDWARE
Politecnico di Milano Realizzazione di un componente per un sistema dedicato: integrazione del componente RC6 a 128 bit in EDK Relatore: Prof. Fabrizio.
Carlo Di Federico - Matricola n Roberto Gonella - Matricola n
IPGen: un framework per la generazione automatica di IP-Core per FPGA
BAnMaT Light: un tool per la rilocazione software dei bitstream
Politecnico di Milano Realizzazione di una Applicazione basata su Riconfigurabilit à Dinamica: Riconoscimento di Contorni di Immagini A.A. 2004/2005 Relatore:
Realizzazione di un componente per un sistema dedicato: sviluppo dell’algoritmo di crittografia RC6 a 128 bit Relatore: Prof. Fabrizio Ferrandi Correlatore:
Relatore: Prof. Fabrizio Ferrandi
Politecnico di Milano Sviluppo di strumenti per l'analisi e la manipolazione di bitstream per la riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.
POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: Relatore: Prof.
Relatore: Prof. Fabrizio FERRANDI
Stefano Magnoni : Arber Ngjela : Relatore: Prof. Francesco BRUSCHI
Corso di Informatica Applicata - by Scardino Giuseppe Il PC MULTIMEDIALE Un PC con laggiunta di qualche optionalUn PC con laggiunta di qualche optional.
File System Cos’è un File System File e Directory
Università degli studi di Trieste – Tesi di laurea triennale in Ingegneria elettronica PROTOCOLLO DI COMUNICAZIONE TRA PC E MICROCONTROLLORE PER UN’INTERFACCIA.
Tesi di Laurea Triennale in Ingegneria Elettronica Applicata
Laureando: Emanuele Viviani
Realizzazione di algoritmi video su FPGA
Università degli Studi di Trieste
Università degli Studi di Trieste
Sviluppo di un’interfaccia Camera Link - FPGA
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
Relatore:. Prof. Fabrizio FERRANDI Correlatore:. Ing. Marco D
Luca Pizzamiglio Dipartimento di Elettronica ed Informazione Corso di Laurea in Ingegneria Informatica 17 Giugno 2003 Stimatori d'area per descrizioni.
Esercizi sulle architetture
MICROCONTROLLORI Di Tiziano Ragazzi.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
File.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Schema di principio del SCA di una MMU Memory Management Unit
Struttura dei sistemi operativi (panoramica)
Il livello analogico digitale Lezione 3_4 Chip delle CPU e Bus.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Architettura degli elaboratori
Analisi di Immagini e Dati Biologici
Architettura di un calcolatore
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
1 Il Frame Buffer Daniele Marini. 2 Cosè Una memoria dedicata alla registrazione temporanea di una immagine Dimensioni tipiche: –640x480 x 8 bit –1024x1024.
Esperienze di laboratorio “leggero” in aula
Il Calcolatore Elettronico
Relatore Tesi di laurea di
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
COME È FATTO UN COMPUTER
ELETTRONICA DIGITALE (II Parte)
Architetture dei Calcolatori (Lettere j-z ) Il Processore
1 Il Frame Buffer Daniele Marini Maurizio Rossi. 2 Cosè Una memoria dedicata alla registrazione temporanea di una immagine Dimensioni tipiche: –640x480.
1 Struttura di un sistema grafico e frame buffer Daniele Marini.
ELETTRONICA DIGITALE (II PARTE) (1)
VHDL per FPGA Courtesy of S. Mattoccia.
Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale.
Architettura di una CPU
Architettura del calcolatore
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
Calcolatori Elettronici Il Processore
Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili.
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano © 2001 William Fornaciari Architetture di calcolo.
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Informatica Generale Marzia Buscemi
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Transcript della presentazione:

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 2007-2008

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

Frame Buffer Immagine composta da tanti pixel Memorizzati in sequenza nel frame buffer Profondità colore : 1bpp, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp, 32bpp

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 a microprocessore dedicati Hardware: progettato ad hoc Software: dimensioni molto variabili

Obiettivi Settore: controlli industriali Realizzazione prototipo: testare vantaggi dell’accelerazione grafica 2D in sistemi Embedded

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 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 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 Hard IP 32 bit RISC (Reduced Instruction Set Computer) Architettura Harvard Processor Local Bus

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

Progetto Preesistente MicroBlaze: Soft-ip PLB or OPB Harvard Customizable 2D Graphic Engine Display Controller 2MB frame buffer 640x480 32 bpp Block RAM

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 Decoder immagazzina e distribuisce i comandi monitorizza e comanda i moduli di accelerazione

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 Arbiter memorizza temporaneamente i pixel elaborati invia in successione i pixel al frame buffer

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 OpenCores (www.OpenCores.org) 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 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 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 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 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

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

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

Analisi delle prestazioni 2/2

Conclusioni

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)