Salta al contenuto
Note per Studenti Esercizio 1 · segmento 2 di un display a sette segmenti con don't care (tema d'esame giugno 2022)

Esercizio 1segmento 2 di un display a sette segmenti con don't care (tema d'esame giugno 2022)

Esame
In questa pagina 5

Testo (tema d'esame giugno 2022, primo appello, esercizio 1). Minimizzare l'equazione logica di controllo del segmento 2 del display a sette segmenti (i segmenti sono numerati: 0 in alto, 1 in alto a destra, 2 in basso a destra, 3 in basso, 4 in basso a sinistra, 5 in alto a sinistra, 6 al centro) utilizzando le mappe di Karnaugh. Il circuito ha come ingresso le variabili a b c da\,b\,c\,d che rappresentano i bit del numero da rappresentare da 00 a 99, dal meno significativo (aa) al più significativo (dd), e come uscita yy che deve valere 11 quando il segmento va illuminato e 00 in caso contrario. Riportare la mappa di Karnaugh con i raggruppamenti utilizzati e l'equazione finale ottenuta, sfruttando opportunamente le condizioni di don't care.


Teoria usata: Mappe di Karnaugh - implicanti e copertura minimaLa mappa di Karnaugh è la tabella di verità disposta in una griglia con righe e colonne in codice Gray, così che celle adiacenti (anche tra bordi opposti) differiscano in una sola variabile. Si raggruppano gli 1 in rettangoli di $2^k$ celle: ogni gruppo elimina $k$ variabili e dà un prodotto. Implicante primo = gruppo massimo; essenziale = unico a coprire un mintermine; la copertura minima contiene tutti gli essenziali più il minimo di altri primi (può non essere unica). Efficace fino a 4 variabili.Mappe di Karnaugh - implicanti e copertura minima →, Mappe di Karnaugh - POS, condizioni di don't care e paritàPer la POS minima si raggruppano gli 0 della mappa, si ottiene la SOP minima di $\overline F$ e si scrive $F$ come prodotto di somme (variabile diretta se vale 0 nel gruppo, negata se vale 1). Le condizioni di don't care (X) sono combinazioni di ingresso che non si presentano o la cui uscita è indifferente: si usano come 1 o come 0 a seconda di quel che allarga i gruppi (mai raggruppamenti fatti solo di X). Le funzioni XOR a più variabili (disparità) e XNOR (parità) hanno mappa a scacchiera: non si semplificano con i gruppi.Mappe di Karnaugh - POS, condizioni di don't care e parità →, Decoder, encoder e priority encoderUn decoder $n$-to-$m$ ($m\le2^n$) converte un ingresso binario a $n$ bit in un'uscita 1-hot (un solo 1, nella posizione indicata): le sue uscite sono i mintermini degli ingressi, realizzati con $m$ AND; per decoder grandi si usa l'approccio gerarchico (costo in ingressi: 3-to-8 = 27, 6-to-64 = 182) e un enable. Ogni funzione = decoder + OR dei suoi mintermini. L'encoder fa l'operazione inversa (1-hot $\to$ binario) ma sbaglia con più ingressi a 1 o tutti a 0: il priority encoder risolve con una priorità e un'uscita V (valid).Decoder, encoder e priority encoder → (display a sette segmenti).

Passo 1: tabella di verità

Il segmento 2 è quello in basso a destra. Nelle cifre decimali da 00 a 99 è acceso in tutte tranne che nel 22 (il 22 ha il segmento in basso a sinistra, non quello in basso a destra). Le combinazioni 10101010–11111111 (numeri da 1010 a 1515) non rappresentano cifre: non si presenteranno, quindi sono don't care (X).

d c b ad\,c\,b\,a cifra yy
0000 0 1
0001 1 1
0010 2 0
0011 3 1
0100 4 1
0101 5 1
0110 6 1
0111 7 1
1000 8 1
1001 9 1
1010–1111 10–15 X

L'indice del mintermine è il numero dcbadcba in binario: y=∑m(0,1,3,4,5,6,7,8,9)y=\sum m(0,1,3,4,5,6,7,8,9) con don't care m(10,…,15)m(10,\dots,15).

Passo 2: mappa di Karnaugh

Righe dcdc, colonne baba (codice Gray):

dc\badc\backslash ba 00 01 11 10
00 1 1 1 0
01 1 1 1 1
11 X X X X
10 1 1 X X

L'unico 00 è nella cella 00100010 (cifra 2, riga dc=00dc=00, colonna ba=10ba=10).

Passo 3: raggruppamenti

Si usano i don't care per fare gruppi grandi. Tre gruppi da 8 celle:

  • aa: le colonne ba=01ba=01 e ba=11ba=11 (celle 1,3,5,7,9,11,13,151,3,5,7,9,11,13,15): le variabili costanti sono solo a=1a=1 ⇒\Rightarrow aa;
  • b‾\overline b: le colonne ba=00ba=00 e ba=01ba=01 (celle 0,1,4,5,8,9,12,130,1,4,5,8,9,12,13): b=0b=0 ⇒\Rightarrow b‾\overline b;
  • cc: le righe dc=01dc=01 e dc=11dc=11 (celle 4,5,7,6,12,13,15,144,5,7,6,12,13,15,14): c=1c=1 ⇒\Rightarrow cc.

Un quarto implicante primo, dd (righe dc=11dc=11 e 1010), esiste ma non serve: le sue celle con y=1y=1 (88 e 99) sono già coperte da b‾\overline b. I tre gruppi scelti sono essenziali: la cella 00 è coperta solo da b‾\overline b, la cella 33 solo da aa, la cella 66 solo da cc.

y=a+b‾+cy=a+\overline b+c

Passo 4: controllo e circuito

Controllo con la tabella: y=0y=0 solo quando a=0a=0, b=1b=1, c=0c=0, cioè a‾ b c‾=1\overline a\,b\,\overline c=1: nelle cifre 00–99 è la sola combinazione 00100010 (il 22); per 10101010 (1010, don't care) il risultato è indifferente. Quindi anche y= a‾ b c‾ ‾y=\overline{\,\overline a\,b\,\overline c\,}. Verificato con un programma sulle 10 cifre valide (y=0y=0 solo per la cifra 2). La forma POS minima dà lo stesso: un solo termine somma, y=(a+b‾+c)y=(a+\overline b+c).

Circuito: un inverter su bb e una porta OR a 3 ingressi (aa, b‾\overline b, cc): costo 3+1=43+1=4 ingressi di porta; la variante NAND a 3 ingressi su a‾\overline a, bb, c‾\overline c costerebbe di più (due inverter).

Errori comuni

  • Non usare i don't care: senza di essi la forma minima è y=b‾ c‾+d‾ a+d‾ cy=\overline b\,\overline c+\overline d\,a+\overline d\,c (3 prodotti, 6 letterali) invece di a+b‾+ca+\overline b+c (3 letterali).
  • Dimenticare che il segmento 2 è spento solo nel 22 (non anche nell'11 o nel 77).
  • Fare gruppi di 8 solo con le X: ogni gruppo deve contenere almeno un 11 non coperto da altri.

Versione ripasso

Teoria collegata