Sei sulla pagina 1di 8

Circuiti integrati

Un circuito integrato una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati transistor e dunque porte logiche, che complessivamente realizzano uno o pi circuiti digitali

Il Livello Logico-Digitale
Blocchi funzionali combinatori

La piastrina di silicio di un IC ha solitamente dimensioni comprese tra:


5 5 mm e 1 1 cm (di rado superiore)

La piastrina di silicio integra i transistor, i collegamenti tra i transistor e i collegamenti con i morsetti di ingresso/uscita del chip

Su un singolo chip si possono integrare:


porte logiche sparse e indipendenti una o pi reti combinatorie, con funzioni definite una o pi reti sequenziali unit funzionali complesse: memoria, processore, unit di controllo di periferiche, e cos via
-2-

Famiglie di circuiti integrati


I circuiti integrati sono classificati in base alle loro dimensioni, cio al numero di porte logiche contenute:

Usi caratteristici
SSI: piccoli circuiti digitali di contorno a circuiti pi complessi (glue logic, logica di incollamento) MSI: circuiti digitali semplici, dotati di ununica funzione ben definita. Ad LSI: circuiti digitali complessi, dotati di funzionalit multiple, eventualmente programmabili. Ad es.: un intero insieme di op. aritmetiche
(addizione, sottrazione, moltiplicazione, divisione - ALU), memorie di piccole dimensioni, processori semplici

SSI (Small Scale Integrated): IC a scala di integrazione piccola, da 1 a 10 porte MSI (Medium Scale Integrated): IC a scala di integrazione media, da 10 a 100 porte LSI (Large Scale Integrated): IC a scala di integrazione grande, da 100 a 100.000 porte VLSI (Very Large Scale Integrated): IC a scala di integrazione molto grande, > 100.000 porte

es.:scambio di due o pi segnali, confronto di due numeri, addizione o sottrazione di due numeri

