Estratto del documento

Relazione progetto Select Carry Adder

Andrea Dell’Osso mat. 209865, Mario Barbieri mat. 213540

November 28, 2021

Funzionamento generale

Il Carry Select Adder (CSA) è un particolare sommatore il cui vantaggio è l’elevata velocità di calcolo, rispetto ad un comune Ripple Carry Adder (RCA), a dispetto di un più alto costo a livello di porte logiche usate. Un CSA ad n bit è generalmente costituito da un RCA ad n/2 bit che effettua la somma degli n/2 bit meno significativi, mentre per gli n/2 bit più significativi la somma viene eseguita nel seguente modo: 2 RCA da n/2 bit, dei quali uno con il riporto in entrata fissato a ’0’, mentre l’altro ad ’1’.

Le somme di ogni bit entrano in un Multiplexer, che ne seleziona la somma finale con il segnale di controllo preso dal riporto in uscita del primo RCA precedentemente descritto.

L’elevata velocità di calcolo è dovuta al calcolo simultaneo della somma degli n/2 bit più significativi. Infatti il secondo blocco dei 2 RCA effettuano a priori la somma dei bit più significativi nei casi in cui il riporto sia ’0’ e ’1’. Il risultato corretto della somma e del riporto in uscita del CSA è determinato dal riporto in uscita del primo RCA.

Schema e segnali

S_OBUF[0]_inst_i_1 S_OBUF[0]_instI0 I O 0 S[16:0]I1 OB_IBUF[2]_inst OBUFI2I O2 LUT3IBUFcin_IBUF_instI Ocin S_OBUF[1]_inst_i_1IBUF B_IBUF[3]_inst I0I O3 S_OBUF[1]_instI1B_IBUF[0]_inst I O 1IBUF I2 OI O0B[15:0] OBUFI3IBUF I4 LUT5B_IBUF[1]_inst S_OBUF[3]_inst_i_2I O1 S_OBUF[2]_inst_i_1I0IBUF S_OBUF[2]_instI0I1 I O 2I1 OA_IBUF[0]_inst I2 O OBUFI2I O0A[15:0] I3 LUT3S_OBUF[5]_inst_i_2IBUF I4 I0LUT5 S_OBUF[3]_inst_i_1I1A_IBUF[1]_inst I0A_IBUF[2]_inst I2 OI O1 S_OBUF[3]_instI1I O2 I3 I O 3IBUF I2 OIBUF I4 OBUFI3LUT5A_IBUF[3]_inst I4I O3 LUT5IBUF S_OBUF[4]_inst_i_1 S_OBUF[4]_instI0 I O 4I1 O OBUFI2 LUT3S_OBUF[5]_inst_i_1I0 S_OBUF[5]_instI1 I O 5I2 O OBUFI3A_IBUF[4]_inst I4I O4 LUT5S_OBUF[7]_inst_i_2IBUF I0 S_OBUF[6]_inst_i_1I1A_IBUF[5]_inst S_OBUF[6]_instI0I2 OI O I O5 6I1 OI3IBUF OBUFI2I4 LUT3LUT5B_IBUF[4]_instI O4 S_OBUF[7]_inst_i_1IBUF A_IBUF[6]_inst I0I O6A_IBUF[8]_inst S_OBUF[7]_instI1B_IBUF[5]_instI O I O8 7IBUF I2 OI O5IBUF OBUFI3IBUF A_IBUF[7]_inst I4I O7A_IBUF[9]_inst LUT5I O9 IBUF S_OBUF[10]_inst_i_2IBUF S_OBUF[8]_inst_i_1I0 O S_OBUF[8]_instI0A_IBUF[10]_inst I1 I O 8I1 OI O10 LUT2 OBUFA_IBUF[13]_inst I2S_OBUF[12]_inst_i_2IBUF I O13 LUT3I0 cout_OBUF_inst_i_2IBUFB_IBUF[8]_inst I1 I0 S_OBUF[9]_inst_i_1I O8 I2 O I1 I0IBUF B_IBUF[6]_instI3 S_OBUF[9]_instI2 O I1I O6I4 I O 9B_IBUF[9]_inst I3 I2 OIBUFI5I O9 OBUFI4 I3LUT6 LUT5IBUF B_IBUF[7]_inst I4I O7 LUT5B_IBUF[10]_inst IBUF cout_OBUF_inst_i_3I O10 S_OBUF[12]_inst_i_3 S_OBUF[10]_inst_i_1I0IBUF I0 I0A_IBUF[14]_inst I1 S_OBUF[10]_instI1 I1I O14 I2 O I O 10I2 O I2 OIBUF I3 OBUFI3 I3I4I4 I4LUT5I5 I5LUT6 LUT6A_IBUF[15]_instS_OBUF[13]_inst_i_2 I O15 S_OBUF[11]_inst_i_1A_IBUF[11]_inst I0 IBUF I0I O11 I1 S_OBUF[11]_instI1IBUF I2 O I O 11I2 OI3 OBUFA_IBUF[12]_inst I3I4I O12 I4LUT5 LUT5IBUFB_IBUF[11]_inst S_OBUF[12]_inst_i_1I O11 I0IBUF S_OBUF[12]_instI1S_OBUF[13]_inst_i_3 cout_OBUF_inst_i_4 I O 12I0 I0 I2 O OBUFB_IBUF[12]_inst I1 I1 I3I O12 I2 O I2 O I4IBUF I3 I3 I5 LUT6I4 I4LUT5 LUT5 cout_OBUF_inst_i_1I0S_OBUF[12]_inst_i_4 cout_OBUF_instI1B_IBUF[13]_inst I0 O I O coutI2 OI O13 I1 OBUFI3LUT2IBUF I4 LUT5B_IBUF[14]_inst B_IBUF[15]_instI O14 I O15 S_OBUF[13]_inst_i_1IBUF IBUF I0 S_OBUF[13]_instI1 I O 13I2 O OBUFI3I4S_OBUF[14]_inst_i_2 LUT5I0I1 O S_OBUF[14]_inst_i_1I2 I0LUT3 S_OBUF[14]_instI1 I O 14I2 OS_OBUF[14]_inst_i_3 OBUFI3I0 I4I1 O LUT5I2 LUT3 S_OBUF[15]_inst_i_1I0 S_OBUF[15]_instI1 I O 15I2 O OBUFI3I4 LUT5S_OBUF[16]_inst_i_1I0 S_OBUF[16]_instI1 I O 16I2 O OBUFI3I4 LUT51

