elettronica generale, fondamenti di elettronica...

15
ESAMI Esame scritto (il voto è la somma dei punteggi conseguiti nei moduli): -Fondamenti di Elettronica (FE): Domande e problemi (11 punti totale). Minimo 5 punti dei quali almeno 2 nei problemi. 10 minuti domande, 60 minuti problemi. -Sistemi di Elettronica Digitale (SED): Domande a risposta multipla (14 punti totale). Problemi (8 punti totale). Minimo 10 punti dei quali almeno 2 punti nei problemi. 15 minuti domande, 90 minuti problemi. SED può essere sostituito da un progetto d’esame (max. 3 persone) basato su almeno uno tra Arduino (possiamo dare noi Nano), Raspi (diamo noi HW), FPGA (diamo noi HW) e I/O. La votazione si basa sulla discussione e demo del progetto. E’ necessario registrarsi alla fine del corso e far avere una breve relazione (3-5 pagine) entro 3gg dalla data dell’esame e portare la documentazione di supporto (datasheet, etc. ). La data dell’esame può essere concordata. -Esame orale (facoltativo, solo se il voto all’esame scritto è maggiore di 15) NOTA: è possibile sostenere i due moduli in appelli diversi e comunque entro la sessione di Settembre 2018 (incluso preappello FE)

Upload: dangthuy

Post on 18-Feb-2019

218 views

Category:

Documents


2 download

TRANSCRIPT

ESAMI Esame scritto (il voto è la somma dei punteggi conseguiti

nei moduli):

-Fondamenti di Elettronica (FE):

Domande e problemi (11 punti totale). Minimo 5 punti dei

quali almeno 2 nei problemi. 10 minuti domande, 60 minuti

problemi.

-Sistemi di Elettronica Digitale (SED): Domande a risposta multipla (14 punti totale).

Problemi (8 punti totale). Minimo 10 punti dei quali almeno

2 punti nei problemi. 15 minuti domande, 90 minuti

problemi.

SED può essere sostituito da un progetto d’esame (max. 3

persone) basato su almeno uno tra Arduino (possiamo dare

noi Nano), Raspi (diamo noi HW), FPGA (diamo noi HW)

e I/O. La votazione si basa sulla discussione e demo del

progetto. E’ necessario registrarsi alla fine del corso e far

avere una breve relazione (3-5 pagine) entro 3gg dalla data

dell’esame e portare la documentazione di supporto

(datasheet, etc. ). La data dell’esame può essere concordata.

-Esame orale (facoltativo, solo se il voto all’esame scritto

è maggiore di 15)

NOTA: è possibile sostenere i due moduli in appelli

diversi e comunque entro la sessione di Settembre 2018

(incluso preappello FE)

ELETTRONICA GENERALE, FONDAMENTI DI ELETTRONICA

Appello d’esame del XX/X/20XX

Ogni risposta corretta alle domande a risposta multipla +1 punto, ogni risposta sbagliata -0,5 punti,

ogni risposta in bianco 0 punti. Minimo 5 punti totale, minimo 2 punti sui problemi (10 minuti

domande, 60 minuti problemi)

Cognome________________________ Nome___________________ Mat.________ Data__/__/__

1) Se si fornisce energia (temperatura, differenza di potenziale,…) al silicio intrinseco ...

( )a si generano coppie p-n di portatori detti minoritari

( )b si generano coppie p-n di portatori detti maggioritari

( )c i legami covalenti si rompono per contribuire alla formazione di legami ionici

2) In una giunzione pn la corrente …

( )a può scorrere solo da Catodo ad Anodo

( )b è un flusso di portatori n

( )c è un flusso di portatori p

3) L’equazione ID=k(VGS-Vth)VDS si riferisce al comportamento di un nMOS…..

( )a Se VGS-Vth>VDS>0 ( )b Se VGS-Vth<VDS ( )c Se VGS-Vth<0

4) Un amplificatore operazionale ha….

( )a elevata impedenza di uscita

