Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% encontró este documento útil (0 votos)
29 vistas43 páginas

P4 - Introducción A Programación VHDL

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 43

INSTITUTO POLITECNICO NACIONAL

UNIDAD PROFESIONAL INTERDISCIPLINARIA DE

INGENIERIA Y CIENCIAS SOCIALES Y


ADMINISTRATIVAS

INGENIERIA EN INFORMATICA

Aplicaciones de Sistemas Digitales

Prácticas IV

INTRODUCCION A LA PROGRAMACIÓN CON VHDL

PROGRAMACIÓN DE COMPUERTAS LOGICAS

EN PLATAFORMA XILINX

Participantes:

______________________________________________________

_____Resendiz Nieto Melanie Gabriela_____________________

______________________________________________________

______________________________________________________

Profesor: JOAQUIN PINEDA MORENO


PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Fecha de realización:

Objetivo: Al término de esta práctica, el alumno conocerá la aplicación de la plataforma de


Desarrollo XILINX .

Introducción:
VHDL ESTRUCTURA Y ORGANIZACIÓN

En la actualidad, el lenguaje de programación VHDL (Hardware Description Language) constituye una


de las herramientas de programación con mayor uso en el ambiente industrial y en el ámbito
universitario, debido a la versatilidad con la cual se pueden describir y sintetizar circuitos y sistemas
digitales en la búsqueda de soluciones de aplicación inmediata. El uso correcto del lenguaje hace
obsoleto el diseño tradicional, que organiza bloques lógicos de baja y mediana escala de integración,
"compuertas, contadores, registros, decodificadores, etcétera". En otras palabras, para qué organizar
diversas estructuras lógicas en una determinada solución, si esta se puede crear en una sola entidad,
la cual no solo proporciona una reducción considerable de espacio físico, sino que además también
produce un resultado más directo y menos susceptible a los errores derivados de la conexión entre
varios componentes. El resultado -la solución- es susceptible de ser encapsulada en dispositivos lógicos
programables. llamados PLD (véase figura 1.1).

FIGURA a) GAL, b) CPLD, c) FPGA

Página 2
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Al emplear dispositivos programables de muy bajo costo, conocidos por sus siglas en inglés como GAL
(Arreglos Lógicos Genéricos), los cuales se utilizan con mucha frecuencia en proyectos donde lo que se
requiere de manera primordial es la interconexión de algunos dispositivos convencionales como
multiplexores, comparadores, sumadores, etcétera; estos chips pueden adquirirse de manera individual
y ser programados en grabadores convencionales.

En el caso de que la solución requiera de un mayor número de componentes lógicos o "pins" de salida,
pueden utilizarse circuitos CPLD (por sus siglas en inglés; Dispositivos Lógicos Programables
Complejos), los cuales también se consiguen de forma individual o como parte de un sistema de
desarrollo.

Por otro lado, si el proyecto lo amerita, es posible utilizar los FPGA (por sus siglas en inglés, Arreglo de
Compuertas Programables en Campo). recomendados para ser empleados y programados dentro de un
sistema de desarrollo y en aplicaciones con tendencia hacia el desarrollo de sistemas completos dentro
de un solo circuito integrado SOC (System On Chip).

VHDL SU ESTRUCTURA

El lenguaje de descripción en hardware VHDL se estructura en módulos o unidades funcionales,


identificados mediante una palabra reservada y particular de este lenguaje. En tanto a su vez cada
módulo tiene una secuencia de instrucciones a sentencias, las cuales, en conjunto con las declaraciones
de las unidades involucradas en el programa, permiten la descripción, la comprensión, la evaluación y
la solución de un sistema digital. Al interior de la estructura de un programa, las unidades Entidad (Entity)
y Arquitectura (Architecture) -en conjunto- forman la columna vertebral de este lenguaje. Por su parte,
los módulos restantes no necesariamente utilizados en la búsqueda de una solución, sirven entre otras
cosas para optimizar y generalizar la aplicación en futuros desarrollos.

