Realizzazione di un componente per un sistema dedicato: integrazione del componente RC6 a 128 bit in EDK - PowerPoint PPT Presentation

About This Presentation
Title:

Realizzazione di un componente per un sistema dedicato: integrazione del componente RC6 a 128 bit in EDK

Description:

Realizzazione di un componente per un sistema dedicato: integrazione del componente RC6 a 128 bit in EDK Relatore: Prof. Fabrizio Ferrandi Correlatore: Ing. – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 18
Provided by: Davide250
Learn more at: http://www.dresd.org
Category:

less

Transcript and Presenter's Notes

Title: Realizzazione di un componente per un sistema dedicato: integrazione del componente RC6 a 128 bit in EDK


1
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
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
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
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 Xilinx
Componenti creati dallutente
5
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 registri della parola da crittare
(fissata a 32 bit)
Numero cicli di crittazione da eseguire
Dimensione chiave di crittazione.
6
Architettura
BRAM Controller
uartlite
ILMB
mdm
MB
OPB
BRAM
gpio
DLMB
BRAM Controller
rc6_encoder
7
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
Piattaforma HW struttura del componente
Operazioni algoritmo RC6
rc6_encoder_core
rc6_encoder
Interfaccia con il BUS
PSelect
BUS OPB
9
Piattaforma HW utilizzo dei registri
Chiave di crittazione (dimensione variabile)
Key Schedule
Parola da crittare (in 4 registri da 32 bit)
Crypt
Registri di comando del componente
10
Piattaforma SW definizione del driver
Applicazione utente system.c
Software
rc6_encoder.c
DRIVER
rc6_encoder.h
Makefile
Componente rc6_encoder
Hardware
11
Piattaforma SW funzioni del driver
  • write_regs
  • userkey
  • risultati
  • start
  • fine

Scrive la parola da crittare allinterno del
componente
Invio valori al componente
Scrive la chiave di crittazione allinterno del
componente
Ottiene i valori finali della crittazione dal
componente
Prelievo valori dal componente
Invia il comando di avvio crittazione al
componente (al termine della quale è sollevato
un interrupt)
Controllo
Riporta basso il segnale di interrupt per una
nuova crittazione
12
Implementazione IP Core
Piattaforma SW
Piattaforma HW
Invio parola e chiave
1
Key Schedule
2
Avvio algoritmo
Avvio crittazione
3
Crypt
Interrupt
Risultati
4
13
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
Test sul componente
Test allinterno del codice C
uartlite
2F
19
4E
52
Utilizzo funzioni del driver
52
4E
19
2F
15
Impiego della console di debug
Run XMD
Run Debugger
1
3
4
5
Comando mbconnect mdm
Target Selection
GDB
2
6
Modulo di debug HW
7. Avvio software
Strumenti di XPS
16
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
  • Fine presentazione
Write a Comment
User Comments (0)
About PowerShow.com