SlideShare a Scribd company logo
1 of 12
Download to read offline
POLITECNICO DI MILANO


Creazione di un sistema
   embedded in EDK
    DRESD How To (DHow2) - L5

     Dynamic Reconfigurability
   in Embedded Systems Design

             DRESD Team
            info@dresd.org
Outline
    Obiettivo
    Introduzione a EDK
    Descrizione del progetto
    Architettura
    File di progetto
    Flusso di progetto
    Creazione dell’architettura




2
Obiettivo
    Creazione di un sistema embedded con processore
    PowerPC 405 (PPC405)

    Sistema di sviluppo: Embedded Development Kit (EDK)
    versione 8.2i
    Board: Virtex-II Pro Evaluation Board
      XC2VP7-FF896-5 Virtex-II Pro FPGA




3
Introduzione a EDK
    Framework di sviluppo di sistemi embedded completi
    con processore implementabili su FPGA della Xilinx

    Componenti
    Xilinx Platform Studio (XPS)
    Software Development Kit (SDK): IDE basato su Eclipse
    Compilatore e debugger GNU per lo sviluppo C per
    PowerPC e MicroBlaze
    IP-Core (processori e periferiche)
    Driver, librerie e microkernel per lo sviluppo software
    Documentazione
    Progetti di esempio

4
Descrizione del progetto
    Base System Builder (BSB)
      Generazione del sistema embedded definito dall’utente
      Generazione di un programma di esempio:
      TestApp_Memory.c
    Generazione bitstream




5
Architettura
    PPC405 32-bit a 100 MHz
    Bus PLB
    Bus OPB
    Blocco RAM 64 KB connesso al bus PLB e usato per la
    memorizzazione di istruzioni e dati
    Blocco RAM 8 KB connesso al bus OPB e usato per
    eseguire un test sulla memoria
    OPB_UARTlite: periferica UART connessa al bus OPB e
    usata per stdin e stdout
    OPB_GPIO: periferica General Purpose I/O connessa al
    bus OPB
    OPB_Timer: periferica timer/contatore connessa al bus
    OPB
    OPB_Intc: interrupt controller connesso al bus OPB
6
File di progetto
    system.xmp: file di progetto XPS
      posizione dei file MHS, MSS, C
      dispositivo target
      opzioni di progetto
    system.mhs: Microprocessor Hardware Specification
      processori, bus, periferiche, porte, parametri di
      configurazione delle periferiche
    system.mss: Microprocessor Software Specification
      librerie, driver, opzioni software del sistema
    data/system.ucf: User Constraint File
      pinout
      frequenza di clock
    TestInterrupt/src/TestApp_Memory.c: applicazione

7
Flusso di progetto
    Creazione dell’architettura
    Sintesi dell’architettura
    Mapping dell’architettura su FPGA
    Generazione del bitstream
    Download del bitstream su FPGA




8
Creazione dell’architettura (1/3)
    Lanciare XPS
    Creare un nuovo progetto usando Base System Builder
    Wizard
    Specificare la directory di progetto
    Selezionare “I would like to create a new design”
    Specificare la board
      Selezionare “I would like to create a system for the
      following development board”
      Board Vendor: Avnet
      Board Name: Avnet Virtex-II Pro Evaluation Board
      Revision: 1.0
    Selezionare il processore
      PowerPC

9
Creazione dell’architettura (2/3)
     Configurare il PowerPC
       Reference Clock Frequency: 100 MHz; Processor Clock
       Frequency: 100 MHz; Bus Clock Frequency: 100 MHz
       Debug Interface: FPGA JTAG
       On-Chip Memory: Data: NONE; Instruction: NONE
     Configurare le interfacce di I/O
       Selezionare RS232 con OPB UARTLITE, Baudrate 9600,
       Data bits 8, Parity NONE e uso di interrupt
       Selezionare LEDs con OPB GPIO
     Aggiungere le periferiche interne
       Selezionare PLB BRAM IF CNTRL da 64 KB
       Aggiungere OPB BRAM IF CNTRL da 8 KB
       Aggiungere OPB TIMER con Counter bit width 32, un
       timer e uso di interrupt
10
Creazione dell’architettura (3/3)
     Eseguire il setup del software
       Specificare STDIN: RS232; STDOUT: RS232
       Selezionare Memory test
     Configurare l’applicazione di test della memoria
       Specificare Instruction: plb_bram_if_cntrl_1
       Specificare Data: plb_bram_if_cntrl_1
       Specificare Stack/Heap: plb_bram_if_cntrl_1
     Generare l’architettura




11
Riferimenti
     Xilinx
     Embedded System Tools Reference Manual - Embedded
     Development Kit, EDK 8.2i
     23 giugno 2006




