next up previous
Next: Implementaci'on del cerrojo SR Up: Práctica 2. Simulación de Previous: C'omo puede realizarse la

Implementaci'on de la puerta NAND

La simulaci'on m'as b'asica que podemos imaginar de una puerta NAND es una funci'on que tiene dos argumentos de entrada y uno de salida. La salida se calcula computando la operaci'on AND de los dos argumentos de entrada y luego negando este resultado. Un c'odigo en C que realiza esto puede ser el siguiente:
void NAND(unsigned char in0,
          unsigned char in1,
          unsigned char *out) {
  *out = ~ (in0 & in1);
}

Notar que por el tipo de dato usado para almacenar un bit, son posibles hasta 256 valores diferentes para un estado l'ogico. Puesto que nuestro simulador es digital, s'olo usaremos los valores 0 y 255 para representar respectivamente el 0 y el 1 l'ogicos. Cualquier valor intermedio no tiene significado.

Sobre el uso de un tipo de datos de 8 bits para almacenar un bit se puede decir muchas cosas y la principal es que pr'acticamente 7/8 partes de la memoria usada para almacenar variables l'ogicas est'a desperdiciada. Efectivamente, 'esto es cierto cuando se est'a realizando una simulaci'on simplemente digital (que es nuestro caso). Sin embargo, pensando en una ejecuci'on lo m'as r'apida posible y en una implementaci'on c'omoda, es sin duda lo m'as adecuado. Adem'as, como m'as tarde veremos, el poder representar una se nal l'ogica con hasta 256 niveles de voltaje diferentes, nos posibilita la construcci'on de simuladores m'as reales que tengan en cuenta problemas como el fan-in y transiciones de reloj no ideales (con pendiente), sin m'as que mejorar los modelos usados para simular las puertas l'ogicas.


next up previous
Next: Implementaci'on del cerrojo SR Up: Práctica 2. Simulación de Previous: C'omo puede realizarse la
Vicente González Ruiz 2001-10-03