Universidad de El Salvador

Facultad de Ingeniería y Arquitectura
Escuela de Ingeniería Eléctrica


GUIA #2:
“CONVERTIDOR DE CODIGOS CON COMPUERTAS BASICAS”

SISTEMAS DIGITALES I

Instructores:




















San Salvador, ciudad universitaria 30 de abril de 2014
Índice.
Pag.
Introducción …………………………………………………………………………. 1


Objetivos ……………………………………………………….……………………….2


Marco teórico…………….………………………………………………………….3


Desarrollo de circuitos ………………………………………………………....4-16


Resultado de investigación………………………………………………..…..17


Observaciones ..………………………………………………………………..…..18


Conclusiones.....……………………………………………………………….…….19


Bibliografía......……………………………………………………………………….20




1 SDI-115
INTRODUCCION.
En la tarea anterior se trabajo en la introducción a los lenguajes VHDL como una
herramienta para el diseño de circuitos, más sin embargo debido a que en estos circuitos
diseñados en forma de códigos VHDL sólo se pueden obtener salidas bajo
representaciones graficas que si bien es cierto nos da una idea sobre el buen
funcionamiento o no del circuito creado, pero en ocasiones no basta con eso, en
ocasiones surge la necesidad de interactuar con el circuito mediante interruptores,
pulsadores y hasta pantallas LED, basados en este hecho, el software VHDL nos brinda la
oportunidad de trabajar en simultaneo con otras herramientas o software’s para cubrir
con estas carencias, en este trabajo nos limitaremos a trabajar con TINA que es uno de la
variedad de software´s que existen para el diseño y simulación de circuitos
En el presente trabajo con el afán descubrir y explotar esta potente herramienta llamada
TINA para el diseño de circuitos, se nos pide desarrollar dos convertidores de códigos BCD
en uno de ellos se nos pide mostrar el resultado en un display de 7 segmentos, para lo
cual crearemos los códigos correspondientes en VHDL para posteriormente crear el
elemento o circuito en TINA.

2 SDI-115

OBJETIVOS.
GENERAL.
-Introducirnos al uso de TINA como una potente herramienta para la simulación y
verificación del buen funcionamiento de los códigos escritos en VHDL.
ESPECIFICOS.
-Explorar y conocer todas las herramientas que nos ofrece TINA
-Aprender a diseñar circuitos mediante compuertas lógicas y de más herramientas que
nos brinda el uso de TINA.
-Desarrollar un convertidor de códigos BCD en TINA.






































3 SDI-115
MARCO TEORICO.
TINA 8 que es la versión con la que se hemos trabajado para realizar este trabajo es una
herramienta potente y accesible que permite la simulación de circuitos, hacer pruebas en
tiempo real de señales analógicas, digitales, VHDL. En sus circuitos puede mezclar
libremente cualquier análogo o componentes digitales de TINA, incluyendo
microcontroladores (MCUs) y macros con especias o contenido VHDL.TINA analizará las
partes analógicas en analógico, las partes digitales en digital, y creará automáticamente
las interfaces entre los componentes. Esto asegura la sincronización y convergencia rápida
Los circuitos TINA pueden contener bloques HDL editables desde las bibliotecas de TINA u
otros componentes HDL creados o descargados de internet. TINA compila HDL en código
máquina muy eficiente para la optimización de la velocidad. Se pueden combinar
libremente HDL y Especias macros y los componentes del esquema TINA. También puede
editar la fuente HDL de cualquier componente de HDL luego simular y ver el resultado al
instante. Con el construido en el depurador de HDL se puede ejecutar el código HDL paso
a paso, añadir puntos de ruptura, watchpoints, muestran información variable y mucho
más. Además de las grandes bibliotecas de componentes de TINA, puede crear nuevos
componentes de TINA desde HDL subcircuito.
TINA tiene una amplia capacidad de procesamiento que le permite dar formato a los
resultados de la manera que usted desee. Posee instrumentos virtuales que le permiten
seleccionar las formas de onda de entrada, el circuito, los nodos, las tensiones, las
corrientes, los componentes deseados, etc. Es así como este software permite representar
circuitos eléctricos de una manera sencilla y rápida, lo que permite analizar los resultados
antes de haber construido el circuito en el laboratorio
Dentro de los diferentes análisis que ofrece TINA se encuentran: Análisis DC (corriente
continua). Análisis AC (corriente alterna). Respuesta en el tiempo (Transient). Respuesta
en frecuencia. Análisis de ruido. Punto de operación.
Una característica única de TINA es que se puede llevar su circuito a la vida con el
hardware TINALab II controlado USB opcional, que convierte el ordenador en un potente y
multifuncional T & M instrumento (Más sin embargo en este trabajo nos limitaremos al
estudio simplemente de TINA). TINA también incluye librerías con una gran variedad de
componentes tales como:
- Componentes pasivos: resistencias, bobinas, potenciómetros, condensadores, diodos
etc.
- Componentes activos: transistores, amplificadores operacionales, entre otros.
- Fuentes: de corriente, de tensión, generadores de corriente y de tensión, fuentes
controladas, fuentes de pulsos digitales etc.
- compuertas: AND, OR, NAND, NOR, XOR.
4 SDI-115
Desarrollo de los circuitos:
Problema 1:
Desarrollar y simular un convertidor de código 8421 a 7 segmentos utilizando TINA como
simulador y un display de 7 segmentos de la siguiente forma:


