Esercitazioni pratiche di elettronica/Logica Combinatoria/Sommare due parole di 4 bit: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Rdgmus (discussione | contributi)
Nessun oggetto della modifica
Rdgmus (discussione | contributi)
Nessun oggetto della modifica
Riga 18:
 
[[Image:sum4bit_2.jpg]]
 
Un '''BUS''' è un insieme di connessioni, '''NETS''', che hanno lo stesso nome ma indicizzate. Ad esempio il bus A[3:0], (è questa la sintassi da adoperare per definire un BUS), contiene al suo interno 4 NET che separatamente assumono i nomi '''A[0], A[1], A[2], A[3],''' e le quali possono essere estratte dal BUS stesso per essere collegate opportunamente tramite gli oggetti che nell'ISE vengono chiamati '''TAP'''.
 
'''NB:'''la NET che viene collegata al TAP deve essere rinominata in modo congruente con i nomi delle NETS contenute nel BUS dal quale il TAP sta estraendo la singola NET.
 
A proposito ancora della sintassi, A[3:0] mi dice che il '''BUS A'''
si estende ordinatamente a partire da A[3] fino ad A[0].
In modo equivalente da punto di vista elettronico, avremmo potuto chiamare il BUS A con il nome A[0:3] ottenendo lo stesso risultato, è solo una questione di abitudine. Io preferisco la prima soluzione dove la sintassi è:
 
'''NOME_DEL_BUS[MAX_INDEX:MIN_INDEX]'''
 
ma come ripeto ugualmente buona è la sintassi:
 
'''NOME_DEL_BUS[MIN_INDEX:MAX_INDEX]'''
 
***'''Riporto precedente alla cifra successiva'''
 
[[Image:sum4bit_3.jpg]]
 
 
Da questa immagine si vede come il riporto in uscita dalla somma della prima cifra, effettuata col primo sommatore, '''CYOUT''', viene inviato all'ingresso del sommatore per le cifre di peso successivo all'ingresso di riporto '''CYIN'''.
 
***'''Somma + Riporto'''
Line 27 ⟶ 44:
[[Image:sum4bit_4.jpg]]
 
Qui sono evidenziati il BUS somma, SUM[3:0] ed il riporto in uscita dall'ultimo sommatore.
 
**'''La piedinatura'''
 
Si effettua ora la piedinatura dello schema creando un nuovo file sorgente di tipo '''IMPLEMENTATION CONSTRAINTS FILE'''. Assegneremo il '''BUS A[3:0]''' a 4 switch ed il '''BUS B[3:0]''' a gli altri 4 switch rimanenti; per le uscite faremo in modo di inviare il '''BUS SUM[3:0]''' a 4 LED ed useremo un quinto LED per il riporto in uscita.
 
**'''L'implementazione e il test'''