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 2019-20

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. Letture consigliate
  17. 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

un esempio di tale piattaforma è stato il software Gezel: una collezione di pacchetti Debian per l'installazione su Ubuntu, aggiornata a ogni nuova LTS fino alla 16.04, ma non più supportata

Letture consigliate

Testi di riferimento

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

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
rijndael.ece.vt.edu/ece4530f19

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

Cyber-physical system fundamentals, J-J. Chen and A. Toma, TU Dortmund
ls12-www.cs.tu-dortmund.de/daes/en/lehre/courses/sommersemester-2019/cyber-physical-system-fundamentals-ss-2019.html

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

Codesign platforms and tools

Intel® FPGA University Program - Educational Materials:
    www.intel.com/content/www/us/en/programmable/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.it