( )b bassa impedenza d’ingresso

( )c guadagno di amplificazione >>103

5) Con Vih si intende

( )a massima tensione in ingresso quando l’ingresso è a 1

( )b minima tensione in ingresso quando l’ingresso è a 1

( )c massima tensione in uscita quando l’uscita è a 1

ELETTRONICA GENERALE, FONDAMENTI DI ELETTRONICA

Appello d’esame del XX/X/20XX

Ogni risposta corretta alle domande a risposta multipla +1 punto, ogni risposta sbagliata -0,5 punti,

ogni risposta in bianco 0 punti. Minimo 5 punti totale, minimo 2 punti sui problemi (10 minuti

domande, 60 minuti problemi)

Cognome________________________ Nome___________________ Mat.________ Data__/__/__

a) Illustrare il funzionamento del transistore BJT npn in polarizzazione diretta a emettitore comune

(2 punti)

b) Trovare il punto di lavoro in termini di IDS e VDS

con RD=2KOhm, k=200µA/V2 e Vth=1V (2 punti)

c) Dato il circuito in figura e con riferimento alla parte

tratteggiata, indicare la funzione logica e di quale famiglia

logica si tratta (1 punto) e illustrare il concetto di carico attivo

(1 punto)

ELETTRONICA GENERALE, FONDAMENTI DI ELETTRONICA

Appello d’esame del XX/X/20XX

Ogni risposta corretta alle domande a risposta multipla +1 punto, ogni risposta sbagliata -0,5 punti,

ogni risposta in bianco 0 punti. Minimo 5 punti totale, minimo 2 punti sui problemi (10 minuti

domande, 60 minuti problemi)

Soluzioni

1) Se si fornisce energia (temperatura, differenza di potenziale,…) al silicio intrinseco ...

(x)a si generano coppie p-n di portatori detti minoritari

( )b si generano coppie p-n di portatori detti maggioritari

( )c i legami covalenti si rompono per contribuire alla formazione di legami ionici

2) In una giunzione pn la corrente …

( )a può scorrere solo da Catodo ad Anodo

( )b è un flusso di portatori n

(x)c è un flusso di portatori p

3) L’equazione ID=k(VGS-Vth)VDS si riferisce al comportamento di un nMOS…..

(x)a Se VGS-Vth>VDS>0 ( )b Se VGS-Vth<VDS ( )c Se VGS-Vth<0

4) Un amplificatore operazionale ha….

( )a elevata impedenza di uscita

( )b bassa impedenza d’ingresso

(x)c guadagno di amplificazione >>103

5) Con Vih si intende

( )a massima tensione in ingresso quando l’ingresso è a 1

(x)b minima tensione in ingresso quando l’ingresso è a 1

( )c massima tensione in uscita quando l’uscita è a 1

ELETTRONICA GENERALE, FONDAMENTI DI ELETTRONICA

Appello d’esame del XX/X/20XX

Ogni risposta corretta alle domande a risposta multipla +1 punto, ogni risposta sbagliata -0,5 punti,

ogni risposta in bianco 0 punti. Minimo 5 punti totale, minimo 2 punti sui problemi (10 minuti

domande, 60 minuti problemi)

a) Illustrare il funzionamento del transistore BJT npn in polarizzazione diretta a emettitore comune

(2 punti)

Soluzione

In un transistore BJT npn in polarizzazione diretta la giunzione di

collettore JC è polarizzata inversamente, mentre la giunzione di

emettitore JE è polarizzata direttamente (si veda esempio in figura).

La densità di drogaggio è elevata nell’emettitore e modesta nel

collettore, in modo da creare una regione di carica spaziale (RCS)

maggiore nel collettore. La base è molto stretta e dominata Dalla

RCS.

L’elettrone fluisce dall’emettitore verso la base; in base diventa carica minoritaria ma grazie alla

RCS l’elettrone ha bassa probabilità di ricombinarsi e viene catturato dalla grande RCS della JC

