| Indice
Introduzione
Un nodo storico
I sistemi elettronici cambiano tecnologie e filosofia
Capitolo 1: Generalita'
Definizioni base
Vantaggi rispetto ad una soluzione tradizionale
Analisi dei costi per soluzioni concorrenti
Svantaggi rispetto ad una soluzione ASIC
Tipi di logiche
Tipologie di PLD
Tipologie di FPGA
Strutture complesse
Criteri di scelta
Flusso di progetto
L'architettura influenza il software di compilazione
Benchmark
Capitolo 2: PLD
I precursori delle PLD
Isp (In-System Programming)
Tipi di operazioni possibili
Programmazione mediante interfaccia isp
Boundary Scan
Storia dello standard 1149.1
Elementi della logica di test
Tap Controller
Tipi di istruzioni
Esecuzione del test
Una tecnologia di collaudo accessibile
Scenario isp
JAM
STAPL (Standard test and Programming Language)
Considerazioni sulla programmazione in-system
Necessita' di uno standard
Introduzione al linguaggio Jam
Jam Player
Struttura dei file Jam
Formato dei dati
Il linguaggio Jam per la programmazione embedded
Jam nell'industria
Isp Virtual Machine
IEEE Std 1532
Analisi dello Standard
Architettura dell'hardware
IEEE Std 1532 nell'industria
Simple PLD
Architettura delle PAL
GAL
Altre denominazioni delle PAL
Considerazioni architetturali
Metodologia di progettazione delle simple PLD
Analisi delle principali architetture di PLD
Architettura XC9500 (Xilinx)
Architettura CoolRunner (Philips-Xilinx)
Architettura CoolRunner-II (Xilinx)
Architettura ispLSI 1K,2K,4K, 3K, 5K, 6K (Lattice)
16. Architettura Mach (Vantis-Lattice)
17.Architettura ad interconnessione biplanare
18. La migrazione dell'architettura di PLD Altera
19.Architettura FlashLogic (Altera)
20. architettura Global Bus (Atmel)
21. Architettura Ultralogic e Flash370i (Cypress)
22. Architettura Delta39K (Cypress)
Capitolo 3: FPGA
Scenario
Metrica
FPGA non static RAM
FPGA static RAM
Architettura di un FPGA ROW-BASED
Architettura di un FPGA segmented non static RAM
Architettura di un FPGA static RAM
Architetture Fast-Track interconnect
Architetture a Routing segmentato
Fast-track e routing segmentato a confronto
Esempio Fast-Track: Apex Series
Esempio Segmented: Virtex Series
Esempio Segmented: ORCA Series
Configurazione
Sequenza di programmazione
Configurazione mediante IEEE Std 1532
Soluzioni FPGA ibride
FPGA mascherati
Modular Array ASIC
ASIC con FPGA embedded
LPLD (Laser Processed Logic Device)
LPGA (Laser Programmaning Gate Array)
Capitolo 4: Il sistema di Sviluppo
Iter di progetto
Design entry
Design verification
Design implementation
Il sistema di sviluppo di una PLD
Il sistema di sviluppo di un FPGA
Translation
Mapping
Placement
Routing
Bitmap
Algoritmi di piazzamento di nuova generazione
Algoritmi di piazzamento
Simulated Annealing
Versatile Place and Route (VPR)
Algoritmi paralleli
Strumenti di back-end: Floorplanner
RPM
Software di sviluppo integrati
Mentor
Veribest
Capitolo 5: Regole e tecniche di progetto
Definizione di progetto portabile
Regole di progetto portabile
Problemi comuni della progettazione
Scelte preliminari
Fase di Progettazione
Fase di Simulazione
Fase di Sintesi
Fase di Compilazione Tecnologica
I Vincoli
Progettare con le PLD
Progettare con gli FPGA
Library of Parameterized Modules (LPM)
Core
Selezione di un Core
Lavorare con Altera
Lavorare con Xilinx
Capitolo 6: Regole di codifica VHDL
Concetti base sulla sintesi
Inference e Instantiation di un contatore
Resource Sharing
Structure e Variabili
Segnali e variabili
If e Case
Implementazione di un latch
Evitare i gated clock
Inserimento di buffer globali
Istanziazione di un unbonded I/O
Istanziazione di una memoria
Implementazione di un mux con buffer tri-state
Implementazione di un mux con MUX FX
Progetto di macchine a stati
LFSR counter
Watchdog compatto in FPGA
Istanziazione di DLL e SelectShift
Decomposizione di un'istruzione VHDL
Considerazioni sulla sintesi di un FPGA
Tipi di sintetizzatori
Assegnamento dei vincoli fisici
Uso delle designare in Synopsys
Strategie di compilazione
Scelte di gerarchia e di partizionamento
Tipi di script
Interazione tra Sintesi e Place & Route
Phyisical Synthesis (Interference automatica)
Capitolo 7: Regole, considerazioni hardware, I/O
Analisi dei disturbi elettrici
EMI
Diafona
Ground Bounce
Regole di layout
Soluzioni embedded per ridurre il rumore
IBIS model
Analisi dell'integrita' dei segnali
Analisi di potenza
Riduzione dei consumi
Migrazione tecnologica
La metallizzazione diventa di rame
Tecnologia di packaging Flip chip
Standard di I/O
Struttura degli I/O
Standard di tipo single-ended
Standard di tipo differenziale
Terminazioni di linea integrate
DDR (Double Data Rate)
Macro di I/O per FPGA
Capitolo 8: Tecnologie costruttive
Panoramica tecnologico
Laser fuse
Antifuse
EPROM
EEPROM
Flash
Static RAM
Capitolo 9: Il ruolo degli FPGA nei sistemi riprogrammabili
Introduzione
Sistemi multimodo
Applicazioni riprogrammabili
Calcolo riconfigurabile
Sistemi misti
Sistemi di emulazione logica
Architettura dei sistemi riprogrammabili
Esempi di macchine di calcolo riconfigurabili
Esempi di sistemi di prototipazione
Capitolo 10: System on Programmable chip
Premessa
SoC vs SoPC
Microprocessori e logiche Programmabili
Micro come hard o soft macro?
Chip on Demand
Le soluzioni di mercato dei SOPC
Triscend
Sidsa
Aptix
Chameleon
Atmel
Cygnal
Cypress
QuickLogic
Lucent (Agere (Lattice))
Altera
Xilinx
Silicio riprogrammmabile in ASIC
System level Design
Spazio delle soluzioni architetturali e partizione HW/SW
Netlist o file intermedi?
Il trend
Non solo C
Soluzioni Commerciali
Capitolo 11: Dispositivi analogici riprogrammabili
Principio di funzionamento switched capacitor
Field Programmable Analog Array (FPAA)
Electrically Programmable Analog Circuit (EPAC)
MPAA Motorola- Pilkington - Anadyne- Anadigm
Totally Reconfigurable Analog Circuit (TRAC)
Funzionalita' di cella
Filtro analogico programmabile
Le soluzioni TRAC
In-system Programmable Analog Circuit (ispPAC)
Descrizione di un PAC Block
Le soluzioni PAC
Field Programmable Mixed Array (FPMA)
FIPSOC Sidsa
Analog PsoC block Cypress
Capitolo 12: Esempi e tecniche di progetto
Part number
Analisi statica dei segnali
Metastabilita'
Determinazione della dimensione di un file JAM
Interfaccia I/O per microprocessore
PLL digitale per riduzione del jitter in PLD
Sdram adapter in PLD
Esempio di script di sintesi per FPGA
FPGA Compiler II e script TCL
Serializzatore di dati letti da una memoria parallela
Concetti base del progetto incrementale in FPGA
Gestione delle macro
Codice convoluzionale con il System Level Design
Allineatore SDH
Appendice A: Note
Date storiche
Elenco dei principali componenti
Analisi delle Vendite
Appendice B: Cenni di VHDL
Generalita'
Livelli di astrazione
Strumenti di debug
Oggetti di un file VHDL
Data object
Tipi dei dati
Operatori
Architettura sintetizzabile
Generica e Generale
Pragma o commenti
Sottoprogrammi
Testbench
Appendice C: Conversione VHDL - Equazioni
Divisore per 16
Divisore per N
Divisore per N con enable
Divisore per N con enable e reset sincrono
Divisore per N con enable e load diverso da 0
Divisore per N con reset sincrono, enable e load diverso da 0
Divisore per N con reset sincrono, enable e parallel load ad M
Down counter
Up-down counter
Esempio di progetto ad equazione. Decoder HDB3
Glossario
Riferimenti bibliografici
Indice analitico |