12

More Related Content

Viewers also liked (8)

DHow2 - L6 VHDL
DHow2 - L6 VHDLDHow2 - L6 VHDL
DHow2 - L6 VHDL
 
RCIM 2008 - - ALaRI
RCIM 2008 - - ALaRIRCIM 2008 - - ALaRI
RCIM 2008 - - ALaRI
 
RCIM 2008 - - UniCal
RCIM 2008 - - UniCalRCIM 2008 - - UniCal
RCIM 2008 - - UniCal
 
RCIM 2008 - - ALTERA
RCIM 2008 - - ALTERARCIM 2008 - - ALTERA
RCIM 2008 - - ALTERA
 
3rd 3DDRESD: BSS
3rd 3DDRESD: BSS3rd 3DDRESD: BSS
3rd 3DDRESD: BSS
 
RCIM 2008 - - hArtes Atmel
RCIM 2008 - - hArtes AtmelRCIM 2008 - - hArtes Atmel
RCIM 2008 - - hArtes Atmel
 
DHow2 - L6 Ant
DHow2 - L6 AntDHow2 - L6 Ant
DHow2 - L6 Ant
 
indian fun
indian funindian fun
indian fun
 

Similar to DHow2 - L5

Software libero nei sistemi embedded
Software libero nei sistemi embeddedSoftware libero nei sistemi embedded
Software libero nei sistemi embeddedDaniele Costarella
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxMarco Ferrigno
 
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...Ionela
 
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale![LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!Marcello Marino
 
Webinar porting e ottimizzazione per x86
Webinar   porting e ottimizzazione per x86Webinar   porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86Massimiliano Torregiani
 
Angelo Impedovo, Linux Day 2016, Programmazione Parallela in openCL
Angelo Impedovo, Linux Day 2016, Programmazione Parallela in openCLAngelo Impedovo, Linux Day 2016, Programmazione Parallela in openCL
Angelo Impedovo, Linux Day 2016, Programmazione Parallela in openCLAngelo Impedovo
 
Microcontrollori
MicrocontrolloriMicrocontrollori
Microcontrollorisamu97
 
Porting Android application from ARM to x86
Porting Android application from ARM to x86Porting Android application from ARM to x86
Porting Android application from ARM to x86BeMyApp
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
ArduinoDay17 - Creazione di un piccolo supercomputer con Raspberry PI per cal...
ArduinoDay17 - Creazione di un piccolo supercomputer con Raspberry PI per cal...ArduinoDay17 - Creazione di un piccolo supercomputer con Raspberry PI per cal...
ArduinoDay17 - Creazione di un piccolo supercomputer con Raspberry PI per cal...Marco Cavallini
 
Summary of “The Case for Writing Network Drivers in High-Level Programming La...
Summary of “The Case for Writing Network Drivers in High-Level Programming La...Summary of “The Case for Writing Network Drivers in High-Level Programming La...
Summary of “The Case for Writing Network Drivers in High-Level Programming La...LeonardoIurada
 
Presentazione Laurea Matteo Vit
Presentazione Laurea Matteo VitPresentazione Laurea Matteo Vit
Presentazione Laurea Matteo VitMatteo Vit
 
JACK Audio Connection Kit
JACK Audio Connection KitJACK Audio Connection Kit
JACK Audio Connection KitNaLUG
 
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Gabriele Guizzardi
 
A query-to-hardware compiler for FPGA architectures
A query-to-hardware compiler for FPGA architecturesA query-to-hardware compiler for FPGA architectures
A query-to-hardware compiler for FPGA architecturesEnrico Cambiaso
 
Thesis Murgida Panella Slide it
Thesis Murgida Panella Slide itThesis Murgida Panella Slide it
Thesis Murgida Panella Slide itMarco Santambrogio
 

Similar to DHow2 - L5 (20)

Software libero nei sistemi embedded
Software libero nei sistemi embeddedSoftware libero nei sistemi embedded
Software libero nei sistemi embedded
 
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel LinuxPIT2012: Workshop@UniNA - Compilazione del Kernel Linux
PIT2012: Workshop@UniNA - Compilazione del Kernel Linux
 
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
 
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale![LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!
 
Webinar porting e ottimizzazione per x86
Webinar   porting e ottimizzazione per x86Webinar   porting e ottimizzazione per x86
Webinar porting e ottimizzazione per x86
 
Angelo Impedovo, Linux Day 2016, Programmazione Parallela in openCL
Angelo Impedovo, Linux Day 2016, Programmazione Parallela in openCLAngelo Impedovo, Linux Day 2016, Programmazione Parallela in openCL
Angelo Impedovo, Linux Day 2016, Programmazione Parallela in openCL
 
Microcontrollori
MicrocontrolloriMicrocontrollori
Microcontrollori
 
Porting Android application from ARM to x86
Porting Android application from ARM to x86Porting Android application from ARM to x86
Porting Android application from ARM to x86
 
DHow2 - L4
DHow2 - L4DHow2 - L4
DHow2 - L4
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
 
ArduinoDay17 - Creazione di un piccolo supercomputer con Raspberry PI per cal...
ArduinoDay17 - Creazione di un piccolo supercomputer con Raspberry PI per cal...ArduinoDay17 - Creazione di un piccolo supercomputer con Raspberry PI per cal...
ArduinoDay17 - Creazione di un piccolo supercomputer con Raspberry PI per cal...
 
Summary of “The Case for Writing Network Drivers in High-Level Programming La...
Summary of “The Case for Writing Network Drivers in High-Level Programming La...Summary of “The Case for Writing Network Drivers in High-Level Programming La...
Summary of “The Case for Writing Network Drivers in High-Level Programming La...
 
Assemblare un pc
Assemblare un pcAssemblare un pc
Assemblare un pc
 
Presentazione Laurea Matteo Vit
Presentazione Laurea Matteo VitPresentazione Laurea Matteo Vit
Presentazione Laurea Matteo Vit
 
JACK Audio Connection Kit
JACK Audio Connection KitJACK Audio Connection Kit
JACK Audio Connection Kit
 
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
 
3DD 1e IPGen
3DD 1e IPGen3DD 1e IPGen
3DD 1e IPGen
 
A query-to-hardware compiler for FPGA architectures
A query-to-hardware compiler for FPGA architecturesA query-to-hardware compiler for FPGA architectures
A query-to-hardware compiler for FPGA architectures
 
Personal computer
Personal computerPersonal computer
Personal computer
 
Thesis Murgida Panella Slide it
Thesis Murgida Panella Slide itThesis Murgida Panella Slide it
Thesis Murgida Panella Slide it
 

More from Marco Santambrogio (20)

RCIM 2008 - Modello Scheduling
RCIM 2008 - Modello SchedulingRCIM 2008 - Modello Scheduling
RCIM 2008 - Modello Scheduling
 
RCIM 2008 - HLR
RCIM 2008 - HLRRCIM 2008 - HLR
RCIM 2008 - HLR
 
RCIM 2008 -- EHW
RCIM 2008 -- EHWRCIM 2008 -- EHW
RCIM 2008 -- EHW
 
RCIM 2008 - Modello Generale
RCIM 2008 - Modello GeneraleRCIM 2008 - Modello Generale
RCIM 2008 - Modello Generale
 
RCIM 2008 - Allocation Relocation
RCIM 2008 - Allocation RelocationRCIM 2008 - Allocation Relocation
RCIM 2008 - Allocation Relocation
 
RCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_FerraraRCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_Ferrara
 
RCIM 2008 - Janus
RCIM 2008 - JanusRCIM 2008 - Janus
RCIM 2008 - Janus
 
RCIM 2008 - Intro
RCIM 2008 - IntroRCIM 2008 - Intro
RCIM 2008 - Intro
 
DHow2 - L2
DHow2 - L2DHow2 - L2
DHow2 - L2
 
DHow2 - L1
DHow2 - L1DHow2 - L1
DHow2 - L1
 
RCW@DEI - Treasure hunt
RCW@DEI - Treasure huntRCW@DEI - Treasure hunt
RCW@DEI - Treasure hunt
 
RCW@DEI - ADL
RCW@DEI - ADLRCW@DEI - ADL
RCW@DEI - ADL
 
RCW@DEI - Design Flow 4 SoPc
RCW@DEI - Design Flow 4 SoPcRCW@DEI - Design Flow 4 SoPc
RCW@DEI - Design Flow 4 SoPc
 
RCW@DEI - Real Needs And Limits
RCW@DEI - Real Needs And LimitsRCW@DEI - Real Needs And Limits
RCW@DEI - Real Needs And Limits
 
RCW@DEI - Basic Concepts
RCW@DEI - Basic ConceptsRCW@DEI - Basic Concepts
RCW@DEI - Basic Concepts
 
RCW@DEI - Reconf Comp
RCW@DEI - Reconf CompRCW@DEI - Reconf Comp
RCW@DEI - Reconf Comp
 
Blanket project presentation
Blanket project presentationBlanket project presentation
Blanket project presentation
 
3rd 3DDRESD: DRESD Future Plan 0809
3rd 3DDRESD: DRESD Future Plan 08093rd 3DDRESD: DRESD Future Plan 0809
3rd 3DDRESD: DRESD Future Plan 0809
 
UIC Panella Thesis
UIC Panella ThesisUIC Panella Thesis
UIC Panella Thesis
 
3rd 3DDRESD: VGA Core
3rd 3DDRESD: VGA Core3rd 3DDRESD: VGA Core
3rd 3DDRESD: VGA Core
 

DHow2 - L5

  • 1. POLITECNICO DI MILANO Creazione di un sistema embedded in EDK DRESD How To (DHow2) - L5 Dynamic Reconfigurability in Embedded Systems Design DRESD Team info@dresd.org
  • 2. Outline Obiettivo Introduzione a EDK Descrizione del progetto Architettura File di progetto Flusso di progetto Creazione dell’architettura 2
  • 3. Obiettivo Creazione di un sistema embedded con processore PowerPC 405 (PPC405) Sistema di sviluppo: Embedded Development Kit (EDK) versione 8.2i Board: Virtex-II Pro Evaluation Board XC2VP7-FF896-5 Virtex-II Pro FPGA 3
  • 4. Introduzione a EDK Framework di sviluppo di sistemi embedded completi con processore implementabili su FPGA della Xilinx Componenti Xilinx Platform Studio (XPS) Software Development Kit (SDK): IDE basato su Eclipse Compilatore e debugger GNU per lo sviluppo C per PowerPC e MicroBlaze IP-Core (processori e periferiche) Driver, librerie e microkernel per lo sviluppo software Documentazione Progetti di esempio 4
  • 5. Descrizione del progetto Base System Builder (BSB) Generazione del sistema embedded definito dall’utente Generazione di un programma di esempio: TestApp_Memory.c Generazione bitstream 5
  • 6. Architettura PPC405 32-bit a 100 MHz Bus PLB Bus OPB Blocco RAM 64 KB connesso al bus PLB e usato per la memorizzazione di istruzioni e dati Blocco RAM 8 KB connesso al bus OPB e usato per eseguire un test sulla memoria OPB_UARTlite: periferica UART connessa al bus OPB e usata per stdin e stdout OPB_GPIO: periferica General Purpose I/O connessa al bus OPB OPB_Timer: periferica timer/contatore connessa al bus OPB OPB_Intc: interrupt controller connesso al bus OPB 6
  • 7. File di progetto system.xmp: file di progetto XPS posizione dei file MHS, MSS, C dispositivo target opzioni di progetto system.mhs: Microprocessor Hardware Specification processori, bus, periferiche, porte, parametri di configurazione delle periferiche system.mss: Microprocessor Software Specification librerie, driver, opzioni software del sistema data/system.ucf: User Constraint File pinout frequenza di clock TestInterrupt/src/TestApp_Memory.c: applicazione 7
  • 8. Flusso di progetto Creazione dell’architettura Sintesi dell’architettura Mapping dell’architettura su FPGA Generazione del bitstream Download del bitstream su FPGA 8
  • 9. Creazione dell’architettura (1/3) Lanciare XPS Creare un nuovo progetto usando Base System Builder Wizard Specificare la directory di progetto Selezionare “I would like to create a new design” Specificare la board Selezionare “I would like to create a system for the following development board” Board Vendor: Avnet Board Name: Avnet Virtex-II Pro Evaluation Board Revision: 1.0 Selezionare il processore PowerPC 9
  • 10. Creazione dell’architettura (2/3) Configurare il PowerPC Reference Clock Frequency: 100 MHz; Processor Clock Frequency: 100 MHz; Bus Clock Frequency: 100 MHz Debug Interface: FPGA JTAG On-Chip Memory: Data: NONE; Instruction: NONE Configurare le interfacce di I/O Selezionare RS232 con OPB UARTLITE, Baudrate 9600, Data bits 8, Parity NONE e uso di interrupt Selezionare LEDs con OPB GPIO Aggiungere le periferiche interne Selezionare PLB BRAM IF CNTRL da 64 KB Aggiungere OPB BRAM IF CNTRL da 8 KB Aggiungere OPB TIMER con Counter bit width 32, un timer e uso di interrupt 10
  • 11. Creazione dell’architettura (3/3) Eseguire il setup del software Specificare STDIN: RS232; STDOUT: RS232 Selezionare Memory test Configurare l’applicazione di test della memoria Specificare Instruction: plb_bram_if_cntrl_1 Specificare Data: plb_bram_if_cntrl_1 Specificare Stack/Heap: plb_bram_if_cntrl_1 Generare l’architettura 11
  • 12. Riferimenti Xilinx Embedded System Tools Reference Manual - Embedded Development Kit, EDK 8.2i 23 giugno 2006 12