• Library - Bibliotecas

• Entity - Entidad

• Architecture - Arquitectura

• Package - Paquete

• Component-Componente

Página 3
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

ENTIDAD (entity)

Una entidad básicamente representa la caracterización del dispositivo físico: es decir, exhibe las
entradas y las salidas del circuito (llamados pines) que el diseñador ha considerado pertinentes para
integrar su idea o aplicación, en la siguiente Figura se puede observar con detalle la secuencia de
desarrollo. Con base en esta idea, una entity -por la palabra reservada del programa- constituye un
bloque de diseño que puede ser analizado y programado como un elemento individual, ya sea como una
compuerta, un sumador o us decodificador, entre otros, incluso ser considerado como un sistema a
través de su relación entre entradas y salida punto de observación de conexión a elementos periféricos
propios de la aplicación.

FIGURA.- REPRESENTACIÓN DEL PROCESO Y DESARROLLO DE LA ENTIDAD

En los siguientes ejemplos, en a) la entidad proporciona los pines de salida “d3, d2, d1, d0” para el
control de un motor paso a paso mientras que en b) la entidad se conecta a un visualizador de 7
segmentos

Página 4
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

PUERTOS DE ENTRADA-SALIDA

Cada una de las señales de entrada y salida en una entidad es referida como un puerto, el cual es
equivalente a una terminal (pin) de un símbolo esquemático. Todos los puertos que son declarados
deben tener:
• un nombre,
• un modo y
• un tipo de dato

El nombre es utilizado como una forma de llamar al puerto, el modo permite definir la dirección que
tomara la información, mientras que el tipo precisa qué clase de información se transmitirá a través del
puerto. Por ejemplo, en el caso de los puertos de la entidad representada en la figura 15, aquellos que
son de entrada están indicados por las variables a y b. mientras que el puerto de salida se representa
por la variable c.

Página 5
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Modos
Como se mencionó antes, un modo permite definir la dirección hacia donde el dato es transferido. Un
modo puede tener uno de cuatro valores:
• in (entrada),
• out (salida),
• inout (entrada/salida) y
• buffer

Modo in. Se refiere a las señales de entrada a la entidad. El modo in es solo unidireccional y
únicamente permite el flujo de datos hacia dentro de la entidad.

. Modo out. Indica las señales de salida de la entidad. .

Modo inout. Permite declarar a un puerto de forma bidireccional, es decir como de entrada/salida,
además hace posible la retroalimentación de señales dentro o fuera de la entidad. .

Modo buffer. Permite realizar retroalimentaciones dentro de la entidad

TIPOS DE DATOS

Los tipos son los valores (datos) que el diseñador establece para los puertos de entrada y salida dentro
de una entidad, y que son asignados de acuerdo con las características de un diseño en particular.
Algunos de los tipos más utilizados son:

• El bit, el cual tiene valores de 0 y 1 lógico,


• El tipo boolean (booleano) define valores de verdadero o falso en una expresión,
• El bit vector (vectores de bits), el cual representa un conjunto de bits para cada variable de
entrada y/o salida, y

Página 6
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

• El tipo integer (entero), que representa a un número entero.

Los anteriores son solo algunos de los tipos que maneja VHDL, aunque no son los únicos. Los tipos de
datos y su uso los introduciremos conforme se vayan requiriendo.

DECLARACIÓN DE ENTIDADES

La declaración de una entidad consiste en describir las entradas y las salidas de un circuito identificado
como Entity (entidad), en otras palabras, la declaración señala las terminales o los pines de entrada y
de salida con los que cuenta el circuito. Por ejemplo, considérese la tabla de verdad que se muestra a
continuación, como se puede observar. ésta tiene tres entradas, A. B y C, y dos salidas, F0 y F1. En
este caso, a la entidad se le ha identificado con el nombre de TABLA, tal y como se muestra.

Ejemplo de una entidad denominada “TABLA”

