sábado, 23 de noviembre de 2013

¿ Qué tanto sabemos ? Prueba lúdica: Mensaje encriptado

Solución:

Respuestas al test:  1.D     2.D     3.A     4.A     5.C     6.B     7.C     8.A     9.B     10.A     11.A
                              12.C     13.A     14.B     15.D     16.A     17.C


domingo, 29 de septiembre de 2013

¿ Qué tanto sabemos ? Prueba lúdica de lógica digital básica.

1. Piense en un número desde el 1 hasta el 63, sin decirlo ni escribirlo. Marque una X en la esquina superior      izquierda de cada carta en la cual se encuentra el número que ha pensado.
   
NÚMERO QUE USTED PENSÓ  SEÑALADO POR EL PROFESOR:     ....................

Explique cómo es posible que el profesor pueda "leer su mente"  y saber cual fue el número que Ud pensó.

Ayuda:  Sólo se requiere saber convertir del sistema numérico decimal a binario y viceversa. El 63 es el número mayor que se puede formar con 6 bits. Existe una carta por cada bit. 

2. Resuelva el siguiente crucigrama:




SOLUCIONES:

1.  Simplemente se suman los primeros números de cada carta en donde está el número.

29 por ejemplo equivale a  1 + 0 + 4 + 8 + 16 =  1 *  20 + 0 * 21   +  1* 22 + 1 * 23   +  1 *  24  +  0 *  25

El 29  está en las cartas que comienzan por 1, 4, 8 y 16. No está en las que comienzan por 2 y 32.

2. 

Nota del creador del blog:     Lúdica es aprender de una forma agradable y divertida.

miércoles, 26 de junio de 2013

Tutorial de Simulación en Altera

EJERCICIO: 1  Se dispone de un circuito integrado 7400 (cuatro compuertas Nand), y se requiere implementar una compuerta XOR. ¿ Cómo se hace la implementación ?

SOLUCIÓN:  Por Algebra de Boole:   (A xor B)´ =  A´ B´  +  A B,   de donde se puede obtener:
      A  xor  B  =  (A´ B´)´. ( A B )´  ( Aplicando el Teorema de De Morgan)
Luego:  A xor  B =  ( A + B ) ( A´ +  B´) ( Producto de Sumas)

Luego:   A  xor  B = A ( A' + B' ) +  B( A' + B' ) = A (AB)' + B(AB)' 

Implementamos el circuito con compuertas NAND utilizando el Altera Max  plus II:

Vamos a    File ...New ...

Se abre una ventana con los cuatro tipos de archivo con que se puede trabajar en Altera:

Elegimos el archivo del Editor Gráfico, cuya extensión es. gdf.    Damos OK en esta ventana, maximizamos y llamamos la compuerta Nand del integrado 7400, buscando que el archivo gdf que vamos a generar se ubique y se pueda guardar después  en la carpeta apropiada:
Si damos OK aparece la Nand en el editor gráfico.Podemos copiarla y pegarla para implementar el siguiente circuito con 4 compuertas:

Luego colocamos las entradas y salidas:  Las llamamos en el Editor Gráfico como INPUT y OUTPUT respectivamente.Editamos los nombres de Pines para que las entradas sean A y B y la salida sea XOR:

Salvamos este archivo con el nombre de xor4nand.gdf en la carpeta previamente seleccionada para este proyecto.
Luego sigue algo muy importante: asociar el archivo gdf al proyecto respectivo con el mismo nombre.


Para saber si todo va bien vemos la ruta donde está el archivo gdf y el proyecto en la carpeta donde estamos trabajando:
Al estar seguros que todo está correcto, salvamos y compilamos.

Luego  vamos a proceder a efectuar la simulación.Para ello vamos a MAX PLUS II y luego a Waveform Editor.
En el editor de Formas de Onda vamos a File y End Time fijamos un tiempo de 4 segundos.Luego en Options establecemos el ancho de grilla (grid size)   de 1 segundo. Damos click en hoja completa en la barra de herramientas de dibujo (Izquierda)
Luego introducimos los Nodos (Entradas y salidas del circuito). Para ello vamos a Node y luego al formato estandarizado de nodos (Enter Nodes from SNF...).
Se abre una ventana para adicionar  los Nodos...

Se da incialmente Click en List y luego con la flecha --> se seleccionan los Nodos. Se dá OK.para que las entradas y salidas se transfieran al Editor de formas de onda:
Se pueden ordenar las ondas, colocar por ejemplo, A encima de la B,  y dibujar los "ceros" y "unos" binarios en cada entrada.


Procedemos a salvar este archivo y a efectuar la simulación:


Damos OK para guardar el archivo SCF con las formas de onda:
Se verifica que efectivamente el circuito lógico con las 4 nand del integrado 7400 cumplen con la tabla de verdad de una compuerta XOR.


Se pueden agrupar las entradas A y B, y fijar sus valores en Binario.  


Dando  Click en la pirámide amarilla podemos observar lo que se ha trabajado hasta el momento:

Si damos Click podemos ir al archivo que se desee. Por ejemplo, demos click en xorcon4nand.gdf.
Al aparecer nuevamente el circuito lógico con las 4 nand demos ahora Click en Crear símbolo por defecto y Crear archivo incluido por defecto para que Altera  realice el símbolo esquemático  para nuestro archivo gdf con las 4 nand.

Si cerramos todo, y volvemos al editor gráfico podemos ahora observar que aparece nuestro archivo gdf.
 Al dar doble click sobre el símbolo esquemático debe aparecer el circuito lógico con las cuatro nand.

EJERCICIO 2 Se dispone de 3 circuitos integrados 74LS00 y se requiere implementar un circuito que convierta de Binario a Código GRAY para 4 bits. ¿Se puede efectuar dicha implementación ?