VLSI: circuiti digitali molto complessi o di grandi dimensioni, spesso programmabili. Ad es.: processori (dai microcontrollori ai processori di uso generale Pentium, SPARC, memorie, da qualche Kbyte in su, unit di controllo delle periferiche

Ogni famiglia ha degli usi caratteristici nei calcolatori e in generale nei dispositivi elettronici, che dipendono dalle sue dimensioni, cio dalla quantit di porte presenti nel circuito integrato stesso

Nessuno progetta un circuito integrato VLSI, ma anche LSI, trattandolo come ununica rete combinatoria o sequenziale (104-106 porte logiche) Per progettare circuiti digitali di tali dimensioni, si usano tecniche modulari, per scomporre il problema

-3-

-4-

Blocchi funzionali combinatori


Esiste una ben nota e ormai stabilizzata libreria di blocchi funzionali predefiniti di tipo combinatorio che contiene i blocchi per tutte le funzioni combinatorie di base

Multiplexer
Il blocco funzionale multiplexer ha:

Questi blocchi appartengono alle famiglie MSI e (alcuni di essi) LSI La libreria contiene anche blocchi funzionali di tipo sequenziale

n 1 ingressi di selezione 2n 2 ingressi dati unuscita

I tipici blocchi funzionali combinatori sono:


Multiplexer Demultiplexer Decoder (decodificatore) Confrontatore Shifter combinatorio
-5-

Half adder e Full adder Addizionatore a n bit ALU or, and, not e somma

Gli ingressi dati sono numerati a partire da 0: k = 0, 1, 2, , 2n 1 Se sugli ingressi di selezione presente il numero binario k, il kesimo ingresso dati viene inviato in uscita

-6-

Multiplexer a 1 ingresso di selezione (1)


1 ingresso di selezione, 2 ingressi dati, unuscita
I0
I0 D1 D1 I1 D2 D2 Sel (Ctrl) 0 1 OUT D1 D2

Multiplexer a 1 ingresso di selezione (2)


1 ingresso di selezione, 2 ingressi dati, unuscita

I1 0 0 1 1 0 0 1 1

0 0 0 0 1

Sel (Ctrl) 0 1 0 1 0 1 0 1

OUT 0 0 0 1 1 0 1 1

I0I1
Sel 00 0 0 0 1

01 0 1

11 1 1

10 1 0

Tabella della verit

1 1 1
-7-

Mappa di Karnaugh OUT=!SelI0 + SelI1


-8-

Sel I0 U I1 MUX

Multiplexer a 2 ingressi di selezione


ingressi di selezione MUX a 2 ingressi di selezione
S1

Multiplexer a 2 ingressi dati da k bit


Esempio: k=3
Ctrl
1
MUX
3 bit

Tabella delle verit


# riga S1 S0 I0 I1 I2 I3 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 X X X X X X X X 0 1 X X X X 0 1 X X 0 1 U 0 1 0 1 0 1 0 1
A
3

Ctrl

B
3

B(1) A(1) B(2) A(2) B(3) A(3)

B
3

ingressi dati

I0 I1 I2 I3 MUX

S0 U

uscita

2 3 4 5 6 7
-9-

0 M U 1 X 0 M U 1 X

OUT
3

OUT
3

X X X X

A
3

0 M U 1 X

X X X X X X

- 10 -

Demultiplexer
Il blocco funzionale demultiplexer ha:

Demultiplexer a 2 ingressi di selezione


Ingressi Selezione I D D D D S1 0 1 0 1 S2 0 0 1 1
S1 S2 O1 O2 I O3 O4 DMUX
- 11 - 12 -

Uscite O1 D 0 0 0 O2 0 D 0 0 O3 0 0 D 0 O4 0 0 0 D

n 1 ingressi di selezione 1 ingresso dati 2n 2 uscite

O 1 = !S 1 !S 2 I O 2 = S 1 !S 2 I

O 3 = !S 1 S 2 I O 4 = S 1S 2I

Le uscite sono numerate a partire da 0: k = 0, 1, 2, , 2n 1 Se sugli ingressi di selezione presente il numero binario k, lingresso dati viene inviato alla kesima uscita, le rimanenti sono a 0

S1 S2

00 I 10 01 11

O1 O2 O3 O4

Decodificatore (decoder)
Il blocco funzionale decodificatore ha:

Decodificatore
DEC a 2 ingressi
U0 U1 U2 U3

n 1 ingressi 2n 2 uscite

Le uscite sono numerate a partire da 0: k = 0, 1, 2, , 2n 1 Se sugli ingressi presente il numero binario k, la kesima uscita assume il valore 1 e le restanti uscite assumono il valore 0

ingressi

I1 I0 DEC

uscite

Tabella delle verit


# riga I1 I0 U0 0 0 0 1 1 0 1 0 1 1 0 0 0 U1 0 1 0 0 U2 0 0 1 0 U3 0 0 0 1

Decodificatore a 2 ingressi
- 13 - 14 -

1 2 3

Confrontatore (comparator)
Il blocco funzionale confrontatore ha:

Confrontatore
Tabella delle verit
# riga A1 A0 B1 B0 A<B A=B A>B 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0

due gruppi A e B di ingressi da n 1 bit ciascuno tre uscite: minoranza A < B, uguaglianza A = B e maggioranza A >B

COMP a 2 bit
A0

1 2 3

ingressi

A1 B0

A<B A=B

uscite

4 5 6 7 8 9 10

Il blocco confronta i due numeri binari A e B da n bit presenti sui due gruppi di ingressi, e attiva (a 1) luscita corrispondente allesito del confronto

A>B B1 COMP

Confrontatore di numeri a 2 bit


- 15 - 16 -

11 12 13 14 15

Shifter combinatorio
Il blocco funzionale shifter ha:

Shifter combinatorio 5 ingressi

n 1 ingressi 1 ingresso per il bit aggiunto a dx (scorrimento a sinistra) 1 ingresso per il bit aggiunto a sx (scorrimento a destra) 1 ingresso di controllo che comanda lo scorrimento a destra o a sinistra n 1 uscite scorrimento a dx: bit aggiunto a sx + ingressi shiftati di una posizione a dx (viene perso il bit meno significativo degli ingressi) scorrimento a sx: bit aggiunto a dx + ingressi shiftati di una posizione a sx (viene perso il bit pi significativo degli ingressi)

S/!D

Nuovo bit
scorrimento a destra

I4

I3

I2

I1

I0

Nuovo bit
scorrimento a sinistra

Uscite:

MUX

MUX

MUX

MUX

MUX

O4

O3

O2

O1

O0

Si noti che se si considerano gli ingressi come un valore numerico espresso in binario naturale

lo scorrimento a dx (con bit aggiunto a sx = 0) equivale ad una divisione per 2 lo scorrimento a sx (con bit aggiunto a dx = 0) equivale ad una moltiplicazione per 2
- 17 - 18 -

Blocchi aritmetici fondamentali


Rappresentazione dei numeri in binario naturale intero su k 1 bit

Half adder
HALF-ADDER A 0 0 1 1 B 0 1 0 1 Carry Sum 0 0 0 1 0 1 1 0
Carry

Addizionatore ad 1 bit

Sum = A B Carry = AB
A B

half adder full adder

Addizionatore a k bit in binario naturale intero Sottrattore a 1 bit Sottrattore a k bit in binario naturale intero

Sum

- 19 -

- 20 -

Full adder

Addizionatore a k bit in binario naturale intero


A
3 bit

B
3 bit

FULL ADDER A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Carry Sum Carry In Out 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1


A B
CarryIn

A2

B2

A1

B1

A0

B0

CarryOut

FULL ADDER
Cout2

Cin2

FULL ADDER

Cin1

HALF ADDER

CarryOut Sum

Cout1

Cout0

S2 SUM
3 bit

S1

S0

- 21 -

- 22 -

Sommatore intero a n bit


sommatore a 3 bit
A2 A1 A0 B2 B1 B0 Rusc S2 S1 Rin S0

Sottrattore a 1 bit e a k bit in binario naturale intero


ingressi addendi

Ricavare le tabelle delle verit, lespressione logica minima e la rete combinatoria che realizza

un semi-sottrattore a 1 bit un sottrattore completo a 1 bit

Disegnare la struttura modulare di un sottrattore a k bit


ingresso di riporto

uscita di riporto uscite di somma

Sommatore intero binario naturale a 3 bit


- 23 - 24 -

Sottrattore intero a n bit

Semplice esempio di progetto in stile funzionale


Si chiede di progettare un circuito digitale combinatorio, che abbia:

minuendo sottrattore a 3 bit

sottraendo

M2 M1 M0 S2 S1 S0 Pusc D2 D1 Pin D0

in ingresso due numeri interi binari naturali (positivi) A e B da n 1 bit ciascuno in ingresso un segnale di comando C in uscita un numero intero binario naturale Z da n 1 bit

prestito in uscita

prestito in ingresso differenza

Su Z deve presentarsi la somma A + B se C = 0, la differenza A B se C = 1

Sottrattore intero binario naturale a 3 bit


- 25 - 26 -

Schema logico della soluzione


Sommatore
A n X+Y X + B n Y XY X + n Y D n S C

Unit Aritmetico-Logica
Add Sub

comandi
Rin, Pin n A

ALU
C ALU U n n

I0 S MUX U I1 n Z

operandi esiti

risultato

Multiplatore Sottrattore

A=0 A<B A=B A>B Rusc Pusc

- 27 -

- 28 -

Unit Aritmetico-Logica
# riga 0 1 2 3 4 5 6 7 8 9 10 Comando Add Sub Pass A Pass B Zero Shift Left A Shift Right A Null Compare Multiply Divide Operazione somma A e B sottrae B da A A passa in uscita B passa in uscita annulla uscita A scorre a SX A scorre a DX Confronta A con 0 Confronta A con B prodotto di A e B divisione A / B
- 29 -

ALU and, not, or e somma (1)


Esito
F1 F0 B
HalfAdder

R A + B + Rin A B Pin A B 0 2A A/2 A < ,= ,> B AB A/B

riporto in uscita Rusc prestito in uscita Pusc bit pi significativo di A bit meno significativo di A A=0 A < B, A = B, A > B riporto in uscita divisione per 0 ?

F0F1 0 0 1 0 0 1 1 1

Operazione svolta A and B A or B !B A + B

CarryOut

Multiplexer Uscita

- 30 -

ALU and, not, or e somma (2)

Numeri relativi e numeri reali


I numeri relativi sono rappresentabili tramite sequenze di bit, proprio come i numeri interi naturali (sempre positivi)

La tecnica pi usata per rappresentare i numeri interi relativi il complemento a due (twos complement) Le ALU sono normalmente in grado di operare sia con numeri interi naturali sia con numeri interi relativi rappresentati in complemento a due

I numeri reali sono rappresentabili tramite sequenze di bit, proprio come i numeri interi

Schema logico di una ALU da 1 bit


- 31 -

Esiste uno standard internazionale per la rappresentazione binaria di numeri reali: lo standard IEEE 754 per la rappresentazione in virgola mobile Esistono ALU in grado di effettuare i calcoli aritmetici con i numeri reali, oltre che con i numeri interi
- 32 -

Potrebbero piacerti anche