parte seconda - Polo territoriale di Cremona

Transcript

parte seconda - Polo territoriale di Cremona
POLITECNICO DI MILANO
CENTRO PER LO SVILUPPO DEL POLO DI CREMONA
Corso di Laurea Ingegneria INFORMATICA
LABORATORIO DI FONDAMENTI DI ELETTRONICA
2° Anno --- 1° Semestre
Esercitazione n° 3 –
2ª parte
Si consideri la struttura base di un bistabile, realizzato in tecnologia CMOS, tipo Set-Reset attivo
basso realizzato in sola logica NAND, come mostrato in figura 1. Si desidera:
• verificare la tabella di verità afferente alle proprietà operative e funzionali del dispositivo
realizzato mediante l’impiego del circuito integrato CD4011 BC;
• confermare i risultati ottenuti tramite simulazione, con il software applicativo PSPICE, facendo
uso della porta fondamentale 7400 in tecnologia TTL serie74;
Si consideri la struttura base di un bistabile, realizzato in tecnologia CMOS, tipo Set-Reset attivo
alto realizzato in sola logica NOR, come mostrato in figura 2. Si desidera:
• verificare la tabella di verità afferente alle proprietà operative e funzionali del dispositivo
realizzato mediante l’impiego del circuito integrato CD4001 BC;
• confermare i risultati ottenuti tramite simulazione, con il software applicativo PSPICE, facendo
uso della porta fondamentale 7402 in tecnologia TTL serie74;
Si consideri il bistabile, realizzato in tecnologia CMOS, tipo toggle JK-CK realizzato in sola
logica NOR, come mostrato in figura 3. Si desidera:
• verificare la tabella di verità afferente alle proprietà operative e funzionali del dispositivo in
funzionamento toggle realizzato mediante l’impiego del circuito integrato CD4027 B;
• confermare i risultati ottenuti tramite simulazione, con il software applicativo PSPICE, facendo
uso del circuito integrato 7473 in tecnologia TTL serie74;
S
S
Qn
Qn
R
Qn
Qn
R
(figura 1)
(figura 2)
PR
J
Qn
CK
Qn
K
CL
(figura 3)
BISTABILE SET-RESET
Cella fondamentale in logica NAND con ingressi attivi a livello logico basso
Consideriamo il dispositivo logico di figura 1, che soddisfa alla tabella di verità di seguito riportata
a cui resta associata la corrispondente tabella funzionale.
Tabella di verità
S
Qn
G1
Qn+1
Qn+1
G2
Qn
R
(figura – 1)
S
0
0
0
0
1
1
1
1
R
0
0
1
1
0
0
1
1
Qn Qn+1
0 N.A.
1 N.A.
0
1
1
1
0
0
1
0
0
0
1
1
Tabella Funzionale
S
0
0
1
1
R
0
1
0
1
Qn+1
N.A.
1 ∀ Qn
0 ∀ Qn
Qn
Se si trascrive la tabella di verità del dispositivo sulla mappa di Karnaugh al fine di procedere alla
sintesi sia dello stato futuro Qn+1, sia dello stato futuro complementato, in funzione dello stato degli
ingressi e dello stato presente Qn in cui si trova il dispositivo all’atto delle transizioni logiche sugli
ingressi di Set e di Reset, si ottengono le due mappe mostrate nelle figure seguenti.
SR
00
01
11 10
0
X
1
0
0
1
X
1
1
0
Qn
SR
00
01
11 10
0
X
0
1
1
1
X
0
0
1
Qn
Qn+1
Qn+1
Procedendo alla determinazione delle rispettive equazioni di stato tramite la sintesi minima degli
uni, ovvero semplificazione della forma canonica Somma di Prodotti (somma dei mintermini), si
ottengono le relazioni seguenti:
Qn +1 = S + RQn
Q n +1 = R + S Q n
L’applicazione della proprietà dell’involuzione o della doppia negazione, in forma contestuale alla
funzione operativa del teorema di De Morgan, privilegiando l’azione espressa con la negazione più
interna, consente di procedere alla scrittura dell’equazione di stato del dispositivo in funzione del
solo operatore universale NAND. Si ottengono le relazioni di seguito riportate:
Qn +1 = S + RQn = S + RQn = S ⋅ RQ n
Q n +1 = R + S Q n = R + S Q n = R ⋅ S Q n
La rappresentazione circuitale delle due relazioni sopra citate è appunto costituita dal dispositivo di
figura 1. La sintesi minima ha coinvolto raggruppamenti costituiti da sottocubi di dimensione m = 2
contenenti condizioni di indifferenza a cui si è attribuito stato logico 1 ai fini della minimizzazione.
Ciò comporta che la contemporanea presenza del livello logico 0 sugli ingressi di Set e di Reset
(condizione non ammessa) fa si che il dispositivo perda la propria funzionalità operativa specifica
(gli stati logici delle due uscite non sono più fra loro complementati) e le due uscite assumono lo
stesso stato logico, appunto lo stato logico 1.
La condizione S=R=1 definisce la configurazione di memoria ovvero di conservazione dello stato
presente.
Se si suppone che i due ingressi S ed R non possano variare contemporaneamente si deduce che si
può giungere alla configurazione di memoria solo partendo dalle situazioni S=1 ed R=0, oppure
S=0 ed R=1. In entrambe i casi si raggiunge la configurazione di memoria con variazioni da 0 a
1 su uno solo dei due ingressi.
Poiché la configurazione di memoria lascia le uscite inalterate si conclude che tutte le variazioni
d’ingresso da basso ad alto lasciano inalterate le uscite, cioè sono inattive.
Viceversa se si considera eliminata la condizione S=R=0, alle configurazioni S=0 ed R=1 oppure
S=1 ed R=0 si può giungere solo a partire dalla configurazione di memoria con una variazione da
alto a basso su un solo ingresso.
Le variazioni da alto a basso sono variazioni attive, da qui il nome di Flip-Flop con ingressi attivi
bassi, dato al dispositivo; infatti esse predispongono le uscite Qn+1 e Qn+1 agli stati logici riportati
nella tabella di verità, indipendentemente dallo stato logico da esse posseduto prima dell’arrivo
della variazione in ingresso.
Resta infine da osservare che, partendo dalla configurazione di memoria, le variazioni verso il basso
sull’ingresso di una qualunque delle due porte vengono ricordate e mantenute con uno zero logico,
riportato attraverso il collegamento di reazione, dall’uscita dell’altra porta (figura 2).
S
1
0
G1
1
1
G2
Qn
Qn+1
0 1
Qn+1 1 0
Qn
R
1
1
1
0
S
G1
Qn
1 0
Qn+1 0 1
G2
R
Qn+1
Qn
(figura – 2)
Tale memorizzazione persiste anche quando l’ingresso attivo è tornato a 1, finché non sopraggiunge
una variazione attiva sull’altro ingresso (figura 3).
1 0 1 1
1 1 1
0
S
G1
Qn
G2
R
Qn
(figura – 3)
Qn+1
0 1 1 0
Qn+1
1 0 0 1
SIMULAZIONE FUNZIONALE DEL BISTABILE “SET – RESET”
Programma MicroSim Eval 8 – PSpice
FLIP FLOP “SET – RESET”
ATTIVO SUL LIVELLO LOGICO BASSO
DEI SEGNALI DI INGRESSO DI SET E DI RESET
REALIZZAZIONE IN TECNOLOGIA TTL
CON OPERATORE LOGICO UNIVERSALE “NAND”
Ogni circuito elettronico per poter funzionare ha bisogno di essere sollecitato da opportuni ingressi
denominati stimoli. Nel simulatore ci sono stimoli che possono generare segnali digitali e stimoli
che possono dar vita a segnali analogici.
I segnali digitali, contrariamente ai segnali analogici che possono assumere tutti gli infiniti valori
compresi entro un campo di variazione continuo, sono segnali significativi soltanto su due livelli
distinti, denominati livello ALTO (high level) e livello BASSO (low level).
Pspice per generare segnali provvede con le LOGICHE LEVEL SOURCES e con gli STIMULUS
GENERATORS.
Le Logiche Level Sources applicano ad un dispositivo logico un segnale costantemente ALTO
(+5V per la logica TTL) o costantemente BASSO (0V per la logica TTL).
Gli Stimulus Generators sono divisi in quattro categorie
pilota un singolo filo (1 bit)
pilota 4 bit (nibble)
STIM1:
STIM4:
pilota 8 bit (byte)
pilota 16 bit (word)
STIM8:
STIM16:
DIGClock: Genera un segnale periodico
DIGSTIM: analogo al DIGClock in Eval 8
Consente di poter usare un filo esterno per generare un segnale periodico qualunque
FSTIM:
Gli Stimulus Generators hanno tutti un singolo pin per la connessione e si trovano nella libreria
source.slb. Una volta collocato lo “stimolo” in Schematics, cliccando due volte su di esso si ha a
disposizione una finestra, PartName: STM1, in cui è possibile definire tutti gli attributi del segnale
generato; in particolare la sintassi dell’attributo Command consente di definire il valore del segnale
in un prefissato istante di tempo. Tale sintassi è del tipo: “tempo” “valore” in cui:
Tempo indica l’istante di tempo nel quale viene definito il valore del segnale. L’indicazione del
tempo può essere espressa in secondi oppure in cicli (in tale caso la durata del ciclo viene
definita dall’attributo TIMESTEP) e può essere assoluta oppure relativa. Per specificare
un valore in cicli bisogna usare il suffisso “c”; in tutti gli altri casi l’indicazione risulterà in
secondi, e si potranno usare tutti i suffissi standard di SPICE per indicare i sottomultipli e i
multipli di una unità di misura. Il tempo inoltre può essere assoluto, come “35 ns” o “2c”, o
relativo al tempo del precedente attributo Command. Per specificare un tempo relativo il
prefisso da usare è “+”, ad esempio “+5 ms” oppure “+10 c”;
Valore indica il valore che il segnale assume nell’istante di tempo indicato.
Nella tabella seguente sono riportate le assegnazioni dell’attributo Command idonee a definire gli
stimoli per gli ingressi di Set e Reset del bistabile di cui si vuole simulare il funzionamento.
DSTM1
N° Tempo Valore N°
1
0s
1
7
2 +50us
0
8
3 +50us
1
9
4 +50us
0
10
5 +50us
1
11
6 +50us
0
Tempo Valore
+50us
1
+50us
0
+50us
1
+50us
0
+50us
1
DSMT2
N° Tempo Valore N° Tempo Valore
1
0s
1
7 +30us
1
2 +10us
0
8 +65us
0
3 +30us
1
9 +10us
1
4 +170us
0
10 10us
0
5 +30us
1
11 +10us
1
6 +70us
0
12 +15us
0
BISTABILE JK TEMPORIZZATO
Il tipo di memoria rappresentato dal flip flop SR funziona a tempo continuo. Ciò vuol dire che, in
qualunque istante di tempo, è possibile che il flip flop cambi stato in quanto è stato eseguito un set
oppure un reset. Nella realizzazione di una rete sequenziale è sovente utile, disporre di una memoria
il cui stato può variare soltanto in corrispondenza di un insieme discreto di istanti di tempo, istanti
tutti equi spaziati tra di loro che vengono scanditi da un segnale periodico detto clock.
J
S
G1
Qn
Qn+1
G2
K
Qn+1
Qn
R
(figura – 2) Flip Flop JK, a tempo continuo, con ingressi attivi alti
In tale realizzazione si riesce a costruire un bistabile che funziona a tempo discreto; questo flip flop
presenterà un certo numero di ingressi dati più l’ingresso di clock. Gli istanti di tempo discreti in
cui il bistabile può cambiare stato, mediante gli ingressi dati, saranno identificati dall’attivazione
del clock. Viceversa, quando il segnale di clock sarà inattivo, qualunque siano i valori presenti sugli
ingressi dati, il bistabile sarà in uno stato di memoria in modo che la sua uscita non potrà variare.
Attivare il clock presenta un significato diverso in funzione del tipo di tempificazione adottato. In
particolare, per i bistabili, esistono quattro tipi di tempificazione:
1. Level triggered
2. Edge triggered
3. Pulse triggered
4. Master-Slave
In genere con l’espressione “latch sincronizzato” ci si riferisce a un bistabile con ingresso di clock
level-triggered. Tale tipo di tempificazione prevede che il clock debba considerarsi attivo sui livelli
logici; in particolare sono possibili due casi:
Positive level-triggered in cui il clock è attivo, cioè consente agli ingressi di modificare lo stato del
flip flop, quando si trova a livello logico alto; viceversa è inattivo, cioè si
ha la memorizzazione dello stato presente, qualunque siano gli ingressi,
quando è a livello logico basso.
Negative level-triggered in cui il clock è attivo, cioè consente agli ingressi di modificare lo stato
del flip flop, quando si trova a livello logico basso; viceversa è inattivo,
cioè si ha la memorizzazione dello stato presente, qualunque siano gli
ingressi, quando è a livello logico alto.
J
S
G1
Qn
Qn+1
CK
Qn+1
G2
K
R
Qn
(figura – 3) Flip Flop JK CK con ingressi e clock attivi alti.
Il Flip-Flop JK di figura 2, e il corrispondente temporizzato JK CK di figura 3, nasce dall’esigenza
di eliminare lo stato improprio (condizione Non Ammessa) del flip flop SR. In particolare J e K
hanno lo stesso ruolo, rispettivamente, del Set e del Reset, con la differenza però che per J = K = 1
il flip flop si predispone per una particolare operazione detta toggle.
Tabella Operativa Funzionale
CK
0
1
1
1
1
J
X
0
0
1
1
K
X
0
1
0
1
S
0
1
1
Qn
Qn
R
1
1
Qn
1
Qn
Qn+1
Qn
Qn
0 ∀ Qn
1 ∀ Qn
Qn
S = J ⋅ Qn
R = K ⋅ Qn
Come risulta dalla tabella operativa funzionale del dispositivo in oggetto, l’operazione consiste nel
complementare lo stato logico del flip flop qualunque esso sia, ovvero lo stato futuro Qn+1 assume
lo stato logico complementato dello stato presente Qn. In pratica, se il flip flop si trova allo stato
logico 0, dopo l’operazione di toggle si porterà a stato logico 1; viceversa se il flip flop si trova allo
stato logico 1, dopo l’operazione di toggle si porterà a stato logico 0.
Gli ingressi J e K sono sempre sincronizzati dal segnale di clock. Nella figura 4 viene mostrato
un Flip Flop JK CK temporizzato sul fronte di discesa del segnale di clock (detto negative edge
triggered). La funzione toggle viene realizzata con gli ingressi J e K attivi sul livello logico alto.
Al presentarsi di ogni fronte di discesa del segnale di clock avviene la commutazione dell’uscita
del flip flop dallo stato presente Q allo stato futuro complementato.
CK
t
J
t
K
t
Qn+1
Per Spice la simulazione
DIGITALE è l’analisi del
comportamento dei vari
“dispositivi digitali” nel
“dominio del tempo”.
PSpice SIMULA questo
comportamento durante la
analisi .TRAN.
Al fine di attivare l’analisi
TRAN, in Schematics, si
può selezionare l’opzione
Setup dal menu Analysis,
indi selezionare Transient
e collocare gli opportuni
valori di Print Step, Final
Time e Step Celing nella
text box della finestra di
dialogo.
t
(figura – 4) Diagrammi temporali
Come applicazione si procede, mediante PSpice, alla simulazione del funzionamento di un bistabile
temporizzato JK Clock mediante l’integrato 7473 realizzato in logica TTL. L’integrato in oggetto
è attivo sui fronti di discesa del clock, è cioè di tipo negative edge triggered.
Dal diagramma temporale si evince che il segnale di Clear, già attivo basso dall’istante t=0, porta il
flip-flop nello stato logico Q = 0. Quando il clear si porta alto, i segnali degli ingressi JK si portano
contemporaneamente allo stato logico 1. Allorché il segnale di Clock effettua il passaggio dallo
stato logico 1 allo stato logico 0, ovvero sul fronte di discesa, il flip flop commuta nello stato logico
1. Ad ogni successiva transizione del clock, sempre relativamente al fronte di discesa, il bistabile
cambia stato, ovvero lo stato futuro Qn+1 è costituito dalla complementazione dello stato presente
Qn, effettuando così l’operazione di toggle.
Resta così verificato il funzionamento del Flip Flop JK CK attivo sul fronte di discesa del
segnale di temporizzazione clock. Il bistabile 7473, realizzato con tecnologia TTL è pertanto di tipo
“negative edge triggered”.