La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Politecnico di Milano Realizzazione di un componente per un sistema dedicato: integrazione del componente RC6 a 128 bit in EDK Relatore: Prof. Fabrizio."— Transcript della presentazione:

1 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. 654356 A.A. 2003/2004

2 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.

3 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.

4 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

5 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);

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

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

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

9 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

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

11 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

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

13 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.

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

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

16 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.

17 Davide Murrai17 Fine presentazione


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

Presentazioni simili


Annunci Google