Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
CAPITOLO 1
SISTEMI DIGITALI E INFORMAZIONE
- centi (c) 10-2
- milli (m) 10-3
- micro (μ) 10-6
- nano (n) 10-9
- pico (p) 10-12
- femto (f) 10-15
- atto (a) 10-18
- kilo (k) 103
- mega (M) 106
- giga (G) 109
- tera (T) 1012
- peta (P) 1015
- exa (x) 1018
LIVELLI DI ASTRAZIONE
LEGGE DI MOORE
Il # di transistor aumenta del doppio ogni 2 anni.
Circuiti Logici
Connessione di circuiti logici (package) all'interno dei quali ci sono diversi dispositivi con funzionalità diverse (NOT, AND, OR ecc...)
Logics
- Logics Standard
- PLDs
- Software programma idee utente
- Gate Arrays
- Standard Cell
- Full Custom
- PLDs
- ASIC
Prog. Logic Device - SPLDs (PALs) - Prog. Array Logic
CPLDs
FPGAs - Field Prog. Gate Array
Disposizioni con Ripetizione
Esempio: 32 bit - 232 disposizioni
Valori Binari
Φ, 1 / High-Low ON-OFF ecc... I tre operatori logici che useremo "copiamo" questi valori (Φ, 1). L'algebra di Boole (Switching Algebra) lavora con valori Φ, 1.
Operatori Logici
- xy Z
- OR: z = x + y x y z 0 0 0 0 1 1 1 0 1 1 1 1
- AND: z = x . y x y z 0 0 0 0 1 0 1 0 0 1 1 1
- NOT: z̅ x = x̅
Interruttori Logici
Esempio:
- A * (B . C + D)
- 2 interruttori in serie (AND)
- 2 interruttori in parallelo (OR)
Funziona così anche con i transistor!
I.e. coeff. Ai può essere una delle possibili cifre.
In generale un numero in base r prevede r simboli diversi
(Ai x ri) + ( Aj x rj)
PARTE INTERA
PARTE FRAZIONARIA
SEMPLIO
CONVERSIONE DA "base 5" A "base 10"
(312.4)10 = (3 x 101 + 1 x 100 + 2 x 100 + 4 x 10-1)10
= (3 x 52+ 1 x 51+ 2 x 50+ 4 x 5-1)5
= (75 + 5 + 2 + 0.8) = (82.8)5
POTENZE SPECIALI di 2
- 210 (1.024) → kilo "k" kibi
- 220 (1.048.576) → M Mebi
- 230 (1.073.741.824) → Giga "G" gibi
- 240 (1.099.511.627.776) → Tera "T" tebi
NUMERI BINARI
Il sistema numerico binario (base 2) usa due simboli: 0 e 1.
È il sistema classico adottato nei sistemi digitali come i computer.
ESEMPIO
(1012) = (1 x 22 + 0 1 x 21 + 1 x 20) = (26)10
Ogni cifra è chiamata BIT
CODIFICA
: si associa ad un insieme di oggetti una codifica (in binario).
ESEMPIO:
Codifica di 4 elementi:
- in base 2 (BINARIO): (con 2 DIGITS)
m=2n=2
(00, 01, 10, 11)
codifica in binario
CODIFICA - "ONE HOT"
m=2 (con 4 DIGITS)m=4
(0001, 0010, 0100, 1000)
nella codifica "ONE HOT" c'è soltanto un 1 e più altri tutti 0
Spesso negli FPGA conviene ad usare codifiche "ONE HOT".
CODIFICA BCD (8, 4, 2, 1)
Associa semplicemente con 4 bit le valore della cifra decimale originaria
NOTA: un numero con m cifre nella codifica BCD richiede 4 * m BIT
ESEMPIO: 396 è rappresentato con 12 bit (4 * 3)ovvero 0011, 1000, 01003 9 6
In generale un numero, codificato in BCD necessita di un numero di BIT maggiore di quanto non sia richiesto dal suo equivalente in binario
ex: (485)10 = (0001 1000 0101)BCD = (101110001)2
Potrei anche sommare numeri codificati in BCD, ma devono ricadere nell'insieme stesso BCD (cioè MAX fino a 9)
ex: 1000 (8) + 0001 (1) = 1001 (9) vs
1000 (8) + 0010 (2) = 1010 (10) NO!!!
NOT – è indicato da un tratto “‾” sopra la variabile.
ESEMPIO: Z‾ = X (si legge Z‾ è uguale a X negato)
È anche chiamata COMPLEMENTARE proprio perché determina il risultato che è il opposto del valore considerato. Per esempio, se X = 1, X‾ = 0, e così via...
NOTA: NON CONFONDERE LA LOGICA BINARIA CON L'ARITMETICA BINARIA in quanto la logica binaria assume solo i valori 1 e 0, mentre l'aritmetica binaria può assumere qualsiasi valore.
ARITMETICA BINARIA: 1+1 = 10
LOGICA BINARIA: 1+1 = 1
Una TABELLA DI VERITÀ, per una data operazione, riporta per ognuna delle combinazioni delle variabili binarie considerate (operandi), il risultato dell'operazione.
AND
X Y Z = X∙Y 000 010 100 111OR
X Y Z = X+Y 000 011 101 111NOT
X Z = X‾ 01 10IMPLEMENTAZIONE DELLE FUNZIONI LOGICHE
Usando dei comuni SWITCH:
I° CASO
F = X̅Y̅Z + X̅Y̅Z̅ + XZ
II° CASO
F = X̅Y + XZ̅
più semplice!! a livello circuitale ma a livello logico stessa cosa.
In generale l'unico metodo manuale valido per la riduzione delle espressioni è basato su una procedura iterativa che utilizza le leggi fondamentali e le varie identità per la manipolazione delle espressioni booleane. Alcune possibilità sono riportate di seguito:
- x + xY = x(1 + Y) = x
- x(x + Y̅) = xY̅ + x = x
- x + x̅y = (x + x̅)(x + y) = x + y
- x(x + y) = x + xy̅ = x
- x(x + y̅)(x̅ + y) = x + x̅y = x
- x(x̅ + x̅y) = xx̅ + xy = xy
→ Sono i duali di 1, 2, 3 ottenute cambiando OR con AND e viceversa.
TEOREMA DEL CONSENSO
Per semplificare le espressioni booleane, qualche volta è utile usare anche il seguente teorema:
xY + XZ + x̅z = X̅Y + xZ
può essere ammesso perché è ridondante in quanto Y e Z già sono presenti nei primi due termini.
Consideriamo ora F̅ il complemento di F. In questo caso si ha:
F̅ = X ̅Y ̅Z + X ̅YZ ̅+ XY ̅Z ̅ = m₁ + m₃ + m₄ + m₆
SOM!
Somma di mintermini
Se si effettua il complemento di F̅ per ottenere F si ottiene:
F = mʹ₁ + mʹ₃ + mʹ₄ + mʹ₆ = m₁ʹ • mʃ₃ • ḿ₄ • m₆ʹ
POM!
Prodotto di maxtermini
Prodotto di maxtermini (POM)
Una funzione booleana può essere espressa anche come prodotto di maxtermini:
Prodotto logico (AND)
F(X, Y, Z) = ∏ M(1, 3, 4, 6)
Shorthand
Forma semplificata
Si consideri la funzione booleana:
E̅ = Y ̅ + X ̅Z̅
L'espressione NON è nella forma canonica di somma di minterm
Visualizzando la tabella nella pagina precedente si ottiene:
Ɛ(X, Y, Z) = Σm(0, 1, 2, 4, 5)
I mintermini per il completamento della funzione E sono dati da:
Ɛ(X, y, z) = Σm(3, 6, 7)
Nota Bene Non ti sbagliare
Ɛ = (A15 + A11)
Per ottenere bisogna negare entrambe le uscite!!!