Introduzione al Flusso di Progetto di Circuiti e Sistemi ... · Introduzione al Flusso di Progetto...

Post on 15-Feb-2019

223 views 0 download

Transcript of Introduzione al Flusso di Progetto di Circuiti e Sistemi ... · Introduzione al Flusso di Progetto...

3/7/01 Cristina Silvano - Università degli Studi di Milano 1

Introduzione al Flusso di Progetto di Circuiti e Sistemi Digitali

Cristina Silvano

Università degli Studi di MilanoDipartimento di Scienze dell’InformazioneVia Comelico 39/41, I-20135 Milano (Italy)

Tel.: +39-2-5835-6306 e-mail: silvano@elet.polimi.it

3/7/01 Cristina Silvano - Università degli Studi di Milano 2

Sommario

• Introduzione

• Evoluzione tecnologica

• Flusso di progetto

• Livelli di astrazione

• Linguaggi HDL (Hardware Description Language)

3/7/01 Cristina Silvano - Università degli Studi di Milano 3

Introduzione

• La tecnologia microelettronica, basata sull’utilizzo dei semiconduttori, ha subito un’enorme evoluzione negli ultimi decenni.

• I circuiti VLSI (Very Large Scale Integration) realizzati con tecnologia CMOS (Complementary Metal Oxide Semiconductor) costituiscono la tecnologia strategica per lo sviluppo dei sistemi digitali.

• Il continuo incremento del livello di integrazione dei dispositivi microelettronici ha permesso la realizzazione di sistemi di complessità crescente.

• Principali settori di mercato:• Sistemi di elaborazione

• Telecomunicazioni

• Elettronica di consumo

• Automotive

• Automazione

3/7/01 Cristina Silvano - Università degli Studi di Milano 4

Microfotografia di un dispositivo VLSI

3/7/01 Cristina Silvano - Università degli Studi di Milano 5

Esigenze del mercato microelettronico

• Utilizzare le più avanzate tecnologie sub-micrometriche per mantenere elevate prestazioni.

• Ridurre costi di progetto e di fabbricazione per mantenersi competitivi sul mercato.

• Accorciare i tempi di progetto per rispettare il time-to-market del prodotto.

3/7/01 Cristina Silvano - Università degli Studi di Milano 6

Introduzione (cont.)

• L’elevato livello di integrazione implica:• Aumento delle prestazioni

• Riduzione dei costi

• Aumento dell’affidabilità

• Analisi valida nell’ipotesi che i volumi di vendita del circuito siano abbastanza elevati da recuperare i costi di progetto e di fabbricazione.Esempio: microprocessori general-purpose.

• Alcune applicazioni richiedono circuiti integrati dedicati o ASIC (Application Specific Integrated Circuit) non prodotti in alti volumi poiché specializzati a compiere un limitato insieme di operazioni.

• Altre applicazioni richiedono circuiti integrati programmabili o FPGA (Field Programmable Gate Array) personalizzabili on-site dopo la produzione del dispositivo.

3/7/01 Cristina Silvano - Università degli Studi di Milano 7

Esempi di circuiti microelettronici

• Processori general-purpose caratterizzati da:• Volumi di vendita elevati

• Prestazioni elevate

• ⇒ Progettazione FULL-CUSTOM

• Circuiti ASIC caratterizzati da:• Volumi di vendita medi

• Diversi livelli di prestazioni

• Adatti ad applicazioni dedicate

• ⇒ Progettazione SEMI-CUSTOM

3/7/01 Cristina Silvano - Università degli Studi di Milano 8

Tempi di sviluppo

• La rapida evoluzione tecnologica del mercato microelettronico rende un circuito rapidamente obsoleto.

• Riduzione del time-to-market di un circuito o sistema digitale ⇒ Riduzione dei tempi di sviluppo.

• Aumento del livello di qualità e affidabilità richiesto al prodotto.

3/7/01 Cristina Silvano - Università degli Studi di Milano 9

Principali requisiti del mercato

• Livello di integrazione

• Complessità progettuale

• Prestazioni

• Dissipazione di potenza

• Affidabilità

• Time-to-market

• Costi

• Volumi di produzione

• ⇒ Importanza strategica delle metodologie e dei tool CAD (Computer Aided Design) o EDA (Electronic Design Automation) per raggiungere gli obiettivi di progetto nel rispetto dei tempi di sviluppo.

3/7/01 Cristina Silvano - Università degli Studi di Milano 10

Principali trend dell’industria microelettronica

• Miglioramenti tecnologici• Riduzioni dell’area di silicio

• Maggiori prestazioni

• Maggior numero di transistor su un singolo chip

• Maggiore livello di integrazione• Maggiore complessità dei sistemi

• Riduzione dei costi

• Maggiore affidabilità

3/7/01 Cristina Silvano - Università degli Studi di Milano 11

Livelli di astrazione

Definiscono i livelli di dettaglio della descrizione

• Livello Sistema

• Livello Comportamentale o Behavioral

• Livello Architetturale o RT (Register Transfer)

• Livello Logico

• Livello Circuitale o Transistor

• Livello Geometrico o Layout