El convertidor tendrá en la entrada sólo códigos válidos del 8421 y deberá ser creado
utilizando el código VHDL para crear el elemento en TINA, no se podrá utilizar un
decodificador ya existente en TINA, estrictamente utilizar solo compuertas básicas. El
display 7 segmentos será el que se encuentra disponible en TINA. Las entradas A, B, C y D
serán generadas con switches que ya se encuentran en TINA e irán conectados a tierra o
Vcc (5V). El modelo de switch a utilizar queda a opción del estudiante. En el ejemplo se
mostro la opción más sencilla.
1) se comenzó investigando el comportamiento del display en tina de la siguiente manera,
al abrir la ventana de dialogo siguiente del display y cliquear el botón Help (ayuda) se abre
las descripción completa del elemento en este caso el display.





















5 SDI-115



Se puede observar la configuración que lleva el display y se prosigue a la construcción de
la tabla de verdad para este problema.

2) Construcción de la tabla de verdad, la tabla de verdad se describe de una manera
sencilla puesto que el código BDC a utilizar para mostrar en el display es 8421 se hace
coincidir las variables de salida de manera que formen y activen el segmento del display
deseado por ejemplo si se desea formar el 2 que en BCD seria 0010 entonces en las salidas
de la tabla se coloca 1 y las siguiente variables a, b, g, e y d de igual manara para los
demás.


8 4 2 1


A B C D a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 1 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 1 0 1 1
10 1 0 1 0 0 0 0 0 0 0 0
11 1 0 1 1 0 0 0 0 0 0 0
12 1 1 0 0 0 0 0 0 0 0 0
13 1 1 0 1 0 0 0 0 0 0 0
14 1 1 1 0 0 0 0 0 0 0 0
15 1 1 1 1 0 0 0 0 0 0 0

Con esto se obtiene las ecuaciones siguientes
a=∑m (0,2,3,5-9)
b=∑m(0-4,7-9)
c=∑m(0,1,3-9)
d=∑m(0,2,3,5,6,8,9)
e=∑m(0,2,6,8)
f=∑m(0,4,-6,8,9)
g=∑m(2-6,8,9)
6 SDI-115

3) ya con las ecuaciones se puede obtener la mínima expresión usando mapas K.
El mapa y la expresión para a:














Para b:

















Para c: para f:
7 SDI-115

Para d: finalmente g:

Para e:




















8 SDI-115

3) ya con las ecuaciones la tabla se puede comenzar a trabajar en Tina y la construcción
del circuito el circuito no se mostrara completamente en esta parte del informe por
razones que se explicaran en las observaciones.
Una corrida para 7 recordando que A mantiene la cifra mas significativa entonces se tiene
0111



De igual manera ahora se hace 0101 y su equivalente en decimal 5 mostrado en el display









9 SDI-115

4) como se observa en las imágenes anteriores solo se necesito de 3 códigos vhdl para
lograr el funcionamiento del circuito estos son de las compuertas AND OR y NOT
compuerta AND construida para 4 variables.

















Compuerta OR para 5 variables.













Y la típica compuerta NOT












10 SDI-115
Problema 2:

Desarrollar un convertidor de códigos BCD: 2421, 5421, 7421 y Exceso3, todos a el código
BCD 8421; estrictamente utilizar solo compuertas básicas, serán 6 entradas, las primeras 2
Entradas, A Y B serán de control, es decir, 00=7421 a 8421, 01= Exceso 3 a 8421, 10=2421
a 8421 y 11= 5421 a 8421, y 4 entradas las cuales serán el código BCD que se convertirán;
y las salidas serán las 4 del código 8421, deberá ser creado utilizando el código VHDL para
crear el elemento en TINA, las entradas serán generadas; en las salidas no validas de los
códigos BCD se rellenaran con 0. Las entradas A, B, C, D, E y F serán generadas con
switches que ya se encuentran en TINA e irán conectados a tierra o Vcc (5V). El modelo de
switch a utilizar queda a opción del estudiante.