Solución:  Elaboramos una tabla de verdad con entradas en Binario  y Salidas en Código Gray:
                       
Elaborando Mapas de Karnaugh podemos llegar a las siguientes ecuaciones booleanas:
               G3 =  B3
               G2 =  B3 xor B2
               G1 =  B2 xor B1
               G0 =  B1 xor B0

Vamos ahora a Altera y en la misma carpeta del anterior ejercicio, creamos un nuevo archivo gráfico que salvamos con el nombre de conversor.gdf.



Lo compilamos y luego procedemos a efectuar la simulación, fijando el fin de tiempo en 16 segundos, y el tamaño de grilla en 1 segundo.
Agrupamos tanto Entradas como Salidas.
Por medio del contador (izquierda) fijamos en binario en las Entradas los valores desde 0000 hasta 1111.

Procedemos finalmente a Salvar y Simular:


Podemos comprobar por la Simulación que el circuito implementado obedece fielmente la tabla de verdad.
Luego si es posible con  los tres integrados 74LS00 implementar el circuito que convierta de binario a código Gray.  ¡Esa es la importancia de la Simulación. Saber si la implementación que se pretende efectuar verdaderamente va a funcionar !

lunes, 17 de junio de 2013

Evaluación final con Solución y Simulación en Altera (ALU)

SOLUCIÓN:

La implementación se hizo utilizando el Editor Esquemático del Altera como archivo GDF.
Para la simulación se usa el Editor de formas de Ondas. Se establece un Fin de tiempo de 8 segundos en File. En Options se fija un ancho de grilla de 1 segundo. Se da Pantalla Completa en el Icono respectivo a la izquierda.
La simulación para algunos valores tomados al azar es la siguiente:
Se puede verificar que se cumple con las condiciones especificadas para esta pequeña ALU.

sábado, 8 de junio de 2013

Diseño y simulación en Altera de Unidad Aritmético-Lógica (ALU)

La unidad aritmético lógica, también conocida como ALU(siglas en inglés de arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como  suma, resta,  etc.) y operaciones lógicas (OR, AND, XOR, etc), entre dos números binarios. Es parte fundamental de un microprocesador.

 Se recomienda consultar: http://es.wikipedia.org/wiki/Unidad_aritm%C3%A9tico_l%C3%B3gica

El método más simple y directo de diseñar un CIRCUITO LÖGICO de una ALU se muestra a continuación, tal como se plantea en el texto "Lógica Digital y diseño de Computadores" de Morris Mano para una etapa de 2 bits Ai y Bi.
EJERCICIO: Simular en ALTERA el Circuito Lógico indicado en la gráfica anterior.

El circuito debe repetirse n veces para un circuito lógico de n bits. Las cuatro compuertas generan las 4 operaciones lógicas OR, OR EXCLUSIVA, AND y NOT. Las 2 variables de selección en el Multiplexor seleccionan una de las 4 compuertas en la salida.

Al igual que el circuito lógico se puede diseñar un circuito  aritmético, en el cual además de las entradas Ai   y Bi debe tenerse en cuenta el acarreo de entrada Ci, y en su salida además de Fi, en este caso se agregaría  el acarreo  de salida Ci+1

Veamos la siguiente tabla de función para el circuito aritmético en una etapa:

S1       S0       Ci             Salida                              Descripción de la función realizada
0          0         0              Fi = Ai                               Transfiere Ai
0          0         1              Fi = Ai mas 1                     Incrementa Ai
0          1         0              Fi = Ai  mas Bi                   Suma Ai con Bi
0          1         1              Fi = Ai mas Bi mas 1          Suma Ai con Bi mas acarreo
1          0         0              Fi = Ai mas Bi´                   Suma Ai con el complemento de B
1          0         1              Fi = Ai mas Bi´ mas 1         Resta Ai menos Bi
1          1         0              Fi = Ai menos 1                  Decrementa Ai
1          1         1              Fi = Ai                                Transfiere Ai  

El diagrama para la unidad aritmética de una etapa es el siguiente:
El circuito lógico puede ser combinado en el circuito aritmético para producir una unidad lógica aritmética. Las variables de selección S1 y S0 pueden hacerse comunes a ambas secciones siempre y cuando se use una tercera variable de selección S2 para diferenciar entre los dos.

Las salidas de los circuitos lógicos y aritméticos de cada estado pasan por un multiplexor con la variable de
selección s2 . Cuando S2=0  se. selecciona la salida aritmética, pero cuando S2 = 1 se selecciona la salida lógica.

L
Al simular en Altera debemos obtener una sola caja tal como se muestra en la siguiente gráfica:
Luego se acoplan las 4 cajitas  para formar la ALU de 4 bits, tal como se muestra:
Se espera que el estimado lector  haya efectuado paso a paso la simulación de la ALU en Altera. Esto le permite una completa comprensión de este importante concepto de la Electrónica Digital.

En una forma similar a lo descrito, se ha diseñado una ALU comercial, el circuito integrado 74LS181, el cual estudiaremos a continuación, al simularlao en Altera. La mejor forma de estudiar un chip comercial antes de implementarlo en el protoboard es analizar su tabla de funcionamiento de acuerdo a su hoja de datos suministrada por el fabricante (Data Sheet)  y efectuar su simulación.

La ALU 74181 se puede trabajar con cualquiera de dos tablas de funcionamiento.Una tabla con los datos activos en nivel bajo y otra donde los datos son activos en nivel alto, tal como la que se muestra a continuación:



EJERCICIO: Simular en ALTERA el 74181 para verificar el comportamiento de las dos tablas.