Siguiendo razonamientos similares you se pueden definir muchas otras puertas lógicas, como por ejemplo, la puerta NOR. La puerta NOR solo es una puerta que la salida es 0, sí y solo sí, alguna de las entradas son 1. O la puerta NAND de 3, 4, o todas las entradas que queramos, que se pueden generalizar fácilmente, que es una puerta que saca una tensión 0 por su salida, sí y solo sí, todas las entradas estén a 1 voltio; estén en un 1 lógico. Otra puerta interesante que utilizaremos mucho, la puerta AND. La puerta AND dice, la tensión de salida es 1; saco un 1 por la salida, sí y solo sí todas las entradas están a 1. Fijaros que es el comportamiento complementario de la NAND. De hecho, la puerta NAND se llama así porque viene de la contracción de la NO-AND La puerta AND y la NO-AND son, son inversas. De hecho, cuando trabajemos con circuito, la puerta AND se construye como una puerta NAND seguida de un inversor. Más componentes, podemos definir la puerta OR que genera una salida 1, sí y solo sí al menos una de las entradas es 1. La puerta OR también, otra vez, se puede construir a partir de la puerta NOR más un inversor. O la puerta AND de 3, 4, o todas las entradas que queramos, que su comportamiento es: la salida es 1 sí y solo sí todas las entradas toman el valor 1. Todas estas puertas las iremos viendo más adelante, o sea que si ahora no conseguís recordarlas todas no preocuparos, no tiene ninguna importancia. Otros componentes básicos interesantes son los buffers, como este que os muestro aquí. cuya función es simplemente dejar pasar la información. Fijaros que la salida simplemente es siempre igual a la entrada. y, visto así, podíais pensar que es un dispositivo un poco tonto, ¿no? Lo que ocurre es que aquí hay unas consideraciones electrónicas en las que no vamos a entrar pero: el buffer transmite el valor de entrada a la salida, pero además la señal de salida tiene una potencia mayor, es decir, en el fondo el buffer es un amplificador. Y otro componente, muy similar a este primero, y que es muy útil en algunas ocasiones, es el llamado buffer tri-state. El buffer tri-state es básicamente un buffer que le hemos puesto una tercera señal, una tercera entrada, que es la señal de control. Si en esta señal de control ponemos una tensión alta, un 1 lógico, esto se comporta exactamente igual que el buffer que hemos visto antes, es decir, la tensión de entrada se transmite a la salida. Por el contrario, si en la línea de control ponemos una tensión baja, 0 voltios, simplemente la salida queda permanentemente en circuito abierto, queda eléctricamente desconectada del resto del circuito. Pues este es el funcionamiento del buffer tri-state. Y vamos ya a por el último módulo que vamos a explicar, que es la memoria ROM. La memoria ROM, vamos a dibujarlo aquí, es un dispositivo que permite guardar información en forma de filas las cuales reciben el nombre de <b>palabras</b>. Y cada una de estas palabras lleva asociada una <b>dirección</b>. Esta sería la palabra de dirección 0, la palabra de dirección 1, etc... la palabra de dirección m. De manera que por las entradas, lo que entra es una dirección, es decir, si por aquí entramos por ejemplo un 0010, el dos, lo que hace esta memoria es coger el contenido de la palabra de dirección 2 y volcarla a la salida. ¿De acuerdo? Físicamente una memoria ROM es un conjunto de cables horizontales y verticales, que en principio están aislados, no se tocan entre sí, pero que en algunos lugares quedan conectados por unos elementos de acoplo, elementos de acoplo que pueden ser resistencias, diodos, transistores, etc. De forma que para leer una palabra de memoria lo que se hace es mandar una corriente eléctrica, mandar una intensidad, por una de estas líneas horizontales. Esta corriente, en el caso de que la intersección entre la fila y la columna no haya ningún elemento de acoplo, evidentemente esta intensidad no puede llegar hasta la salida, pero en aquellos sitios donde hay un elemento de acoplo, esta intensidad puede llegar hasta la salida indicando que aquí había algo. ... Y este algo es lo que vamos a interpretar como un uno, es decir, esta primera palabra guarda la información 0, porque aquí no hay elemento de acoplo, 1 porque hay elemento de acoplo, ... 1001. Si llevando una corriente por esta línea aquí no veré ninguna corriente, aquí veré la corriente y esto lo interpretaré como un 1, aquí viene corriente, lo interpretaré como un 1, aquí y aquí no la veré, y aquí sí porque hay un elemento de acoplo y veré corriente, cosa que interpretaré como un 1. Es así como se obtiene la información de una palabra dada. Esto sería el símbolo de una memoria ROM. A las líneas de entrada se les suele llamar líneas de dirección porque en el fondo están, están definiendo la dirección de la palabra que queremos obtener. Y a las líneas de salida se les suele dar el nombre de líneas de datos. Una memoria ROM la podemos ver como un elemento del catálogo que para cada valor de la entrada, a 0 y a 1, genera una salida que coincide con la información que tiene guardada, tal como resume esta tabla. En general las memorias ROM se identifican por el número de palabras y por el tamaño de las palabras. En este caso concreto hemos puesto como ejemplo una memoria de 2<sup>2</sup>, 4 palabras, de 1, 2, 3, 4, 5, 6 bits por cada palabra. Este 2 pequeñito del exponente hace referencia que para direccionar 4 palabras yo necesito 2 señales de entrada, 2 líneas de dirección. En general hablaremos de memorias ROM de 2<sup>n</sup> palabras, de m bits por palabra, donde esta n significará el número de bits de entrada, el número de bits de la dirección. Bien, por último vamos al concepto más importante de la semana. ¿En qué consiste la síntesis de un sistema digital electrónico? Veamos. Por un lado tenemos una primera idea de la función que queremos que haga el sistema ¿no? Queremos diseñar un circuito que se encargue de controlar la caldera, etc, etc. Por otro lado, tenemos un catálogo de componentes, puertas lógicas, memoria ROM y muchas otras que iremos viendo a lo largo del curso. Sintetizar el sistema consiste en generar una descripción jerárquica en forma de bloques cada vez más sencillos de forma que los bloques finales puedan construirse directamente utilizando los componentes del catálogo. Y este va a ser el tema central de este curso. Bueno, pues con esto acabamos la primera semana. Como resumen, en este tema hemos estudiado qué entendemos por un sistema electrónico digital, hemos visto lo que significa la codificación binaria y hemos visto lo que significan electrónicamente los ceros y los unos, Hemos visto el concepto de catálogo de componentes y hemos estudiado algunos de ellos, y finalmente hemos logrado definir el objetivo de este curso, la <b>síntesis de sistemas electrónicos digitales</b>.