La descripción de este programa se muestra a continuación, donde los números de las lineas (1. 2. 3. 4.
5) no son parte del código y serán utilizadas como referencia para explicar alguna sección en particular.
En tanto, las palabras en negritas están reservadas para el lenguaje de programación, es decir tienen
un significado especial para el programa:

1. -– Declaración de la entidad de una tabla de verdad


2. entity tabla is
3. port (A, B, C: in bit;
4. F0, F1: out bit);
5. End tabla;

Ahora comencemos con el análisis del código línea por línea por línea.

Página 7
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

La línea 1 inicia con dos guiones(--), los cuales indican que el texto que está a la derecha es un
comentario, estos se usan únicamente con el fin de documentar el programa, ya que todos los
comentarios son ignorados por el compilador
En la linea 2 se empieza la declaración de la entidad utilizando la palabra reservada entity, seguida del
identificador o nombre de la entidad Tabla (para este ejemplo) y la palabra reservada is

Los puertos de entrada y salida (port) son declarados en las lineas 3 y 4, respectivamente, en este caso,
los pines de entrada son A B y C mientras que los puertos de salida están representados por F0 y F1.
Si se observa con atención la tabla de verdad, es posible apreciar que en su descripción solo se utilizan
valores lógicos (0 y 1) por tanto, es de suponer que el tipo de dato empleado en la declaración es bit.
Por último, en la línea 5 termina la declaración de entidad con la palabra reservada end, seguida del
nombre de la entidad Tabla.

Aspectos importantes a considerar

Como en cualquier lenguaje de programación, es importante hacer notar que VHDL también sigue una
sintaxis y una semántica en el código de programación, las cuales es necesario respetar lo siguiente

• Punto y coma (;): se utiliza para cerrar y finalizar declaraciones.

• Dos puntos (:): en este caso se usan como separador entre el nombre de los puertos y los modos de
entrada.

• El paréntesis: después del modo de salida out bit cierra la declaración de los puertos (port).

EJEMPLO.- Declarar la entidad del siguiente circuito lógico.

Página 8
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

SOLUCIÓN: En este caso se puede apreciar que existen varios modulos individuales los cuales en
conjunto forman una entidad general. Además las salidas C3, C2, C1, C0, deben considerarse como
inuot, es decir señales de entrada y salida, dado que en la estructura interna se observa que la salida
de cada una de estas se retroalimenta a la entrada del siguiente modulo.

1 -– Declaración de la entidad de una tabla de verdad


2 entity proyecto is
3 port (A3, A2, A1, A0, B3, B2, B1, B0: in bit;
4 C3, C2, C1, C0: inout bit;
5 S3, S2, S1, S0: out bit); 6 end proyecto;

IDENTIFICADORES

Los identificadores son simplemente los nombres o las etiquetas que se usan para hacer referencia a
variables: constantes, señales, procesos, etc. Estos identificadores pueden ser números, letras del

Página 9
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

alfabeto y/o guiones bajos que separan caracteres. Es importante resaltar que no existe una restricción
en cuanto a su longitud. Todos los identificadores deben seguir ciertas especificaciones o reglas para
que puedan ser compilados sin errores.

REGLA INCORRECTO CORRECTO


El primer carácter siempre debe ser una letra
4Suma Suma4
mayúscula o minúscula
El segundo carácter NO puede ser un guión bajo S_4bits S4_bits
NO se permite el uso de dos guiones seguidos Resta__4 Resta_4
Un identificador NO puede usar símbolos Clear#8 Clear_8

DECLARACIÓN DE ENTIDADES UTILIZANDO VECTORES

La entidad Proyecto se muestra en la siguientet tabla, mediante: a) sus bits individuales A3, A2, A1, etc.
y en b). La entidad puede esquematizarse mediante un bus, un grupo de cables de conexión, tanto los
cables de entrada como de salida de cada una de las variables involucradas.

Página 10
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

a) Proyecto con sus bits individuales b) Proyecto con vector de bits

