Esercizi sull'algebra Booleana, le mappe di Karnaugh ed i Circuiti Combinatori e Sequenziali


PARTE 1







Tra un esercizio ed un'altro, potrebbe essere interessante andare a leggersi questa breve biografia di Boole.
e Breve biografia di De Morgan.


Esercizio 1
Descrivere il circuito minimo a due livelli (AND-OR) che calcoli la seguente funzione booleana in 4 variabili (x' indica (NOT x)):
f(a,b,c,d) = a'b'cd + ac + ac'd + bcd' + ac'd'


  • Soluzione.



    Esercizio 2














    Dopo aver dato la definizione di implicante primo e di implicante ridondante in un insieme, prendere la mappa qui a lato e
    dimostrare che l'implicante primo C e' ridondante nell'insieme {A, B, C}
    (utilizzare il teorema del consenso: xy + x'z + yz = xy + x'z).













  • Soluzione.
















    Esercizio 3





    Utilizzare il teorema del consenso per dimostrare che l'implicante C della mappa a lato e' ridondante in {A,B,C}.





  • Soluzione.




    Esercizio 4










    Dimostrare che in un'espressione algebrica contenente A e B, A puo' essere eliminata, cioe' che A e' ridondante in {A, B}.










  • Soluzione.






    Esercizio 5

    Dato il circuito


    Descrivere un circuito equivalente, minimale a due livelli.

  • Soluzione.


    Esercizio 6
    Presa la funzione f(a,b,c,d) il cui valore e' 1 quando il numero rappresentato in binario da abcd e' primo o divisibile per 3: (ricordare che 1 non e' primo e 0 non e' divisibile per 3)

  • Soluzione.


    Esercizio 7
    Dimostrare che per ogni espressione algebrica booleana ne esiste una equivalente (che rappresenta la stessa funzione) e che utilizza solo gli operatori NOR o NAN D.

  • Risposta.


    Esercizio 8

    Sintetizzare un circuito sequenziale sincrono che realizzi la funzionalita' di blocco tastiera in un telefonino, supponendo che la tastiera si blocchi premendo il tasto "#" e si sblocchi premendo contemporaneamente i tasti "*" e "#".

  • Soluzione.


    Esercizio 9

    Sintetizzare (descrivendo tutti i passi di sintesi, per quanto possano essere semplici) un circuito sequenziale che prenda in ingresso una sequenza di caratteri "a" e "b" ed invii un segnale 1 ogni volta che nella sequenza compare un carattere "b" che si trova in posizione pari dentro una sottosequenza formata da soli "b". Esempio:
    -Input: aabbaaabbbbbaba....
    Output: 000100001010000.....

    N.B.: i circuiti combinatori della rete devono essere sintetizzati utilizzando il procedimento per ottenere forme SP minimali.

  • Soluzione.


    Esercizio 10
    In casa avete lo scaldabagno e la lavatrice, ma a causa di un impianto difettoso, non potete utilizzarli contemporaneamente. Sintetizzare (descrivendo tutti i passi di sintesi, per quanto possano essere semplici) un circuito sequenziale che, opportunamente collegato agli interruttori di tali elettrodomestici, impedisca di utilizzarli entrambi nello stesso momento (se la lavatrice e' accesa allora accendere lo scaldabagno non ha alcun effetto e viceversa; non ha alcun effetto anche accendere contemporaneamente tutti e due).
    N.B.: i circuiti combinatori della rete devono essere sintetizzati utilizzando il procedimento per ottenere forme SP minimali.

  • Soluzione (non testata).


    Esercizio 11

    Dare la definizione di:
  • Soluzione.


    Esercizio 12

    Fornire almeno sei rappresentazioni (esplicite o implicite: che rappresentino solo il comportamento oppure come la funzione viane calcolata) per la funzione booleana di tre argomenti (a, b, c) che restituisca 0 se e solo se (b=c=0 oppure a=b=1).

  • Soluzione. (By R.Ferraro S. Fede)



    Esercizio 13

    Fornire la forma canonica congiuntiva della funzione di 4 variabili (a,b,c,d) rappresentata dall'espressione ab- + a-cd + abcd-

  • Soluzione. (By S. Fede)


    Esercizio 14
    Preso il circuito corrispondente ad ab- + a-cd + abcd-, costruire un circuito equivalente, ma con almeno 10 porte logiche in piu'.

  • Soluzione. (By S. Fede and R.Ferraro)



    Esercizio 15

    Fornire due definizioni di circuito combinatorio. Una volta fatto, dimostrare che le due definizioni sono equivalenti.
  • Soluzione(?).
  • Soluzione(F. Caponnetto and C. Pata).


    Esercizio 16

    Cos'e' il principio di dualita' delle algebre booleane?

    Esercizio 17

    Fornire un circuito combinatorio minimale a due livelli SP che calcoli la funzione Sigma4(0,1,2,3,7)

  • Soluzione (by Claudio Cherubino).


    Esercizio 18

    Avendo a disposizione solo gli operatori AND e NOT, fornire una rappresentazione algebrica del maxtermine s5 per 4 variabili.

  • Soluzione (by S. Privitera).


    Esercizio 19

    Durante una lezione chi scrive ha detto una mostruosita'. Infatti ha preteso di dimostrare una delle leggi di De Morgan per due variabili
    (x + y)- = x-y-
    nel modo seguente (il nome degli assiomi fa riferimento alla notazione del testo Luccio-Pagli):

    da (P'4) otteniamo (x + y)(x + y)- = 0
    Per (P1) (x + y)(x + y)- = 0 + 0
    Utilizzando (P'4) e (P'2) arriviamo a (x + y)(x + y)- = xx-y- + x-yy-
    Da cui per la distributivita' arriviamo a (x + y)(x + y)- = (x-y-)(x + y)
    da cui (x + y)- = x-y-.

    L'ultimo passaggio e' la mostruosita' cui si accennava. Perche'?

  • Soluzione.


    Esercizio 20

    Perche' per sintetizzare una rete combinatoria a 5 variabili non e' possibile utilizzare una mappa di carnaugh bidimensionale con 4 colonne ed 8 righe ?

  • Soluzione.



    Esercizio 21

    Dimostrare che
    (x + y)(x- + z)(y + z) = (x + y)(x- + z)


  • Soluzione.


    Esercizio 22

    Prendete una mappa di carnaugh a 4 variabili che contenga due implicanti contigui, il primo rappresentato da un rettangolo con 4 "uni" ed uno rappresentato da un rettangolo con 2 "uni". Perche' nel processo di sintesi delle espressioni SP minimali questi due rettangoli non vengono "fusi" insieme?

  • Soluzione.


    Esercizio 23

    Descrivere una mappa di Carnaugh per 4 variabili che NON contenga alcun implicante primo.
  • Soluzione.


    Esercizio 23

    Disegnare un circuito minimale con 4 morsetti in ingresso ed uno in uscita che calcoli la funzione booleana di quattro variabili rappresentata da una mappa di Carnaugh formata da soli "0". Fare lo stesso nel caso la mappa sia formata da soli "1".

  • Soluzione.


    Esercizio 24

    Dimostrare che l'insieme di operatori {CUCU, NOT}, dove l'operatore CUCU e' un operatore a 4 argomenti descritto dalla seguente tabelle di verita'
    a b c d  | CUCU
    ----------------
    0 0 0 0  | 0 
    0 0 0 1  | 0
    0 0 1 0  | 0
    0 0 1 1  | 0
    0 1 0 0  | 0  
    0 1 0 1  | 1
    0 1 1 0  | 1
    0 1 1 1  | 1
    1 0 0 0  | 0
    1 0 0 1  | 1
    1 0 1 0  | 1
    1 0 1 1  | 1
    1 1 0 0  | 0
    1 1 0 1  | 1
    1 1 1 0  | 1
    1 1 1 1  | 1
    
    
    e' un insieme funzionalmente completo.

  • Soluzione (by S. Privitera).


    Esercizio 25

    Descrivere una rete combinatoria con un solo morsetto di ingresso in cui esiste un'alea statica di 1.
  • Soluzione.


    Esercizio 26

    Considerate la mappa schematizzata nel seguito:
              _________
              |1 0 1 1|
              |0 0 0 0|
              |0 0 1 0|
              |1 0 0 0|
              ---------
    
    Supponete che, per motivazioni a noi oscure, si possano scegliere due configurazioni di ingresso a piacere che non si potranno mai presentare. Scegliere tali configurazioni in modo che il circuito SP sintetizzato dalla mappa risulti il piu' semplice possibile.

  • Soluzione. (By L. Di Odoardo, M.Firrincieli, E. Rizzo)


    Esercizio 26bis

    Non scordatevi di fare anche gli esercizi (quelli per cui abbiamo gli strumenti per farli) proposti dal Luccio-Pagli. In particolare, fate gli esercizi proposti in sezione 2.11 e 3.11.

  • Soluzione esercizio 2.3 della sezione 2.11. (By G. Noto)


  • Soluzione esercizio 2.2 della sezione 2.11. (By R. Ferraro)


    Semplici esercizi a quiz sulle mappe di Karnaugh.

    Nella pagina web http://grog.lab2.cc.wmich.edu/johnson/ece250/Quiz5/quiz.html
    Ci sono dei semplici quiz interattivi sulle mappe di Karnaugh. Buon divertimento.

    Tenete presente che in questi quiz al posto di "X" per indicare il valore non specifucato su una mappa, si utilizza "d". Inoltre anziche' utilizzare "PS"("SP") si utilizza "POS"("SOP")

    Semplici esercizi a quiz sulle Algebre booleane.

    Nella pagina web http://grog.lab2.cc.wmich.edu/johnson/ece250/Quiz1/quiz.html
    Ci sono dei semplici quiz interattivi sull'algebra booleana. Buon divertimento.




    Alcuni esercizi proposti ai vostri colleghi dell'Universita' di Milano.



    Altri esercizi (su reti sequenziali) proposti ai vostri colleghi dell'Universita' di Milano. (selezionati da Massimiliano Salfi)


    Esercizio 27

    Ideare un circuito a cinque ingressi che restituisca in output la codifica binaria della radice quadrata arrotondata per difetto del numero binario inserito come input.

  • Soluzione (By Claudio Cherubino).



    Esercizio 28

    Dimostrare che l'insieme { -->, ()-} e' funzionalmente completo.
    (Il connettivo logico --> lo avete visto con il prof. Gallo)

  • Soluzione (By S. Privitera).



    Esercizio 29

    Costruire un "sottrattore parallelo" per numeri naturali rappresentati in binario (esercizio 3.7 del Luccio-Pagli).
    Il sottrattore deve ralizzare il classico algoritmo della sottrazione cifra per cifra con eventuali "prestiti".

  • Soluzione (By Massimiliano Salfi).


    Esercizio 30

    Tra i problemi per la progettazione delle reti sequenziali asincrone c'e' anche quello che le alee potrebbero provocare la transizione su stati interni non desiderati. Fare un semplice esempio di circuito asincrono in cui un'alea statica puo' provocare danni.



    Esercizio 31

    Un comparatore e' un circuito combinatorio che prende in input due stringhe binarie e ritorna 1 se e solo se le due stringhe sono uguali.
    Sintetizzare un comparatore per stringhe lunghe due con il metodo delle mappe di Karnaugh. Sintetizzarlo a mano e con meno blocchi supponendo di avere a disposizione il blocco logico XOR ( aXORb=1 <=> (aORb)AND(a=b-) ).

  • Soluzione (by C. Cherubino).



    Esercizio 32

    Fare esercizi 4.1, 4.2 e 4.3 del Luccio Pagli.




    Esercizio 33

    Senza utilizzare il processo di sintesi per reti sequenziali sincrone, descriverne una che conta il numero di cicli di clock trascorsi modulo 32. Per noi il clock e' un segnale implusivo per la rete.
    Dare una risposta formale del perche' non e' possibile avere una rete asincrona che fa la stessa cosa.

  • Soluzione (by S. Privitera).


    Esercizio 34

    Utilizzando la rete dell'esercizio precedente, descrivere un contatore modulo 19.

  • Soluzione (by S. Privitera).


    Esercizio 35

    Ho una rete sequenziale sincrona in cui la parte combinatoria e' realizzata a due livelli. Un segnale per attraversare una porta logica impiega 2 nanosecondi. La sincronizzazione della rete avviene con un clock inviato ad un latch Fc. La durata dell'impulso e' di 6 nanosecondi.
    Puo' funzionare questa rete? In quale caso?

  • Soluzione (by M. Salfi).





    Esercizio 36

    Sintetizzare una rete sequenziale sincrona che controlli un parcheggio con due posti macchina dotato di una sbarra al suo ingresso ed un'uscita (sempre aperta) diversa dall'ingresso. Ci sono anche delle cellule fotoelettriche all'ingresso ed all'uscita del parcheggio che permettono di sapere se una macchina ha attraversato un passaggio.
               ------------------------------
               |                            |            
             + |                            | +            
               \\
    ---->       \\                            ------->
                 \\
             + |                            | +           
               |                            |            
               ------------------------------
    
    La rete deve far abbassare la sbarra quando il parcheggio e' completo.

  • Soluzione(?). Si puo' fare meglio

  • Altra Soluzione(?). Si puo' fare meglio, soprattutto per quanto riguarda il discorso della fotoelettrica.

  • Yet another Soluzione. (By R. Ferraro)
    Esercizio 37

    Per far si che si invii un segnale corretto al circuito dell'esercizio 36 che indichi quando una macchina e' entrata e per evitare che il passaggio di un pedone o un cane venga interpretato come il passaggio di una macchina, sintetizzare un circuito sequenziale che riceva in input dei segnali provenienti da due fotocellule appaiate. Tali fotocellule sono ad una distanza tale che possono venire interrotte entrambe solo da una macchina, mentre una persona o un cane non son potranno mai farlo. Il circuito sequenziale inviera' il segnale di "macchina entrata" solo quando una macchina avra' passato le due fotocellule.

  • Soluzione. (By M.Salfi)
  • Altra soluzione(piu' corretta della precedente?) (by Luigi Santangelo)

    Esercizio 38

    Sintetizzare una rete sequenziale con un bit in ingresso ed uno in uscita. Negli istanti 4k, 4k+1, 4k+2 e 4k+3 (k=0,1,2,...) il segnale di uscita e' uguale al segnale di ingresso della reta all'istante 4k.
    Ovviamente la sistesi va eseguita seguendo i passi del procedimento descritto nel testo.

  • Soluzione (contiene errori, quali? correggere!). (By R. Ferraro, S. Fede)
  • Soluzione. (By Massimiliano Salfi)

    Esercizio 39

    Prendete l'esercizio 5.2 del Luccio-Pagli. Sintetizzare il circuito in modo che la risposta nei primi tre istanti delle sequenze di quattro sia non specificata nella descrizione dell'automa. Aggiungere poi all'uscita della rete la rete sintetizzata nell'esercizio 38, per far si che l'output al termine di una sequenza di quattro rimanga sicuramente stabile per i 3 istanti successivi.
    Le due reti vanno sincronizzate con lo stesso clock?
    Se colleghiamo l'output della prima direttamente con l'input della seconda, a che tipo di problemi andiamo incontro?
    Se tra l'output della prima e l'input della seconda inseriamo un latch (sincronizzato con quale clock?), a che problema andiamo incontro? Come lo risolviamo?


    Esercizio 40

    Utilizzando la metodologia descritta nel Luccio-Pagli, minimizzare l'automa descritto nella Figura 5.6 del testo.

  • Soluzione. (By R.Ferraro and S. Fede)


    CONTINUA.