guía 2 sdi 115-2015

9
Universidad de El Salvador Sistemas Digitales I Convertidor de códigos con compuertas básicas Ing. Salvador German Página 1 Ciclo I-2015 Universidad de El Salvador Facultad de Ingeniería y Arquitectura Guía 2: “Convertidor de códigos con compuertas básicasCruz Juárez, Francisco Ernesto Ramírez Molina, Sasi Lizet RESUMEN: Esta segunda guía pretende ser una introducción al uso de las potentes herramientas de simulación para la verificación del buen funcionamiento de código escrito en VHDL (Very High Speed Integrated Circuit Hardware Description Language) y a la vez seguir introduciendo al estudiante en la programación en este lenguaje. Como se ha visto antes, con software como GHDL, ActiveHDL, Altera y otros similares se obtienen los resultados esperados, pero cuando los circuitos son más complejos o es necesario conectar a un dispositivo final, como un LED (Diodo Emisor de Luz), una LCD (Pantalla de Cristal Líquido), un display de siete segmentos, etc. el simple hecho de ver unas gráficas no sirve de mucho, si no que se necesita en muchas ocasiones interactuar con el circuito, con interruptores, pulsadores, etc. Lo que se necesita es una simulación en tiempo real. Para ello existen infinidad de herramientas, algunas más potentes que otras, por ejemplo: Proteus, PSIM, TINA, WorkBench, MultiSim, etc. Pero aparte de que trabajen en tiempo real, se necesita que soporten la programación en VHDL. Pocas herramientas trabajan con VHDL, pero MultiSim y TINA son unas de las que más resaltan. En esta guía se usará TINA versión estudiantil, ya que es una de las más fáciles de utilizar. INTRODUCCIÓN: TINA tiene a su disposición varias ediciones, cada una se ajusta de acuerdo a las necesidades de cada individuo, según el fin que se le desee dar al software. TINA, puede ser usado fácilmente en áreas de diseño de circuitos lineales, Microelectrónica, Electrónica de Potencia, Microprocesadores y Micro controladores, Circuitos digitales, y otros. VENTAJAS DEL USO DE TINA: Tiene un editor y depurador de código VHDL. Trabaja con circuitos analógicos, digitales e incluso mezclas de ambos. Permite usar Sub Circuitos, para manejar de forma más fácil y compacta grandes circuitos. Tiene a su disposición un gran repertorio de circuitos integrados disponibles en el mercado, así como otros de propósito ilustrativo. No necesita la compilación previa de código VHDL, ya que lo interpreta automáticamente.

Upload: fredy-bonilla

Post on 19-Dec-2015

238 views

Category:

Documents


4 download

DESCRIPTION

Guía 2 SDI 115-2015 Guía 2 SDI 115-2015

TRANSCRIPT

Page 1: Guía 2 SDI 115-2015

Universidad de El Salvador Sistemas Digitales I

Convertidor de códigos con compuertas básicas Ing. Salvador German Página 1 Ciclo I-2015

Universidad de El Salvador

Facultad de Ingeniería y Arquitectura

Guía 2: “Convertidor de códigos con compuertas básicas”

Cruz Juárez, Francisco Ernesto Ramírez Molina, Sasi Lizet

RESUMEN: Esta segunda guía pretende ser una

introducción al uso de las potentes herramientas de

simulación para la verificación del buen

funcionamiento de código escrito en VHDL (Very

High Speed Integrated Circuit Hardware

Description Language) y a la vez seguir

introduciendo al estudiante en la programación en

este lenguaje.

Como se ha visto antes, con software como GHDL,

ActiveHDL, Altera y otros similares se obtienen los

resultados esperados, pero cuando los circuitos son

más complejos o es necesario conectar a un

dispositivo final, como un LED (Diodo Emisor de

Luz), una LCD (Pantalla de Cristal Líquido), un

display de siete segmentos, etc. el simple hecho de

ver unas gráficas no sirve de mucho, si no que se

necesita en muchas ocasiones interactuar con el

circuito, con interruptores, pulsadores, etc. Lo que

se necesita es una simulación en tiempo real. Para

ello existen infinidad de herramientas, algunas más

potentes que otras, por ejemplo: Proteus, PSIM,

TINA, WorkBench, MultiSim, etc. Pero aparte de

que trabajen en tiempo real, se necesita que

soporten la programación en VHDL. Pocas

herramientas trabajan con VHDL, pero MultiSim y

TINA son unas de las que más resaltan. En esta

guía se usará TINA versión estudiantil, ya que es

una de las más fáciles de utilizar.

INTRODUCCIÓN: TINA tiene a su disposición

varias ediciones, cada una se ajusta de acuerdo a

las necesidades de cada individuo, según el fin que

se le desee dar al software.

TINA, puede ser usado fácilmente en áreas de

diseño de circuitos lineales, Microelectrónica,

Electrónica de Potencia, Microprocesadores y

Micro controladores, Circuitos digitales, y otros.

VENTAJAS DEL USO DE TINA:

Tiene un editor y depurador de código

VHDL. Trabaja con circuitos analógicos,

digitales e incluso mezclas de ambos.

Permite usar Sub Circuitos, para manejar de

forma más fácil y compacta grandes

circuitos. Tiene a su disposición un gran

repertorio de circuitos integrados

disponibles en el mercado, así como otros

de propósito ilustrativo.

No necesita la compilación previa de código

VHDL, ya que lo interpreta

automáticamente.

Page 2: Guía 2 SDI 115-2015

Universidad de El Salvador Sistemas Digitales I

Convertidor de códigos con compuertas básicas Ing. Salvador German Página 2 Ciclo I-2015

Instalación de las herramientas de programación

y Simulación VHDL:

Para Windows: Descargar el Software a utilizar,

seguir los pasos de instalación que se indican

durante el proceso de instalación.

Para Linux: Si se quiere instalar TINA en Ubuntu,

se tiene que instalar previamente una herramienta

llamada wine, esta se puede instalar desde el

Synaptic, una vez instalada se ejecuta el archivo

descargado de Tina, igual que en Windows, y se

siguen los mismos pasos.

Ejemplo sencillo del uso de TINA y VHDL.

Lo primero que se debe hacer es editar el código a

utilizar, este se puede escribir en cualquier editor

de texto plano, como el block de notas de

Windows, o el Gedit de Ubuntu, la ventaja del

Gedit es que resalta el código con colores, lo cual

hace más fácil la interpretación del mismo, así

como la búsqueda de errores. También se puede

usar otro software como los vistos en la guía

anterior, ActiveHDL, Altera, etc. Por último TINA

también trae un editor depurador de código VHDL,

la interfaz de éste se muestra en la figura 1. El

código de ejemplo es el mismo que se utilizó en la

guía anterior, se debe escribir uno para una

compuerta AND y otro para una compuerta OR. No

se muestran detalles de esto porque se supone que

el estudiante ya está familiarizado con la

programación en código VHDL.

Figura 1.

Para correr TINA o el Depurador de VHDL en

Windows al menú de inicio y se busca como se

muestra en la figura 2. En Linux Ubuntu ir a

Accesorios, Wine y ahí buscar Tina debe verse

igual que en Windows.

Figura 2.

Page 3: Guía 2 SDI 115-2015

Universidad de El Salvador Sistemas Digitales I

Convertidor de códigos con compuertas básicas Ing. Salvador German Página 3 Ciclo I-2015

Se ingresa en TINA, con lo cual se deberá ver la

siguiente imagen.

Figura 3.

La interfaz de TINA se muestra en la figura 4, se han

resaltado las pestañas que se utilizarán en el desarrollo

de este ejemplo. Se selecciona una pestaña por

ejemplo BASIC y se muestran varios dispositivos

sobre esta barra como fuentes de voltaje DC, Conexión

a tierra, etc. Si se elige otra pestaña se muestran otros

componentes.

Figura 4.

Para crear un nuevo componente, para el caso un

componente VHDL, ir al menú TOOLS y seleccionar

“NEW MACRO WIZARD…”, como se muestra en