En VHOL el conjunto bits ordenados pueden considerarse como vectores de bits los cuales deben
tomarse en cuenta en grupo y no como bits individuales. Asimismo en VHDL ta manera de describir una
configuración que use vectores radica en la utilización de la sentencia bit_vector, así la forma en la que
se ordenan se indica como ascendente “to” como descendente “downto”. Por su parte, el rango o el
número de bits que utiliza el vector se representa en la notación siguiente:

0 to 3 (de 0 hasta 3)
Arreglo ascendente A (A0, A1, A2, A3)
B (B0, B1, B2, B3)

3 downto 0 (de 3 hacia 0)


Arreglo descendente A (A3, A2, A1, A0)
B (B3, B2, B1, B0)

Así por ejemplo, la sentencia 3 downto 0 involucra un vector de 4 bits (3:0). Consideremos
la entidad Proyecto y el código de programación siguiente:

1 -– Declaración de la entidad de una tabla de verdad


2 entity Proyecto is
3 port ( A, B,: in bit_vector (3 downto 0);
4 C: inout bit_vector (3 downto 0);
5 S: out bit_vector (3 downto 0));
6 end Proyecto;

DECLARACIÓN DE ENTIDADES UTILIZANDO LIBRERÍAS Y PAQUETES

Un aspecto importante en la programación con VHDL radica en el uso de librerías y paquetes que
permiten declarar y almacenar estructuras lógicas, seccionadas o completas y que facilitan el diseño

Página 11
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Una librería (biblioteca) es un lugar al cual se accede para emplear las unidades de diseño
predeterminadas por el fabricante de la herramienta (paquete) y que se aplican para agilizar el diseño,
además de que también permiten almacenar el resultado obtenido de la compilación de un diseño con
el fin de que este pueda ser utilizado dentro de uno o varios programas.

En VHDL se encuentran definidas diversas libretas, su cantidad depende de las herramientas que el
fabricante de software ha instalado. Por lo general siempre hay dos librerías ieee y work en "Cypress
Semiconductor.
Al interior de la librería ieee se ubica el paquete std_logic_1164, mientras que en la librería work se localizan los
paquetes numeric_std, std_arith y gates.

Figura.- Contenido de las librerias ieee y work

Un paquete es una unidad de diseño que permite desarrollar un programa en VHDL de manera ágil
debido a que en este encuentran algoritmos preestablecidos (sumadores, restadores, contadores, etc.)
que ya tienen optimizado un determinado comportamiento Por esta razón, el diseñador no necesita
caracterizar paso a paso una nueva unidad de diseño si esta ya se ubica almacenada en paquete, en
este caso solo bastaría llamarlo y especificarlo dentro del programa.

Por tanto, un paquete no es más que una unidad de diseño formada por declaraciones, programas
componentes y subprogramas que incluyen los diversos tipos de datos (bit, booleano, std_logic)
empleados en la programacion en VHDL y que por lo general forman parte de las herramientas en
software, Cuando en diseño se utiliza algún paquete es necesario llamar a la librería que lo contiene, lo
cual se lleva a cabo a través de la siguiente declaración:
library ieee

Esta declaración permite el empleo de todos los componentes incluidos en la librería ieee. En el caso
de la librería de trabajo (work) su uso no requiere de la declaración library, dado que la carpeta work
siempre está presente al desarrollar un diseño

ARQUITECTURA (architecture)

