VHDL

August 15, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download VHDL...

Description

 

 

ESCUELA POLITECNICA DEL EJÉRCITO 

Diseño VLSI Laboratorio #1 Integrantes: Alexis Góngora Rayhra Pozo

06 de Enero del 2013

 

 

Contenido 1.-Tema ........................................................... .............................................................................................................................. .............................................................................. ........... 3 2.- Objetivos.- .......................................................................................................... ................................................................................................................................ ...................... 3 2.1.- Objetivo General: .............................................................................................................. .............................................................................................................. 3 2.2.- Objetivo Especifico:........................................................................................................... ........................................................................................................... 3 3.- Marco Teórico: ................................................................................................... ......................................................................................................................... ...................... 3 FPGA.- ........................................................................................................................................ ........................................................................................................................................ 3 Lenguaje VHDL: ......................................................................................................................... ......................................................................................................................... 4 Código Concurrente.- ......................................... ............................................................................................................ ................................................................... 4 4.-Desarrollo:................................................................................................................................. ................................................................................................................................. 5 4.1.- Enunciado:.............................................................................................................. Enunciado:......................................................................................................................... ........... 5 4.2.- Diagrama de Bloques: ....................................................................................................... ....................................................................................................... 5 4.3.- Ingeniería Conceptual: ...................................................................................................... ...................................................................................................... 5 4.4.- Ingeniería Básica: .............................................................................................................. .............................................................................................................. 8 4.5.- Ingeniería Detalle: ........................................................................................................... ........................................................................................................... 11 5.- Conclusiones Concl usiones y Recomendaciones: ........................................................................................ ........................................................................................ 21 6.- Bibliografía: ............................................................................................................................ ............................................................................................................................ 22 7.- Anexos: ............................................................................. ................................................................................................................................... ...................................................... 23 Código .vhdl: Oscilador.- ......................................................................................................... ......................................................................................................... 23 Código .vhdl: Sonar.- .............................................. ............................................................................................................... ................................................................. 23 Código .vhdl: Contador.- ......................................................................................................... ......................................................................................................... 25 Código .vhdl: MiAnd.-.................................................................... .............................................................................................................. .......................................... 26 Código .Buffer.- ....................................................................................................................... ....................................................................................................................... 27 Código .vhdl: Restador.- ............................................................... .......................................................................................................... ........................................... 27 Código .vhdl: Decoder Binario a BCD.- .............................. .................................................................................... ...................................................... 28 Código .vhd: Decoder BCD a 7 segmentos.-............................................................................ ............................................................................ 29 Código .vhd: Comparador.- ................................................................................. ..................................................................................................... .................... 29 Código .vhd: Barrido.- ............................................................................................................. ............................................................................................................. 30 Código .vhd: Unión de bloques.- ............................................................................................. ............................................................................................. 30

2

 

1.-Tema Introducción en programación VHDL, en Xilinx ISE 10.1

2.- Objetivos.2.1.- Objetivo General: Mediante el uso de la herramienta de desarrollo desarrollo Xilinx ISE 10.1 diseñar, implementar y simular simular un sistema de nivel, describir el funcionamiento del mismo mediante programación en código VHDL.

2.2.- Objetivo Especifico:  

Implementar un proyecto individual en Xiling por cada bloque del circuito.   Familiarizarnos con el uso de las tarjetas FPGA de la familia Spartan 3E.

3.- Marco Teórico: FPGA.-

Figura 1.- Tarjeta FPGA

Un FPGA (Field Programmable Gate Array mediante sus siglas en ingles), es un circuito integrado, el mismo que puede configurarse mediante programación para poder realizar cualquier función lógica, contiene bloques los mismos que constan de interconexiones, que son programables para implementar cualquier función. Las aplicaciones que se les dan a estos 3

 

circuitos integrados, se basan básicamente en los ASICs, una de sus mayores ventajas es que son reprogramables, por lo cual son sumamente flexibles a la hora de diseñar una aplicación. Entre sus desventajas podemos encontrar que tiene un gran consumo de potencia y que su eficiencia disminuye al no poder trabajar con sistemas complejos.

Lenguaje VHDL: El lenguaje VHDL (Very high speed integrated circuit) fue creado con el propósito de especificar y documentar circuitos y sistemas digitales utilizando un lenguaje formal. El lenguaje VHDL nos ayuda a entender la funcionalidad y la organización de sistemas de hardware digital. Sus ventajas son:   Permite diseñar y modelar un sistema en varios niveles de abstracción: flujo de datos, estructural, algorítmico.   Una descripción en VHDL es independiente de la implementación hardware final del proyecto.   Puede ser sintetizado sobre una PLD o un ASIC. Incluso puede servir para simulación exclusivamente.   Permite el diseño Top-Down y modular, es decir, dividir un sistema complicado en









subsistemas más sencillos, tantas veces como sea necesario hasta poder resolver cada módulo (subsistema) por separado.1  Código Concurrente.-

El código concurrente se caracteriza pues sus sentencias se ejecutan simultáneamente en la simulación, por ende ninguna sentencia tiene prioridad sobre las otras. Se utilizan especialmente para el modelado del hardware pues pueden describir adecuadamente su comportamiento. Deben de formar parte siempre del cuerpo de arquitecturas ar quitecturas o de bloques. Las construcciones concurrentes comúnmente se dividen en:   Procesos   Asignaciones concurrentes a señal





  Llamadas concurrentes a procedimientos   Bloques   Instanciaciones de componentes







1

Características del lenguaje VHDL. Recuperado el Sabado 15 de Diciembre del 2012 de: http://serdis.dis.ulpgc.es/~itis-dl/Teoria%20VHDL/Lenguaje%20VHDL%20EUP%20Teruel.pdf 

