Está en la página 1de 53

UNIVERSIDAD DE EL SALVADOR

Facultada de Ingeniera y Arquitectura


Catedra de Sistemas Digitales

INSTRUCTOR
Juan Ramn Albiana Alfaro

ALUMNOS
Nstor Giovanny Prez Castaneda
GUA 3: Carnet: PC06009
GT: 01

Ignacio Fernando Flores Claros


SIMULACIN Carnet: FC08042
GT: 02

VHDL DE
CIRCUITOS MSI
Catedrtico: Ing. Salvador Germn

Ciudad universitaria, 24 de mayo de 2013


Indice

i
Introduccin

A travs de la historia la electrnica digital ha dado muchos pasos en su desarrollo y en los ltimos aos
ello ha sido claramente visible pero si nos remontamos a abril de 1949, cuando el ingeniero alemn
Werner Jacobi (Siemens AG) completa la primera solicitud de patente para circuitos integrados con
dispositivos amplificadores de semiconductores encontramos uno de los grandes pasos de la
electrnica digital con el desarrollo de los circuitos MSI (mediana escala de integracin). Jacobi realiz
una tpica aplicacin industrial para su patente, la cual no fue registrada. El primer circuito integrado fue
desarrollado en 1959 por el ingeniero Jack Kilby (1923-2005) pocos meses despus de haber sido
contratado por la firma Texas Instruments y despus de ello se dio su produccin masiva dada su
sencillez en ampliar su complejidad. Se trataba de un dispositivo de germanio que
integraba seis transistores en una misma base semiconductora para formar un oscilador de rotacin de
fase.

Con dicha contribucin se puede tener la solucin para algunos de los problemas bsicos ya diseados
en bloques predeterminados con los cuales una solucin que antes solo con compuertas lgicas era
inmensamente desafiante y extenuante; al surgimiento de la MSI fue una revolucin puesto que permita
que estos bloques predeterminados se conectaran en cascada para poder as generar circuitos ms
pequeos para la resolucin de aplicaciones que antes exigan grandes cantidades de espacio. Adems
los circuitos integrados que se encuentran en todos los aparatos electrnicos modernos utilizan esta
base por lo cual podemos apreciar la gran relevancia que estos circuitos implican algunos ejemplos de
aparatos que usan los integrados son: automviles, televisores, reproductores de CD, reproductores de
MP3, telfonos mviles, computadoras, etc.

ii
Objetivos

OBJETIVO GENERAL:

Mostrar de una manera bsica la utilizacin del software de simulacin TINA utilizando componentes
hechos en el lenguaje de programacin VHDL para construir circuitos MSI a travs de una breve
referencia terica y prctica.

OBJETIVOS ESPECFICOS:

Resolver ejercicios bsicos de circuitos MSI con componentes hechos en el leguaje VHDL
utilizando TINA.

Dar una explicacin bsica del funcionamiento de los circuitos a resolver.

Dar a conocer los elementos bsicos de un circuito MSI con componentes hechos en VHDL como
lo son:
Decodificadores y codificadores
Multiplexores y demultiplexores
Full Adder

iii
Marco Terico

SOBRE TINA

TINA, en su versin estudiante es un potente y econmico software para la simulacin y anlisis de


circuitos electrnicos. Trabaja con circuitos analgicos lineales y no lineales as como con circuitos
digitales y mixtos. TINA es una extraordinaria herramienta de aprendizaje para estudiantes. Sus
destacadas caractersticas incluyen anlisis simblico, presentacin de sofisticadas herramientas para
resolver sus trabajos, y un modo especial de enseanza.

Las posibilidades de anlisis de TINA no terminan con el anlisis de circuitos analgicos, tambin se
incluye un potente simulador para circuitos digitales. TINA resuelve la ecuacin de estado lgico para
cado nodo y despliega los resultados. Traza la operacin del circuito paso por paso hacia adelante y hacia
atrs, o use el modo de auto corrida de TINA. El procesador gua de eventos digitales tambin cuida el
trayecto de los estados internos, siguiendo el estudio de problemas digitales. En adicin, TINA presenta
un diagrama completo del circuito digital. Las seales digitales se despliegan en un analizador lgico
especial estilo ventana donde cada seal se despliega en un sistema de coordenadas separada.

SOBRE LOS CIRCUITOS MSI

Los circuitos MSI son los que estn constituidos por un nmero de puertas lgicas comprendidos entre
12 y 100. Aunque se pueden disear a partir de puertas lgicas, estos circuitos se pueden tratar como
componentes, asignndoles un smbolo, o utilizando una cierta nomenclatura.

Los circuitos que veremos son los siguientes:

Multiplexores y demultiplexores
Codificadores y decodificadores
Comparadores

CIRCUITOS SUMADORES

El sumador binario es la clula fundamental de todos los circuitos aritmticos, ya que mediante sumas (y
complementos) es posible realizar restas y como ya se vio en captulos anteriores con sumas y restas
(adems de corrimientos) es posible realizar multiplicaciones y divisiones, en otras palabras, las cuatro
operaciones aritmticas fundamentales se pueden realizar usando sumas.

1
EL MEDIO SUMADOR

Un medio sumador es un sumador capaz de sumar dos datos de un slo bit y producir un bit de acarreo
de salida. Como se muestra en el siguiente diagrama de bloques Sumador BCD.- El problema de sumar
dos datos BCD usando un sumador binario (como el 7483) ocurre cuando el resultado de la suma es
mayor que 9, ya que entonces el sumador binario producir un resultado errneo en BCD.

Por ejemplo, al sumar 4+7 el resultado binario ser 15= (1111)2 mientras que el resultado esperado en
BCD es 15= (1 0101) BCD. Obsrvese que si al 15 producido por el sumador binario le sumramos un 6:
15+6=21 = (10101)2 El resultado sera correcto en BCD!
Lo ilustrado en el caso de la suma 4+7 se cumple en general, de manera que para realizar una suma de
dos datos BCD se proceder de la siguiente manera:

Si el resultado es menor que 10 es correcto tanto en binario como en BCD


Si el resultado es mayor o igual que 10, el resultado correcto en BCD es el resultado en
binario ms 6

MULTIPLEXORES Y DEMULTIPLEXORES

La idea fundamental en la utilizacin de multiplexores (MUX) y demultiplexores (DEMUX) es el ahorro de


lneas de comunicacin, es decir, el uso de una sola lnea para realizar mltiples funciones o para
conectar a travs de ella mltiples fuentes de informacin o seales a transmitir.
Cmo es posible utilizar una sola lnea para transmitir diversas seales de informacin? La respuesta
est obviamente en compartir por tiempo la lnea, es decir, en un momento dado slo una de las seales
puede ser transmitida.

La siguiente es una lista de los MUX de circuito integrado ms populares de la familia TTL:
74157: Cuatro MUX de 2 a 1 con seal strobe
74158: Cuatro MUX de 2 a 1 con seal strobe salidas invertidas
74153: Dos MUX de 4 a 1 con strobe
74151: Un MUX de 8 a 1 (salida invertida y sin invertir), con strobe
74152: Un MUX de 8 a 1 (salida invertida)
74150: Un MUX de 16 a 1 con strobe

2
DEMULTIPLEXORES/DECODIFICADORES DIGITALES

Un demultiplexor (demux) es otro circuito MSI disponible para el diseo lgico, el cual puede ser usado
en una gran variedad de aplicaciones. A continuacin se presenta una definicin de multiplexor y
decodificador:

Un demultiplexor es un circuito que conecta la informacin de una lnea de entrada hacia una de varias
lneas de salida de acuerdo a un cdigo de seleccin.

Un decodificador simplemente habilita un cierto nivel (alto o bajo) en una salida seleccionada entre
varias por un cdigo de seleccin.

Obsrvese que de acuerdo a las definiciones anteriores, un demultiplexor se convierte en un


decodificador si su lnea de entrada se considera fija (en alto o en bajo). Esto justifica el nombre de
demultiplexor/decodificador.

Aumento del nmero de entradas


La solucin es conectarlos en cascada. Lo mejor es verlo con un ejemplo. Imaginemos que
Necesitamos un multiplexor de 8 canales, pero slo disponemos de varios de 2 canales.
La solucin es conectarlos en cascada. Primero colocamos una columna de 4 multiplexores de dos
entradas, para tener en total 8 entradas. Todas las entradas de seleccin de esta primera columna se
unen. Por comodidad en el dibujo, esto se representa mediante una lnea vertical que une la salida S de
un multiplexor con el de abajo. A continuacin colocamos una segunda columna de 2 multiplexores de 2
entradas, tambin con sus entradas de seleccin unidas. Finalmente colocamos una ltima columna con
un nico multiplexor de 2 entradas. Colocados de esta manera, conseguimos tener un multiplexor de 8
entradas y tres entradas

Aumento del nmero de bits por canal


Para conseguir esto hay que conectarlos en paralelo. Imaginemos que tenemos queremos
Construir un multiplexor de dos canales de entrada, cada uno de ellos de 2 bits, y para ello
disponemos de multiplexores de 2 canales de un bit: se utilizan dos multiplexores de lo que tenemos,
uno por cada bit que tengamos en el nuevo canal de salida. Como los canales en el nuevo multiplexor
son de 2 bits, necesitaremos 2 multiplexores de canales de 1 bit. Uno de estos multiplexores ser al que
vayan los bits de menos peso de los canales de entrada y el otro los de mayor peso. Las entradas de
seleccin de ambos estn unidas

3
Investigacin
Librera que ayudan en el desarrollo de coders, decoders, multiplexores, demultiplexores, etc.

library IEEE;
use IEEE.std_logic_1164.all;

El empaquetamiento std_logic_1164 define tipos de datos


para las seales que no contempla el VHDL original: Z (alta
impedancia) y - (dont care)

Ejemplo

Multiplicador de dos datos con longitudes de 2-bit


(Declaracin de Entidad Uso de Biblioteca y Paquete)

X0 Z0
X1
Circuito Multiplicador Z1
Y0

Y1 Z2

Z3

library ieee;
use ieee.std_logic_1164.all;
entity multiplica is
port (X0, X1, Y0,Y1 : in std_logic;
Z3, Z2, Z1, Z0 :out std_logic);
end multiplica

DECODER DE 3 A 8
library ieee;
use ieee.std_logic_1164.all;
entity decoder is
port(
entrada: in std_logic_vector(2 downto 0);
g1, g2: in bit;
salida: out std_logic_vector(7 downto 0)

1
);
end decoder;
architecture archidecoder of decoder is
begin
salida <= (others=>'1') when g2='1'
else (others=>'1') when g2='0' and g1='0'
else
"01111111" when entrada="000" else
"10111111" when entrada="001" else
"11011111" when entrada="010" else
"11101111" when entrada="011" else
"11110111" when entrada="100" else
"11111011" when entrada="101" else
"11111101" when entrada="110" else
"11111110" when entrada="111" else
"11111111";
end archidecoder;
DECODEDER DE 8 A 3
library ieee;
use ieee.std_logic_1164.all;
use work.std_arith.all;
entity coder is port(
dentro: in std_logic_vector(7 downto 0);
fuera : out std_logic_vector(2 downto 0);
eo : out bit
);
end coder;
architecture archicoder of coder is
begin
process (dentro)
begin
if std_match(dentro,"1-------") then fuera<="111"; eo<='0'; end if;
if std_match(dentro,"01------") then fuera<="110"; eo<='0'; end if;
if std_match(dentro,"001-----") then fuera<="101"; eo<='0'; end if;
if std_match(dentro,"0001----") then fuera<="100"; eo<='0'; end if;
if std_match(dentro,"00001---") then fuera<="011"; eo<='0'; end if;
if std_match(dentro,"000001--") then fuera<="010"; eo<='0'; end if;
if std_match(dentro,"0000001-") then fuera<="001"; eo<='0'; end if;
if std_match(dentro,"00000001") then fuera<="000"; eo<='0'; end if;
if std_match(dentro,"00000000") then fuera<="000"; eo<='1'; end if;
end process;
end archicoder;

2
Obtencin de software

OBTENCIN DEL SOFTWARE MAX+PLUS II BASELINE


1. Los pasos seguidos para la obtencin del software que utilizamos MAX+PLUS II BASELINE se citan a
continuacin:

1.1 Vamos a la direccin: http://www.altera.com/ que tendr la siguiente apariencia:

Aqu nos ubicamos en Download Center

3
1.2 Nos ubicamos en la columna izquierda en el producto Max+Plus II Legacy de la siguiente manera:

1.3 Ahora seleccionamos la opcin de MAX+PLUS II BASELINE (Version 10.2)

4
1.4 Luego damos click en la Download el cual nos llevara a una pgina en donde nos pide que
ingresemos como usuarios, si ya se poseen se llenan en los campos requeridos, sino, procedemos a
registrarnos. Despus la descarga se iniciar. Es importante que despus de descargar el software,
tambin descarguemos la licencia, est se encuentra sealada tambin en la siguiente imagen

INSTALACIN DEL SOFTWARE MAX+PLUS II BASELINE


1.1 Despus de la descarga, procedemos a dar click en el archivo de instalacin.

1.2 Luego se nos mostrara una serie secuencial de pasos como es lo clsico en Windows donde solo
basta dar siguiente.

5
1.3 En la siguiente ventana nos pedir leer y aceptar los trminos y condiciones de uso del programa,
damos click en YES.

1.4 A continuacin en esta ventana nos advierte sobre el uso de una licencia que hay que descargar, la
cual mostraremos los pasos al finalizar este proceso de instalacin, damos click en el botn NEXT.

1.5 El asistente nos solicitara informacin de usuario, solo llenamos en campo Company con el de
nuestra preferencia y damos click en NEXT

6
1.6 Ac nos pide los componentes que deseamos instalar de la aplicacin, la cual seleccionaremos las 3 y
dejamos el directorio por default donde se instalaran los archivos del software, a continuacin, damos
clic en NEXT.

1.7 Aqu nos pide si deseamos instalar tutoriales, dejamos seleccionado la opcin y damos clic en NEXT

7
1.8 En esta ventana nos pide si queremos poner un icono el men de inicio de Windows, dejamos las que
estn seleccionadas y damos clic en NEXT.

1.9 Despus empezara a copiar en nuestro disco duro los archivos necesarios que se requieren para el
funcionamiento del MAX+PLUS II BASELINE, esperamos a que finalice el programa de instalacin.
Despus de haberse instalado, se cerrara automticamente el programa de instalacin, ya con el
programa en nuestro sistema.

8
PASOS PARA OBTENER LICENCIA DE MAX+PLUS II BASELINE
1. Primero nos ubicamos en la siguiente direccin:

http://www.altera.com/support/licensing/lic-university.html

Donde deberemos indicar para cual versin de MAX+plus II queremos la licencia.

9
2. Al seleccionar nuestra versin de MAX+plus II se nos mostrara la siguiente ventana:

3. Nos ubicamos en Inicio ->Todos los programas ->Accesorios -> Smbolo del sistema donde vamos a
introducir el siguiente texto: dir/p, como se muestra en la siguiente imagen.

El numero disco nmero se nos dar a conocer donde lo indica la flecha.

4. Lo siguiente ser ingresar nuestro nmero de disco duro en la pgina donde se nos solicita as mismo
deberemos de rellenar un formulario el cual es muy sencillo y por ello no creemos conveniente incluir las
capturas de este; pero al finalizarlo exitosamente deberamos d llegar a la siguiente pantalla:

10
Se nos habr enviado un mensaje a nuestro correo el cual al revisarlo vemos como satisfactoriamente
tiene la licencia para el programa.

5. Para instalar la licencia la copiamos en nuestro folder de C:\Maxplus2 y abrimos el programa donde
nos iremos la parte de options ->licence setup como lo vemos en la figura.

6. Despus buscamos la ubicacin de la licencia como se indica en la figura siguiente, la seleccionamos


dando ok y ya tendremos nuestro programa totalmente funcional para trabajar.

11
OBTENCIN DEL SOFTWARE TINA INDUSTRIAL 8
1. Primero vamos hacia la siguiente direccin proporcionada en las clases tericas de Sistemas Digitales:
https://www.facebook.com/groups/482406945139957/

Esta direccin nos llevara al grupo de FACEBOOK de la asignatura la cual contiene una direccin
proporcionada por un compaero para la descarga del software

2. Damos click en la direccin posteada por el compaero, y esta a su vez no direccionara a una pgina
de descarga que esta almacenada en el servicio de la nube de DropBox.

3. A continuacin, se iniciara la descarga del software Tina Industrial 8.

INSTALACIN DEL SOFTWARE TINA INDUSTRIAL 8.


1. Una vez descargado, ejecutamos el instalador y nos abrir el asistente de instalacin del software,
damos clic en NEXT.

12
2. A continuacin nos pedir que aceptemos los trminos y condiciones de uso de la aplicacin, damos
clic en YES para aceptarlos y continuar con el proceso de instalacin.

3. Nos pedir informacin de usuario, llenamos los campos que se nos piden y damos clic en NEXT.

13
4. A continuacin, nos pedir la ubicacin donde se instalara el software, dejamos el que est por default
y damos clic en NEXT.

5. Nos pedir el archivo de licencia de uso del programa, si queremos descargarlo de internet o si ya lo
poseemos, dejamos la opcin Single User y damos clic en NEXT.

14
6. Aqu nos pedir que tipo de instalacin deseamos hacer, dejamos seleccionado Typical y damos clic
en NEXT.

7. Luego nos dira que se pondr un icono en el men de inicio de Windows, dejamos tal y cual esta todo
y damos clic en NEXT.

15
8. En esta ventana, nos pedir donde se encontraran las variables de entorno, ajuste y dems
configuraciones que necesita la aplicacin, dejamos tal y cual esta, y damos clic en NEXT.

9. Por ultimo, nos pedir en que esquema queremos trabajar, dejamos seleccionado el que esta por
default y damos clic en NEXT.

16
10. Al final, nos proporcionara una ventana con las opciones que hemos seleccionado anteriormente,
solo damos clic en NEXT para confirmar.

11. A continuacin, iniciara el proceso de instalacin del programa, esperamos hasta que finalice.

17
12. Antes de finalizar, nos preguntara si deseamos poner un icono en el escritorio, damos clic en Yes.

13. Al finalizar damos clic en Finish para terminar el proceso de instalacin.

18
Desarrollo

EJERCICIO 1
Programar y simular en VHDL los siguientes circuitos:

Decoder de 4 a 16.
Coder de 16 a 4.
Multiplexor con cuatro entradas de datos de 1 bit y tres variables de seleccin.
Demultiplexor con 8 salidas de 1 bit y 3 variables de seleccin.
Full adder.
Multiplexor con 2 entradas de dato de 4 bits y 1 variable de seleccin.

DECODER DE 4 A 16
Para la resolucin de este ejercicio primero debemos tener presente que lo que har es que cuando
nosotros coloquemos una combinacin en las entradas podremos apreciar cmo se activa su
correspondiente salida, esa es la funcin principal del decodificador.

Para disear el decoder, primero hay que construir la tabla verdad, tomando en cuenta que son 4
variables de entrada y 16 variables de salida.

La tabla se muestra en la siguiente pagina. Hay que destacar que a simple vista, me pueden identificar
las encuaciones que rigen cada variable de salida, sobre todo porque solo es un min-trmino el que
afecta cada variable de salida.

19
Tabla de Verdad del decoder de 4 a 16

Entrada Salidas

a b c d x0 x1 x2 x3 x4 x5 x6 x7 X8 X9 X10 X11 X12 X13 X14 X15

0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

3 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

4 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0

5 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

6 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

7 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

8 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

9 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

10 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

11 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

12 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0

13 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

14 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0

15 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

Podriamos utilizar cualquiera de los metodos visto en clase para la obtencio logica de cada variable de
salida, pero como podemos observar, solamente 1 min-trmino afecta a cada variable de salida. Por lo
tanto es tan simple que con solo con ver la correspondiente combinacion de las variables de entrada
para determinar la ecuacin de la variable de salida.

En sintesis, lo que nos quiere decir la tabla de verdad es lo siguiente: en la salida x0, se mostrara el
resultado de la combinacin en binario que haya en su respectiva fila, en este caso a, b, c y d tiene el
valor de 0, lo que significara que: 0 =
utilizando min trminos.

20
Codigo VHDL
Sacando las respectivas ecuaciones de la tabla de verdad, y codificndolo en VHDL se tiene el siguiente:

Componente en TINA
Una vez compilado y simulado el codigo VDHL, procederemos a realizar el componente en TINA. Dado
que en este punto de la materia esta mas que explicado como realizar un componente en TINA,
omitiremos estos pasos y mostraremos simplemente el resultado, es decir, el componente el cual nos
quedo de la siguiente manera:

21
Circuito
El circuito con el componente funcional queda de la siguiente manera:

Pruebas de funcionalidad
A continuacion presentaremos unas pruebas para demostrar la correcta funcionalidad de nuestro
componente:

PRUEBA 1

Si se ingresa en binanio el numero 10, se pretende que se encienda el Logic Indicator correspondiente
tal como se ve en la imagen.

22
Prueba 2

Se ingresa el numero 14 en binario natural.

Prueba 3

Se ingresa el numero 4 en binario natural.

Por cuestiones de simplicidad, no detallaremos los demas pasos para resolver los demas componente
por ser repetitivos, es decir, se resuelven de la misma manera, claro esta que se resuelven segn su
propio problema planteado.

23
CODER 16 A 4

El coder 16 a 4 tiene la funcionalidad a la inversa del decoder de 4 a 16, esta muestra en sus salidas el
binario correspondiente. La correspondiente tabla de verdad es la siguiente:

Entrada Salida

A B C D E F G H I J K L M N O P S1 S2 S3 S4

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0

3 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1

4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

5 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1

6 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0

7 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1

8 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0

9 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1

10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0

11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1

12 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0

13 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1

14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0

15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1

Para determinar las ecuaciones se procedio a realizar lo siguiente. Como podemos ver directamente en
la tabla de verdad, la variable S1 se activara solo cuando las variables I, J, K, L M ,N O y P se activen, por
lo tanto S1 tomara el valor de 1 en esos casos.

El mismo procedimiento se tomara con las demas variables S2, S3 y S4.

24
Codigo VHDL
El correspondiente codigo VHDL del coder quedaria de la siguiente manera:

Componente en TINA

25
Circuito

Como podemos ver en la imagen anterior, el circuito recibe una entrada y esta la codifica en binario
natural. En esta imagen se quiere que se codifique el numero 11 en binario natural, el cual como
podemos apreciar, nuestra los resultados esperados.

26
Pruebas de fincionalidad

Prueba1

Codificar el numero 8 a binario natural.

27
Prueba 2

Codificar el numero 7 a binario natural.

28
Prueba 3

Codificar el numero 14 a binario natural.

29
MULTIPLEXOR CON CUATRO ENTRADAS DE DATOS DE 1 BIT Y TRES VARIABLES DE SELECCIN.

Un multiplexor no es sin un seleccionador el cual dependiendo del valor de la variable de seleccin


mostrara la entrada que sea igual al cdigo en su o sus variables de seleccin.

Aca surge una dificultad, no hay ningun multiplexor que posea tales caracteristicas mencionadas (4
variables de entrada y 3 de seleccion), lo cual indica que hay que ocupar un multiplexor de 3 variables de
seleccin y 8 entrada de datos de 1 bit el cual modificaremos para que cumpla con lo que se nos pide,
en sintesis:

Lo que tenemos Lo que queremos

8 entradas de 4 entradas de
1 bit. 1 bit.
3 variables de 3 variables de
seleccin seleccin

Para realizar esto, lo que haremos es dejar inhabilitados 4 entradas para que solo queden 4 habilitadas
sin eliminar las variables de seleccin. Pese a esto, siempre realizaremos el multiplexor de 8 entradas de
1 bit con 3 variables de seleccin. Hay que tomar en cuenta que para que funcionen las variables de
seleccin, tambien hay que modificarlas para adaptarlas con las 4 variables de salida que pretendemos
hacer, tomaremos todas estas restricciones en cuenta.

EN EL CIRCUITO REALIZAREMOS LAS RESTRICCIONES CORRESPONDIENTES.

30
FULL ADDER
Lo que este circuito es hacer sumas aritmticas en binario teniendo un bit de acarreo puesto que si por
ejemplo sumamos 1+1=10 donde el cero ser el bit menos significativo (lsb) y el uno el bit ms
significativo (msb) que se convierte en el acarreo (co).

Tabla de la verdad.
Entrada Salida

A B ci co Sum

0 0 0 0 0 0

1 0 0 1 0 1

2 0 1 0 0 1

3 0 1 1 1 0

4 1 0 0 0 1

5 1 0 1 1 0

6 1 1 0 1 0

7 1 1 1 1 1

Cdigo VHDL.

31
El componente en TINA

Pruebas
Prueba 1

En la figura las variables tienen:


A=1
B=0
CI = 1
El FULL ADDER suma lgicamente el valor de estas variables el cual da 2 en decimal (1 + 0 + 1 = 2) que en
binario se representa as: 10. En la salida L1 representa el bit 1 (porque esta encendido) y L2 el bit 0
(porque est apagado). Aqu para este caso, el valor de L1 es el acarreo que se lleva hacia otro
componente si se sumaran ms valores.

32
Prueba 2

Sumando ahora con los valores de:


A =1
B =1
CI = 1
Se tendra como resultado 3 en decimal, esto escrito en binario seria 11 que es lo que se puede apreciar
en las salidas del circuito.

Prueba 2

Sumando ahora con los valores de:


A =0
B =0
CI = 1
Se tendra como resultado 1 en decimal, esto escrito en binario seria 01 que es lo que se puede apreciar
en las salidas del circuito.

33
MULTIPLEXOR CON 2 ENTRADAS DE 4 BITS Y UNA VARIABLE DE SELECCN.

Un multiplexor no es sin un seleccionador el cual dependiendo del valor de la variable de seleccin


mostrara la entrada que sea igual al cdigo en su o sus variables de seleccin.

En este caso, el MUX debe de contener 2 variables las cuales seran de 4 bits cada una y por supuesto, la
salida sera siempre 1, pero de 4 bit`s.

Tabla de verdad.

Se ha decidido resumir la tabla de verdad por cuetiones de simplicidad (y ahorro de papel e impresiones),
pero en resumidas cuentas, la tabla de verdad quedaria de la siguiente manera claro esta que
RESPETANDO Y ADAPTANDOLO A LA FUNCIONALIDAD DEL MULTIPLEXOR.

Entrada Salida
Select1 A0 A1 A2 A3 B0 B1 B2 B3 X0 X1 X2 X3
Mostrar la combinacion Combinacion de ceros
0
de ceros y uno de las As Y unos de las As
Mostrar la combinacion Combinacion de ceros
1
de ceros y uno de las Bs Y unos de las Bs

Cdigo VHDL
Siguiendo la logica del multiplexor y la tabla de verdad, el codigo en VHDL quedaria de la siguiente
manera:

34
El componente en TINA

Pruebas

Prueba 1

35
Como en el MUX de 2 a 1 de 1 bit, este muestra en la salida lo que el switch seleccionador ( I ) tenga
activado. En la figura el switch I est generando un cero, que corresponde a las entradas a0, a1, a2, y a3.
Estas entradas estn generando el binario 1101, mismo que se ven en los focos de la salida.

36
Prueba 2

Probando ahora con la salida de las entradas de b0, b1, b2 y b3.

Como se puede observar, el switch I esta activado, lo que indica que solo se mostrara lo que se encuente
en las combinaciones de los switchs de las variables de B.

Prueba 3

37
Asignacin 2

Simular un convertidor de cdigos de 8421 a 7 segmentos utilizando TINA como simulador y un display
de 7 segmentos se podr utilizar un decodificador ya existente en TINA el display 7 segmentos ser el
que se encuentra disponible en TINA. Las entradas A,B,C y D sern generadas con switches que ya se
encuentran en TINA e irn conectadas a tierra o a Vcc

DESARROLLO

Que es un decodificador? Es un dispositivo que "decodifica" un cdigo de entrada en otro. Es decir,


transforma una combinacin de unos y cero, en otra. 74LS47, en particular transforma el cdigo binario
en el cdigo de 7 segmentos.

El decodificador recibe en su entrada el nmero que ser visualizado en el display. Posee 7 salidas, una
para cada segmento. Para un valor de entrada, cada salida toma un estado determinado (activada o
desactivada).

La entrada consiste en 4 patas o pines donde el decodificador recibe los nmeros binarios. Podemos
ingresar valores de 0 a 9 en formato binario.

38
Sus pines o patillas son:

Entradas: 4 pines de entrada para ingresar el dgito a mostrar en binario.


Salidas: 7 pines de salida, uno para cada segmento.
Control: 3 pines de control. Por el momento no entraremos en detalle para que se utilizan.
Alimentacin: 2 pines para alimentacin, fuente (+) y fuente (-).

Entonces, como ya lo dijimos, hay que aplicar el nmero deseado en la entrada y el dispositivo,
automticamente, habilita los segmentos correspondientes a la salida. Supongamos que queremos
mostrar el nmero 5. Utilizando la tabla anterior vemos que 5 en binario es 0101. Debemos aplicar este
valor en los pines de entrada en el orden DCBA, es decir DCBA = 0101, o sea D=0, C=1, B=0, A=1. Al
hacerlo, el integrado enciende todos los segmentos, salvo "b" y "e" para mostrar el nmero 5.

Captura

V1 5
U2 Display
Com

SW-HL2
H
L

a
b
d
e
g
c
f
.
SW-HL1
H
L
SW-HL3 U1 SN7447
H 4 13
BI/RBO a
L 5 12
RBI b
SW-HL4 3 11
LT c
H 7 10
A d
L 1 9
SW-HL5 B e
2 15
H C f
6 14
L D g
SW-HL6
H
L
SW-HL7
H
L

39
Asignacin 3

Desarrollar un sumador restador de 2 nmeros de 4 bits utilizando TINA como simulador

Solucin de la asignacio:

Para poder hacer el sumador-restador tomamos el tercer mtodo se genera en VHDL un cdigo para el
FULL ADDER y se colocan 4 elementos FULL ADDER en paralelo para crear el 7483

Ya teniendo el cdigo procedemos en tina a crear el elemento que nos queda de la siguiente manera

Conectamos los 4 FULL ADDER en paralelo para poder tener un sumador 7483

40
Creamos un cdigo para poder tener un multiplexor de 2 a 1 se crea su cdigo en VHDL y se procede a su
compilacin ya una vez compilado no tiene errores podemos ver que funciona el cdigo

Ya una vez teniendo el cdigo procedemos a crear el dispositivo en TINA que nos queda de la siguiente
manera

Ya una vez teniendo el dispositivo conectamos en paralelo los muxes para poder tener un mux de 2
fuentes de 4 bits a 1

41
A
L
H

B
SW-HL2

L
H
L

W
H

C
SW-HL1

L1
L

SW-HL9
H
D
cin SW-HL4

L2
suma
fullader bit_2 b L
cout
bit_1 y mux2a12013 a H
selec SW-HL3
U1 fullader
tarea 3 de sistemas digitales

U5 mux2a12013

L
X
H
SW-HL8
cin

L3
suma
fullader bit_2
cout
bit_1
b
U2 fullader y mux2a12013 a
selec

L
P
H
U7 mux2a12013 2 1

U9 SN7404

SW-HL7
2 1
cin

L4
suma
fullader bit_2 U10 SN7404
cout
bit_1 2 1
b
U3 fullader
y mux2a12013 a U11 SN7404
L
H

selec
Z

2 1
U8 mux2a12013
U12 SN7404
SW-HL6

cin

L5
suma
fullader bit_2
cout
bit_1

U4 fullader

b
SW-HL5

y mux2a12013 a
L
H

selec

U6 mux2a12013
1= resta
0= suma

42
variables de control
Una vez ya tendiendo los dispositivos procedemos a conectarlos as como se especifica en la gua de la
Resultados de la investigacin

43
Observaviones

44
Conclusiones
Al finalizar el presente reporte, hemos concluido que:

El programa TINA es una herramienta muy til en el momento de simular circuitos VHDL y cuenta con
muchas herramientas que facilitan la programacin o elaboracin de circuito, aprendimos la importancia
del uso de sus libreras ya que estn son las que simplifican la codificacin y son fciles de interpretar, es
decir que en si TINA es bastante practico y es uno de los ms fciles de comprender su funcionamiento.

Se comprendi un poco ms acerca de Los circuitos MSI, para que sirven, como funcionan y que bits de
entrada y salida utilizan. Al entender todo esto se pueden hacer Realizaciones ms compactas (al tener
soluciones completas en un slo circuito integrado con algunas pocas puertas extra para realizar la
adaptacin en algunos casos).

En fin se pueden crear circuitos dependiendo la necesidad que tengamos.

45
Bibliografa

http://www.etitudela.com/profesores/jmng/digital/downloads/icircuitosmsi.pdf

http://lc.fie.umich.mx/~jrincon/elec3-cap7.pdf

http://es.wikipedia.org/wiki/VHDL

http://gemini.udistrital.edu.co/comunidad/profesores/jruiz/jairocd/texto/vhdl.PDF

http://www.cannic.uab.es/docencia/vhdli06/Cap itol5/Cap5_intro.ht

http://www.dte.upct.es/personal/andres_iborra/docencia/sis_elec/pdfs/t5.pdf

http://fpgalibre.sourceforge.net/

http://es.scribd.com/doc/20215819/VHDL-su-organizacion-y-arquitectura

46