Página 12
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Una arquitectura define ei algoritmo o la estructura de solución de una entidad en esta se describen las
instrucciones o los procedimientos programa que deben llevarse a cabo para obtener la solución
deseada por el diseñador. La gran ventaja que presenta VHDL con respecto a los compiladores
tradicionales de diseño PALASM, OPAL, PLP ABEL y CUPL, entre otros disponibles para la
programación de Dispositivos Lógicos Programables, es la extensa variedad de formatos con los que
cuenta y que utiliza en la descripción de una entidad. Es decir, en VHDL es posible describir en diferentes
niveles de abstracción que van desde el uso de ecuaciones y estructuras lógicas, la descripción
mediante la simbología de la transferencia de registros RTL hasta la simplicidad que puede representar
una caja negra-sistema, cuya interpretación es una Función de transferencia, la relación entre entradas
y salidas describe el funcionamiento de la entidad. No obstante, en VHDL no existe de manera formal
un procedimiento de diseño. Como ya se menciono, la versatilidad en la abstracción y la descripción de
una entidad permiten al usuario la tarea de planear la estratega por utilizar para una solución en
particular. Sin duda, la experiencia en programación puede ser un factor importante de diseño, sin
embargo, VHDL posee una estructura de programación tan amigable que es muy fácil de entender aun
por personas que no han tenido relación alguna con lenguajes de programación. De manera general y
con base en cómo se presenta la entidad (entity), a primera vista, en VHDL se pueden distinguir los
siguientes estilos de programación.

• Estilo por flujo de datos.

• Estilo funcional

• Estilo estructural

DESCRIPCIÓN POR FLUJO DE DATOS

La descripción por flujo de datos muestra con detalle la transferencia de información entre las entradas
y las salidas de una entidad. Este estilo, totalmente comprensible para el usuario, se recomienda para
quienes recién se inician en la programación en VHDL. en materias como diseño lógico, donde las tablas
de verdad y las ecuaciones lógicas son parte fundamental en la descripción de un circuito lógico.

EJEMPLO 1.

Considérese la tabla de verdad de la siguiente figura, como se puede observar la tabla tiene dos entradas. A y
B. y dos salidas. F0 y F1.

Página 13
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

F0 = /A*/B + /A*B
F1 = /A*/B + /A*B + A*/B

A continuación se realiza la descripción del código línea por línea. En las líneas 2 y 3 se escriben la
librería y el paquete respectivamente. En tanto de las líneas 4 a la 7 se escribe la entidad. Como se
puede ver las entradas y las salidas se utilizaron de manera individual, nótese que en estas se mezcló
el uso de letras mayúsculas y minúsculas. lo cual resulta "irrelevante para el compilador”.

-- Declaración Flujo de Datos


