Full-adder

Il circuito proposto consente di verificare la tabella della verità di un full-adder esaminando le forme d’onda di uscita dei bit RIPORTO  e SOMMA in funzione dei bit di ingresso A B e C. Tale tabella è quella che di seguito si riporta:

N

A

B

C

RIPORTO

SOMMA

0

0

0

0

0

0

1

0

0

1

0

1

2

0

1

0

0

1

3

0

1

1

1

0

4

1

0

0

0

1

5

1

0

1

1

0

6

1

1

0

1

0

7

1

1

1

1

1

  Le espressioni algebriche booleane in forma canonica per le due funzioni RIPORTO  e SOMMA, rappresentate sotto forma di mintermini e successivamente con l’applicazione del teorema di De Morgan, sono:

  Ricordando che il decodificatore è un generatore di mintermini, si possono realizzare le funzioni RIPORTO  e SOMMA di un full-adder utilizzando, appunto, un decodificatore e due porte OR. Se il decodificatore, come quello utilizzato in questa esercitazione, ha le uscite in logica negata, si potranno rappresentare le funzioni RIPORTO e SOMMA disponendo i mintermini negati interessati in NAND, grazie a De Morgan.

  Il decodificatore utilizzato, il 74154, possiede 4 ingressi A B C D  e di conseguenza presenta 16 uscite ognuna delle quali rappresenta un mintermine in logica negata.

Si osservi che avremmo potuto utilizzare un decoder con 3 ingressi ed 8 uscite, decoder più congeniale per il nostro esercizio. Completano il dispositivo due linee di abilitazione attive in logica negativa. In altre parole, collegando a tali linee un livello logico basso, si abilita il chip al funzionamento.

  Per la generazione delle 8 combinazioni si è fatto uso di un contatore asincrono a 4 bit 7493A. Questo circuito integrato è costituito da 4 flip-flop JK. Il primo, denominato A, non è collegato a nessun’altro; il suo ingresso di clock prende il nome di INPUT A.

Gli altri 3, denominati B C e D, sono collegati tra loro in modo da realizzare un contatore binario asincrono mod.8 ed hanno ingresso di clock, applicato al relativo piedino del flip-flop B, denominato INPUT B.

Per realizzare un contatore mod.16 (che conta da 0 a 15), è sufficiente applicare gli impulsi di clock all’ingresso INPUT A e collegare l’uscita QA del primo flip-flop all’ingresso di clock INPUT B dei flip-flop B C e D.

  All’ingresso di clock del contatore si applica un generatore di onde quadre digitale DigClock senza modificare i tempi inseriti che, pertanto, rimangono ai seguenti valori:

  OFFTIME=0.5us (durata del livello logico basso)

ONTIME=0.5us (durata del livello logico alto).

 

Fig.1 Full-adder con decodificatore e contatore binario per la generazione delle combinazioni di ingresso.

  Il funzionamento del circuito è il seguente.

Gli impulsi di clock applicati all’ingresso del contatore, inizialmente azzerato, portano le uscite QD QC QB QA dalla configurazione 0000 alla configurazione 1111 in 15 microsecondi incrementando la configurazione numerica ogni microsecondo (periodo del clock).

Tali uscite sono applicate alle linee D C B A del decodificatore. Le ultime tre sono quelle utilizzate nella tabella della verità del circuito sommatore.

  Si osservi che dopo l’ottavo impulso di clock il decodificatore attiva i mintermini negati da m8 a m15, indicati con Y8….Y15, non utilizzati nell’esercitazione.

  Dopo aver disegnato lo schema elettrico come in fig.1 si imposta il Setup dal menù Analysis e si attiva la voce Digital Setup in cui imponiamo la condizione iniziale di flip-flop tutti azzerati.

Successivamente si attiva il Setup Transient in cui imponiamo, come Final time, il valore 16us in modo da visualizzare tutte le combinazioni fornite dal contatore.

  Al termine del Setup si lancia la simulazione con F11 o Analysis/Simulate.

  Per interpretare il funzionamento del circuito conviene visualizzare il clock, le 4 uscite del contatore, le 8 uscite (quelle che servono a noi) del decodificatore e, finalmente, le linee di uscita RIPORTO e SOMMA come si mostra in fig.2.

 Fig.2 Forme d’onda del circuito utilizzato per verificare il funzionamento del full-adder.

 Utilizzando, infine, i cursori con il comando Tools/Cursor/Display, è possibile esaminare il funzionamento del circuito, combinazione per combinazione, spostando verso destra il cursore ed esaminando, sul lato sinistro, i valori assunti dalle linee visualizzate.

  Si noti che durante i secondi 8 impulsi di clock  il circuito non funziona perché risultano attivati i mintermini del decodificatore da Y8 a Y15 che non sono utilizzati dalle porte NAND 7420 impiegate nello schema logico.

Proposta di lavoro:

Scollegare l’uscita QD del contatore dall’ingresso D del decodificatore. Inserire sull’ingresso D del decodificatore il livello logico basso ( componente LO). In questo modo sono interessati ciclicamente solo i primi otto mintermini soddisfacendo pienamente le specifiche del sommatore.