la figura 5, esto mostrará otra ventana como en la

figura 6.

Figura 5.

Figura 6.

Esta ventana se modifica de modo que quede

como la figura 7, en ésta se ha resaltado las

partes que hay que editar, luego se pulsa sobre

el botón superior que tiene tres puntos, con esto

se abrirá una nueva ventana ésta se muestra en

la figura 8. En esta ventana deberá explorar y

encontrar el código que editó en la parte 1,

recuerde que ese código debe tener extensión

de archivo *.vhd.

Elegir la opción abrir y presionar OK.

Page 4: Guía 2 SDI 115-2015

Universidad de El Salvador Sistemas Digitales I

Convertidor de códigos con compuertas básicas Ing. Salvador German Página 4 Ciclo I-2015

Figura 7.

Figura 8.

Luego de esto aparecerá una nueva ventana, donde se

escribe el nombre del componente a ser creado, este

puede ser el mismo que el del código VHDL creado,

este proceso se muestra en la figura 9. Se guarda y

se estará de nuevo en el canvas principal (parte de la

ventana principal destinada para el diseño del

circuito) como en la figura 4.

Figura 9.

Parece que se ha hecho nada, pero ahora se puede

usar el componente creado, como cualquier otro

componente de TINA, ahora ir al menú INSERT, y

elegir la opción MACRO como se muestra en la

figura 10, aparecerá una nueva ventana explore en

busca del componente creado, selecciónelo y

ábralo, como se muestra en la figura 11.

Figura 10.

Figura 11.

Page 5: Guía 2 SDI 115-2015

Universidad de El Salvador Sistemas Digitales I

Convertidor de códigos con compuertas básicas Ing. Salvador German Página 5 Ciclo I-2015

Al abrir el componente, aparecerá pegado al cursor

del mouse, como se muestra en la figura12, haga

click en un lugar del canvas y habrá colocado su

primer componente, este se muestra en la figura 13.

Figura 12

Figura 13.

Puede copiar y pegar componentes al igual que un

editor de texto, Ctrl+C, Ctrl+V, o elegirlo de nuevo

volviendo a la figura 10, por cualquiera de estos dos

métodos, seleccione otro componente, repita el

procedimiento para una compuerta OR, de modo que

el resultado sea el que se muestra en la figura 14.

Figura 14.

Seleccioné ahora otros componentes, primero unos

interruptores que servirán de medios de acción

sobre el circuito, para seleccionarlos, elija la

pestaña switches, como se muestra en la figura 15.

Seleccionarlo y hacer las conexiones como se

muestra en la figura 16.

Figura 15.

Figura 16.

Ahora elegir un indicador en la pestaña METERS,

como se muestra en la figura 17. Finalmente el

circuito debe quedar como se muestra en la figura

18.

Figura 17.

Page 6: Guía 2 SDI 115-2015

Universidad de El Salvador Sistemas Digitales I

Convertidor de códigos con compuertas básicas Ing. Salvador German Página 6 Ciclo I-2015

Figura 18.

Ahora editar un poco más, solo para efectos de fácil

interpretación, haga doble click sobre un

interruptor, aparecerá la ventana que se muestra en la

figura 19, cambie el nombre en la entrada Label

donde dice SW­HL1, y cambiarlo por una “A”,

hacer lo mismo para los otros componentes,

colocando un nombre que represente mas el circuito,

como se muestra en la figura 20.

Figura 19.

Figura 20.

Ahora para correr la simulación, seleccionar VHDL

en la lista desplegable que se muestra en la figura

21, luego pulsar sobre el botón que está justo a la

par “VHD” como se muestra en la figura 21.

Figura 21.

Figura 22.

Utilizando los interruptores se puede provocar

todas las entradas posibles, para observar el

comportamiento del circuito, en las figuras 23, 24 y

25, se muestran algunas posibles entradas, con su

respectiva salida.

Page 7: Guía 2 SDI 115-2015

Universidad de El Salvador Sistemas Digitales I

Convertidor de códigos con compuertas básicas Ing. Salvador German Página 7 Ciclo I-2015