4

 

4.-Desarrollo: 4.1.- Enunciado: Diséñese un circuito electrónico que indique la cantidad de líquido de un gran tanque de almacenamiento en un despliegue de siete segmentos. El despliegue muestra la cantidad de líquido en el tanque en porcentajes del 10% al 90% con incrementos de 10%. Debe sonar una alarma si el nivel de líquido cae por debajo de 10% o excede el 90%. El nivel se mide con un dispositivo de sonar que proporciona pulsos, como se muestra en la figura.

Figura 2.- Representación gráfica del enunciado

4.2.- Diagrama de Bloques:

Figura 3.- Diagrama de bloques total del circuito

4.3.- Ingeniería Conceptual: En nuestro sistema de nivel tenemos como bloque principal:

5

 

Figura 4.- Diagrama de bloques externo del sistema Donde:

OSCILADORSeñal de oscilación general del sistema RESET Reset total del sistema SELECTOR Entrada para seleccionar el modo del sonar A_e Alarma DISP_ver Dato para el barrido de los displays activa Activadores para el barrido de los displays Tabla del porcentaje de nivel del tanque según el tiempo de pulso de respuesta: Tiempo (ms)

Porcentaje

60 70 80 90 100 110 120 130 140 150 160

100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%

Tabla 1.- Tabla de porcentaje de nivel 

Calculo de la frecuencia del oscilador:   

 

 



 

    

Oscilador:

Este primer bloque tiene la función de generar una señal de 100 Hz la cual precisamos para realizar la cuenta de los pulsos recibidos. Internamente corresponde a un divisor de frecuencia la cual utiliza la señal de reloj del FPGA.  

Sonar: 6

 

Este bloque simula el funcionamiento del sonar de entrada de nuestro sistema, mediante los interruptores de entrada, podemos escoger 10 combinaciones distintas para recrear la señal de retorno del sonar.  

Contador:   Contador:

Como segundo bloque interno de nuestro circuito tenemos un Contador al cual ingresa una señal de oscilador con frecuencia de 100Hz. Este tiene la función de contar los pulsos de oscilación desde 0 hasta 99. Tomamos como referencia en esta sección el flanco descendiente de la señal.  

MiAnd:   MiAnd:

Este bloque realiza la función de un circuito comparador el cual tiene como entradas la señal de oscilación y la señal de recepción del sonar. Cuando ambas señales son iguales se activa la salida A=B, la cual envía una señal de enable para el buffer.  

Buffer:

El bloque del buffer en nuestro diseño sirve para tener un dato valido de la cuenta del bloque del contador, cuando la señal de enable (tomado por flanco ascendente) está en 1 lógico, el buffer transmite el dato que tiene en la entrada hacia la salida.  

Restador:

En esta parte del diagrama se realiza la operación aritmética:     

Donde A representa un valor fijo de 16 en binario (10000) y la entrada B es el valor del dato que se recibe del buffer.  

Comparador:

Tenemos un bloque comparador el cual activa la alarma cuando se cumple alguna de estas dos condiciones: 1)  Cuando el nivel del tanque exceda el 90% 2)  2)  Cuando el nivel del tanque este por debajo del 10% Por lo cual procedemos a comparar el valor acondicionado de la salida del restador (variable datores). Si: Datores9  A=1. De lo contrario: A=0.  

Decoder Binario a BCD: Este como su nombre lo indica realiza la respectiva conversión del dato de la salida del restador (datores) de binario a BCD, nos devuelve por separado el valor de unidades en BCD y de decenas en BCDen por como dos dígitos. Esto nos es útil para poder representar la información losseparado displays correctamente. co rrectamente. 7

 

 

Decoder BCD a 7 segmentos: Tenemos un bloque de decodificación de BCD a 7 segmentos, estos respectivamente convierten la señal que ingresa en BCD a una salida de 7 dígitos los cuales realizarán la activación respectiva de los displays de centenas y decenas, el display de unidades siempre estará encerado puesto que los valores del tanque aumentan en pasos de 10 en 10 de 0 hasta 100.

 

Barrido de displays: En este bloque nos ayuda a la representación visual de la información en la tarjeta. Dado que la tarjeta FPGA no consta con displays incorporados, debemos utilizar los pines de los Headers de la tarjeta para representar externamente el nivel del tanque mediante displays. La tarjeta consta de 3 headers con 12 pines libres en total (además de los de VCC y GND), por lo cual para poder visualizar en los tres displays la información necesitamos un programa de barrido.

4.4.- Ingeniería Básica:  

Oscilador:

Figura 5.- Representación gráfica del Oscilador Os cilador  

Sonar:

Figura 6.- Representación gráfica del Sonar

8

 

 

Contador 100Hz:

Figura 7.-Representación gráfica del contador

 

And

Figura 8.-Representación gráfica de compuerta AND

 

Buffer

Figura 9.-Representación gráfica del buffer

 

Restador

Figura 10.-Representación gráfica del Restador

9

 

 

Decoder Binario a BCD:

Figura 11.-Representación 11.-Representación gráfica del decoder Binario a BCD   

Decoder BCD a 7 segmentos: segmentos:

Figura 12.-Representación 12.-Representación gráfica del decoder BCD a 7 segmentos 

 

Comparador:

Figura 13.-Representación gráfica del Comparador 

10

 

 

Barrido de displays:

Figura 14.- Representación gráfica bloque de barrido

4.5.- Ingeniería Detalle:  

Comparador:   Comparador:

Entradas:

  Datores(3:0)



Salidas:

  A



* Ver anexo: anexo: Código .vhd: Comparador  

11

 

Diagrama de flujo: Este elemento nos sirve para hacer comparaciones de diferentes datos.

INICIO

A>B NO

SI

A
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF