NANDNOR A BA NAND B falso vero falso vero vero vero falso vero falso A BA NOR B falso vero falso vero falso vero falso falso vero falso RA B RA B
AND OR NOT
bit cicloresetflipABoutput Memoria (volatile) cicloresetflipABoutput 000??? cicloresetflipABoutput 000??? 1?1? cicloresetflipABoutput 000??? 100?1? 2?1? cicloresetflipABoutput 000??? 100?1? 210?1? 3?0? cicloresetflipABoutput 000??? 100?1? 210?1? 310?0? 4? cicloresetflipABoutput 000??? 100?1? 210?1? 310?0? 400? cicloresetflipABoutput 000??? 100?1? 210?1? 310?0? 400? cicloresetflipABoutput cicloresetflipABoutput cicloresetflipABoutput cicloresetflipABoutput cicloresetflipABoutput cicloresetflipABoutput 000??? 100?1? 210?1? 310?0? 400? cicloresetflipABoutput cicloresetflipABoutput
bit cicloresetflipABoutput cicloresetflipABoutput cicloresetflipABoutput cicloresetflipABoutput cicloresetflipABoutput cicloresetflipABoutput cicloresetflipABoutput
Circuiti aritmetici Rappresentazione binaria di un intero: = 1· · · ·2 0 = = 45 Somma: Riporto: =
Vogliamo un circuito che con input due bit corrispondenti ed il riporto precedente calcola la loro somma ed il nuovo riporto. yx S R R' ADD
La somma S è 1 se tutti e tre i bit in input sono 1 oppure solo uno di essi è 1. Questo si esprime con la formula logica: S = {[(X AND Y) AND R] OR [X AND (Y NOR R)]} OR {[Y AND (X NOR R)] OR [R AND (X NOR Y)]} Disegnare il circuito corrispondente.
Il nuovo riporto R' è 1 se almeno due bit in input sono 1. Questo si esprime con la formula logica: R' = [(X AND Y) OR (X AND R)] OR (Y AND R) Disegnare il circuito corrispondente.
Componendo 6 circuiti ADD si ottiene il circuito x0x0 0 ADD R y0y0 s0s0 x1x1 R y1y1 s1s1 x2x2 R y2y2 s2s2 x3x3 R y3y3 s3s3 x4x4 R y4y4 s4s4 x5x5 R y5y5 s5s5 Che calcola la somma di due numeri di 6 bit