Figura 23.

Figura 24.

Figura 25.

Observe como los puntos rojos y azules, indican el

estado de cada entrada y salida, además puede

comprobar fácilmente que el circuito hace justamente

lo que se esperaba que hiciera.

Por último guarde el circuito con el nombre que

quiera darle, como se muestra en las figuras 26 y 27.

Figura 26.

Figura 27.

Por último puede ver, el código VHDL de un

componente haciendo doble click sobre él,

aparecerá la ventana que se muestra en la figura 28,

luego elija la opción ENTER MACRO, y

aparecerá el código como se muestra en la figura

29.

Figura 28.

Page 8: Guía 2 SDI 115-2015

Universidad de El Salvador Sistemas Digitales I

Convertidor de códigos con compuertas básicas Ing. Salvador German Página 8 Ciclo I-2015

Asignaciones:

Figura 29.

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 (and, or y not). El

display de 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 mostró la

opción más sencilla.

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:

Figura 30.

2. Desarrollar un convertidor de códigos

BCD: 2421, 5421, 7421 y Exceso­3,

todos a el código BCD 8421;

estrictamente utilizar solo compuertas

básicas. Se usarán 6 entradas. Las

primeras dos entradas (A y B) serán

entradas de control, de la siguiente

forma: 00=7421 a 8421, 01= Exceso 3 a

8421, 10=2421 a 8421 y 11= 5421 a

8421. Las otras 4 entradas (C, D, E y F)

serán del código BCD a convertir. Se

usarán 4 salidas (w, x, y, z) para el

código BCD 8421.

Deberá crearse un macro utilizando

código VHDL en TINA. Las entradas

serán generadas con switches. En la

salida, colocar LEDs para la

interpretación de la simulación. En las

combinaciones no válidas, deberán

colocarse “X”(“don´t care conditions” ).

El modelo de switch a utilizar en las

entradas, queda a opción del estudiante.

Este es también, el lab1 de SDI215.

Page 9: Guía 2 SDI 115-2015

Investigación:

Investigue las librerías existentes para VHDL, las

características, elementos que contiene, como

accesar a éstas y cómo utilizarlas.

Contenido del reporte: (70%)

Portada 2.5%

Índice 2.5%

Introducción (máx 1 pág.) 5%

Objetivos 5%

Marco Teórico (máx 3 págs) 5%

Desarrollo de los circuitos:

Para cada circuito:

-Descripción de los pasos seguidos para la

solución. 10%

-Tablas de verdad, ecuaciones generadas y

simplificación por mapas de Karnaugh. 15

%

-Códigos VHDL 10 %

-Gráficos de cada circuito y de su

funcionamiento en TINA (capturas).

10 %

Resultados de investigación. 10 %

Observaciones de cada circuito. 5%

Conclusiones. 15%

Bibliografía 5 %

Envío de correo: (30%)

Reporte en formato PDF y

WORD. 15 %

Códigos utilizados (*.vhd). 30%

Circuitos hechos en TINA. 20%

Componentes creados (*.TSM) 20%

Imágenes de los resultados. 15%

NOTA: Enviar el correo a la dirección

[email protected] el mismo día

de la entrega de la tarea (si el correo no se recibe el

mismo día se perderá el 30% de la nota). Adjuntar

en el correo de forma separada): un archivo

comprimido conteniendo los reportes y otro archivo

comprimido donde se contengan los códigos vhd,

los circuitos TINA, los componentes TSM y las

imágenes, cada uno en su carpeta para cada circuito.

Como asunto colocar: Tarea 2 y el carnet de los

integrantes (Ejemplo: Tarea2 AA13000 AA13000).

Fecha de entrega: martes 28 de abril de 2015, de 10 am a 11 am, junto a la asociación de estudiantes

de eléctrica. Después de esa hora se calificará en base nueve, cada día de retraso en la entrega disminuye la

base de calificación en 1.

Entregar el reporte impreso en el horario especificado y enviar el correo a la dirección estipulada, el mismo

día. No entregarán disco.