1
library ieee
2
use ieee.std_logic_1164.all
3
entity Tabla is
4
port (A, B: in std_logic;
5
F0, F1: out std_logic;
6
end Tabla
7
architecture Flujo of tabla is
8
begin -- Comenzar
9
F0<= (not A and not B) or (not A and B);
10
F1<= (not A and not B) or (not A and B) or (A and not B);
11
end Flujo;

Página 14
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

OPERADORES LÓGICOS

Los operadores lógicos que se utilizan en la descripción con ecuaciones booleanas y que están definidos
dentro de los diferentes tipos de datos-bit, boolean o std logic son los operadores: and, or nand, nor,
xor, xnor y not.
Las operaciones que se efectuen entre estos (excepto not) deben realizarse con datos que tengan la
misma longitud o palabra de bits Los operadores lógicos presentan el siguiente orden y prioridad al
momento de ser compilados:

1.- Expresiones entre paréntesis


2.- Complementos
3.- Funciones and
4.- Funciones or

Las operaciones xor y xnor son transparentes al compilador que las interpreta mediante la suma de productos
correspondiente a su función.

Aspectos importantes por considerar.


• Se utiliza ‘ – ‘ una comilla para expresar un valor individual
• Se utiliza “ – “ doble comilla para expresar un grupo de bits o vector.

Página 15
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Instalación de licencias
De la pantalla debemos seleccionar el producto del que queremos la licencia, en nuestro caso será Licencia ISE
WebPACK. Una vez que se seleccionó el producto darle próximo.

Darle click en la flecha para continuar con el proceso.

Página 16
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Nos mandara este mensaje de que ya fue enviada la licencia al correo.

Página 17
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Les enviara a su correo la licencia.

YA QUE TIENEN LA LICENCIA LES VA A PERMITIR DESCARGAR EL SOFTWARE EN SU PC Y PROCEDER


A DESCOMPACTARLO E INSTALARLO
Acceder al siguiente link:
• https://www.xilinx.com/downloadNav/vivado-design-tools/archiveise.html

Al abrir el link tendrán la siguiente pantalla, deben seleccionar la version 14.7, no se confundan con la que dice
Windows 10, esa suele tener problemas, dirijanse a la que dice 14.7 solamente.

Página 18
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Se les desplegaran varios apartados, pero deben ir al que dice Full Product installation, y seleccionar el Full
Instaler for Widnows 7/XP/ Server, al darle click les pedirá iniciar sesión, de no contar con la sesión deberan
crear una y llenar otros datos.

TE APARECERÁ ESTA PANTALLA QUE ES OBTENER LA LICENCIA

Página 19
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Es importante que den el nombre del IPN, el domicilio, código postal, teléfono y escriban que son estudiantes,
etc

Nos pedirá la activación de la cuenta desde nuestro correo donde fue enviada la clave de activación, que es
copiar y pegar el Access token en el campo de verificación

Página 20
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Una vez descargado el instalador, es necesario descargar una licencia, tenemos que volver al primer link que
ocupamos, ir a la misma versión, y en el primer apartado seleccionar License solution center

Click en Xilinx Product Licensing Site, pedirá de nuevo datos, llenar y dar click en next

Página 21
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Seleccionar la opción que diga Vivado Design Suite – Certificade No charge. O Ise Web Pack. Suele variar. En
mi caso no me sale por que yo ya la descargue, si ustedes también ya la han descargado en alguna ocasión,
vayan al apartado Manage Licenses, ahí podrán descargarlo de nuevo. Al haber seleccionado la casilla
correspondiente dar click en Generate Node Locked License. Con eso la licencia debería llegar a su correo en
un archivo .lic. Descarguenla y tenganla en una carpeta bien ubicada pues se utilizará para la instalación.

Extraer el archivo que descargamos.

Página 22
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Ejecutar xsetup.exe

Se abrirá el instalador, dar click en next

Página 23
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Aceptar términos y condiciones.

Seleccionar la opción ise web pack y dar click en next

Página 24
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Dejar todas las Casillas seleccionadas y dar en next.

Designar directorio y dar en next, de preferencia dejar el que viene por default.

Página 25
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Dar click en install, esperar el proceso, y si aparece cualquier ventana, solo darle en aceptar

Click en finalizar.

Página 26
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Se abrirá la siguiente semana e ir al siguiente apartado (Manage Xilinx Licenses)

Ingresar a la ruta donde este la licencia que descargamos del correo y seleccionarla.

Página 27
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

DESARROLLO PRACTICO.

1. Realice la instalación del software XILINX ISE DESIGN SUITE en su computadora.

2. Seleccione el icono correspondiente y aplique doble clic para accesar al software de desarrollo,

3. Se mostrará la siguiente pantalla de inicio.

Página 28
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

La ventana Did you know… son tips de aprendizaje sobre el programa que aparecerá cada vez que iniciemos
el software. Damos clic en OK para cerrarla.

4. En la parte superior izquierda localizamos cuatro botones y damos clic sobre la opción NEW PROYECT
y nos abrirá una nueva ventana solicitando los datos del proyecto:

• Name (asignar nombre del proyecto)


• Location (indicar la dirección de localización del proyecto)
• Working Directory (indicar la localización del directorio Work)
• Description, aquí tenemos la opción de dar una descripción del proyecto.

Es importante que en la selección de tipo de fuente –Top level source file – elegir la opción HDL,
como se muestra en la siguiente figura.

Damos clic en NEXT.

Página 29
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

5. De acuerdo a nuestra tarjeta de desarrollo MOJO V3, seleccionar los parámetros indicados en la siguiente
figura.

Damos clic en NEXT.


6. A continuación deberá aparecer el resumen de datos del proyecto, Verifique que sean correctos y
presione FINISH.

Página 30
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Para continuar es necesario posicionarse en el icono de la ruta del proyecto, ver siguiente figura y seleccionar
con el botón derecho del mouse NEW SOURCE, como se muestra.

Para la edición del programa seleccione la opción VHDL MODULE y escriba el nombre del archivo en
el campo correspondiente, este puede ser diferente al nombre asignado al proyecto.
Posteriormente active la casilla - Add to Project – para agregar este archivo al proyecto general.

Página 31
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

La siguiente ventana se utiliza para escribir el nombre las variables y modo de los puertos de
entrada y salida que se van a utilizar.

Damos clic en NEXT.


Aparecera el resumen de datos de nuestro programa fuente, ver figura.Damos clic en finish y
procedemos a la captura de nuestro programa en la ventana de nuestro editor.

Página 32
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

VENTANA DE NUESTRA PAGINA DE EDICION DE PROGRAMA

Escribimos la función de nuestra arquitectura

Página 33
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Guardamos nuestro programa fuente y procedemos a revisar la sintaxis del programa VHDL
considere el icono de la trayectoria del modulo VHDL, lo selecciona y con botón derecho
seleccione – synthesize XST / Check Syntax…

Tardara un momento en la ejecución de este proceso y nos indicara con una palomita en verde, para
indicar que todo es correcto o una cruz en rojo para indicar algún fallo.

Página 34
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Procedemos a la compilación del proyecto dando doble clic en Sinthesize XST y debemos obtener
también la palomita verde indicando que todo es correcto.

Procedemos a la simulación del proyecto mediante diagrama de tiempos. Para ello nos
posicionamos en el icono de la trayectoria del modulo VHDL y seleccionamos el botón de
simulación en la pestaña superior. Ver siguiente imagen.

Página 35
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Obteniendo el resultado con la palomita verde, procedemos a dar doble clic sobre Simulate Behavioral.

Se desplegara la pantalla siguiente donde podremos simular las condiciones de entrada


de nuestro proyecto y obtener con diagrama de tiempos los resultados de salida.

Página 36
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Para asignar los valores de cada una de las variables de entrada seleccione cada una de ellas con
el botón derecho del mas y en el menú que se despliega seleccione Force Constan.

Hacemos este procedimiento para cada variable en cada uno de los posibles estados de nuestra
tabla de verdad.

Página 37
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

ENTRADAS SALIDAS

A B C R=/A S=A*B T=A+B U=AXORB V=AXNORB W=A*B*C*


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

A continuación se muestran algunos ejemplos de las simulaciones realizadas.


Para la condición de entradas A=B=C= 0, tenemos;

Página 38
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Para la condición de entrada A=B=0 y C=1, tenemos;

Para la condición de entrada A=0 y B=C=1, tenemos;

Página 39
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Para la condición de entrada B=0 y A=C=1, tenemos;

Y como último ejemplo de simulación la condición de entrada cuando A=B=C=1, teniendo:

Página 40
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Para ver una corrida completa de todas los casos de simulación realizadas hacemos clic en el icono
Zoom to full View.

Y también podemos revisar cada simulación posicionándonos en el inicio del diagrama de tiempos
con el icono go to time0 y revisar paso a paso con el icono Next Transition las simulaciones
realizadas.

Página 41
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Con la simulación comprobamos que nuestro proyecto esta trabajando de acuerdo con nuestras
expectativas.

GENERACIÓN DEL ARCHIVO DE PROGRAMACIÓN.

1. Para implementar el archivo de restricciones debemos posicionarnos en el icono de la ruta del


modulo VHDL, pulsar botón derecho y seleccionar New Source.

2. Seleccionamos Implementation Contrins Ffile

Página 42
PRACTICA IV
INTRODUCCIÓN A LA PROGRAMACIÓN VHDL

Se desplegara la ventana resumen del archivo de restricciones del proyecto.

Damos clic en Finish y se desplegara la ventana donde escribiremos el programa con la asignación de puertos
de entrada y salida de nuestro proyecto.

Página 43

También podría gustarte