Sintesi di circuiti combinatori

In fase di sviluppo Stesura preliminare In fase di sviluppo

Progettare un circuito combinatorio significa realizzare una rete di porte logiche il cui comportamento è conforme ad una descrizione data a parole ed in termini umani o, più formalmente, ad una tabella di verità.

Sono necessari tre passaggi:

Esempio 1 - Somma di tre bit

Vogliamo realizzare un circuito combinatorio che somma aritmeticamente tre numeri di un bit ciascuno:

Tabella di verità

Creiamo la tabella di verità che corrisponde alla descrizione:

Per scrivere velocemente tutte le otto combinazioni degli ingressi A, B e C sono possibili due tecniche:

L'ordine delle righe non ha particolare importanza, anche se è utile per evitare confusione, dimenticanze o righe duplicate (nota 1).

La tabella, non ancora completata:

A B C MSB LSB
0 0 0    
0 0 1    
0 1 0    
0 1 1    
1 0 0    
1 0 1    
1 1 0    
1 1 1    

Possiamo quindi scrivere il valore delle uscite, leggendo la descrizione data a parole. L'ultima colonna, la somma in decimale, è stata inserita solo per chiarezza:

A B C MSB LSB  
0 0 0 0 0 0
0 0 1 0 1 1
0 1 0 0 1 1
0 1 1 1 0 2
1 0 0 0 1 1
1 0 1 1 0 2
1 1 0 1 0 2
1 1 1 1 1 3

Se preferiamo, possiamo leggere la tabella precedente come costituita da due tabelle, ciascuna con una sola uscita:

A B C MSB
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

A B C LSB
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1

Espressioni algebriche - Prima forma canonica

Si definisce mintermine il prodotto (nota 3) delle variabili di ingresso prese in forma normale (A) se valgono 1, prese in forma negata (A) se valgono 0. A volte è indicato con la lettera m minuscola. La tabella seguente, relativa ad una rete con tre ingressi, mostra gli otto mintermini:

A B C m
0 0 0 A · B · C
0 0 1 A · B · C
0 1 0 A · B · C
0 1 1 A · B · C
1 0 0 A · B · C
1 0 1 A · B · C
1 1 0 A · B · C
1 1 1 A · B · C

Per il passaggio dalla tabella di verità all'espressione booleana occorre:

A B C MSB    
0 0 0 0    
0 0 1 0    
0 1 0 0    
0 1 1 1 A · B · C
1 0 0 0    
1 0 1 1 A · B · C
1 1 0 1 A · B · C
1 1 1 1 A · B · C

MSB = (A·B·C) + (A·B·C) + (A·B·C) + (A·B·C)

Tale espressione viene chiamata Prima Forma Canonica oppure Forma Canonica SP (somma di prodotti).

La Prima Forma Canonica è l'espressione duale della Seconda Forma Canonica (nota 2) e viceversa, ovviamente.

La scrittura della prima forma canonica relativa a LSB è lasciata come esercizio.

Espressioni algebriche - Seconda forma canonica

Si definisce maxtermine la somma (nota 3) delle variabili di ingresso prese in forma normale (A) se valgono 0, prese in forma negata (A) se valgono 1. A volte è indicato con la lettera M maiuscola. La tabella seguente, relativa ad una rete con tre ingressi, mostra gli otto maxtermini:

A B C M
0 0 0 A + B + C
0 0 1 A + B + C
0 1 0 A + B + C
0 1 1 A + B + C
1 0 0 A + B + C
1 0 1 A + B + C
1 1 0 A + B + C
1 1 1 A + B + C

Per il passaggio dalla tabella di verità all'espressione booleana occorre:

A B C MSB    
0 0 0 0 A + B + C
0 0 1 0 A + B + C
0 1 0 0 A + B + C
0 1 1 1    
1 0 0 0 A + B + C
1 0 1 1    
1 1 0 1    
1 1 1 1    

MSB = (A+B+C) · (A+B+C) · (A+B+C) · (A+B+C)

Tale espressione viene chiamata Seconda Forma Canonica oppure Forma Canonica PS (prodotto di somme).

La Seconda Forma Canonica è l'espressione duale della Prima Forma Canonica (nota 2) e viceversa, ovviamente.

La scrittura della seconda forma canonica relativa a LSB è lasciata come esercizio.

Rete logica

L'ultimo passaggio è il disegno della rete a partire da una qualunque delle due forme canoniche; in genere conviene scegliere la più piccola, se esiste. Nel caso di questo esempio è indifferente (il numero di 1 coincide con il numero di 0) e viene mostrata la rete completa ottenuta con la Prima Forma Canonica:

 

Esercizio 2

Ricavare la Seconda Forma Canonica di LSB del precedente Esempio 1

Esercizio 3

Disegnare lo schema logico di MSB e LSB del precedente esempio ottenuto a partire dalla Seconda Forma Canonica

Esercizio 4

Realizziamo un "votatore"

Osservazioni

L'uso delle forme canoniche ha diversi vantaggi:

Ha lo svantaggio importante che il circuito prodotto è piuttosto grande (molte porte con molti ingressi). Per esempio, anche intuitivamente, è facile verificare che il seguente circuito produce lo stesso risultato della prima parte della rete progettata al punto precedente pur usando meno porte ciascuna delle quali ha meno ingressi:

MSB in versione semplificata

Svariati sono i metodi che permettono di ottenere reti logiche ottimali, nessuno dei quali verrà qui spiegato:

Note

  1. Si tratta, ovviamente, della stessa tecnica già descritta per l'analisi delle reti
  2. Per forma duale si intende un'espressione in cui:
    • + e · sono scambiati
    • forma normale e forma negata sono scambiate
    • 0 e 1 sono scambiati
  3. In questo contesto con somma e prodotto ci si riferisce alle operazione booleane OR e AND


Pagina creata nel settemnre 2020. Ultima modifica: 26 settembre 2020


Licenza "Creative Commons" - Attribuzione-Condividi allo stesso modo 3.0 Unported


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima