Este documento presenta la guía #3 sobre la simulación VHDL de circuitos MSI. Incluye objetivos como programar y simular circuitos MSI en VHDL y TINA. Explica cómo obtener el software TINA y desarrolla los códigos VHDL para un decoder 3 a 8 y un coder 8 a 3. Estos circuitos se probaron en TINA obteniendo los resultados esperados.
Este documento presenta la guía #3 sobre la simulación VHDL de circuitos MSI. Incluye objetivos como programar y simular circuitos MSI en VHDL y TINA. Explica cómo obtener el software TINA y desarrolla los códigos VHDL para un decoder 3 a 8 y un coder 8 a 3. Estos circuitos se probaron en TINA obteniendo los resultados esperados.
Este documento presenta la guía #3 sobre la simulación VHDL de circuitos MSI. Incluye objetivos como programar y simular circuitos MSI en VHDL y TINA. Explica cómo obtener el software TINA y desarrolla los códigos VHDL para un decoder 3 a 8 y un coder 8 a 3. Estos circuitos se probaron en TINA obteniendo los resultados esperados.
Este documento presenta la guía #3 sobre la simulación VHDL de circuitos MSI. Incluye objetivos como programar y simular circuitos MSI en VHDL y TINA. Explica cómo obtener el software TINA y desarrolla los códigos VHDL para un decoder 3 a 8 y un coder 8 a 3. Estos circuitos se probaron en TINA obteniendo los resultados esperados.
Descargue como DOCX, PDF, TXT o lea en línea desde Scribd
Descargar como docx, pdf o txt
Está en la página 1de 39
Universidad de El Salvador
Facultad de Ingeniera y Arquitectura
Escuela de Ingeniera Elctrica
GUIA #3: SIMULACIN VHDL DE CIRCUITOS MSI
SISTEMAS DIGITALES I
San Salvador, ciudad universitaria 27 de mayo de 2014 2 SDI-115
ndice. Pag. Introduccin.. 3.
Objetivos. 4.
Obtencion de Software.5-13.
Desarrollo de los circuitos 14-25.
Investigacion.. 26-36.
Observaciones. 37.
Conclusiones .. 38
Bibliografa 39.
3 SDI-115
INTRODUCCION Como parte del avance del curso de la asignatura de Sistemas Digitales I una vez ms se presenta este nuevo reporte de las asignaciones que se nos encomienda con el objetivo de hacer valer los temas vistos en clase de una forma prctica y as asegurarnos que en verdad se adquiri dicho conocimiento.
En la primera asignacin fue una gua introductoria a los lenguajes VHDL como una herramienta para el diseo de circuito e integrados, en la cual se crearon los cdigos de algunas de las compuertas bsica que conocemos, ya en la segunda asignacin se trabaj en la simulacin en tiempo real de los cdigos de dichas compuertas en TINA la cual es una herramienta que nos permite interactuar con dichos cdigos.
Para esta tercera asignacin ser una combinacin de lo visto en las asignaciones 1 y 2 pero con la diferencia no simular compuertas lgicas sino que se generara un convertidor de cdigos BCD por medio de circuitos MSI. Iniciaremos definiendo que son los circuitos MSI y una pequea resea histrica de ello para comprender mejor en lo que trabajaremos para luego enfocarnos en la elaboracin de lo que en esta asignacin se nos pide.
4 SDI-115
OBJETIVOS. General:
- Conocer la estructura y funcionamiento bsico de los circuitos MSI para poder as ser capaces de disear pequeos y sencillos integrados. Especficos:
- Programar y simular en VHDL algunos circuitos MSI. - Simular los circuitos MSI en TINA haciendo uso de las distintas herramientas que TINA nos ofrece. - Conocer las libreras existentes en VHDL para la codificacin de circuitos MSI.
5 SDI-115
Obtencin del software de simulacin de TINA.
Para el desarrollo de la tarea se utiliz el software TINA 8 Versin Industrial. Direccin de descarga de TINA industrial.
http://www.designsoft.biz/home/demos/demo_tina Pasos para la instalacin de TINA. a) Antes de comenzar la instalacin de TINA, tenemos que conocer si contamos con los requisitos de software y hardware mnimos para una ejecucin sin problemas. Estos son los requerimientos: IBM PC AT/486DX o una compatible (tambin se recomienda un procesador Pentium o uno de mayor gama) 256 MB de RAM Un espacio libre en el disco duro de al menos 200 MB CD-ROM (Ser necesario si el Setup de instalacin se ejecutara desde el CD de TINA) Mouse Sistema operativo Microsoft Windows 9x/ ME / NT/ 2000 / XP / Vista Redes soportadas (para la versin de Red): Microsoft Windows NT / 2000 / XP Server o posterior, Novell Netware versin 3.12 o posterior, Linux Samba, Citrix Presentation Server
6 SDI-115
Nota: Ahora en da la mayora de computadores pueden soportar el software TINA, aunque nunca esta dems conocer sus requisitos para cuando se trabaje con computadores con recursos limitados b) Para continuar con nuestra instalacin es necesario poseer el CD de instalacin de TINA o en defecto tener el Setup en el computador de la siguiente manera:
c) Dando doble clic izquierdo ejecutamos el Setup (Para los sistemas operativos Microsoft Windows 7 / 8 se recomienda dar clic derecho y seleccionar Ejecutar como administrador)
d) Nos aparecer la siguiente ventana en la cual presionamos el botn
7 SDI-115
e) En la siguiente ventana aceptamos el contrato de la licencia presionando el botn
f) En el siguiente paso introducimos el nombre de usuario y el nombre de la compaa u organizacin en donde se est instalando el software, despus presionamos el botn
8 SDI-115
g) En la siguiente ventana podemos seleccionar la carpeta donde se instalar el software TINA, que por defecto es el siguiente C:\Program Files (x86)\DesignSoft\Tina 8 - Industrial (carpeta defecto para un sistema operativo de 64 bits), despus presionamos el botn
9 SDI-115 h) En el siguiente paso seleccionamos el tipo de licencia posteriormente presionamos el botn
i) Posteriormente seleccionamos el tipo de instalacin, se recomienda realizar una instalacin tpica (Typical), clickeamos el botn
10 SDI-115
j) Siguiendo con la instalacin nos pide seleccionar las capertas donde se k) instalar el software TINA o crear uno nuevo, recomendamos dejar la carpeta por defecto, presionamos el botn
l) En la siguiente ventana podremos seleccionar la carpeta de instalacin de algunas variables de entorno, recomendamos dejar las carpetas por defecto, presionamos
11 SDI-115
m) seleccionamos el set de smbolos, seleccionaremos el ANSI que es el ms utilizado en Amrica, presionamos
12 SDI-115 n) Finalmente nos muestra una recopilacin de todas las opciones seleccionadas en la instalacin para tener en cuenta como se procedi, presionamos
o) El Setup procesa y hace la instalacin para finalizar tenemos que elegir si creamos un acceso directo a la aplicacin en el escritorio
p) Para finalizar presionamos el botn en la ventana final
13 SDI-115
14 SDI-115
Desarrollo de los circuitos:
1.Decoder 3 a 8 Para obtener un el Decoder tenemos n entradas en este caso tenemos 3 y salidas por lo tanto 8 en base a ello se construye la siguiente tabla de verdad tomando como referencia salidas activas altas:
En base a esto y conociendo que los Decoder son generadores de minterminos, el cdigo para este Decoder queda de la siguiente manera:
15 SDI-115 Haciendo una prueba para 101=5 y como resultado muestra y5 como se espera
Otra prueba para 100=4 y se genera el mintermino y4
16 SDI-115 Coder de 8 a 3 Para la creacin del coder se busco la manera de invertir la solucin del problema anterior lo que llevo como resultado al siguiente cdigo
En el cual lo que se dejo como comentario quedo de tal maanera ya que al final no fue necesario para el cdigo y lo hacia mas robusto y difcil de entender.
Luego haciendo el circuito en Tina y probando el mintermino y1 se nos genera a la salida 001 que seria lo que da origen al ese minternino.
17 SDI-115 Una prueba mas para y6 lo que da origen a la salida un 110=6
Multiplexor con dos entradas de datos de un bit y una variable de seleccin Sabiendo que los multiplexores trabajan como selecctores de datos es posible construir el cdigo VHDL sin necesidad de una tabla, un cdigo sencillo y queda de la manera siguiente:
Probando el funcionamiento de la Macro en Tina:
18 SDI-115
Seleccionando lo que hay en 1 =f1 y por consiguiente muetra 0 en la salida
Ahora el selector indica 0 por lo que se muestra lo que hay en f0 que es 1.
Demultiplexor con cuatro salidas de datos de 1 bit y dos variables de seleccin Para el mutiplexor se usa el mismo pricipio que para el coder-decoder y como se conoce que el demux trabaja como distribuidor de datos el cdigo que mejor se pudo representar fue el siguiente: 19 SDI-115
La pruebas correspondiente de la Macro en Tina, para una distribucin a f2 de lo que hay en F
Y para una distribucin a f1 de F
20 SDI-115 Full Adder Es full Adder se construye apartir de la siguiente tabla de verdad y de la cual se deducen las ecuaciones para Cout y
Y el cdigo que se genera en VHDL en base a estas ecuaciones es :
21 SDI-115
Multiplexor con dos entradas de datos de 4 bits y una variable de seleccin Para generar los 4 bits en las 2 entradas agrupamos a0, a1, a2 y a3; tambin b0, b1, b2 y b3 que generaran las 2 entradas de 4 bits y por lo tanto 1 salidad de 4 bits. Se creo el siguiente cdigo vhdl
Y la prueba respectiva en tina primero se muestra el selector fijado en 1 lo que hace que los bits que estn alojados en b se muestren en la salida.
22 SDI-115 Ahora solo se cambia el selector a 0 y se toma el grupo de bits alojados en a En la salida queda demostrado que salen los 4bits que estab en 0.
2. Para simular el convertidor de 8421 a 7 segmentos se utilizo el circuito integrado 7447 que ya es parte del tina y que trae la siguiente configuracin
Para las salidas se toman los pines del 9 al 15 pero tomando en cuenta que coincidan con los segmentso del display , esto es a con a , b con b y asi sucesivamente.
23 SDI-115 De tal manera que al activar los pines 7 y 1 respectivamente A y B en el integrado y C y D en los switch que es 0011=3 es lo que se muestra en el display .
Ahora para 0101=5 A y C en el integrado y B y D en los switchs
24 SDI-115 3.Sumador restardor
La opcin que se toma para este el desarrollo de este problema fue el siguiente:
Tercer mtodo: Se genera en VHDL un cdigo para un FULL ADDER y se colocan 4 elementos FULL ADDER en paralelo para crear el sumador7483 y un cdigo para un MUX de 2 fuentes de datos de 1 bit cada una con una variable de seleccin y se colocan 4 elementos de MUX en paralelo para generar un MUX de dos entradas de datos de 4 bits cada una con una entrada de seleccin.
Para el primer resuatdo sumaremos A=1111=(15 decimal) con B=0011=(3 decimal) y como resultado se muestra 10010=18.
25 SDI-115
Para este caso ahora vamos a restar a A=0011=(3 decimal) , B=0001=(1 decimal) y como resulado 0010=(2 decimal).
Una resta mas A=0111 y B=0111 el resultado 0000
26 SDI-115 Resultados de la investigacin. QUE SON LOS CIRCUITOS MSI?
Por circuitos MSI entenderemos que no son ms que circuitos integrados construidos para realizar funciones especficas en forma individual y que al interconectarlos se pueden construir funciones lgicas ms complejas. Un circuito integrado (CI), tambin conocido como chip o microchip, es una pastilla pequea de material semiconductor, de algunos milmetros cuadrados de rea, sobre la que se fabrican circuitos electrnicos El primer circuito integrado fue desarrollado en 1959 por el ingeniero Jack S. Kilby (1923-2005) pocos meses despus de haber sido contratado por la firma Texas Instruments. Se trataba de un dispositivo de germanio que integraba seis transistores en una misma base semiconductora para formar un oscilador de rotacin de fase. Al mismo tiempo que Jack Kilby, pero de forma independiente, Robert Noyce desarroll su propio circuito integrado, que patent unos seis meses despus. Adems resolvi algunos problemas prcticos que posea el circuito de Kilby, como el de la interconexin de todos los componentes; al simplificar la estructura del chip mediante la adicin del metal en una capa final y la eliminacin de algunas de las conexiones, el circuito integrado se hizo ms adecuado para la produccin en masa. Adems de ser uno de los pioneros del circuito integrado, Robert Noyce tambin fue uno de los co-fundadores de Intel, uno de los mayores fabricantes de circuitos integrados del mundo. 3
Los circuitos integrados se encuentran en todos los aparatos electrnicos modernos, como relojes de pulsera, automviles, televisores, reproductores de CD, reproductores de MP3, telfonos mviles, computadoras, equipos mdicos, etc. Son tres las ventajas ms importantes que tienen los circuitos integrados sobre los circuitos electrnicos construidos con componentes discretos: su menor costo; su mayor eficiencia energtica y su reducido tamao.
27 SDI-115 Atendiendo al nivel de integracin -nmero de componentes- los circuitos integrados se pueden clasificar en: SSI (Small Scale Integration) pequeo nivel: de 10 a 100 transistores MSI (Medium Scale Integration) medio: 101 a 1.000 transistores LSI (Large Scale Integration) grande: 1.001 a 10.000 transistores VLSI (Very Large Scale Integration) muy grande: 10.001 a 100.000 transistores ULSI (Ultra Large Scale Integration) ultra grande: 100.001 a 1.000.000 transistores GLSI (Giga Large Scale Integration) giga grande: ms de un milln de transistores
En cuanto a las funciones integradas, los circuitos se clasifican en dos grandes grupos:
Circuitos integrados analgicos Pueden constar desde simples transistores encapsulados juntos, sin unin entre ellos, hasta circuitos completos y funcionales, como amplificadores, osciladores o incluso receptores de radio completos Circuitos integrados digitales
Pueden ser desde bsicas puertas lgicas (AND, OR, NOT) hasta los ms complicados microprocesadores o microcontroladores
Algunos circuitos MSI son:
-Decodificadores -Codificadores. -Multiplexores. -Demultiplexores -Circuitos Aritmticos -Comparadores de magnitud
28 SDI-115
Multiplexores: Un Multiplexor es un circuito combinacional al que entran varios canales de datos, y slo uno de ellos, el que hayamos seleccionado, es el que aparece por la salida. Es decir, que es un circuito que nos permite SELECCIONAR que datos pasan a travs de dicho componente.
Demultiplexor:
Conecta una sola lnea de entrada con a una de n lneas de salida, segn lo determine un cdigo de seleccin de s bits
Decodificadores:
Los decodificadores tienten n lneas de entrada y seales de salida, para cada posible condicin de entrada, una y a solo una seal de salida tendr el valor lgico 1 mientras que las dems salidas tendrn el valor de 0, a esta condicin recibe el nombre de salidas activas altas, si la salida se activa en 0 las otras salidas tendrn el valor de 1 y se considera como salidas activas bajas. Por lo que podemos considerar al decodificador n a como un generador de minterminos.
29 SDI-115 Codificador.
Un decodificador acepta un cdigo de entrada de N bits y produce un 1 o 0 en una y slo una lnea de salida. El opuesto de este proceso de decodificacin es llamado codificacin y es ejecutado por un circuito lgico llamado codificador .Un codificador tiene un nmero de lneas de entrada, de las cuales slo una es activada en un tiempo dado y produce un cdigo de salida de N bits, dependiendo de cul entrada es activada. La Figura 2, muestra el diagrama general de un codificador con M entradas y N salidas. Todas las entradas y salidas estn en 1 cuando estn activadas (Note la ausencia de crculos en el diagrama). Libreras: Una librera consiste en una coleccin de unidades de diseo analizadas previamente con lo cual se facilita la utilizacin de estas en nuevos diseo. Para incluir una librera se utiliza la siguiente sintaxis. LIBRARY identificador_librera [,identificador_librera ] ; La clusula LIBRARY permite utilizar la librera especificada nicamente para la unidad de diseo en la cual se declara. Una unidad de diseo es una entidad, paquete, arquitectura, o cuerpo de paquete.
EJEMPLO LIBRARY mi_libreria;
30 SDI-115 Paquetes Un paquete en VHDL es una coleccin de declaraciones que pueden ser utilizadas por otras descripciones en VHDL. Un paquete en VHDL consiste de dos secciones: la declaracin del paquete y el cuerpo del paquete. Para incluir un paquete en otra descripcin se sigue la siguiente sintaxis: USE libreria.identificador_paquete.ALL; De esta manera el paquete indicado es visible para la unidad de diseo en la cual est siendo utilizado. Mediante "ALL" indicamos que deseamos incluir todas las declaraciones de funciones, componentes, tipos de datos, subtipos de datos, procedimientos, etc. que encuentren en dicho paquete.
DECLARACIN DEL PAQUETE PACKAGE identificador IS -- declaracin de subprograma -- declaracin de tipo de datos -- declaracin de subtipos -- declaracin de constantes -- declaracin de seales -- declaracin de componentes -- declaracin de atributos 31 SDI-115 -- especificacin de atributos -- instruccin USE END identificador ; CUERPO DEL PAQUETE PACKAGE BODY identificador IS -- declaracin de subprograma -- cuerpo del subprograma -- declaracin de tipo de datos -- declaracin de subtipos -- declaracin de constantes -- instruccin USE END identificador ; En la declaracin del paquete se hace mencin de todo aquello que puede ser utilizado por otras descripciones cuando se incluye el paquete. El cuerpo del paquete proporciona definiciones y declaraciones adicionales, as como la descripcin completa de funciones y procedimientos que fueron de clarados previamente en el paquete.
32 SDI-115 EJEMPLO PACKAGE v3_tbl IS SUBTYPE v3 IS std_logic_vector ( 0 to 2 ) ; TYPE v3_array IS ARRAY ( 0 to 7 ) OF v3; CONSTANT v3_table : v3_array := ( "000", "001", "010", "011", "100", "101", "110", "111") ; FUNCTION int2v3 ( ia: integer ) RETURN v3 ; -- declaracin de funcin END v3_tbl ; PACKAGE BODY v3_tbl IS
33 SDI-115 FUNCTION int2v3 ( ia: integer ) RETURN vec3 IS -- convierte un entero entre 0 y 7 en un vector de 3 bits BEGIN RETURN v3_table ( ia ) ; END int2v3 ; END v3_tbl ; EJEMPLO Para este ejemplo crea un proyecto para compilar la librera "mi_libreria". Crea un nuevo archivo de texto y copia la siguiente descripcin en l. LIBRARY ieee ; USE ieee.std_logic_1164.ALL ; PACKAGE multiplexores IS COMPONENT mux_2_a_1 GENERIC ( msb: integer ) ; PORT ( selec: in std_logic ; x: IN std_logic_vector( msbDOWNTO 0 ) ;
34 SDI-115 y: IN std_logic_vector( msbDOWNTO 0 ) ; z: OUT std_logic_vector( msbDOWNTO 0 ) ; END COMPONENT ; END multiplexores ; LIBRARY ieee ; USE ieee.std_logic_1164.ALL ; ENTITY mux_2_a_1 IS GENERIC ( msb: integer := 3 ) ; -- debe declararse siempre un valor inicial -- para que en caso de no ser especificado -- en el momento de la instanciacin, -- el componente tome un valor por omisin PORT ( selec: IN std_logic ; x: IN std_logic_vector ( msbDOWNTO 0 ) ; y: IN std_logic_vector ( msbDOWNTO 0 ) ; z: OUT std_logic_vector ( msbDOWNTO 0 ) ) ; 35 SDI-115 END mux_2_a_1 ; ARCHITECTURE a_mux_2_a_1 OF mux_2_a_1 IS BEGIN z <= x WHEN selec = '1' ELSE y WHEN selec = '0' ; END a_mux_2_a_1 ; Sintetiza el proyecto y despus crea otro para utilizar el paquete anterior. Para agregar la librera a este nuevo proyecto hazlo desde el administrador de libreras. Crea un nuevo archivo de texto y copia la siguiente descripcin en l. LIBRARY ieee; USE ieee.std_logic_1164.ALL ; USE mi_libreria.multiplexores.ALL ; -- referencia al paquete multiplexores -- que se encuentra dentro -- de la librera "mi_libreria" ENTITY multiplexor IS PORT ( a,b,c,d: IN std_logic_vector ( 3 DOWNTO 0 ) ; selec: IN std_logic_vector ( 1 DOWNTO 0 ) ; salida: OUT std_logic_vector ( 3 DOWNTO 0 ) ) ; END multiplexor ; 36 SDI-115 ARCHITECTURE estructural OF multiplexor IS SIGNAL salida1, salida2: std_logic_vector ( 3 DOWNTO 0 ) ; BEGIN -- instanciacin del componente mux_2_a_1 u1: mux_2_a_1 PORT MAP ( a, b, selec(0), salida1 ) ; u2: mux_2_a_1 PORT MAP ( c, d, selec(0), salida2 ); u3: mux_2_a_1 PORT MAP ( salida1, salida2, selec(1), salida ) ; END estructural ; Como se mencion al principio una librera es una coleccin de unidades de diseo que pueden ser incluidas es otras descripciones mediante el llamada a la respectiva librera.
37 SDI-115 Observaciones - Antes de comenzar a hacer los cdigos en VHDL se debe tener claro el funcionamiento de que se va a utilizar para no tener problemas en la realizacin de esta simulacin. - AL iniciar cualquier cdigo VHDL, se debe tener en cuenta declaran las libreras que se van a utilizar. - Los Muxe, Decoder, Coder se ha diseado sin habilidador tomando encuneta que para la prueba siempre deban estar habalitados pero solo son dos lneas de cdigo mas si se quisieran agregar.
38 SDI-115
Conclusiones. 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.
TINA es una potente y eficaz herramienta para la simulacin y elaboracin se circuitos debido a su variedad de componentes que ofrece pero sobre todo a su facilidad al momento de trabajar
39 SDI-115 Bibliografa:
Vctor P. Nelson, Anlisis y Diseo de circuitos lgicos Digitales, Prentice-Hall Hispanoamrica S.A. Primera Edicin.