1) primero identificaremos los códigos BCD validos y se extrae su equivalente a 8421de la
vista de la siguiente tabla

8 4 2 1 7 4 2 1 Exc-3 2 4 2 1 5 4 2 1
0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1
3 0 0 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0
5 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0
6 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1
7 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1
8 1 0 0 0 1 0 0 1 1 0 1 1 1 1 1 0 1 0 1 1
9 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 1 0 1 0

2) A partir de acá ya se puede construir la tabla de verdad con las variable de control que
indique como se dijo que 00=7421, 01=Exc-3, 10=2421 y 11=5421

A B C D E F w x y z
0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 1
2 0 0 0 0 1 0 0 0 1 0
3 0 0 0 0 1 1 0 0 1 1
4 0 0 0 1 0 0 0 1 0 0
5 0 0 0 1 0 1 0 1 0 1
6 0 0 0 1 1 0 0 1 1 0
7 0 0 0 1 1 1 0 0 0 0
8 0 0 1 0 0 0 0 1 1 1
9 0 0 1 0 0 1 1 0 0 0
10 0 0 1 0 1 0 1 0 0 1
11 0 0 1 0 1 1 0 0 0 0
12 0 0 1 1 0 0 0 0 0 0
13 0 0 1 1 0 1 0 0 0 0
14 0 0 1 1 1 0 0 0 0 0
15 0 0 1 1 1 1 0 0 0 0
11 SDI-115
16 0 1 0 0 0 0 0 0 0 0
17 0 1 0 0 0 1 0 0 0 0
18 0 1 0 0 1 0 0 0 0 0
19 0 1 0 0 1 1 0 0 0 0
20 0 1 0 1 0 0 0 0 0 1
21 0 1 0 1 0 1 0 0 1 0
22 0 1 0 1 1 0 0 0 1 1
23 0 1 0 1 1 1 0 1 0 0
24 0 1 1 0 0 0 0 1 0 1
25 0 1 1 0 0 1 0 1 1 0
26 0 1 1 0 1 0 0 1 1 1
27 0 1 1 0 1 1 1 0 0 0
28 0 1 1 1 0 0 1 0 0 1
29 0 1 1 1 0 1 0 0 0 0
30 0 1 1 1 1 0 0 0 0 0
31 0 1 1 1 1 1 0 0 0 0
32 1 0 0 0 0 0 0 0 0 0
33 1 0 0 0 0 1 0 0 0 1
34 1 0 0 0 1 0 0 0 1 0
35 1 0 0 0 1 1 0 0 1 1
36 1 0 0 1 0 0 0 1 0 0
37 1 0 0 1 0 1 0 0 0 0
38 1 0 0 1 1 0 0 0 0 0
39 1 0 0 1 1 1 0 0 0 0
40 1 0 1 0 0 0 0 0 0 0
41 1 0 1 0 0 1 0 0 0 0
42 1 0 1 0 1 0 0 0 0 0
43 1 0 1 0 1 1 0 1 0 1
44 1 0 1 1 0 0 0 1 1 0
45 1 0 1 1 0 1 0 1 1 1
46 1 0 1 1 1 0 1 0 0 0
47 1 0 1 1 1 1 1 0 0 1
48 1 1 0 0 0 0 0 0 0 0
49 1 1 0 0 0 1 0 0 0 1
50 1 1 0 0 1 0 0 0 1 0
51 1 1 0 0 1 1 0 0 1 1
52 1 1 0 1 0 0 0 1 0 0
53 1 1 0 1 0 1 0 0 0 0
54 1 1 0 1 1 0 0 0 0 0
55 1 1 0 1 1 1 0 0 0 0
56 1 1 1 0 0 0 0 1 0 1
57 1 1 1 0 0 1 0 1 1 0
58 1 1 1 0 1 0 0 1 1 1
59 1 1 1 0 1 1 1 0 0 0
60 1 1 1 1 0 0 1 0 0 1
12 SDI-115
61 1 1 1 1 0 1 0 0 0 0
62 1 1 1 1 1 0 0 0 0 0
63 1 1 1 1 1 1 0 0 0 0

NOTA: Las partes en gris muestran los códigos que no son valido.
3) A partir de la tabla anterior se obtienen las ecuaciones de los mintérminos siguientes
w=∑m(9,10,27,28,46,47,59,60)
x=∑m(4-6,8,23-26,36,43-45,52,56-58)
y=∑m(2,3,6,8,21,22,25,26,34,35,44,45,50,51,57,58)
z=∑m(1,3,5,8,10,20,22,24,26,28,33,35,43,45,47,49,51,56,58,60)

