Date post: | 16-Feb-2019 |
Category: |
Documents |
Upload: | phungthien |
View: | 220 times |
Download: | 0 times |
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 1
1
Elettronica per telecomunicazioni
2
Contenuto dell’unità D
Dispositivi logici programmabilistruttura e funzioniflusso di progetto
3
Lezione D4
Dispositivi logici programmabiliSistemi embeddedCircuiti integrati customTecnologie per dispositivi programmabiliArchitetture per dispositivi programmabiliLogiche programmabiliAnalogiche programmabili
4
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);Logiche programmabili: circuiti generici configurabili dall’utente (FPGA).
5
Sistemi embedded
Sistemi di elaborazione embeddedDove si trovano? Difficile da “definire”Qualunque apparato elettro-meccanico contiene al suo interno un sistema di elaborazione embedded
Automobili, treni, aereiMacchine fotografiche, videocamere, televisoriElettrodomestici, elettromedicaliEtc…
Miliardi di esemplari prodotti ogni anno
Esempio: in un’auto si possono mediamente trovare 50 unità (centraline)
6
Esempi di Sistemi Embedded
Anti-lock brakesAuto-focus camerasAutomatic teller machinesAutomatic toll systemsAutomatic transmissionAvionic systemsBattery chargersCamcordersCell phonesCell-phone base stationsCordless phonesCruise controlCurbside check-in systemsDigital camerasDisk drivesElectronic card readersElectronic instrumentsElectronic toys/gamesFactory controlFax machinesFingerprint identifiersHome security systemsLife-support systemsMedical testing systems
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
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 2
7
Sistemi embedded
Caratteristiche comuni dei sistemi embeddedBasati su singole (o poche) funzioni eseguite ripetitivamenteCondizioni “stringenti”:
Bassa potenzaBasso costoPiccole dimensioniElevata frequenza di clock, etc…
Funzionamento in tempo realeElaborazione continua senza ritardi in funzione di parametri esterni
8
Sistemi embedded
Tecnologie utilizzabili:Processori
General purposeApplication specificSingle purpose
General purpose processor
Single purpose processor
Application specific processor
Desired functionality
9
Sistemi embedded
Tecnologie utilizzabili:Circuiti integrati
Full custom VLSISemi-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)
198 1
198 3
198 5
198 7
198 9
199 1
199 3
199 5
199 7
199 9
200 1
200 3
200 5
200 7
200 9
10
Dispositivi programmabili
CMOSLogic
StandardLogic
ProgrammableLogic ASIC
ASSP OtherStandard
Logic
SimplePLD FPGA CPLD Gate
ArrayStandard
CellFull
Custom
11
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
12
Dispositivi programmabili
Dispositivi programmabiliIl progettista può comprare il dispositivo e utilizzarlo immediatamente per “prototipare” Le connessioni posso essere programmateSono disponibili architetture di diverso tipo
BeneficiBassi costi di sviluppo
SvantaggiDispositivi più costosi e grandi dei chip customMaggior consumo di potenza, minore Fclock
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 3
13
Dispositivi programmabili
Tecnologie tipicheEPROMEEPROMSRAM
Architettura di cellaLook-up table
Tecnologia SRAM
Prodotto di terminiTecnologie EPROM e EEPROM
14
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 dispositivoquali celle interconnettere tra loro
Programmare la funzione combinatoria svolta da una Look-Up Table
Dispositivi programmabili
15
Dispositivi programmabili
• 0.6µm - 2 level Al• 5M transistors• 15 MHz internal clock• I/O - 30Mbs
1995
Trend tecnologico
16
Dispositivi programmabili
• 0.6µm - 2 level Al• 5M transistors• 15 MHz internal clock• I/O - 30Mbs
• 0.18µm - 7 level Al• 200M transistors• 100 MHz internal clock• I/O - 622Mbs• DLL clock mgmt• 266 MHz DDR interface• 0.1% partial reconf.
1995
2000
Trend tecnologico
17
Dispositivi programmabili
• 0.6µm - 2 level Al• 5M transistors• 15 MHz internal clock• I/O - 30Mbs
• 0.18µm - 7 level Al• 200M transistors• 100 MHz internal clock• I/O - 622Mbs• DLL clock mgmt• 266 MHz DDR interface• 0.1% partial reconf.
• 70nm - 10 level Cu• 2B transistors• 750 MHz internal clock• 1.5 GHz processor• Mixed signal blocks• I/O - 10Gbs• Various clock mgmtmodules with <50psclock skew
• 750 MHz QDR interface• 35% partial reconf.
1995
2000
2005
Trend tecnologico
18
Architetture
FPGA permettono:Facile verifica e risoluzione dei “bottleneck”Progetto incrementaleHardware/software co-design Upgrade dell’hardware “sul campo”Facile riconfigurazione dell’hardware per ogni applicazione
I processori offrono flessibilià ma a “prestazioni ridotte”Gli ASIC non possono offrire questa flessibilità
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 4
19
Architetture
Piano AND
Piano OR
Input
Output
20
PLA
Matrice di porte AND programmabiliconnesse selettivamente a porte OR
Tabella di Programmazione
CBAACBAF ++=1
BCACF +=2
21
PAL Combinatoria
Matrice di porte AND programmabili
connesse a porte OR fisse
22
PAL sequenziale
I/O
I
Clock OE
D Q
Q
23
Esercizio: PLD
CHE FUNZIONI REALIZZANO LE USCITE DELLA PLA ?
I2 I3 I4I1 O1 O2 O3 O4
O1 = I2 I3 + I3 I4 ; O2 = I1 I4 + I1 I2 ; O3 = I1 I2 ; O4 = I2 I3 + I1 I4
24
CPLD: Altera MAX 7000
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 5
25
Logiche programmabili: FPGA - I
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
26
Logiche programmabili : FPGA - II
AD OGGI SONO DISPONIBILI SUL MERCATO FPGA CON DIVERSI 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
27
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
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
28
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
29
I/O Blocks (IOBs)
D Q
SlewRate
Control
PassivePull-Up,
Pull-Down
Delay
Vcc
OutputBuffer
InputBuffer
Q D
Pad
30
Logiche programmabili: FPGA - III
Xilinx XC4025
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 6
31
Logiche programmabili
32
Logiche programmabili
33
Logiche programmabili
34
Programmazione di FPGA: EPROM
35
Programmazione di FPGA: AntiFuse
36
Programmazione: Metal-Metal AntiFuse
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 7
37
Programmazione di FPGA: SRAM
38
FPGA: stato dell’arte
Altera e Xilinx dominano il mercato, con alcuni altriprodotti quali Actel, QuickLogic, Lattice e Atmel chevengono utilizzati in applicazioni specificheTecnologia dominante è la SRAMActel ha introdotto tecnologia su Flash, chepermette di avere velocità, dimensioni ridotte e non volatilità, caratteristiche dell’AntiFuse, però con unatecnologia più semplice e standardIntrodotti Core già progettati per blocchi quali
interfacce di I/O (ad es. PCI)Interfacce di reteSemplici processori RISCDSP
39
FPGA: nuove architetture
Il Routing è il problema maggiore:Livelli multipli di metalNuovi 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
40
Elettronica per telecomunicazioni
41
Indice della lezione D5
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
42
Stili di progettazione
Utilizzo di tool di progettazioneDall’idea al download su logica
Stili di progettazione comuneGruppo di lavoroOttimizzazione
Portabilità su diverse tecnologieMigrazione e/o ingegnerizzazione
Prestazioni dettate dalla tecnologia e non dal progetto
Regole base per un buon progetto
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 8
43
Stili di progettazione comune
Metodi utilizzati a livello di design-entryGrafico
Utilizzo di simboli “classici”Librerie di componenti parametrizzati (LPM)Migrazione da altre tecnologie
TestualeLinguaggi di descrizione dell’hardware
EquationDescrizione algebrica delle funzionalità
44
Portabilità
Regole di progetto portabileLivello di descrizione
Nel caso del VHDLComportamentaleStrutturale
Utilizzo di librerieCustomizzate dal produttoreOttimizzateDedicate però alla tecnologia e alla componentisticache si sta utilizzando nel progetto corrente (pericolo!)
45
Regole base di progetto
Regole base per un buon progettoClock
Unico segnale con vari ENABLE dislocati nelle diverse celle
GlitchEventi della durata di pochi nsEvitare che i LATCH vengano pilotati direttamente da logica combinatoria senza rilettura
SkewUtilizzo di linee non dedicate per la distribuzione dei segnali di clock
46
Elettronica per telecomunicazioni
47
Indice della lezione D5
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
48
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)
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 9
49
Flusso di progetto
DESIGN ENTRY
FUNZIONA?
SINTESI
SIMULAZIONE
PROGRAMMAZIONEFPGA
NO
SI
50
Design Entry
Dalle specifiche di progetto alla realizzazione della “rete logica”Diverse tecnologie disponibili:
GraficoTestualeEquation
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;
51
Simulazione
FunzionaleGenerazione dei vettori di testVerifica della corretta evoluzione del funzionamentoNon tiene conto dei ritardi (oppure ha ritardi unitari)
TimingUtilizza gli stessi vettori della simulazione funzionaleBack-annotationRitardi dovuti al placement e al routing (possibilità di una simulazione intermedia) 52
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
53
Analisi dei ritardi
Critical path
54
Analisi dei ritardi
Massima frequenza di funzionamento
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 10
55
Floorplanning
Ottimizzazione delle prestazioniCustomizzazione avanzata di progetto
56
Elettronica per telecomunicazioni
57
Indice della lezione D5
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
58
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
59
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)
60
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)
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 11
61
VHDL
SimulazioneLivello 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 logicaA partire generalmente dalla descrizione RTL
62
VHDL
VantaggiUnico ambiente per simulazione e sintesiPortabilità: la maggior parte dei CAD di progettazione per FPGA o ASIC accettano il VHDL in ingresso
SvantaggiOttimizzazione della sintesi poco controllabilePerdita di portabilità se si utilizzano celle proprietarie
63
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”).
64
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
65
VHDL
Elementi fondamentali
INPUT
OUTPUT
ARCHITECTURE maxpld OF casting ISBEGINIF (op1 > 16) THEN
result = 16ELSE
result = 0END IF;
END maxpld;
ARCHITECTURE
ENTITY
66
VHDL
ENTITY
ARCHITECTURE1
ARCHITECTURE2
ARCHITECTUREN
Elettronica per l'Informatica 03/11/2005
Lezione E1 - DDM-CP 2005 12
67
VHDL
LIBRARY IEEE;USE IEEE.std_logic_1164.all;
Inclusione di librerie
68
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
69
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,
'1' WHEN 1 | 4 | 11 | 13;WITH num SELECT
b <= '0' WHEN 0 | 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10,'1' WHEN 5 | 6 | 11 | 12 | 14 | 15;
WITH num SELECTc <= '0' WHEN 0 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10,
'1' WHEN 2 | 12 | 14 | 15;END pippo;
Inclusione di librerie
Specifiche di interfaccia
Specifiche architetturali
70
VHDL
TipiINTEGER, BIT, BOOLEANBIT_VECTOR, INTEGER RANGE a TO bSTD_LOGIC, STD_LOGIC_VECTORTipi definiti dall’utente
Combinatorio e sequenzialeAssegnazione concorrente (operatore <=): valida SEMPRE (logica combinatoria)Logica sequenziale: PROCESS
71
VHDL - ESEMPI
ENTITY comb ISPORT( a, b : IN BIT;c: OUT BIT
);END comb;ARCHITECTURE max OF comb ISBEGINc <= a AND b;END max;
ENTITY reg ISPORT( d, clk : IN BIT;
q: OUT BIT);END reg;ARCHITECTURE max OF reg ISBEGINPROCESSBEGINWAIT UNTIL clk = ‘1’;q <= d;END PROCESS
END max;
Logica combinatoria Logica sequenziale