(inversa) e raccolto nel collettore. Si ha quindi un flusso di corrente IC da C verso E grazie alla base

stretta e alle differenze di drogaggio. Poca corrente IB entra dalla base B e fluisce verso E (IE = IB +

IC ). La giunzione di emettitore agisce come quella del diodo e pertanto il transistore conduce se

VBE>0.6V. In polarizzazione diretta le correnti di base e di collettore sono regolate da una relazione

lineare IB = IC/β (20< β <500).

b) Trovare il punto di lavoro in termini di IDS e VDS

con RD=2KOhm, k=200µA/V2 e Vth=1V (2 punti)

Si pone l’ipotesi di saturazione, dove

IDS=ID= (k/2)(VGS-Vth)2

IG=0 quindi VGS = VDD = 4V

ID = 100(4V-1V)2 = 0.9 mA

VDS = VDD - RD* ID = 2.2V

Verifica ipotesi saturazione: VDS >VGS-Vth ossia 2.2>3 NO!

Ipotesi funzionamento in regione lineare ID=k(VGS-Vth)VDS

ID=k(VGS-Vth)VDS = 200µ*3*VDS e

VDS = VDD - RD* ID = 4-2k*ID

Risolvendo il sistema si trova VDS = 4/2.2 = 1.82V e ID = 1.365mA

Verifica ipotesi lineare: VGS-Vth>VDS>0 ossia 3>1.82>0 OK

c) Dato il circuito in figura e con riferimento alla parte

tratteggiata, indicare la funzione logica e di quale famiglia

logica si tratta (1 punto) e illustrare il concetto di carico attivo

(1 punto)

Soluzione

Si tratta di una porta logica NAND con ingressi ViA e ViB e uscita Vo della famiglia logica DTL

(Diode Transistor Logic), una delle prime famiglie logiche bipolari.

Il carico attivo è un insieme di resistenze e transistori in grado di realizzare un carico resistivo che

assume valori diversi a seconda dello stato logico. Il carico attivo in figura è rappresentato

dall’insieme R1-R2-T2: se in ingresso (es. ViA) si applica uno “0”, la corrente in uscita

dall’ingresso scorre in R1 e R2 in quanto T2 è spento e il valore del carico attivo è quindi R1+R2;

se in ingresso si applica un “1”, T2 è acceso e la corrente fluisce da R1 in T2 (la cui resistenza in

conduzione è molto bassa e si considera trascurabile) quindi in D1 e il valore del carico attivo

risulta praticamente uguale a R1

ELETTRONICA GENERALE, SISTEMI DI ELETTRONICA DIGITALE

Appello d’esame del XX/X/20XX

Ogni risposta corretta alle domande a risposta multipla +2 punti, ogni risposta sbagliata -1 punto,

ogni risposta in bianco 0 punti. Minimo 10 punti totale, minimo 2 punti sui problemi (15 minuti

domande, 90 minuti problemi)

Cognome________________________ Nome___________________ Mat.________ Data__/__/__

1) Se Vol,min=0V, Vol,max>Vil allora ...

( )a l’uscita a vuoto a livello 0 potrebbe non essere interpretata come 0

( )b l’uscita a pieno carico (Iol) a livello 0 potrebbe non essere interpretata come 0

( )c l’immunità al rumore a livello 0 consente un corretto interfacciamento

2) I dispositivi Schmidt Trigger…

( )a sono costituiti da due buffer in antiparallelo

( )b sono più veloci delle normali porte logiche

( )c hanno un’uscita predicibile anche con ingresso Vin in zona di incertezza (Vil<Vin<Vih)

3) Un contatore sincrono….

( )a ha il reset sincrono

( )b ha uno stadio di sincronizzazione per compensare il disallineamento delle uscite

( )c ha tutti i flip-flop con il clock collegato insieme

4) Un convertitore A/D a N bit

( )a ha un rapporto segnale rumore di circa 6N dB

( )b ha un ENOB pari a N

( )c ha un’uscita numerica variabile tra 0 e N