Componenti

I componenti utilizzati in questa implementazione del CSA, sono:

Full Adder

Il Full-Adder è un componente fondamentale la cui funzione è quella di eseguire la somma tra due numeri binari ad 1 bit. È caratterizzato da 3 ingressi (numero1, numero2, riporto in entrata) e due uscite (somma, riporto in uscita).

Di seguito riportiamo il codice VHDL del componente FA:

library IEEE ;
1 use IEEE . STD_LOGIC_1164 . ALL ;
23 entity FA is
4 Port ( A : in STD_LOGIC ;
5 B : in STD_LOGIC ;
6 cin : in STD_LOGIC ;
7 cout : out STD_LOGIC ;
8 S : out STD_LOGIC ) ;
9 end FA ;
1011 architecture Behavioral of FA is
1213 begin
14 cout <=( A and B ) or (( A xor B ) and cin ) ;
15 S <= A xor B xor cin ;
16 end Behavioral ;
17 2

Multiplexer 2:1 n

Il multiplexer è un circuito logico base, che consente di selezionare 1 tra 2 ingressi in base allo stato di n segnali di controllo. Nel caso del Multiplexer 2:1, i bit di ingresso sono 3: due possibili bit di scelta e uno di selezione/co

Anteprima
Vedrai una selezione di 4 pagine su 12
Relazione progetto Select Carry Adder Pag. 1 Relazione progetto Select Carry Adder Pag. 2
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Relazione progetto Select Carry Adder Pag. 6
Anteprima di 4 pagg. su 12.
Scarica il documento per vederlo tutto.
Relazione progetto Select Carry Adder Pag. 11
1 su 12
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/01 Elettronica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher andrea.dellosso.1 di informazioni apprese con la frequenza delle lezioni di Elettronica digitale e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università della Calabria o del prof Costanzo Sandra.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community