Ya con esto podemos pasar a formar o crear nuestros mapas K.
Para la variable w:




















W= + + + +












13 SDI-115

Para x:

X= + + + + + + + +
+ +

Para y:


















Y=



14 SDI-115

Finalmente para z:

Z=


4) Ahora se mostrara unas capturas del circuito desarrollado en Tina.
Esta primer imagen nos muestra un código 7421 ya que A=0 B=0 el código es 1000 y su
equivalente en 8421 se muestra a la salida 0111 esto en decimal es 7























15 SDI-115


Ahora se muestra de Exc-3 el código 0111 y su equivalente en 8421 en la salida es 0100
que en decimal es 4.

Para 5421 se utilizo de prueba 1010 y en la salida del 8241 se muestra 0111 que en
decimal es 7.
























16 SDI-115

5) los códigos utilizados siempre fueron AND OR y NOT pero ahora para más variables.
Código para crear la macro AND

Y el código para la OR es:



















17 SDI-115
LIBRERIAS EXISTENTES PARA VHDL
En las librerías se almacenan los componentes compilados de un proyecto en particular,
también se pueden guardar los componentes del propio diseño, en una carpeta por
defecto llamada “work”, incluyendo archivos intermedios que se utilizan en el análisis,
simulación y síntesis. El nombre lógico de la librería de trabajo no tiene por qué coincidir
con el nombre del directorio. Declaración de la librería: Librería Library <nombre_de
librería>; Use <nombre_de_libreria>.<nombre_de_package>.ALL; Todos los tipos de datos
y funciones predefinidas vienen en el package standard:library std; use std.standard.ALL;
use std.standard.bitl; use std.textio.all; La declaración de una librería da acceso a
cualquiera de las arquitecturas y entidades almacenadas en la librería, para accesar a las
definiciones del tipo, variables, constante, etc. Se utiliza los paquetes con el comando use.
Entre las librerías más conocidas esta IEEE, entre los elementos definidos en ella son los
tipos std_logic, std_logic. Library IEEE; use IEEE, std_logic.ALL; STD contiene los paquetes
standard y texto. VITAL utilizada para realizar simulaciones temporales.
UNISIM realiza simulaciones funcionales con retardo unitario library UNISIM; use
UNISIM.VComponents.all; WORK en ella se guarda los códigos compilados cuando no se
ha especificado la librería de destino. Use work.sumador, use work
funciones_triestado.all; use work.funciones_triestado.and; ARITMETICA use
aritmética.funciones_triestado.triestado;

























18 SDI-115

OBSERVACIONES
1) Al diseñar un convertidor de códigos BCD, hay que observar cuidadosamente los
valores de retorno deseados en la tabla de la verdad ya que debemos recordar que
dicho valor no corresponde en si al número en BCD deseado si no a su equivalente
en decimal y la configuración del display de 7 segmentos para poder mostrar dicho
número
2) Ser cuidadoso al momento de la simplificación de los min términos en los mapas k,
para evitar así errores en las ecuaciones finales y que presente trabajo se vuelva
tedioso.
3) Los diseños con compuertas básicas (OR, AND y NOT) vuelve tedioso y largo el
proceso de construcción de los circuitos lo cual a la hora de presentar un esquema
del circuito se hace imposible verlo a un tamaño normal completamente.
4) Al conseguir una versión de estudiante de Tina sucede que no permite el uso de
todos los componentes que son necesarios para la implementación de los circuito
lo que con lleva a conseguir una versión por otro medio.



19 SDI-115

CONCLUSIONES.
a) Tal y como se planteaba en los textos se pudo comprobar que al auxiliarse de un
simulador en tiempo real como lo es TINA se puede verificar si el resultado del
circuito elaborado es el esperado.
b) TINA es una potente y eficaz herramienta para la simulación y elaboración se
circuitos debido a su variedad de componentes que ofrece pero sobre todo a su
facilidad al momento de trabajar.
c) En comparación Tina es una mejor herramienta en comparación con MAX+PLUS y
permite una mejor forma de comprobación al poder ver y representar el actuar de
los circuitos.



































20 SDI-115


BIBLIOGRAFIA
Internet.


-http://www.tina.com/



-http://www.ee.calpoly.edu/media/uploads/resources/KarnaughExplorer_1.html



-http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=4772738



Libro.
-Análisis y diseño de circuitos lógicos digitales Víctor P. Nelson