12
Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 1 1 Elettronica per telecomunicazioni 2 Contenuto dell’unità D Dispositivi logici programmabili struttura e funzioni flusso di progetto 3 Lezione D4 Dispositivi logici programmabili Sistemi embedded Circuiti integrati custom Tecnologie per dispositivi programmabili Architetture per dispositivi programmabili Logiche programmabili Analogiche 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 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) 6 Esempi di Sistemi Embedded Anti-lock brakes Auto-focus cameras Automatic teller machines Automatic toll systems Automatic transmission Avionic systems Battery chargers Camcorders Cell phones Cell-phone base stations Cordless phones Cruise control Curbside check-in systems Digital cameras Disk drives Electronic card readers Electronic instruments Electronic toys/games Factory control Fax machines Fingerprint identifiers Home security systems Life-support systems Medical testing systems Modems MPEG decoders Network cards Network switches/routers On-board navigation Pagers Photocopiers Point-of-sale systems Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems Televisions Temperature controllers Theft tracking systems TV set-top boxes VCR’s, DVD players Video game consoles Video phones Washers and dryers

Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

Embed Size (px)

Citation preview

Page 1: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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

Page 2: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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

Page 3: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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à

Page 4: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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

Page 5: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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

Page 6: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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

Page 7: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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

Page 8: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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)

Page 9: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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

Page 10: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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)

Page 11: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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

Page 12: Elettronica per l'Informatica 03/11/2005 - areeweb.polito.it · Elettronica per l'Informatica 03/11/2005 Lezione E1 - DDM-CP 2005 3 13 Dispositivi programmabili Tecnologie tipiche

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