matite e gomma

Logo di Conformità WCAG-1 di Livello Tripla A, W3C-WAI Web Content Accessibility Guidelines 1.0

Validazione XHTML 1.0 Validazione CSS 3
Logo del Dipartimento di Matematica e Informatica, Insegnamento di Sistemi dedicati, link al Forum

Introduzione al codesign di sistemi dedicati

Lezione 01 di Sistemi dedicati

Docente: Giuseppe Scollo

Università di Catania
Dipartimento di Matematica e Informatica
Corso di Laurea Magistrale in Informatica, AA 2016-17

Indice

  1. Introduzione al codesign di sistemi dedicati
  2. Obiettivi dell'introduzione
  3. Cosa è il codesign HW/SW?
  4. Perché il codesign HW/SW? Hardware flessibile ...
  5. ... sistemi dedicati, sistemi embedded
  6. Fattori tecnologici rilevanti del codesign HW/SW
  7. Fattori economici rilevanti del codesign HW/SW
  8. Spazio di progetto di architetture dedicate
  9. Livelli di astrazione di modelli per il codesign
  10. Linguaggi di descrizione dell'hardware
  11. Un piccolo esempio in GEZEL
  12. Progetto di System-on-Chip (SoC)
  13. Interfacce HW/SW
  14. Piattaforme per il codesign
  15. Cosimulazione di sistemi HW/SW
  16. Panoramica della piattaforma GEZEL
  17. Testi di riferimento
  18. Testi per approfondimenti
  19. Siti web di interesse

Obiettivi dell'introduzione

Motivazione e concetti fondamentali di:

Cosa è il codesign HW/SW?

Una definizione "tradizionale":

Una definizione "non tradizionale":

Qual è la differenza?

Perché questa differenza? V. appresso...

Perché il codesign HW/SW? Hardware flessibile ...

Hardware flessibile, in varia misura:

simulatore di PLA esempio di circuito su PLA: semisommatore

... sistemi dedicati, sistemi embedded

I due termini non sono sinonimi:

Sistemi embedded: grande varietà, mercati in rapida crescita:

Sistemi dedicati sono anche componenti o sottosistemi di sistemi di elaborazione dell'informazione general-purpose:

Fattori tecnologici rilevanti del codesign HW/SW

Fattori tecnologici giocano a favore di più hardware:

Supporti ottimali al codesign HW/SW: piattaforme di calcolo parallelo

Fattori economici rilevanti del codesign HW/SW

Fattori economici giocano a favore di più software:

Spazio di progetto di architetture dedicate

La collezione strutturata di tutte le possibili realizzazioni di una data applicazione

Schaumont, Fig. 1.7 - The hardware-software codesign space

Schaumont, Fig. 1.7 - The hardware-software codesign space

Livelli di astrazione di modelli per il codesign

Definibili dalla granularità temporale delle azioni elementari (atomiche)

A partire dal livello più basso di astrazione:

Linguaggi di descrizione dell'hardware

Hanno costrutti per la specifica di struttura (statica) e di comportamento (dinamico)

I tre più diffusi, tutti con semantica di eventi discreti:

Un linguaggio più sintetico, per descrizione RTL di hardware sincrono:

Un piccolo esempio in GEZEL

Traiettorie di Collatz

Datapath hardware per la traiettoria di Collatz di <i>t</i>

dp collatz ( in start : ns(1) ; in x0 : ns(16) ;
                  out t ns(32)) {
    reg r : ns(32) ;
    sig x : ns(32) ;
    always {
          t = r ;
          x = start ? x0 : r ;
          r = x[0] ? x + (x >> 1) + 1 : x >> 1 ;
    }
}

Progetto di System-on-Chip (SoC)

Uno schema generico di progetto:

Schaumont, Fig. 8.1 - Generic template for a system-on-chip

Schaumont, Fig. 8.1 - Generic template for a system-on-chip

Interfacce HW/SW

Concetti di base:

Piattaforme per il codesign

