Elettronica per l'informatica 22/05/2007 Lezione E1 - CP 2007 1 1 Elettronica per l’informatica Memorie 2 Contenuto dell’unità E Memorie RAM ROM, EPROM, EEPROM, Flash Dispositivi logici programmabili struttura e funzioni flusso di progetto 3 Indice della lezione E1 Memorie RAM ROM, EPROM, EEPROM, Flash 4 Memorie RAM RAM = Random Access Memory Cioè una memoria che permette l’accesso in lettura e scrittura a tutte le proprie celle, con tempi di accesso identici Le informazioni sono memorizzate in Word che sono tipicamente lunghe multipli di 8 bit 5 Operazioni di Lettura/Scrittura Una operazione di scrittura (Write) consiste in: 1. Invio dell’indirizzo binario della parola desiderata alle linee di Address della memoria → Bus Indirizzi 2. Invio dei dati binari che devono essere immagazzinati nella memoria alle linee di ingresso dati → Bus Dati 3. Attivazione dell’ingresso di Write Una operazione di lettura (Read) consiste in: 1. Invio dell’indirizzo binario della parola desiderata alle linee di Address della memoria 2. Attivazione dell’ingresso di Read 6 Segnali di Controllo Le memorie sono organizzate in Banchi Sulla circuiteria della memoria è contenuta anche la sezione di controllo della memoria che solitamente sono I segnali Read/Write Chip Select
22
Embed
Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 1
1
Elettronica per l’informatica
Memorie
2
Contenuto dell’unità E
MemorieRAM
ROM, EPROM, EEPROM, Flash
Dispositivi logici programmabilistruttura e funzioni
flusso di progetto
3
Indice della lezione E1
Memorie
RAM
ROM, EPROM, EEPROM, Flash
4
Memorie RAM
RAM = Random Access MemoryCioè una memoria che permette l’accesso in lettura e scrittura a tutte le proprie celle, con tempi di accesso identici
Le informazioni sono memorizzate in Word chesono tipicamente lunghe multipli di 8 bit
5
Operazioni di Lettura/Scrittura
Una operazione di scrittura (Write) consiste in:
1. Invio dell’indirizzo binario della parola desiderata alle linee di Address della memoria → Bus Indirizzi
2. Invio dei dati binari che devono essereimmagazzinati nella memoria alle linee di ingressodati → Bus Dati
3. Attivazione dell’ingresso di Write
Una operazione di lettura (Read) consiste in:
1. Invio dell’indirizzo binario della parola desiderata alle linee di Address della memoria
2. Attivazione dell’ingresso di Read
6
Segnali di Controllo
Le memorie sono organizzate in Banchi
Sulla circuiteria della memoria è contenuta anchela sezione di controllo della memoria chesolitamente sono I segnali
Read/Write
Chip Select
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 2
7
Temporizzazione
Tempo di accesso: è relativo ad unaoperazione di lettura ed è il più grandeintervallo di tempo che intercorre tral’applicazione degli indirizzi ed il trasferimentodel dato sul Bus Dati
Tempo di scrittura: è relativo ad unaoperazione di scrittura ed è il tempo necessario, dopo l’applicazione degli indirizzi, per la memorizzazione del dato nella memoria
8
Cicli per operazione in memoria
CPU a 50MHz ⇔ 20 ns
Memoria con Tempo Accesso 65 ns e Tempo Scrittura 75 ns
Numero di colpi di Clock per una operazione di memoria
475,320
}75,65max{},max{ ==
=
ns
nsns
t
tt
Clock
scritturaaccesso
9
Diagramma di Temporizzazione
Tempo di Scrittura
Tempo di Accesso
10
Tipi di RAM
Le memorie RAM possono essere:1. Statiche (SRAM). Sono composte da Latch interni
che memorizzano le informazioni binarie e cherimangono valide per tutto il tempo in cui la memoria è alimentata
2. Dinamiche (DRAM). Immagazzinanol’informazione attraverso delle cariche in un condensatore� Il condensatore tende a scaricarsi ⇒ REFRESH !!� Consumo ridotto di potenza� Maggior capacità� Sono più lente delle SRAM
• Sono entrambe dette memorie volatili, in quantoperdono l’informazione se non alimentate, al contrariodelle memorie non volatili (vedremo le ROM)
11
Cella SRAM
12
Bit Slice di una RAM
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 3
13
Chip di RAM a 16 Word x 1 bit
14
Coincident Selection
15
Cella DRAM
16
Diagramma a blocchi DRAM
17
Bit Slice di DRAM
18
Timing DRAM
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 4
19
Tecniche di Refresh per DRAM
Refresh del solo segnale RASInviato indirizzo di riga ed attivazione con RAS. Indirizziforniti da DRAM Controller
Refresh con CAS e successivo RASAttivato prima CAS e mantenuto basso. Diversi cicli di refresh si fanno agendo sulle righe col RAS. Gli indirizzidi riga arrivano da un contatore di refresh
Refresh NascostoEseguito ad ogni accesso alla colonna. Come nel casoprecedente il CAS è mantenuto attivo mentre si fannovariare RAS ed indirizzo di riga
20
Banco Memoria RAM
21
SDRAM
Synchronous DRAM, o SDRAM,sono le memorie oggi più comuni per PCI chip di memoria sono organizzati in moduli connessi alla CPU attraversoun Bus a 64 bit (8 Byte)Le velocità sono indicate in MHz: le memorie PC66, PC100 e PC133 lavorano a 66MHz, 100MHz e 133MHz rispettivamenteIl bandwidth di memoria si puòcalcolare moltiplicando il numero di trasferimenti al secondo per la dimensione di ogni trasferimento
Le PC100 possono trasferire fino a 800MB al secondo (100MHz x 8 bytes/ciclo).Le PC133 trasferiscono oltre 1 GB al secondo (from amazon.com)
22
DDR-RAM
Un nuovo tipo di memorie sono le Double Data Rate, o DDR-RAM.Sono simili alle SDRAM, eccetto che i dati sonotrasferiti su entrambi I fronti di clock. Per bus a 100-133MHz, la velocità apparente della memoria puòessere di 200-266MHz.Sono denominate, con un pò di confusione, PC1600 e PC2100 RAM, perchè
200MHz x 8 bytes/cycle = 1600MB/s266MHz x 8 bytes/cycle = 2100MB/s.
Le DDR-RAM hanno consumo inferiore in quantorispetto alle SDRAM utilizzano una alimentazione di 2.5V invece di 3.3V. Sono quindi ottimali per Notebook e dispositivi portatili
23
RDRAM
Le RDRAM hanno un Data Bus di solo 16 bit
Lavorano però a 400MHz, ed I dati possono essere trasferiti suentrambi i fronti
Lavorano quindi fino ad un massimo transfer rate di 1.6GB al secondo
Si possono implementare due canali di memoria, raggiungendoquindi i 3.2GB/s di bandwidth.
(from amazon.com) 24
Indice della lezione E1
Memorie
RAM
ROM, EPROM, EEPROM, Flash
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 5
25
Memorie ROM
Le memorie ROM (Read Only Memory) sonodispositivi che memorizzano il dato in modopermanente, anche nel caso venga toltal’alimentazione
Sono quindimemorienon volatili
26
Tipologie di ROM
ROM: Read Only Memory
PROM: Programmable Read Only Memory
EPROM: Erasable Programmable Read Only Memory
EEPROM/E2PROM: Electrically Erasable Programmable ROM
27
ROM: “Read-Only” Memory
Memoria non volatile
Può essere letta, ma non può esserescritta, da un processore in un sistemaembedded
Tradizionalmente viene scritta, cioè“programmata”, prima di essere inseritanel sistema embedded
Usi:
Contenere il programma software per un processore general-purpose
Memorizzare dati costanti per l’applicazione
Implementare circuiti combinatori
2k × n ROM
…
Q0Qn-1
A0
…
enable
Ak-1
External view
28
Esempio: 8 x 4 ROM
Linee orizzontali = words
Linee verticali = dati
Il decoder fissa la linea dellaparola 2 a 1 se l’indirizzo di ingresso è 010
Le linee di dato Q3 and Q1
vanno a 1 perché c’è unaconnessione “programmata”con la linea della parola 2
La parola 2 non è connessacon le linee di dato Q2 and Q0
L’uscita vale 1010
8 × 4 ROM
3×8decoder
Q0Q3
A0
enable
A2
word 0
word 1
A1
Q2 Q1
programmable connection wired-OR
word line
data line
word 2
Internal view
29
Implementazione di funzioni combinatorie
Qualunque circuito combinatorio di n funzioni dellestesse k variabili può essere implementato con unaROM 2^k x n
Truth tableInputs (address) Outputsa b c y z0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 1 01 0 1 1 11 1 0 1 11 1 1 1 1
0 00 10 11 01 01 11 11 1
zy
c
enable
ab
8×2 ROM
word 0
word1
word 7
30
Mask-programmed ROM
Connessioni “programmata” in fabbrica
insieme di maschere
Minima write ability
solo una volta
Massima durata della memorizzazione
i bit non cambiano a meno di danneggiamenti
Tipicamente usata per il progetto finale di sistemicon grandi volummi
Distribuisce i costi NRE producendo un basso costounitario
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 6
31
OTP ROM: One-time programmable ROM
Connessioni “programmate” dall’utente dopo la fabbricazionel’utente fornisce un file con il contenuto desiderato della ROM
il file viene inserito nel ROM programmer
ogni connessione programmabile è un fusibile
il ROM programmer brucia i fusibili dove la connessione non èvoluta
Write ability molto bassascritta tipicamente una volta sola e richiede il ROM programmer
Durata della memorizzazione molto altai bit non cambiano a meno che la ROM non venga connessa di nuova al programmatore per bruciare ulteriori fusibili
Comunemente usata nei prodotti finalipoco costosa, difficile da modificare inavvertitamente
32.
(d)
(a)
(b) source drain
+15V
source drain
0V
(c)source drain
floating gate
5-30 min
EPROM: Erasable programmable ROM
Il componente programmabile è un transistore MOS
Il transistor ha un gate flottante (floating) circondatoda un isolante
(a) Cariche negative formano unl canale tra source e drain, memorizzando il valore logico 1
(b) Una forte tensione positiva al gate sposta le cariche negative dal canale e le intrappola nel gate flottante, memorizzando il valore logico 0
(c) (Erase) Esponendo la superficie del floating gate a raggi UV si spostano le cariche negative nel canale, scrivendo nuovamente il valore logico 1
(d) Il package di una EPROM ha una finestrella di quarzo attraverso la quale possono passare i raggi UV
Buona write ability
può essere cancellata e riprogrammatamigliaia di volte
Durata della memorizzazione ridotta
la programmazione dura circa 10 anni, ed èsoggetta alle radiazioni e al rumore elettrico
Usata tipicamente durante lo sviluppo
33
EEPROM: Electrically erasable programmable ROM
Programmata e cancellata elettronicamentetipicamente usando tensioni più alte del normale
si possono programmare e cancellare parole singole
Buona write abilitypuò essere programmata in-system con circuiti appositi cheforniscono le tensione più alte
un controller di memoria integrata è comunemente usato per nascondere i dettagli all’utente
scritture lente per cancellazione e successiva programmazioneil pin “busy” indica al processore che la EEPROM sta ancora scrivendo
può essere cancellata e riprogrammata decine di migliaia di volte
Durata della memorizzazione simile alle EPROM (circa 10 anni)
Più comoda di una EPROM, ma più costosa
34
Flash Memory
Estensione delle EEPROMStesso principio del floating gateStessa write ability e durata della memorizzazione
Cancellazione veloceGrossi blocchi di memoria sono cancellati in contemporanea, piuttosto che una parola alla voltaBlocchi tipicamente di diverse migliaia di byte (64 Kbyte)
Le scritture di una singola parola possono essere piùlente
Un blocco intero deve essere letto, la parola aggiornata, e poi l’intero blocco deve essere riscritto
Usate in sistemi embedded che momorizzano grossivolumi di dati in memorie non volatili
ad esempio: fotocamere digitali, decoder TV, telefoni cellulari
35
Sommario della lezione E1
Memorie
RAM
ROM, EPROM, EEPROM, Flash
36
Elettronica per l’informatica
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 7
37
Indice della lezione E2
Dispositivi logici programmabili
Sistemi embedded
Circuiti integrati custom
Tecnologie per dispositivi programmabili
Architetture per dispositivi programmabili
Logiche programmabili
38
Sistemi Digitali
I sistemi digitali attuali hanno complessità tale da renderne impossibile la realizzazione a partire da circuiti integrati “standard” per problemi di ingombro, consumo, velocità.
Esistono circuiti che realizzano funzioni complesse (es. Microcontrollore, Periferica), ma se la funzione richiesta non è disponibile?
Due possibilità:
Circuiti Custom: progettati per risolvere un problema specifico (ASIC);
ModemsMPEG decodersNetwork cardsNetwork switches/routersOn-board navigationPagersPhotocopiersPoint-of-sale systemsPortable video gamesPrintersSatellite phonesScannersSmart ovens/dishwashersSpeech recognizersStereo systemsTeleconferencing systemsTelevisionsTemperature controllersTheft tracking systemsTV set-top boxesVCR’s, DVD playersVideo game consolesVideo phonesWashers and dryers
41
Sistemi embedded
Caratteristiche comuni dei sistemi embedded
Basati su singole (o poche) funzioni eseguite ripetitivamente
Condizioni “stringenti”:
Bassa potenza
Basso costo
Piccole dimensioni
Elevata frequenza di clock, etc…
Funzionamento in tempo reale
Elaborazione continua senza ritardi in funzione di parametri esterni
42
Sistemi embedded
Tecnologie utilizzabili:
Processori
General purpose
Application specific
Single purpose
General purpose processor
Single purpose processor
Application specific processor
Desired functionality
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 8
43
Sistemi embedded
Tecnologie utilizzabili:
Circuiti integrati
Full custom VLSI
Semi-cutom ASIC (standard cells, gate arrays)
PLD (Programmable Logic Device)
10,000
1,000
100
10
1
0.1
0.01
0.001
Logic transistors per chip
(in millions)
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009
44
Indice della lezione E2
Dispositivi logici programmabili
Sistemi embedded
Circuiti integrati custom
Tecnologie per dispositivi programmabili
Architetture per dispositivi programmabili
Logiche programmabili
45
Circuiti integrati custom
Full-custom
Progettazione ad-hoc per una particolare applicazione
Piazzamento e dimensionamento di tutti i transistors
Piazzamento di tutte le interconnessioni
Benefici
Prestazioni ottimizzate
Piccole dimensioni, ridotto consumo di potenza
Svantaggi
Elevati costi di sviluppo
Time-to-market lungo
46
Circuiti integrati custom
Semi-custom
Progettazione utilizzando librerie di blocchi
Piazzamento di blocchi funzionali
Piazzamento delle interconnessioni tra i blocchi
Benefici
Prestazioni buone, dimensioni contenute
Costi di sviluppo ridotti rispetto al full-custom
Svantaggi
Time-to-market medio
47
Indice della lezione E2
Dispositivi logici programmabili
Sistemi embedded
Circuiti integrati custom
Tecnologie per dispositivi programmabili
Architetture per dispositivi programmabili
Logiche programmabili
48
Dispositivi programmabili
CMOSLogic
StandardLogic
ProgrammableLogic
ASIC
ASSPOther
StandardLogic
SimplePLD
FPGA CPLDGateArray
StandardCell
FullCustom
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 9
49
Le logiche programmabili sono dei circuiti che l’utente può configurare in modo che svolgano funzioni diverse.
Derivano dalle memorie, che sono l’esempio piùsemplice di logica programmabile.
Una memoria con N fili d’indirizzo e M fili di dato può essere vista come un circuito che può essere programmato per realizzare M funzioni combinatorie diverse ognuna di N ingressi.
Le memorie non sono abbastanza flessibili, per cui sono nate architetture che meglio si adattano alle esigenze del progettista hardware
Dispositivi programmabili
50
Dispositivi programmabili
Dispositivi programmabili
Il progettista può comprare il dispositivo e utilizzarlo immediatamente per “prototipare”
Le connessioni possono essere programmate
Sono disponibili architetture di diverso tipo
Benefici
Bassi costi di sviluppo
Svantaggi
Dispositivi più costosi e grandi dei chip custom
Maggior consumo di potenza, minore Fclock
51
Dispositivi programmabili
Tecnologie tipiche
EPROM
EEPROM
SRAM
Architettura di cella
Look-up table
Tecnologia SRAM
Prodotto di termini
Tecnologie EPROM e EEPROM
52
Dispositivi per programmazione: EPROM
53
Dispositivi per programmazione: AntiFuse
54
Dispositivi per programmazione: Metal-Metal AntiFuse
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 10
55
Dispositivi per programmazione: SRAM
56
Le logiche programmabili all’inizio potevano realizzare semplici funzioni combinatorie o sequenziali (PLA/PAL)
In seguito sono state realizzate architetture sempre più complesse, veloci e flessibili.
La programmazione avviene definendo il valore di bit di memoria. Tali bit sono usati per:
Controllare dei deviatori che possono stabilire:
quale tra n funzioni deve essere selezionata per una determinata cella interna del dispositivo
quali celle interconnettere tra loro
Programmare la funzione combinatoria svolta da una Look-Up Table
Dalle prime PLD ad oggi l’integrazione ha permesso di realizzare circuiti logici programmabili molto complessi. Si chiamano FIELD-PROGRAMMABLE-GATE-ARRAY (FPGA) e stanno praticamente rimpiazzando i circuiti realizzati con le famiglie logiche tradizionali.
CELLE LOGICHE PROGRAMMABILI
INTERCONNESSIONI PROGRAMMABILI
CELLE DI I/O PROGRAMMABILI
69
Logiche programmabili
AD OGGI SONO DISPONIBILI SUL MERCATO FPGA CON DIVE RSI MILIONI (!!!) DI GATE PROGRAMMABILI E CON DIVERSE CENTINAIA DI KBIT DI MEMORIA. LAVORANO A CENTINAIA DI MHz CON PIU’ DI 500 PIN DI I/O !!
1.038.336851.968804344876.0964.074.387XCV3200E
614.400655.360804344518.4002.541.952XCV2000E
221.184294.912512247186.624985.882XCV600E
75.264114.68828411963.504214.640XCV200E
DISTRIB RAM Bits
BLOCK RAM Bits
USER I/O
DIFF I/O PAIRS
LOGIC GATES
SYSTEM GATES
DEVICE
70
CPLD: Altera MAX 7000
71
XC4000 Architecture
CLB
CLB
CLB
CLB
SwitchMatrix
ProgrammableInterconnect
I/O Blocks (IOBs)
ConfigurableLogic Blocks (CLBs)
D Q
SlewRate
Control
PassivePull-Up,
Pull-Down
Delay
Vcc
OutputBuffer
InputBuffer
Q D
Pad
D QSD
RD
EC
S/RControl
D QSD
RD
EC
S/RControl
1
1
F'
G'
H'
DIN
F'
G'
H'
DIN
F'
G'
H'
H'
HFunc.Gen.
GFunc.Gen.
FFunc.Gen.
G4G3G2G1
F4F3F2F1
C4C1 C2 C3
K
Y
X
H1 DIN S/R EC
72
Configurable Logic Blocks (CLBs)
D QSD
RDEC
S/RControl
D QSD
RDEC
S/RControl
1
1
F'
G'
H'
DIN
F'
G'
H'
DIN
F'
G'
H'
H'
HFunc.Gen.
GFunc.Gen.
FFunc.Gen.
G4G3G2G1
F4F3F2F1
C4C1 C2 C3
K
Y
X
H1 DIN S/R EC
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 13
73
I/O Blocks (IOBs)
D Q
SlewRate
Control
PassivePull-Up,
Pull-Down
Delay
Vcc
OutputBuffer
InputBuffer
Q D
Pad
74
Logiche programmabili
Xilinx XC4025
75
Logiche programmabili
76
Logiche programmabili
77
Logiche programmabili
78
FPGA: stato dell’arte
Altera e Xilinx dominano il mercato, con alcuni altriprodotti quali Actel, QuickLogic, Lattice e Atmel chevengono utilizzati in applicazioni specifiche
Tecnologia dominante è la SRAM
Actel ha introdotto tecnologia su Flash, chepermette di avere velocità, dimensioni ridotte e non volatilità, caratteristiche dell’AntiFuse, però con unatecnologia più semplice e standard
Introdotti Core già progettati per blocchi quali
interfacce di I/O (ad es. PCI)
Interfacce di rete
Semplici processori RISC
DSP
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 14
79
FPGA: nuove architetture
Il Routing è il problema maggiore:
Livelli multipli di metal
Nuovi metodi per i Cross Points e le interconnessioni punto-punto
CLB rimangono simili, con l’aggiunta, alle LUT ed ai Mux, di blocchi quali Sommatori e Sottrattori per realizzare architetture DSP
80
Sommario della lezione E2
Dispositivi logici programmabili
Sistemi embedded
Circuiti integrati custom
Tecnologie per dispositivi programmabili
Architetture per dispositivi programmabili
Logiche programmabili
81
Elettronica per l’informatica
82
Indice della lezione E3
Flusso di progetto
Stili di progettazione con dispositivi logici programmabili
Flusso di progetto
Linguaggi di descrizione dell’hardware
Esempio di design-entry, compilazione, simulazione e download
83
Stili di progettazione
Utilizzo di tool di progettazione
Dall’idea al download su logica
Stili di progettazione comune
Gruppo di lavoro
Ottimizzazione
Portabilità su diverse tecnologie
Migrazione e/o ingegnerizzazione
Prestazioni dettate dalla tecnologia e non dal progetto
Regole base per un buon progetto
84
Stili di progettazione comune
Metodi utilizzati a livello di design-entry
Grafico
Utilizzo di simboli “classici”
Librerie di componenti parametrizzati (LPM)
Migrazione da altre tecnologie
Testuale
Linguaggi di descrizione dell’hardware
Equation
Descrizione algebrica delle funzionalità
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 15
85
Portabilità
Regole di progetto portabile
Livello di descrizione
Nel caso del VHDL
Comportamentale
Strutturale
Utilizzo di librerie
Customizzate dal produttore
Ottimizzate
Dedicate però alla tecnologia e alla componentisticache si sta utilizzando nel progetto corrente (pericolo!)
86
Regole base di progetto
Regole base per un buon progetto
Clock
Unico segnale con vari ENABLE dislocati nelle diverse celle
Glitch
Eventi della durata di pochi ns
Evitare che i LATCH vengano pilotati direttamente da logica combinatoria senza rilettura
Skew
Utilizzo di linee non dedicate per la distribuzione dei segnali di clock
87
Indice della lezione E3
Flusso di progetto
Stili di progettazione con dispositivi logici programmabili
Flusso di progetto
Linguaggi di descrizione dell’hardware
Esempio di design-entry, compilazione, simulazione e download
88
Flusso di progetto
Fasi:
Design Entry (immissione dati)
Simulazione funzionale (verifica)
Sintesi (compilazione fase I)
Fitting (compilazione fase II)
Analisi statica dei ritardi (analisi prestazioni)
Simulazione timing (verifica post-compilazione)
Download (programmazione del dispositivo)
89
Flusso di progetto
DESIGN ENTRY
FUNZIONA?
SINTESI
SIMULAZIONE
PROGRAMMAZIONEFPGA
NO
SI
90
Design Entry
Dalle specifiche di progetto alla realizzazione della “rete logica”
Diverse tecnologie disponibili:
Grafico
Testuale
Equation
C = A AND B
ENTITY decoder ISPORT(num : IN INTEGER RANGE 0 TO 15;a,b,c,d,e,f,g : OUT BIT);
END decoder;
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 16
91
Simulazione
Funzionale
Generazione dei vettori di test
Verifica della corretta evoluzione del funzionamento
Non tiene conto dei ritardi (oppure ha ritardi unitari)
Timing
Utilizza gli stessi vettori della simulazione funzionale
Back-annotation
Ritardi dovuti al placement e al routing (possibilitàdi una simulazione intermedia) 92
Sintesi e fitting
Operazioni eseguite durante la compilazione(esempio di MAX+plus II di ALTERA):
Verificasintattica Ottimizzazione
Partizionamento
FusemapPlacement& routing
Estrazioneparametri
post-compilazione
Creazionebase dati
93
Analisi dei ritardi
Critical path
94
Analisi dei ritardi
Massima frequenza di funzionamento
95
Floorplanning
Ottimizzazione delle prestazioni
Customizzazione avanzata di progetto
96
Indice della lezione E3
Flusso di progetto
Stili di progettazione con dispositivi logici programmabili
Flusso di progetto
Linguaggi di descrizione dell’hardware
Esempio di design-entry, compilazione, simulazione e download
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 17
97
Linguaggi di descrizione dell’hardware
Linguaggi in grado di portare ad una simulazionee sintesi di circuiti digitali (ma non solo...)
NON SONO linguaggi di programmazione
Paralleli vs. Sequenziali
Prestazioni legate allo stile di descrizione e alle qualità dei compilatori
98
Linguaggi di descrizione dell’hardware
VERILOG HDL (1984 – Gateway Design Automation)
VHDL (1987 – US Dept. Of Defense)
ABEL (sviluppato dalla Data I/O Corporation e adesso detenuto da Lattice Semiconductor)
AHDL (linguaggio proprietario di ALTERA)
CUPL (linguaggio proprietario di Logical Devices, Inc.)
Handel C (Celoxica)
99
VHDL
Il VHDL è un linguaggio per la sintesi automaticae la simulazione di circuiti digitali
VHDL: VHSIC Hardware Description Language
VHSIC: Very High Speed Integrated Circuit
Standardizzato nel 1993 (IEEE standard 1076-1993)
100
VHDL
Simulazione
Livello comportamentale (behavioural)
Il componente viene descritto con il suo comportamento “ingresso-uscita”
Livello strutturale (RTL o gate)
Il componente viene descritto connettendo tra loro piu’ blocchi VHDL
Sintesi logica
A partire generalmente dalla descrizione RTL
101
VHDL
Vantaggi
Unico ambiente per simulazione e sintesi
Portabilità: la maggior parte dei CAD di progettazione per FPGA o ASIC accettano il VHDL in ingresso
Svantaggi
Ottimizzazione della sintesi poco controllabile
Perdita di portabilità se si utilizzano celle proprietarie
102
VHDL
Il VHDL NON E’ un linguaggio di programmazione (C, Java, Pascal, etc...)
Presenta alcune caratteristiche fondamentali:
TIMING: gestione dei tempi di propagazione dei segnali
CONCURRENCY: capacità di simulare lo svolgimento di più operazioni contemporanee (programmazione “parallela”).
Elettronica per l'informatica 22/05/2007
Lezione E1 - CP 2007 18
103
VHDL
Elementi fondamentali:
ENTITY: è l’interfaccia esterna del componente
ARCHITECTURE: è la descrizione funzionale del componente
PACKAGE: insieme di definizioni (tipi, costanti e/o operatori)
LIBRARY: insieme di componenti o package
104
VHDL
Elementi fondamentali
INPUT
OUTPUT
ARCHITECTURE maxpld OF casting ISBEGINIF (op1 > 16) THEN
result = 16ELSE
result = 0END IF;
END maxpld;
ARCHITECTURE
ENTITY
105
VHDL
ENTITY
ARCHITECTURE1
ARCHITECTURE2
ARCHITECTUREN
106
VHDL
LIBRARY IEEE;USE IEEE.std_logic_1164.all;
Inclusione di librerie
107
VHDL
LIBRARY IEEE;USE IEEE.std_logic_1164.all;
ENTITY seg ISPORT(num : IN INTEGER RANGE 0 TO 15;a,b,c,d,e,f,g : OUT BIT);
END seg;
Inclusione di librerie
Specifiche di interfaccia
108
VHDL
LIBRARY IEEE;USE IEEE.std_logic_1164.all;
ENTITY decoder ISPORT(num : IN INTEGER RANGE 0 TO 15;a,b,c,d,e,f,g : OUT BIT);
END decoder;
ARCHITECTURE pippo OF decoder ISBEGIN
WITH num SELECTa <= '0' WHEN 0 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10,