5) Una cella di memoria RAM statica a 1 bit è costituita da

( )a un flip-flop di tipo D e un buffer 3-state

( )b un interruttore e un condensatore

( )c un NMOS speciale con gate aggiuntivo flottante

6) Un dispositivo FPGA…

( )a implementa solo forme canoniche

( )b ha un numero massimo di macrocelle o Logic Elements limitato dal numero di pin di I/O

( )c può includere l’HW di processori e/o di convertitori A/D

7) Un microcontrollore differisce da un microprocessore perchè …

( )a integra macrocelle e SPLD

( )b integra memorie e semplici periferiche

( )c integra interfacce di comunicazione complesse (es. Ethernet, WiFi)

ELETTRONICA GENERALE, SISTEMI DI ELETTRONICA DIGITALE

Appello d’esame del XX/X/20XX

Ogni risposta corretta alle domande a risposta multipla +2 punti, ogni risposta sbagliata -1 punto, ogni risposta in bianco

0 punti. Minimo 10 punti totale, minimo 2 punti sui problemi (15 minuti domande, 90 minuti problemi)

Cognome________________________ Nome___________________ Mat.________ Data__/__/__

Problema

Dato il modello rappresentato in figura, descrivere le relazioni tra correnti e tensioni in ingresso e in

uscita a livello 1 e a livello 0. (1 punto)

Definire il FANOUT statico e il FANOUT dinamico e descrivere la capacità Cpd e quali effetti

rappresenta. (1 punto)

Problema

Si descrivano brevemente le funzionalità di latch e flip-flop, anche indicando graficamente la

risposta ai seguenti segnali e motivando se vi sono condizioni di meta stabilità (2 punti)

Input

CK/EN

Problema

1) Un display a sette segmenti è un dispositivo composto da 7 led di forma

allungata, ognuno dei quali pilotato da un opportuno segnale digitale, disposti

in modo tale da poter rappresentare determinati caratteri. Di seguito è

mostrato uno schema di un led a sette segmenti con la disposizione dei led ed

i relativi ingressi di controllo (es. D0 è connesso al segmento 0).

Si realizzi mediante linguaggio booleano per una GAL22V10 un decoder per

il display a 7 segmenti di cui sopra che permette la visualizzazione di cinque

diversi caratteri, mostrati di seguito, a seconda del valore impostato sui tre

ingressi di selezione S2, S1, S0. Si consideri un display a catodo comune

(accensione del led con il relativo ingresso a ‘1’). (1 punto)

In

Vp

I

Ip

Vi

Ii

gnd

Vo

Io

F OF(In)

Out

In

Tpd

Cin

Trise

Tfall

Rog

Vp

Gnd

F(In)In

Rop

Iol

Ioh

Rip

Rig

Iil

Iih

Funzione

logica

NOT(F)

Cin

Cpd

Cpd

In

Vp

I

Ip

Vi

Ii

gnd

Vo

Io

F OF(In)

Out

In

Tpd

Cin

Trise

Tfall

Rog

Vp

Gnd

F(In)In

Rop

Iol

Ioh

Rip

Rig

Iil

Iih

Funzione

logica

NOT(F)

Cin

Cpd

Rog

Vp

Gnd

F(In)In

Rop

Iol

Ioh

Rip

Rig

Iil

Iih

Funzione

logica

NOT(F)

Cin

Cpd

Cpd

D0

D6

D5

D4

D3

D2

D1

S2=0, S1=0, S0=0

square

S2=0, S1=0, S0=1

one

S2=0, S1=1, S0=0

underscore

S2=0, S1=1, S0=1

minus

S2=1

space

2) Si realizzi il decoder del punto precedente in linguaggio VHDL. (2 punti)

3) Si modifichi il programma del punto precedente in modo tale da rendere il decoder adatto a

funzionare anche con display ad anodo comune (accensione del led con il relativo ingresso a ‘0’),

mediante un ingresso aggiuntivo T di selezione tipologia display (T=‘0’anodo comune;

T=‘1’catodo comune) (1 punto)

ELETTRONICA GENERALE, SISTEMI DI ELETTRONICA DIGITALE

Appello d’esame del XX/X/20XX

Ogni risposta corretta alle domande a risposta multipla +2 punti, ogni risposta sbagliata -1 punto,

ogni risposta in bianco 0 punti. Minimo 10 punti totale, minimo 2 punti sui problemi (15 minuti

domande, 90 minuti problemi)

Soluzioni

1) Se Vol,min=0V, Vol,max>Vil allora ...

( )a l’uscita a vuoto a livello 0 potrebbe non essere interpretata come 0

(x)b l’uscita a pieno carico (Iol) a livello 0 potrebbe non essere interpretata come 0

( )c l’immunità al rumore a livello 0 consente un corretto interfacciamento

2) I dispositivi Schmidt Trigger…

( )a sono costituiti da due buffer in antiparallelo

( )b sono più veloci delle normali porte logiche

(x)c hanno un’uscita predicibile anche con ingresso Vin in zona di incertezza (Vil<Vin<Vih)

3) Un contatore sincrono….

( )a ha il reset sincrono

( )b ha uno stadio di sincronizzazione per compensare il disallineamento delle uscite

(x)c ha tutti i flip-flop con il clock collegato insieme

4) Un convertitore A/D a N bit

(x)a ha un rapporto segnale rumore di circa 6N dB

( )b ha un ENOB pari a N

( )c ha un’uscita numerica variabile tra 0 e N

5) Una cella di memoria RAM statica a 1 bit è costituita da

(x)a un flip-flop di tipo D e un buffer 3-state

( )b un interruttore e un condensatore

( )c un NMOS speciale con gate aggiuntivo flottante

6) Un dispositivo FPGA…

( )a implementa solo forme canoniche

( )b ha un numero massimo di macrocelle o Logic Elements limitato dal numero di pin di I/O

(x)c può includere l’HW di processori e/o di convertitori A/D

7) Un microcontrollore differisce da un microprocessore perchè …

( )a integra macrocelle e SPLD

(x)b integra memorie e semplici periferiche

( )c integra interfacce di comunicazione complesse (es. Ethernet, WiFi)

ELETTRONICA GENERALE, SISTEMI DI ELETTRONICA DIGITALE

Appello d’esame del XX/X/2017

Ogni risposta corretta alle domande a risposta multipla +2 punti, ogni risposta sbagliata -1 punto,

ogni risposta in bianco 0 punti. Minimo 10 punti totale, minimo 2 punti sui problemi (15 minuti

domande, 90 minuti problemi)

Problema

Dato il modello rappresentato in figura, descrivere le relazioni tra correnti e tensioni in ingresso e in

uscita a livello 1 e a livello 0. (1 punto)

Definire il FANOUT statico e il FANOUT dinamico e descrivere la capacità Cpd e quali effetti

rappresenta. (1 punto)

Soluzione

Iil = (Vp-Vil)/Rip Iih = Vih/Rig Ioh = (Vp-Voh)/Rop Iol = Vol/Rog

Il FANOUT statico è = min ( Ioh/Iih, Iol/Iil ) e rappresenta la capacità di pilotaggio di dispositivi

elettronici verso altri dispositivi elettronici, ossia il numero massimo di carichi. Se un dispositivo

pilota un numero di carichi superiore al FANOUT non è garantito il corretto funzionamento.

Il FANOUT dinamico è = min ( Clo/Cl ), dove Clo è la massima capacità di carico per la quale sono

garantite le prestazioni dinamiche dichiarate; rappresenta il massimo numero di carichi che è

possibile pilotare senza degrado delle prestazioni.

La capacità interna Cpd modellizza gli effetti di trasferimenti di carica e/o di capacità parassite e/o

di correnti impulsive di breve durata che si hanno durante la commutazione. Include ad esempio

l’effetto della capacità di gate degli stadi interni e la corrente che fluisce negli interruttori durante il

transitorio di apertura e/o di chiusura.

Problema

Si descrivano brevemente le funzionalità di latch e flip-flop, anche indicando graficamente la

risposta ai seguenti segnali e motivando se vi sono condizioni di meta stabilità (2 punti)

Input

CK/EN

Soluzione

Un latch è l’elemento base di memoria che, se la linea di Enable è attiva, riporta in uscita il valore

di ingresso, come un buffer; se invece la linea di Enable è inattiva, allora il dispositivo mantiene

inalterato il valore dell’uscita.

In

Vp

I

Ip

Vi

Ii

gnd

Vo

Io

F OF(In)

Out

In

Tpd

Cin

Trise

Tfall

Rog

Vp

Gnd

F(In)In

Rop

Iol

Ioh

Rip

Rig

Iil

Iih

Funzione

logica

NOT(F)

Cin

Cpd

Cpd

In

Vp

I

Ip

Vi

Ii

gnd

Vo

Io

F OF(In)

Out

In

Tpd

Cin

Trise

Tfall

Rog

Vp

Gnd

F(In)In

Rop

Iol

Ioh

Rip

Rig

Iil

Iih

Funzione

logica

NOT(F)

Cin

Cpd

Rog

Vp

Gnd

F(In)In

Rop

Iol

Ioh

Rip

Rig

Iil

Iih

Funzione

logica

NOT(F)

Cin

Cpd

Cpd

Il flip-flop è invece un latch con un segnale di Enable estremamente stretto che in pratica campiona

l’ingresso solo in corrispondenza di questa finestra molto stretta. La finestra, la cui durata è pari alla

somma tra il tempo di hold (tempo in cui il dato deve essere stabile dopo l’evento di clock) e il

tempo di set-up (tempo in cui il dato deve essere stabile prima dell’evento di clock), è normalmente

progettata per agire in corrispondenza del fronte di salita del clock. Si ha meta stabilità in caso di

mancato rispetto dei tempi di set-up di hold e se l’impulso di clock non rispetta un valore di minima

larghezza, normalmente della durata della finestra di cui sopra.

Con riferimento al grafico in figura si ha:

Input

CK/EN

Latch

Flip-flop

Problema

1) Un display a sette segmenti è un dispositivo composto da 7 led di forma

allungata, ognuno dei quali pilotato da un opportuno segnale digitale, disposti

in modo tale da poter rappresentare determinati caratteri. Di seguito è

mostrato uno schema di un led a sette segmenti con la disposizione dei led ed

i relativi ingressi di controllo (es. D0 è connesso al segmento 0).

Si realizzi mediante linguaggio booleano per una GAL22V10 un decoder per

il display a 7 segmenti di cui sopra che permette la visualizzazione di cinque

diversi caratteri, mostrati di seguito, a seconda del valore impostato sui tre

ingressi di selezione S2, S1, S0. Si consideri un display a catodo comune

(accensione del led con il relativo ingresso a ‘1’). (1 punto)

2) Si realizzi il decoder del punto precedente in linguaggio VHDL. (2 punti)

3) Si modifichi il programma del punto precedente in modo tale da rendere il decoder adatto a

funzionare anche con display ad anodo comune (accensione del led con il relativo ingresso a ‘0’),

mediante un ingresso aggiuntivo T di selezione tipologia display (T=‘0’anodo comune;

T=‘1’catodo comune) (1 punto)

D0

D6

D5

D4

D3

D2

D1

S2=0, S1=0, S0=0

square

S2=0, S1=0, S0=1

one

S2=0, S1=1, S0=0

underscore

S2=0, S1=1, S0=1

minus

S2=1

space

Soluzione

1) Solo 5 dei 7 led del display sono coinvolti nella rappresentazione dei simboli richiesti, quindi

sarà necessario ricavare le equazioni booleane solo per D1, D2, D3, D4 e D6. Gli altri ingressi

dovranno essere mantenuti al valore logico ‘0’. La tabella della verità e le equazioni booleane che

