Disseny Microelectrònic I. Pràctiques. Sessió 2: Millora de la XOR 1.- INTRODUCCIÓ L'objectiu d'aquesta sessió és proposar i simular un circuit que faci la funció lògica XOR de dues entrades amb menys transistors, i per tant menys àrea ocupada, que la porta XOR de la sessió anterior. Recordeu que la XOR ha de ser el comparador de fase del PLL digital. Més concretament l’objectiu és obtenir i simular una porta XOR amb un màxim de deu transistors MOS. Així s’introdueix un dels paràmetres de més rellevància en el disseny microelectrònic que és l’àrea ocupada per el circuit, directament relacionada amb el seu cost. 2.- TREBALL PREVI Abans de començar cal haver dissenyat a nivell de transistors el circuit. Una proposta interessant és fer una realització CMOS a partir de la següent expressió algebraica. A ⊕ B = A + B + AB Per trobar la realització a nivell de transistors d’una funció CMOS a partir de l’expressió podeu consultar l’apartat 1.10 al capítol 1del llibre de la bibliografia “Fundamentos de diseño microelectrónico” d’edicions UPC. L’expressió proposada resulta molt convenient donada la facilitat de realització de les expressions negades amb literals sense negar. De fet ens porta a pensar en una realització en dues etapes com la que es mostra a la figura: NOR NORAND De l'equació veiem que es pot obtenir una XOR amb una funció NOR de dues entrades i una altra funció CMOS de tres entrades que podríem batejar com NORAND. Noteu que només calen sis transistors per realitzar la NORAND. La divisió del bloc XOR en blocs més senzills lliga amb la idea de disseny jeràrquic ja presentada en la sessió anterior. 3.- SIMULACIONS Cal que modifiqueu els fitxers de la XOR de la sessió anterior o en genereu de nous, afegint a la llibreria lògica.lib dos nous blocs, un subcircuit NOR2, amb la NOR de dues entrades, i un subcircuit NORAND, que tindrà tres entrades. A més, com que una XOR és un element lògic susceptible de ser reutilitzat (encara que no és el cas en el PLL) és raonable tenir-lo disponible a la llibreria. Cal que afegiu també a logica.lib un subcircuit XOR2, que en aquest cas es composarà de dos subcircuits ja definits a la mateixa llibreria. Només cal que prengueu la precaució de que els subcircuits utilitzats estiguin descrits més amunt en el fitxer. Un cop modificada la llibreria, genereu el fitxer xor1.mod, que només contindrà una crida al subcircuit XOR2. Com que es tracta d’una XOR millorada que substitueix a la de la sessió anterior, useu-hi igualment noms d’elements i nodes (tret dels d’alimentació) que comencin per 2. Finalment prepareu un fitxer xor1.cir que permeti fer la mateixa simulació de la sessió 1 a la nova XOR. Mesureu els pitjors temps de pujada i baixada en la simulació. La comparació d’aquests temps amb els períodes corresponents a les freqüències de funcionament del VCO en el PLL complet ens han de permetre valorar la seva poca o molta influencia en el correcte funcionament del circuit. 4.- LLIURAMENT Cal que en acabar aquesta pràctica envieu un correu electrònic al professor amb assumpte “[DMI] Sessio 2 Cognoms_grup”. El missatge ha de contenir, en el cos, els valors mesurats per als pitjors temps de pujada i baixada, el temps que heu dedicat a fer aquesta sessió i els comentaris que us semblin convenients. A més cal que hi adjunteu un fitxer comprimit amb el resultat (gràfic) del treball previ, és a dir, el disseny de la XOR a nivell de transistors, una captura de pantalla que mostri els resultats de la simulació, i tots els fitxers (és a dir xor1.cir, xor1.mod, logica.lib i model) que permetin fer la simulació SPICE. 5.- ANNEX Aquest annex conté, amb permís dels autors, la part corresponent al disseny de funcions CMOS del llibre “Fundamentos de diseño microelectrónico” d’edicions UPC. 1.10 Reglas generales para la implementación de una función lógica estática en tecnología CMOS Las reglas generales de implementación de una función lógica CMOS estática son las siguientes: 1) Una función lógica se implementa en tecnología CMOS mediante dos redes de transistores interconectados: una red de transistores NMOS y una red de transistores PMOS. Ambas redes son duales si cuando una conduce la otra está en corte. Esto implica que una conexión serie en la red NMOS se traduce en una conexión paralelo en la red PMOS y viceversa. Vdd RED PMOS Entradas Función RED NMOS Figura 1.12. Esquema general de una función lógica implementada con tecnología CMOS 2) Si la función lógica tiene N entradas, éstas se conectan siempre a las entradas de dos transistores, uno de cada red. 3) La salida se toma de la salida de ambas redes conectadas. 4) La red PMOS proporciona los unos de la función F. Para aquellos valores de las entradas en los que la función F debe dar un uno lógico, la red PMOS conecta el nodo de alimentación con el nodo de salida. 5) La red NMOS realiza los ceros de la función F. Para aquellos valores de las entradas en los que la función F debe dar un cero lógico, la red NMOS conecta el nodo de salida a masa. El procedimiento que se emplea para la implementación de las dos redes puede ser el siguiente: IMPLEMENTACIÓN RED PMOS Realiza los unos de la función F. 1) Escribir una expresión de F en función de las entradas negadas, ya que los transistores PMOS conducen cuando tienen un cero lógico en la puerta. 2) Implementar la operaciones AND con estructuras (transistores) PMOS en serie. 3) Implementar las operaciones OR con estructuras (transistores) PMOS en paralelo. IMPLEMENTACIÓN RED NMOS Realiza los ceros de la función F. 4) Escribir la función F en relación con las entradas sin negar ya que los transistores NMOS conducen cuando tienen un uno lógico en la puerta. 5) Implementar la operaciones AND con estructuras (transistores) NMOS en serie. 6) Implementar las operaciones OR con estructuras (transistores) NMOS en paralelo. CONECTAR LAS DOS REDES 7) Cada entrada se conecta a la puerta de un transistor NMOS y a la puerta de un transistor PMOS. 8) La salida se toma del punto común que conecta las salidas de las dos redes. Ejercicio 1.8 Implementar el circuito que realiza la siguiente función : F = (A + B + C)D Solución En primer lugar expresamos F en función de las entradas negadas: F = (A + B + C)D = (A + B + C) + D = A ⋅ B ⋅ C + D La red PMOS implementada se muestra en la siguiente figura: Vdd A D B C F Figura 1.13. Circuito correspondiente a la red PMOS de la función F Ahora expresamos F en función de las entradas sin negar: F = ( A + B + C) D = ( A + B + C) D La red NMOS implementada se muestra en la siguiente figura: F D A B C Figura 1.14. Circuito correspondiente a la red NMOS de la función F Finalmente, el circuito completo queda así: Vdd A D B C F D A B C Figura 1.15. Circuito completo que implementa la función F en tecnología CMOS En la figura 1.15 se puede observar la dualidad serie-paralelo existente entre la red PMOS y la red NMOS. En la red PMOS los transistores de las entradas A, B y C están en serie, y en conjunto están en paralelo con el transistor de la entrada D. En cambio, en la red NMOS los transistores de las entradas A, B y C están en paralelo y, en conjunto, están en serie con el transistor de la entrada D.