Upload
dinhanh
View
224
Download
0
Embed Size (px)
Citation preview
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: [email protected]
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.