elettronica generale, fondamenti di elettronica...
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;