Top Banner
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

Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

Jul 18, 2020

Download

Documents

dariahiddleston
Welcome message from author
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
Page 1: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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

Page 2: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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

Page 3: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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

Page 4: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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

Page 5: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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

Page 6: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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

Page 7: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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);

Logiche programmabili: circuiti generici configurabili dall’utente (FPGA).

39

Sistemi embedded

Sistemi di elaborazione embedded

Dove si trovano? Difficile da “definire”

Qualunque apparato elettro-meccanico contiene al suo interno un sistema di elaborazione embedded

Automobili, treni, aerei

Macchine fotografiche, videocamere, televisori

Elettrodomestici, elettromedicali

Etc…

Miliardi di esemplari prodotti ogni anno

Esempio: in un’auto si possono mediamente trovare 50 unità (centraline)

40

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

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

Page 8: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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

Page 9: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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

Page 10: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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

Dispositivi programmabili

57

Dispositivi programmabili

• 0.6µm - 2 level Al• 5M transistors• 15 MHz internal clock• I/O - 30Mbs

1995

Trend tecnologico

58

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

59

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

60

Indice della lezione E2

Dispositivi logici programmabili

Sistemi embedded

Circuiti integrati custom

Tecnologie per dispositivi programmabili

Architetture per dispositivi programmabili

Logiche programmabili

Page 11: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

Elettronica per l'informatica 22/05/2007

Lezione E1 - CP 2007 11

61

Architetture

FPGA permettono:

Facile verifica e risoluzione dei “bottleneck”

Progetto incrementale

Hardware/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à

62

Architetture

Piano AND

Piano OR

Input

Output

• PROM: piano OR programmabile

• PAL: piano AND programmabile

• PLA: entrambi i piani programmabili

63

PLA

Matrice di porte AND programmabiliconnesse selettivamente a porte OR

Tabella di Programmazione

CBAACBAF ++=1

BCACF +=2

64

PAL Combinatoria

Matrice di porte AND programmabili

connesse a porte OR fisse

65

PAL sequenziale

I/O

I

Clock OE

D Q

Q

66

ESERCIZIO: PLD

CHE FUNZIONI REALIZZANO LE USCITE DELLA PLA ?

I3I1 O1 O2 O3 O4

O1 = I2 I3 + I3 I4 ; O2 = I1 I4 + I1 I2 ; O3 = I1 I2 ; O4 = I2 I3 + I1 I4

I3I3I3

Page 12: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

Elettronica per l'informatica 22/05/2007

Lezione E1 - CP 2007 12

67

Indice della lezione E2

Dispositivi logici programmabili

Sistemi embedded

Circuiti integrati custom

Tecnologie per dispositivi programmabili

Architetture per dispositivi programmabili

Logiche programmabili

68

Logiche programmabili

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

Page 13: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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

Page 14: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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à

Page 15: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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;

Page 16: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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

Page 17: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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”).

Page 18: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

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,

'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

Page 19: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

Elettronica per l'informatica 22/05/2007

Lezione E1 - CP 2007 19

109

VHDL

Tipi

INTEGER, BIT, BOOLEAN

BIT_VECTOR, INTEGER RANGE a TO b

STD_LOGIC, STD_LOGIC_VECTOR

Tipi definiti dall’utente

Combinatorio e sequenziale

Assegnazione concorrente (operatore <=): valida SEMPRE (logica combinatoria)

Logica sequenziale: PROCESS

110

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 PROCESSEND max;

Logica combinatoria Logica sequenziale

111

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

112

Step di flusso

Progetto del sistema semaforico di un incrocio semplice a due vie di accesso.

113

Step di flusso

Progetto del sistema semaforico di un incrocio semplice a due vie di accesso.

Semaforo1

114

Step di flusso

Progetto del sistema semaforico di un incrocio semplice a due vie di accesso.

Semaforo1

Semaforo2

Page 20: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

Elettronica per l'informatica 22/05/2007

Lezione E1 - CP 2007 20

115

Step di flusso

Basetempi Counter Decoder

clkin

clkout

reset

Progettazione gerarchica

R1G1V1

R2G2V2

116

Step di flusso

Progettazione con differenti tecnologie

Grafico / Librerie / VHDL

Utilizzo di MAX+plus II (ALTERA)

https://www.altera.com/support/software/download/sof-download_center.html

117

Step di flusso

Schema della BASE TEMPI (divisore di frequenza)

118

Step di flusso

Collegamento tramite netname

119

Step di flusso

Collegamento tramite netname

Simbolo risultante

120

Step di flusso

Schema del decoder (in VHDL)

Page 21: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

Elettronica per l'informatica 22/05/2007

Lezione E1 - CP 2007 21

121

Step di flusso

...e suo simbolo corrispondente

122

Architettura gerarchica

123

Architettura gerarchica

ToplevelSimboli di

primo livello

PrimitiveFilesaccessori

124

Assegnazione del dispositivo target

Compilazione e simulazione

125

Compilazione del progetto

Compilazione e simulazione

126

Simulazione del progetto

Compilazione e simulazione

Page 22: Elettronica per l'informatica 22/05/2007 · Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

Elettronica per l'informatica 22/05/2007

Lezione E1 - CP 2007 22

127

Report finale

Statistiche

Piedinatura

128

Fase finale

Programmazione del dispositivo

129

Sommario 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