Politecnico di Milano Realizzazione di un componente per un sistema dedicato: integrazione del componente RC6 a 128 bit in EDK Relatore: Prof. Fabrizio.

Slides:



Advertisements
Presentazioni simili
Implementazione di un sistema di gestione per un IP-Core in ambiente GNU\Linux embedded: Infrared Data Association Relatore: Prof. Fabrizio FERRANDI Correlatore:
Advertisements

1 Introduzione ai calcolatori Parte II Software di base.
La struttura fisica e logica di un elaboratore
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Gestione Input Output A. Ferrari.
Referenti: Prof. Anna Antola Ing. Marco Domenico Santambrogio
Francesco Redaelli - Davide Sacchi
Politecnico di Milano UNA METODOLOGIA PER LA STIMA DELLE RISORSE HARDWARE IN ARCHITETTURE RICONFIGURABILI Relatore: Prof. Fabrizio FERRANDI Correlatore:
Politecnico di Milano Sviluppo di una applicazione per DIOPSIS 740: Rotazione e Ridimensionamento di immagini Sviluppo di una applicazione per DIOPSIS.
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
BAnMaT:un framework per l’analisi e la manipolazione di bitstream orientato alla riconfigurabilità parziale Relatore: Prof. Fabrizio FERRANDI.
POLITECNICO DI MILANO Valutazione del tool PlanAhead per la realizzazione di architetture riconfigurabili Chiara Fornoni: Relatore:
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:
POLITECNICO DI MILANO Politecnico di Milano A.A. 2005/06 MECCANISMI DI SINCRONIZZAZIONE PER SISTEMI MULTIPROCESSORE BASATI SUL DISPOSITIVO D740 Candidato:
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 NERD: Net-based Environment for Reconfigurable Devices Realizzazione di un Framework Distribuito Multi Utente per la Riconfigurabilità
Politecnico di Milano Realizzazione di un algoritmo di controllo per la riconfigurabilit à dinamica di moduli SystemC Relatore: Fabrizio Ferrandi Correlatore:
POLITECNICO DI MILANO DRCP: Come gestire in modo efficiente la riconfigurazione parziale dinamica su FPGA Luca Cerri: Relatore: Prof.
Relatore: Prof. Fabrizio FERRANDI
POLITECNICO DI MILANO Framework per lo sviluppo di descrizioni HW basato su ImpulseC tramite l'uso di algoritmi evolutivi Relatore: prof.ssa Anna Maria.
Stefano Magnoni : Arber Ngjela : Relatore: Prof. Francesco BRUSCHI
Laureando: Emanuele Viviani
Realizzazione di algoritmi video su FPGA
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
Comandi ai dispositivi di I/O + Si usano due metodi per mandare informazioni a un dispositivo: –Istruzioni specifiche di I/O –I/O mappato in memoria (memory.
Relatore:. Prof. Fabrizio FERRANDI Correlatore:. Ing. Marco D
Glossario. AGP Accelerated Graphics Port: architettura di bus che permette alle schede grafiche laccesso diretto al bus di sitema (fino a 100MHz), invece.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Introduzione ai PLC.
Struttura dei sistemi operativi (panoramica)
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
1.7 Risorse di sistema Comprendere le risorse di sistema Gestire le risorse di sistema.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
CPU (central process unit)
INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller.
Università Politecnica delle Marche
TECNICHE DI INPUT/OUTPUT
Appunti di Informatica
Marco Losito - matr Paola Mussida - matr
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Architettura del Computer
Unità centrale di processo
Architettura di una CPU
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
SVILUPPO DI UN SERVIZIO DI STAMPA PER DISPOSITIVI MOBILI BASATO SULLE PIATTAFORME JINI E J2ME Candidato Relatore Marco Lazzara Prof. Ing. Vincenzo Grassi.
Calcolatori Elettronici Il Processore
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Gestione dei dispositivi di I/O:
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano © 2001 William Fornaciari Architetture di calcolo.
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
Sistemi Elettronici Programmabili
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Sommario lez 1 Concetti principali, domande ed esercizi Concetti principali –algoritmo, programma –struttura di controllo: condizionale (if …), iterativa.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

Politecnico di Milano Realizzazione di un componente per un sistema dedicato: integrazione del componente RC6 a 128 bit in EDK Relatore: Prof. Fabrizio Ferrandi Correlatore: Ing. Marco Domenico Santambrogio Davide Murrai Matricola n A.A. 2003/2004

Davide Murrai2 Sommario Obiettivi; Introduzione: strumenti, dispositivi, algoritmo; Architettura: Struttura del sistema; Estensione al DMA. Integrazione del componente rc6_encoder: Piattaforma hardware: implementazione del componente; Piattaforma software: luso del driver. Test Effettuati; Conclusioni.

Davide Murrai3 Obiettivi Creazione di un IP Core che implementi lalgoritmo di crittazione RC6; Partizionamento della specifica iniziale in HW e SW; Interfacciamento tra HW e SW allinterno dellIP Core; Integrazione del componente in un sistema dedicato; Test HW e SW.

Davide Murrai4 Introduzione – strumenti e dispositivi EDK (Embedded Development Kit) permette la realizzazione di architetture per sistemi dedicati a partire da una descrizione HW dei vari componenti. Utilizza XPS (Xilinx Platform Studio). Dispositivo riprogrammabile FPGA (Field Programmable Gate Array). Architettura Componenti XilinxComponenti creati dallutente

Davide Murrai5 Introduzione – algoritmo RC6 Blocchi da 128 bit, suddivisi in 4 registri da 32 bit; Chiave di crittazione variabile (in genere 128 bit); Composto da due sottoalgoritmi: Key Schedule; Crypt. Parametrico rispetto a: w r b Dimensione chiave di crittazione. Numero cicli di crittazione da eseguire; Dimensione registri della parola da crittare (fissata a 32 bit);

Davide Murrai6 Architettura MB OPB DLMB ILMB BRAM Controller uartlite rc6_encoder mdm gpio BRAM

Davide Murrai7 Estensione al DMA (Direct Memory Access) Scopo: crittazione di grandi moli di dati in sequenza senza coinvolgere il processore. Attuazione: utilizzo del componente opb_central_dma. Problemi riscontrati: mancato trasferimento dei dati tra la memoria e lrc6_encoder; anche in caso di corretto funzionamento dellopb_centarl_dma non si otterrebbe comunque un incremento delle prestazioni; possibile miglioramento delle prestazioni tramite luso delle net di interrupt dellopb_central_dma, che però sono ancora completamente in fase di sviluppo.

Davide Murrai8 rc6_encoder_core PSelect rc6_encoder BUS OPB Operazioni algoritmo RC6 Interfaccia con il BUS Piattaforma HW: struttura del componente

Davide Murrai9 Piattaforma HW: utilizzo dei registri Key Schedule Crypt Chiave di crittazione (dimensione variabile) Parola da crittare (in 4 registri da 32 bit) Registri di comando del componente

Davide Murrai10 Piattaforma SW: definizione del driver DRIVER Hardware Software Applicazione utente: system.c Componente: rc6_encoder Makefile rc6_encoder.h rc6_encoder.c

Davide Murrai11 Piattaforma SW: funzioni del driver write_regs userkey risultati start fine Riporta basso il segnale di interrupt per una nuova crittazione Ottiene i valori finali della crittazione dal componente Scrive la parola da crittare allinterno del componente Scrive la chiave di crittazione allinterno del componente Invia il comando di avvio crittazione al componente (al termine della quale è sollevato un interrupt) Invio valori al componente Prelievo valori dal componente Controllo

Davide Murrai12 Implementazione IP Core Key Schedule Crypt Risultati Avvio algoritmo Interrupt Invio parola e chiave Avvio crittazione Piattaforma SW Piattaforma HW

Davide Murrai13 Test effettuati Test sul componente: controllo funzionamento dellrc6_encoder; controllo funzioni del driver. Impiego della console di debug: particolare caso di test; visualizzazione degli effetti dopo lesecuzione di ogni singola istruzione.

Davide Murrai14 Test sul componente Test allinterno del codice C Utilizzo funzioni del driver uartlite 2F194E52 4E192F

Davide Murrai15 Impiego della console di debug Run XMDRun Debugger Comando: mbconnect mdm 1 Modulo di debug HW 2 GDB 3 Target Selection Avvio software Strumenti di XPS

Davide Murrai16 Conclusioni e sviluppi futuri Conclusioni: corretto funzionamento del componente; corretta integrazione allinterno dellarchitettura; temporizzazioni: minimo periodo: 20.7 ns (massima frequenza: 48 MHz); tempo impiegato per una crittazione con chiave da 128 bit circa 23 microsecondi. Occupazione del componente: 58% della FPGA. Sviluppo futuro: miglioramento delle prestazioni tramite luso del DMA.

Davide Murrai17 Fine presentazione