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 2018-19

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. Letture di riferimento
  18. Letture supplementari
  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 Intel 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 Intel DE1-SoC con FPGA Cyclone V

Scheda di sviluppo Intel DE1-SoC con FPGA Cyclone V
fonte: Intel® FPGA 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 (aggiornata a ogni nuova LTS fino alla 16.04, non ne è previsto ulteriore sviluppo)

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

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

Letture di riferimento

Testi di riferimento

Schaumont, Ch. 1, Sect. 1.1.4 – 1.4, 1.6

Letture supplementari

Testi per consultazione

Vahid & Givargis, Ch. 1, Sect. 1.1 – 1.4

Brandolese, Fornaciari, Cap. 1

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-2017/cyber-physical-system-fundamentals-ss-2017/slides-cpsf-ss-2017.html

Introduction to Embedded Systems, Edward A. Lee and Sanjit A. Seshia, U. of Berkeley
bcourses.berkeley.edu/courses/1454183

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/

Intel® FPGA University Program - Educational Materials: www.altera.com/support/training/university/materials.html

Xilinx University Program: www.xilinx.com/support/university.html

CUDA: developer.nvidia.com/cuda-zone

Parallella: www.parallella.org

Arduino: www.arduino.cc

Cosino: www.cosino.io