Nombre de la practica: Practica 1- Iniciación al uso del simulador TkGate
Nombre del alumno: Rodriguez Chamorro Hugo Javier
Introducción.
En esta practica se abordara los principales bases para poder utilizar el simulador
TkGate de manera correcta, para realizar cada una de las prácticas de la materia de
sistemas con microprocesadores I. TkGate es un simulador de circuitos digitales el cual
fue escrito en C y FCL, utilizando la librería TK para la interfaz de usuario, que se
comparte como software libre a través de una licencia publica GPL. Es importante
mencionar que este simulador es capaz de soportar una gran variedad de elementos
de circuitos como compuertas lógicas, sumadores, multiplicadores, registros,
memorias, así como módulos abstractos que son establecidos por el usuario como las
ALUS o Unidades de Control. Asimismo, permite designar memorias a archivos de tipo
binario para poder simularlos.
El software TkGate tiene diversas características entre las cuales se encuentran el
diseño gráfico de circuitos, simulador lógico, elementos de circuitos incluidos y
herramientas de soporte para lenguaje ensamblador que admite originar código
utilizable por las memorias y en los circuitos a simular (López Martínez, 2016).
Desarrollo.
Creación del circuito en TkGate.
Para crear el circuito propuesto se fueron siguiendo los pasos del 1 al 29 en el software
TkGate, enseguida se muestra en la figura 1 el circuito lógico 1 resultante.
Figura 1: Circuito lógico 1 terminado
Para sacar la tabla de verdad del circuito de la figura 1 se sacó primero la expresión
algebraica de la salida, es decir S, la cual nos queda como sigue:
S ( A , B , C )= AB+ AC + BC
Luego se saco la suma de productos canonica de la función booleana S, utilizando
algunas propiedades del algebra booleana:
S ( A , B , C )= AB ( 1 ) + AC ( 1 ) +BC (1 ) Transparencia
¿ AB ( C +C )+ AC ( B+ B ) + BC ( A + A ) Complemento
¿ ABC + AB C + ACB + AC B+ BCA + BC A Distributividad
¿ ABC + AB C + ABC + A B C+ ABC + A BC Conmutatividad
¿ ABC + AB C + A B C + A BC Idempotencia
Entonces la suma de productos canonica de la expresión S en términos de minterminos
esta dada como:
S ( A , B , C )=m7 +m6 +m5+ m3
Por lo tanto, la tabla de verdad del circuito está dada como sigue:
Tabla 1
Entradas Salida
A B C S
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Simulación interactiva de nuestro circuito en TkGate.
A continuación se realizo la simulación del circuito de la figura 1 para cada una de las
combinaciones de
la tabla 1, tal
como se muestra
a continuación:
Figura 2: Simulación con las entradas A=0, B=0 y C=0 Figura 3: Simulación con las entradas A=0, B=0 y C=1
con salida S=0 con salida S=0
Figura 4: Simulación con las entradas A=0, B=1 y C=0 con salida S=0 Figura 5: Simulación con las entradas A=0, B=1 y C=1 con salida S=1
Figura 6: Simulación con las entradas A=1, B=0 y C=0 Figura 7: Simulación con las entradas A=1, B=0 y C=1
con salida S=0 con salida S=1
Figura 8: Simulación con las entradas A=1, B=1 y C=0 Figura 9: Simulación con las entradas A=1, B=1 y C=1 con
con salida S=1 salida S=1
Simulación dinámica de nuestro circuito en TkGate.
Para crear el circuito propuesto se fueron siguiendo los pasos del 1 al 25 en el software
TkGate, enseguida se muestra en la figura 2 el circuito lógico 2 resultante.
Figura 11: Simulación del circuito propuesto con relojes
A continuación, se muestra en la
figura 11 la simulación del
circuito de la figura 2 en el
oscilador de TkGate.
Luego se realizó un zoom a la
simulación con el propósito de
determinar el tiempo de
propagación de la respuesta de la salida de la primera compuerta AND (and1out) con
respecto a la entrada i1. En la figura 12 se ilustra este acercamiento para el tiempo de
la entrada i1.
Figura 12: Zoom de la simulación para el tiempo efectivo de la entrada i1
Figura 10: Circuito lógico 2 con relojes terminado
Con la ayuda de la figura 12 se determino el tiempo efectivo de la señal de entrada i1
para ello tenemos lo siguiente:
t offset =0 ns
∴ t ef (i 1)=0 ns+300 ns=300 ns
Enseguida se realizo un acercamiento adecuado a la simulación lo cual se muestra en
la figura 13, con el fin de sacar el tiempo efectivo de la señal de salida (and1out).
Con la ayuda de la figura 13 se
determino el tiempo efectivo
de la señal de salida and1out para ello tenemos lo siguiente:
t offset =6 ns
∴ t ef (¿1 out )=6 ns +300 ns=306 ns
Entonces el tiempo de propagación de la respuesta de la salida and1out con respecto a
la entrada i1 esta dado como:
t p=t ef ( ¿1 out )−t ef (i 1)=306 ns−300 ns=6 ns
Posteriormente se realizó un zoom a la simulación con el propósito de determinar el
tiempo de propagación de la respuesta de la salida de la compuerta OR (orout) con
respecto a la entrada i1. En la figura 14 se ilustra este acercamiento para el tiempo de
la entrada i0.
Figura 13: Zoom de la simulación para el tiempo efectivo de la
Figura 14: Zoom de la simulación
salidapara el tiempo efectivo de la entrada i0
and1out.
Con la ayuda de la figura 14 se determino el tiempo efectivo de la señal de entrada i0
para ello tenemos lo siguiente:
t offset =0 ns
∴ t ef (i 0) =0 ns+150 ns=150 ns
Enseguida se realizo un acercamiento adecuado a la simulación lo cual se muestra en
la figura 15, con el fin de sacar el tiempo efectivo de la señal de salida (orout).
Con la ayuda de la figura 15 se determino el tiempo efectivo de la señal de salida orout
para ello tenemos lo siguiente:
t offset =14 ns
∴ t ef (orout )=14 ns +150 ns=164 ns
Entonces el tiempo de propagación de la respuesta de la salida orout con respecto a la
entrada i0 esta dado como:
t p=t ef ( orout )−t ef (i 0 )=164 ns−150 ns=14 ns
Ejercicio.
A continuacion
1.-Ahora usted implementará un circuito con 4 entradas y 3 salidas. El circuito calculará
la suma en binario de dos números
de 2 bits cada uno. Es decir, de las
4 entradas, 2 de ellas
corresponderán a un número, y las
otras 2 entradas corresponderán
al segundo número.
A continuación se realizo la tabla
de verdad del sumador de dos
números binarios de 2 bit, para
ello se escogieron como entrada
las variables x 1 , x 0 , y 1 y0
, ,
donde x 1 , x 0 son las variables del
primer número binario de dos
Figura 15: Zoom de la simulación para el tiempo efectivo de la
salida orout.
bits y y 1 , y 0 son las variables del segundo numero binario de dos bits. En cuanto a la
salida se escogieron como variables h , a1 , a0 , donde h es el acarreo de la suma, a 1 es
el resultado de la suma de la segunda columna de esta y a 0 es el resultado de la
primera columna de la suma. En la tabla 2 se resume la tabla de verdad del sumador
mencionado.
Tabla 2
Entradas Salidas
x1 x0 y1 y0 h a1 a0
0 0 0 0 0 0 0
0 0 0 1 0 0 1
0 0 1 0 0 1 0
0 0 1 1 0 1 1
0 1 0 0 0 0 1
0 1 0 1 0 1 0
0 1 1 0 0 1 1
0 1 1 1 1 0 0
1 0 0 0 0 1 0
1 0 0 1 0 1 1
1 0 1 0 1 0 0
1 0 1 1 1 0 1
1 1 0 0 0 1 1
1 1 0 1 1 0 0
1 1 1 0 1 0 1
1 1 1 1 1 1 0
Para poder sacar los circuitos de cada salida del sumador de dos números binarios de
dos bits, se utilizo una herramienta de gran utilidad como lo son los mapas de
Karnaugh representando los minterminos de las funciones h , a1 y a 0.
Mapa de Karnaugh para la función h .
y 1 y 0 00 01 11 10
x1 x0
00
01 1
11 1 1 1
10 1 1
h ( x 1 , x 0 , y 1 , y 0 )=x 1 y 1+ x 1 x 0 y 0 + x 0 y 1 y 0
Mapa de Karnaugh para la función a 1.
y 1 y 0 00 01 11 10
x1 x0
00 1 1
01 1 1
11 1 1
10 1 1
a 1 ( x 1 , x 0 , y 1 , y 0 )=x 1 y 1 y 0 + x 1 x 0 y 1+ x1 x 0 y 1 + x 1 y 1 y 0 + x 1 x 0 y 1 y 0 + x 1 x 0 y 1 y 0
Mapa de Karnaugh para la función a 0.
y 1 y 0 00 01 11 10
x1 x0
00 1 1
01 1 1
11 1 1
10 1 1
a 1 ( x 1 , x 0 , y 1 , y 0 )=x 0 y 0 + x 0 y 0=x 0 ⨁ y 0
A continuación se muestra el diagrama del sumador de 2 numeros binarios de 2 bits terminado.
Figura 16: Diagrama del sumador de dos números binarios de 2 bits
Enseguida se realizo la simulación de las 4 primeras combinaciones de la tabla 2 para
el circuito de la figura 16, tal como se muestra a continuación:
Figura 17: Simulación con las entradas x1=0, x0=0, y1=0, y0=0 Figura 18: Simulación con las entradas x1=0, x0=0, y1=0, y0=1
con salidas h=0, a1=0, a0=0. con salidas h=0, a1=0, a0=1.
Figura 19: Simulación con las entradas x1=0, x0=0, y1=1, y0=0 Figura 20: Simulación con las entradas x1=0, x0=1, y1=0, y0=0
con salidas h=0, a1=1, a0=0. con salidas h=0, a1=0, a0=1.