descrivono il decoder richiesto sono riportati di seguito.

S2 S1 S0 D1 D2 D3 D4 D6

0 0 0 0 1 1 1 1

0 0 1 1 1 0 0 0

0 1 0 0 0 1 0 0

0 1 1 0 0 0 0 1

1 X X 0 0 0 0 0

D0 = gnd

D1 = !S2&!S1&S0

D2 = !S2&!S1&!S0 + !S2&!S1&S0

D3 = !S2&!S1&!S0 + !S2&S1&!S0

D4 = !S2&!S1&!S0

D5 = gnd

D6 = !S2&!S1&!S0 + !S2&S1&S0

Il programma della GAL sarebbe:

nc S2 S1 S0 nc nc nc nc nc nc nc gnd

nc D0 D1 D2 D3 D4 D5 D6 nc nc nc Vdd

D0 = gnd

D1 = !S2&!S1&S0

D2 = !S2&!S1&!S0 + !S2&!S1&S0

D3 = !S2&!S1&!S0 + !S2&S1&!S0

D4 = !S2&!S1&!S0

D5 = gnd

D6 = !S2&!S1&!S0 + !S2&S1&S0

D0.oe = Vdd

D1.oe = Vdd

D2.oe = Vdd

D3.oe = Vdd

D4.oe = Vdd

D5.oe = Vdd

D6.oe = Vdd

2) In linguaggio VHDL, i vettori consentono di gestire in modo ottimale gruppi omogenei di bit,

come ad esempio la parola composta dai bit D0 – D7 in ingresso al display a sette segmenti.

Un’implementazione in VHDL del decoder in oggetto è illustrata di seguito.

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

ENTITY dec7seg IS

PORT ( S: IN std_logic_vector(2 DOWNTO 0);

D: OUT std_logic_vector(0 TO 6));

END dec7seg;

ARCHITECTURE archdec7seg OF dec7seg IS

CONSTANT square: std_logic_vector(0 TO 6):="0011101";

CONSTANT one: std_logic_vector(0 TO 6):="0110000";

CONSTANT underscore: std_logic_vector(0 TO 6):="0001000";

CONSTANT minus: std_logic_vector(0 TO 6):="0000001";

CONSTANT space: std_logic_vector(0 TO 6):="0000000";

BEGIN

PROCESS (S)

BEGIN

CASE S IS

WHEN "000" => D <= square;

WHEN "001" => D <= one;

WHEN "010" => D <= underscore;

WHEN "011" => D <= minus;

WHEN OTHERS => D <= space;

END CASE;

END PROCESS;

END archdec7seg;

3) Per passare da display a catodo comune ad anodo comune, è sufficiente negare il valore di

ciascuna uscita del decoder; sfruttando l’ingresso di selezione tipologia T, questo può essere

facilmente ottenuto in VHDL con il programma mostrato di seguito.

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

ENTITY dec7seg IS

PORT ( S: IN std_logic_vector(2 DOWNTO 0);

T: IN std_logic;

D: OUT std_logic_vector(0 TO 6));

END dec7seg;

ARCHITECTURE archdec7seg OF dec7seg IS

CONSTANT square: std_logic_vector(0 TO 6):="0011101";

CONSTANT one: std_logic_vector(0 TO 6):="0110000";

CONSTANT underscore: std_logic_vector(0 TO 6):="0001000";

CONSTANT minus: std_logic_vector(0 TO 6):="0000001";

CONSTANT space: std_logic_vector(0 TO 6):="0000000";

SIGNAL D_temp: std_logic_vector(0 TO 6);

BEGIN

PROCESS (S)

BEGIN

CASE S IS

WHEN "000" => D_temp <= square;

WHEN "001" => D_temp <= one;

WHEN "010" => D_temp <= underscore;

WHEN "011" => D_temp <= minus;

WHEN OTHERS => D_temp <= space;

END CASE;

END PROCESS;

D <= D_temp WHEN T = '1' ELSE NOT D_temp;

END archdec7seg;