3/7/01 Cristina Silvano - Università degli Studi di Milano 12

Livello Sistema

• Esempio: Sistema di elaborazione composto da processore, memoria e dispositivi di ingresso/uscita.

Processor

Computer

Control

Datapath

Memory Devices

Input

Output

3/7/01 Cristina Silvano - Università degli Studi di Milano 13

Livello Comportamentale o Behavioral

,QJUHVVL 8VFLWD

6(/ $ % =

� � � �

� � � �

� � � �

� � � �

• Rappresentazione algoritmica della funzionalità di un modulo o componente del sistema.

• Esempio: Selettore o multiplexer

-- modello comportamentale --begin

if (SEL='0') thenZ <= A;

elseZ <= B;

end if;end;

3/7/01 Cristina Silvano - Università degli Studi di Milano 14

Livello Architetturale o RT (Register Transfer)

• Rappresentazione a livello di trasferimento tra registri.

D

Q

CLK

D

Q

CLK

3/7/01 Cristina Silvano - Università degli Studi di Milano 15

Livello Logico• Rappresentazione a livello di componenti (ad esempio porte logiche

elementari e registri) e loro interconnessione.

• Esempio: A

BD

Q

CLK

C

• Esempio: Simbolo di un componente inserito in un contesto gerarchico.

3/7/01 Cristina Silvano - Università degli Studi di Milano 16

Livello Logico

• Esempio: Schema logico complesso

3/7/01 Cristina Silvano - Università degli Studi di Milano 17

bit bit

word

Livello Circuitale o Transistor

• Rappresentazione a livello di transistor e loro interconnessioni

• Esempio: cella di memoria SRAM (Static Random Access Memory).

3/7/01 Cristina Silvano - Università degli Studi di Milano 18

Livello Layout

• Rappresentazione delle geometrie delle maschere tecnologiche relative a transistor, condensatori, resistenze e alle loro interconnessioni.

3/7/01 Cristina Silvano - Università degli Studi di Milano 19

Livello Layout

3/7/01 Cristina Silvano - Università degli Studi di Milano 20

Livello Layout

3/7/01 Cristina Silvano - Università degli Studi di Milano 21

Esempio di diverse descrizioni di una porta logica NAND

Vdd

A

B

Out

OutA

B

A B Out

0 0 10 1 11 0 11 1 0

3/7/01 Cristina Silvano - Università degli Studi di Milano 22

Fasi di sviluppo di un circuito VLSI

• Progettazione:• Modellizzazione

• Sintesi e ottimizzazione

• Validazione

• Fabbricazione:• Fabbricazione delle maschere

• Fabbricazione dei wafer

• Testing

• Packaging• Slicing del wafer

• Packaging

3/7/01 Cristina Silvano - Università degli Studi di Milano 23

Progettazione

• Modellizzazione:• Hardware Description Language (HDL)

• Diagramma di Flusso

• Schematico o Schema Logico

• Grafo di Transizione degli Stati o State Transition Graph (STG)

• Sintesi e ottimizzazione:• Raffinamento del modello

• Validazione• Verifica di correttezza e completezza del modello originale.

• Verifica della consistenza dei modelli sviluppati durante le successive fasi di progetto.

3/7/01 Cristina Silvano - Università degli Studi di Milano 24

Criteri di ottimizzazione dei circuiti VLSI

• Prestazioni• Ciclo di clock

• Ritardo o Latenza

• Throughput (per applicazioni pipeline)

• Area

• Consumo di potenza

• Testabilità

• Affidabilità

3/7/01 Cristina Silvano - Università degli Studi di Milano 25

Criteri di ottimizzazione dei circuiti VLSI

• Molto spesso occorre raggiungere un’ottimizzazione congiunta secondo diversi criteri:

• Minimizzare l’area sotto vincoli di ritardo

• Minimizzare il ritardo sotto vincoli di area

• Minimizzare il ritardo sotto vincoli di consumo di potenza

3/7/01 Cristina Silvano - Università degli Studi di Milano 26

Metodologia di progetto top-down

• La progettazione di un sistema complesso può essere realizzata adottando una metodologia di progetto top-down.

• La metodologia top-down viene realizzata attraverso un metodo di progetto incrementale.

• Un flusso di operazioni viene ripetutamente applicato ad un progetto fino a raggiungere il più basso livello di astrazione

Modello meno Dettagliato

Modello piu’Dettagliato

Raffinamento del Modello

3/7/01 Cristina Silvano - Università degli Studi di Milano 27

Metodologia di progetto top-down

• La metodologia di progetto top-down può essere applicata come un ciclo di fasi di simulazione e sintesi a partire da una descrizione comportamentale del sistema.

• Validazione della correttezza e completezza del modello iniziale ad alto livello.

• Una volta simulata per verificarne la correttezza, questa descrizione subisce un processo di raffinamento del modello durante il qualesono aggiunti maggiori dettagli .

• Validazione delle consistenza dei modelli sviluppati durante le successive fasi di progetto.

3/7/01 Cristina Silvano - Università degli Studi di Milano 28

Flusso di Progetto di un circuito VLSI

SimulazioneModello Comp.

Modello RT

Sintesi Comp.

Simulazione Stimoli

Sintesi Logica

Requisiti di Progetto

Modello Logico Simulazione

SpecificaFunzionale

3/7/01 Cristina Silvano - Università degli Studi di Milano 29

Flusso di Progetto di un circuito VLSI (cont.)

SimulazioneModello Circ.

Modello Fisicoo Layout

Sintesi Fisica

Simulazione Stimoli

ASIC o FPGA

SintesiCircuitale

3/7/01 Cristina Silvano - Università degli Studi di Milano 30

Vantaggi della progettazione ad alto livello

• Possibilità di gestire progetti più complessi.

• Riduzione dei tempi di progettazione.

• Riduzione degli errori (correttezza per costruzione).

• Possibilità di analisi trade-off costi/prestazioni.

• Ampliamento del numero di utenti alla progettazione.

• Possibilità di documentare il processo.

3/7/01 Cristina Silvano - Università degli Studi di Milano 31

Linguaggi per creare modelli di progetti HW

• Hardware Description Languages (HDLs)• Verilog

• VHDL: VHSIC Hardware Description Language

- VHSIC (Very High Speed Integrated Circuit)

3/7/01 Cristina Silvano - Università degli Studi di Milano 32

VHDL

• Nato negli anni ‘80 come progetto del U.S. Department of Defense.

• Version 7.2: prima versione pubblica del linguaggio disponibile nel 1985.

• IEEE Std 1076-1987: primo standard completo del linguaggio.

• IEEE Std 1076-1993: versione aggiornata del linguaggio rilasciata nel 1994.

• IEEE Std 1164: definisce un package standard per il tipo di dato MVL9 (Multi Valued Logic, 9 valori).

3/7/01 Cristina Silvano - Università degli Studi di Milano 33

Il processo di modellizzazione in VHDL

• Lo sviluppo di un modello VHDL a partire dalla specifica concettualeavviene attraverso un processo di raffinamento basato sulla ripetizione delle fasi di compilazione, analisi e simulazione.

Compilazione

Simulazione

AnalisiAnalisi

• La specifica concettuale consiste in una descrizione:• dell’INTERFACCIA del componente;

• della FUNZIONALITA’ del componente.

3/7/01 Cristina Silvano - Università degli Studi di Milano 34

Struttura di un modello VHDL

INTERFACCIA

Design Entity

Entity Declaration

Architecture Body

FUNZIONALITA’

3/7/01 Cristina Silvano - Università degli Studi di Milano 35

Design Entity

• L’unità di base di un modello VHDL consiste nella Design Entity, che può rappresentare un intero sistema, una PCB (Printed CircuitBoard), un circuito integrato oppure una porta logica elementare.

• La Entity Declaration definisce l’interfaccia del modello.

• L’Architecture Body definisce la funzionalità del modello.

• All’interno di un modello VHDL, ad una stessa Entity Declarationpossono corrispondere diverse Architecture Body.

• Un modello VHDL può essere creato a diversi livelli di astrazione (behavioral, dataflow, structural) secondo un processo di raffinamento del modello iniziale.

3/7/01 Cristina Silvano - Università degli Studi di Milano 36

Modello VHDL

• DESCRIZIONE COMPORTAMENTALE o BEHAVIORAL supporta descrizioni algoritmiche;

• DESCRIZIONE FLUSSO DATI o DATAFLOW supporta descrizioni a livello di trasferimento del flusso dati tra registri.

• DESCRIZIONE STRUTTURALE o STRUCTURAL supporta descrizioni di strutture composte dall’interconnessione di componenti di livello gerarchico inferiore.

• DESCRIZIONE MISTA

3/7/01 Cristina Silvano - Università degli Studi di Milano 37

Struttura di un modello VHDL

• Ad una singola interfaccia di un modello VHDL possono corrispondere diverse Architecture Body ciascuna descritta ad un diverso livello di astrazione (comportamentale, dataflow, strutturale o mista)

• Ogni diversa architettura rappresenta una diversa realizzazione della stessa funzionalità del modello per mettere in luce un diverso aspetto progettuale cioè fornisce una diversa implementazione di una stessa funzionalità.

3/7/01 Cristina Silvano - Università degli Studi di Milano 38

Struttura di un modello VHDL

Design Entity

Entity Declaration

Arch. A Arch. B

3/7/01 Cristina Silvano - Università degli Studi di Milano 39

Concetti base del VHDL

• Supporta descrizione della funzionalità del modello a diversi livelli di astrazione.

• Concorrenza: le strutture hardware sono intrinsecamente concorrenti e composte dall’interconnessione di componenti elementari.

• Il concetto di concorrenza supportato sia dai modelli strutturali sia dal concetto di processi multipli concorrenti tra loro.

• Supporta istruzioni sequenziali all’interno di un processo.

• Gerarchia: data la complessità progettuale occorre organizzare il progetto su diversi livelli gerarchici, che possono essere descritti a diversi livelli di astrazione.

• Temporizzazioni: necessità di modellizzare l’andamento temporale dei segnali attraverso la descrizione di forme d’onda.