4.1 SÍNTESI DE FUNCIONS COMBINACIONALS AMB TRANSISTORS DE PAS I INVERSORS EXEMPLE: Síntesi de la funció Solució amb inversors: X + YZ amb transistors NMOS - Hem de transformar la funció per tal de que sigui una expressió negada: f (X,Y,Z) = X + Y Z= X (Y Z) = X (Y + Z) - El circuit NMOS que implementa aquesta funció serà: VCC Solució amb portes de pas: 1 F = X + YZ Y X - Inconvenient: Si X = 0 i YZ = 0, la sortida flota - Solució: hem de sintetitzar els zeros: F = X (YZ) = X (Y + Z) X Z F 1 F = X + YZ X Y Z Z Y Z 0 Si X = 1 F = 1 Si Y = 1 y Z = 1 F = 1 X Y - 1-1 - 2 -
2.6.2 MÒDUL LÒGIC UNIVERSAL (ULM) La síntesi de funcions combinacionals es pot generalitzar a través del Módul Lògic Universal Si tenim la següent expressió de suma de productes: Exemple: OR a + b = ab + ab + ab = ab + a(b + b) = ab + a = (a + a)(a + b) = a + b El bloc que permet sintetitzar les funcions es pot representar amb (NOTA: la sortida no és flotant!): G 0 f (a,b) = a bg + 0 + a bg1 + a bg 2 abg3 escollint de forma adecuada G i podem sisntetitzar qualsevol funció de 2 variables G 1 G 2 G 3 f(a,b) f(a,b) NOM G 0 G 1 G 2 G 3 a b AND 0 0 0 1 a+b OR 0 1 1 1 a b NOR 1 0 0 0 a + b NAND 1 1 1 0 a b + a b EXOR 0 1 1 0 a b + a b NEXOR 1 0 0 1 a b O mitjançant diagrama de Sticks: G 0 G 1 G 2 f(a,b) G 3 a b - 3 - - 4 -
Comentaris: o en diagrama de sticks: - Es pot generalitzar fàcilment a K entrades. - No es poden connectar gaires NMOS en serie ja que es degradaria molt el senyal. La solució per aquest problema es utilitzar portes de transmissió CMOS. - És una estructura molt regular. La realització més senzilla d un mòdul lògic universal es pot realitzar de la següent forma: on: f (a,b) = a f (1,b) + a f (0,b) = a g + a f (1,b) = f (a,b) si a= 1 f (0,b) = f (a,b) si a= 0 La implementació d aquest mòdul és: f(0,b) = g 0 f(1,b) = g 1 1 g 0 f(a,b) f(0,b) = g 0 f(1,b) = g 1 a Les possibilitats que tindrem són: f(a,b) NOM g 0 g 1 a b AND 0 b a+b OR b 1 a b NOR b 0 a + b NAND 1 b a b + a b EXOR b b a b + a b NEXOR b B El mòdul lògic per a 3 variables seria: f(a,b) f (a, b,c) = a b f (0,0,c) + a b f (0,1,c) + a b f (1,0,c) + abf (1,1,c) a La funció f pot valdre { 0, 1, c, c } - 5 - - 6 -
Exemple: Sintetitzar la següent funció f = x + y z SOLUCIÓ A: f = x + y z = x y f (1,1,z) + x y f (0,1,z) + x y f (1,0,z) + x y f (0,0,z) f (1,1, z) = 1 f (0,1, z) = 0 f (1,0, z) = 1 f (0,0, z) = z Llavors, f = x + y z = x y (1) + x y (0) + x y (1) + x y (z) = x (1) + x y (0) + x y(z) La xarxa de portes de pas que implementarà aquesta funció serà: (z) SOLUCIÓ B: f = x + y z = y z f (x,1,1) + y z f (x,0,1) + y z f (x,1,0) + y z f (x,0,0) f (x,1,1) = x f (x,0,1) = 1 f (x,1,0) = x f (x,0,0) = x Llavors, f = x + y z = yz(x) + yz(x) + yz(1) + yz(x) = = ( yz + yz + yz)(x) + yz(1) = (y+ y)( y+ z)(x) + yz(1) = (y+ z)(x) + yz(1) La xarxa de portes de pas que implementarà aquesta funció serà: (0) (1) f(x,y,z) (x) f(x,y,z) (1) x y y z - 7 - - 8 -
SOLUCIÓ C: f = x + y z = x z f (1, y,1) + x z f (1, y,0) + x z f (0, y,1) + f (1, y,1) = 1 f (1, y,0) = 1 f (0, y,1) = y f (0, y,0) = 0 Llavors, x z f (0, y,0) 2.7 PORTES CMOS AMB RELLOTGE 2.7.1 INTRODUCCIÓ Justificació a la incorporació de rellotge: A. Sincronització: - Senyals que segueixen diferents trajectòries adquireixen diferents retards produint hazards. Exemple: f = x + y z = x z (1) + x z (1) + x z (y) + x z (0) = (x z + x z ) (1) + x z (y) + x z (0) A senyals originals = x (1) + x z (y) + x z (0) B senyal retardat La xarxa de portes de pas que implementarà aquesta funció serà: Z hazard (0) (/y) (1) f(x,y,z) - El rellotge permet realitzar operacions sincronitzades i redueix l aparició de hazards B. En sistemes seqüencials, el rellotge defineix la successió d estats. x z C. La incorporació de rellotge permet realitzar estructures més compactes (menys transistors), amb menys consum i més velocitat (menys capacitats associades) - 9 - - 10 -
2.7.2 LÒGICA CMOS DINÀMICA AMB 1 FASE DE CLK - Exemple: Porta NAND de 2 entrades A B Out precàrrega avaluació - Funcionament: CLK = 0 : El transistor de precàrrega carrega a 1 la sortida CLK = 1 : Depenent del valor de les entrades la sortida es posa a 1 ó 0 - Avantatges: Es fan servir n + 2 transistors (n: número d entrades): reducció de l àrea en 50% aprox. Reducció de les capacitats: augment de la velocitat t LH millorat degut a la precàrrega Fase de pre-càrrega: CLK = 0 Out = 1 Fase d avaluació: CLK = 1 Out = AB - Inconvenients: t HL més alt: tenim un transistor nmos més. Les entrades no poden canviar quan CLK és 1. Si canvien, la sortida pot ser errònia per fenòmens de redistribució de càrrega No es poden fer connexions en cascada: a la figura següent es veuen dues portes NAND connectades en cascada; suposem que durant la fase d avaluació (CLK=1) Y ha de valer 0. La descàrrega de C 1 requereix un temps i, per tant, la segona porta NAND comença a avaluar-se amb un 1 enlloc d un 0 a la seva entrada IN C. Si l entrada IN D és un 1 la capacitat C 2 es pot descarregar i a la sortida tindrem un resultat erroni. - 11 - - 12 -
2.7.3 LÒGICA CLOCKED CMOS (C 2 MOS) - Aquesta lògica es va realitzar per disminuir el consum dinàmic de la lògica CMOS complementària: quan les entrades canvien la sortida es troba en alta impedància (CLK = 0) i no hi ha corrent entre V DD i GND. - Actualment, el consum a la lògica CMOS complementària s ha reduït molt i, per tant, la lógica C 2 MOS ja no s utilitza. - Avantatges: Reducció del consum dinàmic. És una porta tri-state - Inconvenients: Augment de l àrea del xip (més transistors). Augment dels retards degut als transistors de CLK Y Out Descàrrega de C1 / VCC Bloc PMOS Sortida errònia INPUTS OUT Bloc NMOS - 13 - - 14 -
- Funcionament: 2.7.4 LÒGICA DOMINÓ CLK = 1 : La sortida queda en alta impedància (HZ) i OUT = OUT (anterior) CLK = 0 : Depenent del valor de les entrades la sortida es posa a 1 ó 0 - Exemple: INVERSOR AMB LÒGICA C 2 MOS / In Out - L estructura i el funcionament són iguals que a la lògica CMOS dinàmica amb una fase rellotge, però afegint-hi un inversor a la sortida. - Aquest inversor permet fer connexions en cascada sense tenir errors a la sortida avaluació Sortida en HZ: Out = Out (anterior) Per reduir el consum dinàmic, els canvis a l entrada s han de produir quan és 1 - Inconvenients: Augment de l àrea del xip (s ha de ficar un inversor addicional per cada etapa). Augment dels retards degut a l inversor Tan sols es poden implementar estructures no inversores Les entrades sols poden variar a la fase de pre-càrrega. Si varien a la fase d avaluació poden sorgir problemes de redistribució de càrrega - 15 - - 16 -
2.7.5 LÒGICA NORA (NO-RACE) 2.7.6 ESTRATÈGIES DE RELLOTGE Hem vist com es realitzen funcions lògiques CMOS amb l ajut d un rellotge Ara veurem les diferents estratègies de rellotge utilitzades per circuits seqüencials DEFINICIONS SOBRE CIRCUITS SEQÜENCIALS La seva sortida és funció de l estat de les entrades i de l estat de les sortides anteriors El seu funcionament es controla mitjançant un o més senyals de rellotge. Cada senyal de rellotge s anomena fase La representació canònica d un sistema seqüencial és: - És una estructura dominó alternativa que permet fer connexions en cascada sense haver d incorporar l inversor. INPUTS LÒGICA LÒGICA COMBINACIONAL COMBINACIONAL OUTPUTS - El retard a la transició 1 0 a la sortida de la primera etapa (Y) no afecta perque els 1 no fan conduir els PMOS de la segona etapa i, per tant, no crean canvis a la sortida: MEMÒRIA MEMÒRIA - Inconvenients: Sistema més lent degut a la incorporació de transistors PMOS Necessitem rellotge amb dues fases (CLK i /CLK). Un sistema seqüencial rep inputs i produeix outputs. La diferència amb els circuits combinacionals és que si en un instant t apliquem una entrada x(t), la resposta z(t) dependrà de x(t) i dels estats anteriors, z(t-1). El resultat depèn de l estat present i de l estat passat. - 17 - - 18 -
Es defineix com màquina d estats finits el circuit seqüencial que té un nombre d estats possibles finit. Per a que el sistema funcioni correctament: EXEMPLE: SUMADOR DE DOS BITS A B SUMADOR SUMADOR MEMÒRIA MEMÒRIA C i Z i = A i + B i + C i-1 A. El retard de la lògica combinacional ha de ser més gran que el temps en que CLOCK = 1 (interruptor tancat), ja que, si no, s inicia un segon cicle abans d acabar el primer. Aquesta condició s anomena RACE CONDITION B. El retard de la lògica combinacional ha de ser menor que el període del rellotge, per tal de començar el segon cicle amb les variables a punt Es suma bit a bit i el resultat dependrà dels bits d entrada (A i i B i ) i del carry anterior (C i-1 ) Fa falta un element de memòria que guardi la variable C i. Aquest element pot ser un interruptor CLK W < Retard mínim bloc combinacional Interruptor obert Interruptor tancat A B SUMADOR SUMADOR C i Z i = A i + B i + C i-1 T > Retard màxim bloc combinacional El compliment d aquestes condicions de forma simultània és molt restrictiu. Amb la següent configuració es resol la RACE CONDITION: IN COMBINACIONAL COMBINACIONAL OUT E0 E1 E3 E4 E5 A i 0 0 1 1 0 B i 0 1 1 1 0 C i-1 0 0 1 1 Z i 0 1 0 1 1 C i 0 0 1 1 0-19 - CLK Aquest tipus d estratègia s anomena de 2-fases. L esquema anterior funciona mentre CLK i /CLK siguin exactament complementaris. Un retard entre ells degut als - 20 - /CLK
diferents camins recorreguts pels senyals condueix a un solapament entre rellotges anomenat CLOCK SKEW: CLK /CLK δ Durant el temps δ els dos transistors estàn conduint i es pot produir la RACE CONDITION Pero solucionar el problema del CLOCK SKEW es fa servir l estratègia PSEUDO 2-FASES φ1 φ2 A B C D Simulació SPICE del circuit Els retards entre clocks B i D han d assegurar que no hi haurà cap solapament entre polsos. A la figura següent es mostra un circuit que genera, a partir d un senyal quadrat, els senyals φ1 i φ2 i el resultat de la seva simulació SPICE - 21 - - 22 -