Esercizio 1 - Computer Vision LABsmatt/DIDATTICA/Reti_Logiche_T/PDF/2_6... · si individuino le...
Transcript of Esercizio 1 - Computer Vision LABsmatt/DIDATTICA/Reti_Logiche_T/PDF/2_6... · si individuino le...
Esercizio 1
Utilizzando l’approccio visto nella realizzazione dell’adder binario interno alla ALU si esegua il procedimento
di sintesi del componente ADDER_54 che sommi operandi in base 4(es 3+3 = 12; 1+3=10) da 5 cifre. Si utilizzi
la normale codifica binaria posizionale per le cifre rappresentanti gli operandi ed il risultato. In figura è
rappresentato un esempio di operazione che la rete deve essere in grado di compiere ed è messa in evidenza
la parte delegata ad un generico Full adder base 4 (FA4). In particolare sono richiesti:
Blocco ai morsetti del full adder FA4 per sommare in base 4, tenendo anche in considerazione il riporto,
due cifre nella medesima posizione degli operandi.
Lo schema logico di alto livello di ADDER_54 che evidenzi la connessione fra i full adder.
la tabella di verità del full adder in base 4 (FA4)
Le mappe, le coperture minime e le espressioni minime SP delle uscite di FA4 per operandi in base 4
Lo schema logico della rete minima SP che calcola il riporto in uscita (Cout) per un qualsiasi FA4
Il full adder realizzato è una rete sequenziale o combinatoria? L’adder risultante dalla connessione dei
full adder è una rete sequenziale o combinatoria? Motivare le risposte
Esercizio 2
Con riguardo alla rete sequenziale sincrona rappresentata in figura in cui tutti i FFD sono comandati dallo
stesso segnale di clock, si utilizzino gli strumenti e la metodologia tipiche dell’analisi per derivare il
comportamento della rete. In particolare:
si individuino le variabili di stato e le espressioni delle variabili di stato futuro
si riportino la tabella delle transizioni e la tabella di flusso
si ricavi il diagramma degli stati
si descriva chiaramente il comportamento della rete: come varia l’uscita in funzione della sequenza di
ingresso? La rete è di Mealy o di Moore? Motivare le risposte
Esercizio 3 (Sintesi minima di una rete sequenziale sincrona)
Si realizzi tramite il procedimento di sintesi visto nel corso la rete logica R che ha un solo ingresso I e due uscite U0 ed
U1. R è un riconoscitore di impulsi che attiva U0 in caso di impulso negativo di esattamente 2 clock ed U1 in caso di
impulso positivo di esattamente due clock. Quando un impulso di due clock viene individuato R modifica la
corrispondente uscita durante il clock di riconoscimento e la disattiva al successivo.
Supporre che la rete venga inizializzata proponendo in ingresso 0 per 8 clock consecutivi
Un esempio del comportamento di R è riportato nella tabella sottostante:
Clock T T T T T T T T T T T T T T
I 0 0 1 0 1 1 0 0 1 1 1 0 0 1
U0 0 0 0 0 0 0 0 0 1 0 0 0 0 1
U1 0 0 0 0 0 0 1 0 0 0 0 0 0
Si rappresentino il diagramma degli stati, la tabella di flusso, la codifica scelta per lo stato, e la tabella delle transizioni.
Si utilizzino poi le mappe di Karnaugh per ottenere le espressioni minime SP delle uscite e delle variabili di stato futuro.
Si rappresenti infine lo schema logico di R, evidenziando la rete F e la rete G.
Esercizio 4 (analisi di una rete sequenziale sincrona)
La rete rappresentata in figura è formata da un universal shift register (USR) a 8 bit inizializzato con 47H, un
contatore binario per sedici inizializzato a 0H, un registro a 8 bit inizializzato con ingressi costanti a D5H, alcuni
componenti combinatori noti. La funzione svolta da USR è determinata dai bit A1 ed A0 come mostrato in tabella.
Si completi l’andamento dei segnali riportati in tabella e si descriva brevemente a parole il comportamento della
rete: in particolare si spieghi come si comporta il segnale U ed eventuali comportamenti periodici a regime . Cosa
succede quando viene modificato il contenuto del registro?
Esercizio 5
Un sistema di conteggio persone S è installato in un museo ed è realizzato come segue. Un sensore P_in rileva l’ingresso
di una persona e lo segnala tramite la propria uscita mantenuta al valore logico alto per un clock. All’uscita del museo un
sensore P_out rileva le persone che escono mantenendo il proprio segnale di uscita al valore logico alto per un clock. S è
provvisto in ingresso di una porta dati D collegata ad un registro R che serve per indicare il numero massimo di persone
consentite all’interno della struttura. S ha un uscita U che indica, col valore alto, che il numero massimo di persone
consentito è stato raggiunto
1) Si disegni lo schema al alto livello del sistema indicando almeno S, P_in, P_out, R (ed il suo contenuto) e le loro
connessioni, nell’ipotesi che il numero massimo di persone consentito sia 2500
2) Utilizzare i componenti visti nel corso per disegnare la struttura interna di S, la quale avrà il solo scopo di tener traccia
costantemente del numero di persone all’interno del museo allo scopo di segnalare il raggiungimento del valore massimo
Esercizio 6
1) Data la mappa in figura della funzione G, si ricavino le espressioni minime SP e PS
2) Nell’espressione ricavata si metta in evidenza la variabile f ottendo G = (G1 AND f) OR (G2 AND (f*) ).
Quale rete logica nota ci consente di ottenere G supponendo di avere F, G1, e G2?
3) Scrivere una possibile mappa di Karnaugh che implementa G1
Esercizio 7 (Sintesi minima di una rete combinatoria)
Si prenda in considerazione la rete logica R
R ha in ingresso:
A: variabile a 2 bit formata dai bit A1 ed A0.
B: variabile binaria
C: variabile binaria
R ha in uscita :
U: variabile a ? bit
R svolge un’operazione aritmetica sugli operandi A, B e C e fornisce il risultato in U. Si considerino interi senza segno
in notazione binaria posizionale sia gli operandi che l’uscita. In particolare
U = 2*A + 2*B + 4*C + 3
Domanda 1: Completare la tabella sottostante
U2
Domanda 2: Quanti bit al minimo occorre utilizzare per rappresentare la variabile di uscita U?
Per rappresentare U come intero senza segno servono minimo bit
Domanda 3: Si completi la mappa di Karnaugh relativa al bit U2 di U, si mettano in evidenza i raggruppamenti
rettangolari per calcolare l’espressione minima SP e si scriva tale espressione
U2 = F (A1,A0,B,C) =
Domanda 4: L’espressione minima presenta il rischio di alee statiche? Se si quale/i ragruppamenti bisogna aggiungere
per evitare le alee statiche?
Raggruppamenti aggiuntivi:
Esercizio 8 ( Sintesi di una rete sequenziale sincrona )
Si richiede di disegnare il grafo degli stati di una rete sequenziale sincrona, con un ingresso (RESET) e un’uscita
(OUT) il cui comportamento a parole è di seguito descritto:
Tutte le volte che il segnale RESET = 1, la rete dovrà riportare in uscita il valore logico 0
A partire dal primo periodo di clock in cui RESET = 0 , e per tutto il tempo in cui RESET permane a 0, la rete
dovrà generare in uscita una forma d’onda che generi un impulso negativo della durata di un clock ogni 3
fronti positivi del clock
Esercizio 9 ( Analisi di una rete sequenziale sincrona )
Indicare nell’apposita tabella l’andamento dei segnali J0 J1 J2 e J3 ed U, supponendo che il valore
memorizzato nel registro sia DC7A esadecimale e che esso sia in modalità Hold. Scrivere inoltre
brevemente come si comporta la rete rappresentata
Descrivere il funzionamento della rete logica rappresentata ed indicare se è combinatoria o
sequenziale e perché.
Esercizio 10
Sintetizzare un contatore per 28 in due modi:
utilizzando unicamente dei contatori BCD (contatore per 10 che va avanti secondo la
numerazione binaria) e dei componenti logici combinatori elementari ( AND, OR, NOT,
EXOR, MUX )
utilizzando un sommatore, un registro e dei componenti logici elementari.
Esercizio 11
Con riferimento alla rete logica sottostante(a) in cui i dati in ingresso IN vengono processati in
più stadi di elaborazione fino a diventare i risultati attesi OUT e considerando che R0, R1, R2, R3
sono registri edge-triggered caratterizzati dai seguenti tempi: tsetup = 200 ns, thold = 100 ns tR = 100 ns,
mentre RC0, RC1 e RC2 sono reti combinatorie i cui tempi di elaborazione sono RC0: 300 ns, RC1:
600 ns, RC2: 300 ns, si risponda ai seguenti quesiti:
Supponendo noto tclk, quanto tempo impiega un dato in ingresso (IN) per essere processato
fino alla fine della catena (OUT)?
Qual è la frequenza massima con cui la rete (a) può elaborare dati ?
Si confronti la rete proposta con un’altra rete (b) composta da 2 soli registri e da una rete
combinatoria che combina RC0, RC1 ed RC2. In (b) i tempi sono uguali per quanto riguarda
i registri: tsetup = 200 ns, thold = 100 ns tR = 100 ns. RC012 impiega invece 1000 ns per
processare i dati. Supponendo che entrambe le reti funzionino alla massima frequenza
rispettivamente possibile, quale rete termina per prima di processare il primo ingresso? Quale
termina per prima di processare 100 ingressi? Perché?
Esercizio 12 (Sintesi minima di una rete combinatoria)
Si richiede di ricavare l’espressione minima SP della funzione di uscita U di una rete combinatoria avente come ingresso
4 variabili binarie (I3I2I1I0), il cui funzionamento è descritto dalle seguenti specifiche:
l’uscita U vale 1 per tutte le configurazioni d’ingresso tali che I3=1 e I0 = 1
l’uscita U vale 1 per tutte le configurazioni d’ingresso tali che I2=1 e I1I0 = 00
l’uscita U vale 0 per tutte le altre configurazioni d’ingresso
Domanda 1) Ricavare l’espressione minima SP dell’uscita U utilizzando la mappa di Karnaugh di seguito
riportata, evidenziando i raggruppamenti effettuati.
U =
Domanda 2) La rete ottenuta al punto 1 presenta alee? Se si, riportare nel seguito i termini ridondati da introdurre
per evitare a priori il problema dell’alea statica. Sotto quali altre condizioni la rete non presenta a priori il
problema dell’alea statica?
Esercizio 13 (Grafo degli stati di una rete sequenziale sincrona)
Si richiede di disegnare il grafo degli stati secondo il modello di Moore di una rete sequenziale sincrona, con un
ingresso I ad un bit e un’uscita U a due bit (U1U0), il cui comportamento a parole è di seguito descritto:
La rete deve contare per quanti periodi di clock (anche non consecutivi) l’ingresso I è stato a valore logico alto.
L’uscita U deve riportare questo numero come configurazione binaria di due bit.
Raggiunto il conteggio massimo (3), la rete resetterà il conteggio solamente se l’ingresso I presenta per tre
periodi di clock consecutivi il valore 0. In caso contrario, l’uscita permane al valore binario 11.
Di seguito è riportato un esempio di andamento dell’uscita U in funzione dell’ingresso I:
Domanda 1) Disegnare il grafo degli stati della rete Domanda 2) Quante variabili di stato sono necessarie? _______
CALCOLATORI ELETTRONI CI
I 1 I 0
I 3 I 2 0 0 0 1 1 1 1 0
0 0
0 1
1 1
1 0
CALCOLATORI ELETTRONI CI
Clock T T T T T T T T T T T T T T
I 0 1 0 0 1 1 0 1 0 0 0 1 1 1
U1U0 01 01 10 10 10 11 11 11 11 11 11 00 01 10
Stato present e
Stato fut uro
Esercizio 14 (Analisi di una rete sequenziale sincrona)
Data la rete sequenziale sincrona riportata nel seguito (entrambi i FF-D sono comandati dallo stesso segnale di clock):
FF-D 1: Tsumin1 = 10 ms ; TRmax1 = 5
ms
FF-D 0: Tsumin0 = 8 ms ; TRmax0 = 2
ms
MUX: TRIOmax = 3 ms (tempo di
risposta massimo rispetto al
cambiamento degli ingressi); TRCOmax= 4 ms (tempo di risposta massimo rispetto al cambiamento del segnale di
controllo)
Domanda 1) Scrivere le espressioni dello stato futuro dei due FF-D
Q1* =
Q0* =
Domanda 2) Completare l’andamento dei segnali sotto riportati
Domanda 3) Considerando i tempi sopra riportati, calcolare la frequenza massima di funzionamento della rete,
mostrando i passaggi seguiti per il calcolo.
CALCOLATORI ELETTRONI CI
Clock T T T T T T T T T T T
I=D1 0 1 1 0 0 1 1 1 0 0 0
Q1 0
Q1*
Q0 = U 0
Q0*
CALCOLATORI ELETTRONI CI D1
Q1
FF- D
1
0
D0
Q0
FF- D
I U
Esercizio 15 (soluzione a fine blocco)
In un sistema sono presenti:
- Una bilancia B con uscita a n bit sempre positiva e codificata in complemento a due.
- Un pulsante P2 che se premuto corrisponde ad un impulso da un clock.
- Un pulsante P1 che se premuto corrisponde ad un impulso da un clock.
- Una linea dati Din a n bit che si suppone portare dati sempre positivi e codificati in complemento a due
- Una rete logica S che ha in ingresso i segnali di uscita dei blocchi precedentemente citati ed in unscita 3 bit
o W# (Win attivo basso)
o L (Loose)
o R (Retry)
Si desidera il seguente funzionamento: Si inserisce un dato in Din e si preme P2 per inizializzare il sistema. Poi
ciclicamente si mette un oggetto sulla bilancia e si preme P1.
- Se la somma dei pesi inseriti su B è pari al dato in ingresso allora si attiva W#.
- Se la somma dei pesi inseriti su B è superiore al dato iniziale in ingresso allora si attiva L.
- Se la somma dei pesi inseriti su B è inferiore al dato iniziale in ingresso allora si attiva R.
Sotto sono riportati lo schema ad alto livello ed i componenti necessari.
Si colleghino su foglio protocollo i componenti in modo da ottenere il funzionamento desiderato e si spieghi come avviene
il tutto con cura e dettaglio.
Esercizio 16
1) Data la mappa in figura della funzione G, si ricavino le espressioni minime SP e PS
2) Nell’espressione SP ricavata si metta in evidenza la variabile f ottendo G = (G1 AND f) OR (G0 AND
(f*) ). Quale rete logica nota ci consente di ottenere G supponendo di avere F, G1, e G2?
Ripetere il procedimento con la variabile e ottenendo
G1 =( G11 AND e) OR ( G10 and e* )
G0= ( G01 AND e) OR ( G00 and e* )
Nota: provare a premettere agli implicanti sprovvisti della variabile var da estrarre il termine
logicamente pari 1:
(var + var*)
3) Scrivere la mappa di Karnaugh che implementa G10
Esercizio 17
Si disegni la struttura interna di C: un contatore per N contenente un sommatore ad N bit ed un
registro di accumulazione. C è provvisto, oltre che dell’ingresso di clock, anche degli ingressi
R. Reset sincrono attivo basso: se vale 0 viene eseguito il reset sincrono
Load attivo alto e Data(n-1)..0 : se Load vale 1 allora viene eseguita l’operazione di Load per
l’operando ad N bit Data(n-1)..0
E. Enable attivo alto: se vale uno il contatore procede
UD. up/down:se vale 1 conta in avanti se vale 0 conta all’indietro (secondo il verso della
numerazione binaria)
Avere cura nel disegnare e spiegare i collegamenti necessari a fare in modo che gli ingressi
abbiano l’effetto voluto .
Disegnare C ai morsetti per N = 16 .
Modificare C in modo che conti per 9 e chiamare la nuova rete C2
Disegnare C3: un contatore per 59 e fatto da due contatori C2 opportunamente interconnessi
e da gate logici elementari
Esercizio 18
Eseguire tutti i passi della sintesi per giungere allo schema logico del riconoscitore di sequenze 0011
che attiva la sua uscita U per un solo clock ogni qual volta l’ultimo 1 della sequenza viene riconosciuto
sull’unico ingresso I (oltre al clock). In particolare si indichino
Lo schema ai morsetti
Il diagramma degli stati
La tabella di flusso
La codifica degli stati e la tabella delle transizioni
Le mappe di Karnaugh per ottenere un copertura minima
Lo schema logico
Esercizio 19
Scrivere come è possibile calcolare la frequenza massima di funzionamento di una rete combinatoria
ed applicare il ragionamento ad un adder a 3 bit in cui ciascun Full Adder impiega 1 ns per calcolare
le proprie uscite da quando l’ultimo degli ingressi è divenuto stabile. Dopo quanto tempo otteniamo
il valore della somma rispetto al momento in cui forniamo in ingresso gli operandi 011 e 001
Esercizio 20
Usando tutti i passi della sintesi si progetti un contatore per 6 chiamato C1 i cui stati seguano la
sequenza 011, 001, 000, 111, 101, 100. C1 deve disporre di un ingresso di reset sincrono che riporti
allo stato 011.
Si prenda in considerazione anche C2 un contatore per 6 che segue l’ordine 000, 001, 011, 111, 110,
100 che non deve essere progettato.
Quale dei due contatori è meglio usare nel generatore di forme d’onda RL1? Perché? Qual è il vincolo
di progettazione del multiplexer in RL1 affinché la rete si comporti correttamente, nell’ipotesi che si
sia scelto il contatore corretto?
Indicare un possibile valore dell’uscita di RL2 che consente di generare la forma d’onda 111001
all’uscita di RL1
Spiegare quale potrebbe essere una possibile realizzazione interna di RL2 che consenta di cambiare
la forma d’onda generata all’uscita di RL1 quando si attiva il segnale L. Non è necessario disegnare
tutto lo schema ma solo una sua parte e spiegarne il funzionamento
Esercizio 21
Eseguire i passi della sintesi della rete RL0 con 4 ingressi (I3, I2, I1 e I0) e 4 uscite (O3, O2, O1,
O0). Il funzionamento è il seguente:
Se gli ingressi sono tutti nulli non si attiva alcuna uscita
Se l’ingresso I3 è attivo si attiva la sola uscita O3
Altrimenti, se l’ingresso I2 è attivo si attiva la sola uscita O2
Altrimenti, se l’ingresso I1 è attivo si attiva la sola uscita O1
Altrimenti, se l’ingresso I0 è attivo si attiva la sola uscita O0
Quindi ad esempio se gli ingressi I3, I2, I1, I0 valgono 0, 1, 1, 0 le uscite O3 O2 O1 O0 valgono 0,
1, 0, 0
E’ una rete combinatoria o sequenziale? Perché?
Per quale scopo potrebbe essere impiegata una rete del genere?
Esercizio 22
La figura mostra come è possibile implementare un semplice gioco fra due contendenti. I due
giocatori hanno a disposizione due distinte pulsantiere con tre tasti R, A, B e non vedono le scelte
effettuate dall’avversario, ma solo un display che mostra lo stato o l’esito delle giocate.
Le scelte dei giocatori si traducono (tramite RL1) in input per RL2, che esegue i calcoli necessari a
determinare l’esito e lo rappresenta nelle variabili U1 ed U0 La rete RL3 rende i risultati leggibili ai
giocatori, consentendone la visualizzazione in un display a 7 segmenti. Tutti i segnali nella
descrizione seguente vengono considerati attivi alti (logica positiva). Tutte le reti che si riterrà di
dover realizzare con logiche sequenziali andranno sintetizzate come reti di Moore.
RL1:
- Non più di un ingresso può essere attivo contemporaneamente.
- Se si attiva R le uscite valgono 00 fino alla prossima attivazione di A o B
- Se si attiva A le uscite valgono 01 fino alla prossima attivazione di R o B
- Se si attiva B le uscite valgono 10 fino alla prossima attivazione di A o R
RL2:
- Si suppone che inizialmente gli ingressi valgano 0000 con U1 ed U0 = 00.
- Si suppone che i due giocatori non eseguano mai la loro scelta durante lo stesso periodo di
clock (è un’ipotesi, non deve essere implementata! Ed è solitamente valida per clock
sufficiente alti)
- Quando uno dei due giocatori avrà scelto A o B la rete RL2 resta in attesa che il secondo
giocatore scelga ed il primo ad aver effettuato la scelta, pur toccando la propria pulsantiera
non potrà modificare la scelta effettuata. In questa situazione U1 ed U0 valgono 11
- Quando il secondo giocatore sceglie fra A o B, allora RL2 calcola il vincitore e pone U1U0
= 01 se vince il giocatore connesso con I3I2(cioè P2) ed U1U0 = 10 se vince il giocatore
collegato con I1I0 (cioè P1)
- Il secondo giocatore a scegliere tra A o B vince se sceglie il simbolo diverso da quello scelto
dal primo giocatore
- Una volta che il vincitore è stato designato si può ripartire solo quando entrambi i giocatori
premono consecutivamente i loro rispettivi pulsanti R
RL3:
- Quando nessuno dei due giocatori ha scelto fra A o B il display è spento
- Quando manca la scelta di uno dei due giocatori il display mostra il carattere 0
- Quando vince P1 il display mostra il carattere 1 (segmenti e ed f accesi), quando vince P2 il
display mostra il carattere 2
1) Progettare interamente, seguendo tutti i passi della procedura di sintesi, la rete RL1. Prima di
iniziare un nuovo passo si descriva cosa si sta per fare, lo si motivi e si commenti,
eventualmente, il risultato del passo precedente. Ove possibile eseguire coperture minime
2) Disegnare il diagramma degli stati della rete RL2
3) Sintetizzare la rete F della rete RL2, ove possibile eseguire coperture minime
4) Sintetizzare la rete RL3 senza usare mappe di Karnaugh
5) Si eseguano considerazioni sulla determinazione della frequenza massima nello scenario
mostrato
Esercizio 23
Si sintetizzi la rete logica R1 in grado di implementare il gioco della morra cinese. Quanti ingressi
e quante uscite sono necessarie? Quanti se aggiungiamo i simboli di lucertola e spock?
Ricavare per il caso della normale gioco della morra cinese (carta forbice sasso)
- tabella di verità
- mappe
- copertura minima e relative espressioni sia in SP che in PS
- lo schema circuitale nel caso SP
Esercizio 24
Data la rete sequenziale sincrona mostrata in figura
- si dica se è di Mealy o di Moore.
- si eseguano i passi dell’analisi attraverso le espressioni delle variabili di stato e delle uscite, le
mappe, la tabella delle transizioni e quella di flusso. (Per le mappe usare il template seguente)
- si disegni il grafo degli stati
- si indichi una possibile procedura di inizializzazione per rendere la rete un riconoscitore di
sequenze distinte di 3 simboli 1 consecutivi, indipendentemente dallo stato di partenza
D
>
Q
FFD_0
D
>
Q
FFD_1
D
>
Q
FFD_2
x0
x1
x2
I
U
Esercizio 25 Eseguire tutti i passi della sintesi di reti combinatorie per giungere fino all’implementazione circuitale di una rete
con gli stessi ingressi di un full-adder ed uscite che assumono il valore opposto.
Disegnare la forma minima realizzata come prodotto di somme e discutere riguardo all’alea statica evidenziando
eventuali modifiche necessarie ai raggruppamenti ed allo schema logico. Discutere anche nel caso in cui non siano
necessarie modifiche, spiegando il perché
Proporre una semplice modifica a livello di schema logico che, usando due XOR aggiuntivi, consenta di usare
l’ingresso aggiuntivo N nel seguente modo: se N vale 1 allora le uscite devono essere uguali a quelle di un full adder
Esercizio 26
Il sistema in figura funziona nel modo seguente:
La pressione di un bottone fa partire un impulso rettangolare della durata di un clock.
RL3 funziona nel seguente modo:
o Il segnale T1 perviene ogni 16 periodi di clock dopo l’ultima pressione del pulsante (ad esempio se il
pulsante viene premuto periodicamente prima dell’arrivo del sedicesimo clock, T1 non varrà mai 1)
o Il segnale T2 perviene assieme al quarto T1 dopo l’ultima pressione del pulsante (ad esempio se il
pulsante viene premuto periodicamente prima che arrivi il quarto T1 allora T2 non si attiverà mai)
o Parte da uno stato in cui tutte le uscite hanno valore 0
o Dallo stato di partenza, quando il bottone viene premuto la prima volta, le uscite U2U1U0 varranno
001, se entro l’arrivo di T1 il pulsante viene premuto nuovamente U2U1U0 varranno 010, se entro
l’arrivo di T1 il pulsante viene premuto ancora le uscite varranno U2U1U0=100 e ulteriori pressioni
del pulsante verranno ignorate. Se nessuna pressione del pulsante viene effettuata prima dell’arrivo di
T1 tutte le successive pressioni del pulsante ed i successivi T1 verranno ignorati, e le uscite manterranno
il valore corrente. L’arrivo di T2 riporta RL3 nello stato di partenza con U2U1U0 = 000.
RL1 è collegata in qualche modo agli ingressi del contatore in modo che il funzionamento di RL3 sia quello
descritto in relazione alla pressione del pulsante
RL2 ha in ingresso le uscite del contatore e, sulla base di esse, controlla T1 e T2 in modo che il funzionamento
di RL3 sia quello descritto
Specificare se per RL1, RL2 ed RL3 si pensa di impiegare reti sequenziali o combinatorie e motivare la risposta
per ciascuna rete.
Proporre un’implementazione di RL1
Sulla base di come è stata proposta RL1 proporre un’implementazione di RL2 che generi T1 ogni 16 clock
dall’ultima pressione del pulsante e che generi T2 assieme al quarto T1 dopo l’ultima pressione del pulsante
Considerando il contatore qual è il K minimo è perché?
Disegnare il grafo degli stati di RL3
Esercizio 27 (con soluzione inclusa nel testo)
Si vuole realizzare una rete logica R1 con 2 ingressi a 5 bit (A e B), un ingresso a 2 bit C ed un’uscita
a 5 bit S. Il valore di C stabilisce come viene calcolato S secondo la specifica riportata in tabella.
Tutti gli operandi si considerano con segno e rappresentati in complemento a 2
C1C0 S
00 A+B
01 A-B
10 B-A
11 2A
Si riporti la rappresentazione ai morsetti di R1
A
B
C
5
5
2
A4..0
B4..0
C1..0
S4..0
5 S
Si proponga un’implementazione interna che utilizzi solo un Adder, dei Multiplexer dei Not ed il
numero minimo di gate logici elementari possibile.
A4..0
B4..0
O4..0
Y4..0
X4..0
Adder_5
0
1
2
3
0
1
2
3
C1..0
C1..0
S4..0
Cin
C1
C0
S4..0
CO
Supponendo che A e B siano rappresentati in complemento a due, si progetti un rete R2 esterna ad
R1 che abbia in ingresso A, B ed S ed in uscita un bit OV che deve valere 1 solo se c’è overflow nel
caso C1C0 = 00.
La situazione di overflow nella somma si verifica solo se ad operandi con segno uguale corrisponde
un risultato con segno opposto, quindi occorre verificare la concomitanza di due situazioni:
1) A e B hanno lo stesso segno
2) A o B hanno segno opposto rispetto ad S
Se le due condizioni sono entrambe vere allora si ha Overflow
Quali considerazioni si possono fare su R2 se dovesse operare nel caso C1C0 = 10 ?
In questo caso sto eseguendo B-A. Innanzitutto si può considerare che Invertendo il segno di A nel
circuito precedentemente ideato si potrebbe arrivare ad una soluzione funzionante. Tuttavia, essendo
la rappresentazione in complemento a 2 asimmetrica, esiste un numero per il quale occorre eseguire
un test di funzionamento per poter validare lo schema creato o capire cosa è necessario aggiungervi.
In particolare quando A vale -16 cioè 10000 e sgn (A) ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ = 0 si ha overflow per B >=0 con sgn(S)=1.
Per B>= 1 il circuito direbbe sgn(B)= sgn (A) ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ =0 e sgn(B) ≠ sgn(S)=1 Overflow (Corretto)
Per B=0 il circuito direbbe sgn(B)=sgn (A) ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ =0 e sgn(B) ≠ sgn(S)=1 Overflow (Corretto)
Per B <= -1 (11111) il circuito direbbe sgn(B) ≠sgn (A) ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ =0 e sgn(B) ≠sgn(S)=0 OK (Corretto)
Quindi la soluzione è lo schema creato al punto precedente
A4
B4
S4..0
SGN(A)=SGN(B)
Overflow
SGN(B)≠SGN(S)
Abbiamo visto a lezione che questo schema può essere notevolmente semplificato, provare ad eseguire tale
semplificazione come ulteriore esercizio
Esercizio 2
Determinare il comportamento della rete sequenziale sincrona mostrata in figura. In particolare
Si dica quando si attiva l’uscita in funzione dei valori degli ingressi passati e presenti
L’uscita non dipende dall’ingresso presente e vale 1 se gli ingressi passati valgono 000 oppure 101
La rete è di Mealy o di Moore?
L’uscita non dipende dall’ingresso presente ma solo dallo stato interno quindi si tratta di una rete di
Moore
Soluzione esercizio 22 1) Progettare interamente, seguendo tutti i passi della procedura di sintesi, la rete RL1. Prima di
iniziare un nuovo passo si descriva cosa si sta per fare, lo si motivi e si commenti,
eventualmente, il risultato del passo precedente. Ove possibile eseguire coperture minime
Per la progettazione della rete ricavo Grafo degli stati, tabella di flusso, codifica degli stati interni,
mappe, coperture minime, espressioni ed infine schema logico.
3) Sintetizzare la rete F della rete RL2, ove possibile eseguire coperture minime
Essendo la rete RL2 di Moore, per la rete F mi occorre solo la codifica degli stati