Collezioni di strumenti HW e SW per lo sviluppo e il collaudo in codesign

le schede di sviluppo di FPGA sono gli strumenti hardware di base a tal fine

sono accompagnate da sofisticati sistemi software per il codesign ad alto livello e per la cosimulazione

per esempio, la scheda di sviluppo Altera DE1-SoC (v. immagine), che monta un chip con FPGA Cyclone V, ha nello stesso chip un processore ARM Cortex-A9, può includere due processori softcore NIOS II sulla FPGA ed è supportata dal software Quartus Prime Lite, liberamente disponibile

Scheda di sviluppo Altera DE1-SoC con FPGA Cyclone V

Scheda di sviluppo Altera DE1-SoC con FPGA Cyclone V
fonte: Altera University Program

Piattaforme di sviluppo open-hardware includono: Parallella, Arduino, Cosino ...

Cosimulazione di sistemi HW/SW

La cosimulazione può anche essere condotta su piattaforma software, senza impiego di FPGA

una tale piattaforma tipicamente consta di:

la cosimulazione al livello dei cicli di clock mette i progettisti in grado di stimare le prestazioni di soluzioni di codesign ben prima della loro realizzazione effettiva

Panoramica della piattaforma GEZEL

Una collezione di pacchetti Debian per l'installazione su Ubuntu (aggiornati a ogni nuova LTS)

Schaumont, Fig. A.1 - Overview of the GEZEL tools

Schaumont, Fig. A.1 - Overview of the GEZEL tools

Testi di riferimento

Testi di riferimento

P.R. Schaumont: A Practical Introduction to Hardware/Software Codesign
2nd Edition, Springer (2012)

P. Wilson Design Recipes for FPGAs: Using Verilog and VHDL
2nd Edition. Newnes, Elsevier (2015)

Testi per approfondimenti

Libri di testo

P. Marwedel: Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems
2nd Edition. Springer (2011)

F. Vahid & T. Givargis: Embedded System Design: A Unified Hardware/Software Introduction
Wiley (2002)

C. Brandolese, W. Fornaciari: Sistemi embedded: sviluppo hardware e software per sistemi dedicati
Pearson, Milano (2007)

E.A. Lee & S.A. Seshia: Introduction to Embedded Systems - A Cyber-Physical Systems Approach
2nd Edition, Version 2.0 (2015)

F. Vahid, T. Givargis & B. Miller: Programming Embedded Systems: An Introduction to Time-Oriented Programming
Version 4.0. Uniworld (2012)

M. Wolf: Computers as components: Principles of embedded computing system design
3rd Edition, Morgan Kaufmann (2012)

D. Ibrahim PIC Microcontroller Projects in C
2nd Edition. Newnes, Elsevier (2014)

Siti web d'interesse

Corsi di codesign

Hardware/Software Codesign, Patrick Schaumont, VirginiaTech
www.faculty.ece.vt.edu/schaum/teaching/4530

Hardware/Software Codesign with FPGAs, Jim Plusquellic, U. of New Mexico
ece-research.unm.edu/jimp/codesign

Cyber-physical system fundamentals, P. Marwedel, TU Dortmund
ls12-www.cs.tu-dortmund.de/daes/en/lehre/courses/sommersemester-2015/ss15-cyber-physical-system-fundamentals/slides-cpsf-ss-2015.html

Introduction to Embedded Systems, Edward A. Lee and Sanjit A. Seshia, U. of Berkeley
chess.eecs.berkeley.edu/eecs149

Free online course on Embedded Systems, EE Herald, Bangalore
eeherald.com/section/design-guide/esmod.html

Piattaforme e strumenti per il codesign

GEZEL: rijndael.ece.vt.edu/gezel2/

Altera (University Program): www.altera.com/support/training/university/overview.html

Xilinx: www.xilinx.com

CUDA: developer.nvidia.com/cuda-zone

Parallella: www.parallella.org

Arduino: www.arduino.cc

Cosino: www.cosino.io