Guia1_SDI-1-2016

October 12, 2017 | Author: AlejandroMendez | Category: Logic Gate, Vhdl, Digital & Social Media, Digital Technology, Computer Engineering
Share Embed Donate


Short Description

Descripción: Tarea 1...

Description

Universidad de El Salvador Escuela de Ingeniería Eléctrica Sistemas Digitales 1 Guía No. 1: CPLD Catedrático: Ing. Salvador German. Instructores: Br. Bryan Noé Castro Cortez. Br. David Romeo Vásquez Rodríguez. Introducción: Con el avance de la tecnología en la simulación de circuitos es necesario avanzar y mejorar el estudio de estos programas, no perdiendo el objetivo de aprender sobre los sistemas digitales. Esta guía pretende ser una introducción a los lenguajes HDL (Hardware Description

Language), específicamente para trabajar con AHDL (Altera Hardware Description Language) de Altera y VHDL (Very high speed integrated circuit Hardware Description Language) del estándar IEEE (Institute of Electrical and Electronics Engineers) std 10761987. Se explicará con mayor detalle VHDL para minimizar el contenido de la guía, pero el estudiante puede trabajar en el lenguaje que prefiera, también se pretende mejorar y utilizar un nuevo programa de simulación como es Quartus II el cual se tomara a detalle los pasos de instalación y simulación en este. Quartus II Edición Web La Edición Web es una versión gratuita de Quartus II que puede ser descargada o enviada gratuitamente por correo. Esta edición permite la compilación y la programación de un número limitado de dispositivos Altera. La familia de FPGAs de bajo coste Cyclone, está soportada por esta edición, por lo que los pequeños desarrolladores y desarrolladoras no tendrán problemas por el coste del desarrollo de software. Se requiere un registro de licencia para utilizar la Edición Web de Quartus II, la cual es gratuita y puede ser renovada ilimitadamente o de pago. Un punto muy importante es la versión, ya que físicamente poseen dispositivos EPM3032ATC10-7, EPM3064ATC10-7 y EPM240T100C5N es necesario utilizar una versión de software que le brinde soporte a las familia MAX3000A y MAX II a las cuales pertenecen los dispositivos en cuestión, ya que la versión 14.1 no brinda dicho soporte se utilizara la versión 13.0 service pack 1. Quartus II necesita una herramienta aparte que no vienen incluida dentro del programa principal, que sirve como interfaz entre el software y el equipo programador, su nombre es Quartus programmer y debe estar acorde con la versión del software, esta herramienta permite la configuración del programador y es la encargada de la descarga de datos hacia el dispositivo físico. Familia de CPLD MAX3000A y MAX II Los dispositivos MAX 3000A y MAX II son de bajo costo y alto rendimiento basados en la arquitectura MAX de Altera. Son fabricados con tecnología avanzada CMOS, operan con 3.3v.

Proveen entre 600 a 10000 compuertas utilizables y contadores de velocidad superiores a 227.3 MHz. Son totalmente compatibles con lógica TTL.

Figura No. 1: Distribución de pines para los CPLD. Se utilizaran tres tipos de CPLD: EPM3032aTC44-10, EPM3064aTC44-10 y EPM240T100C5n.

Instalación y licenciamiento del Software. Para la descarga del software como ya se había mencionado lo podemos buscar dentro de la página oficial de Altera: www.altera.com Se recomienda entrar a este sitio https://www.altera.com/download/sw/dnl-sw-index.jsp siempre de la página de Altera y hacer seleccionar la versión basándose en dispositivos, tal como lo muestra la imagen

Figura No. 2: Pantalla de búsqueda del software adecuado.

Luego de dar clic a la versión, se llegara a la siguiente página en donde se debe descargar los archivos marcados.

Figura No. 3: Página Principal de descarga. Todo esto tendrá un peso de 1.6 GB aproximado, pero se debe tener libre por lo menos 6 GB en disco duro para completar la instalación de forma satisfactoria. Una ventaja significativa es que esta versión ya no necesita un archivo de licencia.

Figura No. 4: Licencias. Una vez se tienen los archivos se ejecuta primero el archivo QuartusSetupWeb-version.exe Se desplegaría el asistente de instalación.

Figura No. 5: Asistente de instalación. Los siguientes pasos son similares a cualquier programa en Windows, aceptar los términos y condiciones, seleccionar la carpeta de instalación (recordar esta dirección ya que posteriormente se utiliza).

Figura No. 6: Términos y condiciones.

Figura No. 7: Carpeta de instalación. Una vez finalizada la instalación el programa estará listo para ser utilizado, en la ventana principal se despliega un asistente para la ejecución de un nuevo proyecto, esa sección será descrita posteriormente.

Figura. 8: Pantalla inicial Quartus II. La instalación del Quartus Programmer es posterior y sigue la misma lógica del programa anterior, Quartus Programmer es una extensión de la suite por lo tanto es un programa independiente, si se necesitara solo el programador perfectamente se podría instalar sin necesidad de instalar toda la suite, y para programar los dispositivos solamente se necesitarían los archivos .pof generados por el compilador previamente.

Figura No. 9: Pantalla inicial del Quartus Programmer.

CPLD. Como se había mencionado los CPLD disponibles son de la familia MAX 3000 con un empaquetamiento tipo TQFP (Thin Quad Flat Package), correspondiente a un montaje superficial, ya que los dispositivos son de uso académico lo ideal era crear una base estándar, siguiendo esta idea se tomó el estándar DIL40 (Dual in Line, 40 pines) y se reconfiguro el nuevo pinout del dispositivo, el cual quedo de la siguiente manera: No. de Pin

Descripcion

No. de Pin

Descripcion

1 2, 3 4 5, 6

TDI, I/O expandible General I/O GND General I/O

21, 22, 23 24 25 26

General I/O VCC InputOE2 InputGCLK2

7 8

TMS, I/O expandible General I/O

27 28

InputOE1 InputGCLK1

9

VCC (3.3 V)

29, 30, 31

General I/O

10

General I/O

32

TDO, I/O expandible

11, 12, 13, 14 15 16, 17, 18, 19, 20

General I/O VCC General I/O

33 34 35,36 37

General I/O VCC General I/O TMS, I/O expandible

38, 40 39 Tabla No. 1: Pin Out Base estándar.

General I/O GND

Programación del CPLD en Quartus II A continuación se muestra los pasos para programar un CPLD.

1. Inicializar Quartus II. 2. Del menú File, click en New Project Wizard…

Figura No. 10: Menú File.

3. Se abrirá un asistente, en el cual hay que completar 5 pasos para la configuración del proyecto.

4. En el paso número 1 se asignara la carpeta en donde se guarden los archivos creados por el proyecto, así como también el nombre del mismo, la carpeta puede tener cualquier ubicación y el nombre del proyecto puede ser cualquiera.

Figura No. 11: pagina 1 creación del proyecto

5. La página numero 2 permite agregar archivos de diseño ya existentes, si se requiere un proyecto desde cero lo ideal es clic en Next.

6. La siguiente etapa permite seleccionar el dispositivo que se requiere programar, para el ejemplo se utilizara un EPM3064ATC44-10.

Figura No. 12: selección de dispositivos.

7. La etapa 4 permite la selección de las herramientas a utilizar para la compilación del proyecto por el momento no se configurara nada en esa parte.

8. La etapa 5 muestra un reporte de configuración del proyecto.

Figura No. 13: reporte de configuración.

9. En el menú File, clic en New…. 10. Seleccionar la opción VHDL file y clic en Ok.

Figura No. 14: selección de tipo de archivo

11. Se abrirá una ventana de edición de texto en la cual se introducirá el código. 12. En el menú File, clic en la opción Save As y se guarda el archivo .tdf con el mismo nombre del proyecto. 13. Escribir el código.

Figura No. 15: código. 14. En el menú Prossesing seleccionar la opción Start compilation.

Figura No. 16. Compilar el código.

Figura No. 17: si no hay errores se mostrará el siguiente mensaje. 15. Abrir ModelSim.

Figura No. 18: cerrar el mensaje de bienvenida.

16. Dar clic en el menú File luego clic en New y clic en Proyect.

Figura No. 19: nuevo proyecto 17. De preferencia llamar al proyecto del mismo con el mismo nombre del código y guardarlo en la misma carpeta donde se guardó el código. Y damos OK.

Figura No. 20: guardando el nuevo proyecto.

18. Seleccionamos la opción Add Existing File buscamos y seleccionamos el archivo VHDL que ya habíamos creado y compilado en Quartus II.

Figura No. 21: creando el archivo de simulación de ondas. 19. Al cargar el archivo se observa de la siguiente manera. Luego en el menú Complile, clic en compile All. En la barra inferior Transcript debe aparecer el mensaje de compilación exitosa.

Figura 22. Compilación del archivo.

20. Vamos al menú Simulate clic en Start Simulate aparecerá un cuadro donde desplegamos el menú de Work seleccionamos el archivo que vamos a simular (en este caso comp_and) y damos clic en ok

Figura 24. Simulación

21. En el menú View seleccionar las opciones de Objets y Wave si estas no están seleccionadas. Debe tener abierto las ventanas que se muestran en la figura 25

Figura 25. 22. Sombreamos los pines de entrada y salida y damos clic derecho sobre uno de estos luego seleccionamos la opción Add Wave.

Figura 26. Agregamos las entradas y salida al simulador.

23. En la barra inferior Transcript utilizamos el comando forcé con el cual asignamos los valores que irán tomando las variables de entrada, para que cumplan con su respectiva tabla de verdad.

Figura 27. Asignando los valores de la simulación.

Figura 28. Como se observa la simulación de una compuerta AND donde su salida es 1 solo si sus dos entradas son 1.

ASIGNACIÓN 1. Realizar el código VHDL para las compuertas: AND, NAND, OR, NOR, EXOR, EXNOR y NOT, simular en VHDL. 1.1 Explicar paso a paso como es el proceso de instalación del software VHDL usado. 1.2 Realizar el código VHDL para el problema que se le plantea: Un circuito lógico tiene cuatro entradas A, B, C y D. Determine las ecuaciones lógicas para el circuito, si la salida será alta solo cuando un número impar de entradas sean altas. Trace un diagrama de circuito con las compuertas que desee 1.3 Una alarma contra robos esa diseñada de modo que percibe cuatro líneas de señal de entrada. La línea A es del interruptor secreto de control, la línea B es del sensor de presión bajo una caja fuerte en un gabinete cerrado, la línea C es de un reloj alimentado por baterías y la línea D está conectada a un interruptor en la puerta cerrada del gabinete. Las siguientes condiciones producen un voltaje de 1 lógico en cada línea. A: El interruptor de control está cerrado. B: La caja está en su posición normal en el gabinete. C: El reloj marca entre las 1000 y las 1400 horas. D: la puerta del gabinete está cerrada. Escriba en código VHDL la expresión que active la alarma cuando la caja se mueve y el interruptor de control está cerrado, o cuando el gabinete se abre después de las horas hábiles, o el gabinete está abierto con el interruptor de control abierto. Trace un Diagrama de circuito. 1.4 Circuito 3: “Un automóvil a prueba de choques”. Descripción: Se trata de un automóvil con tres sensores, uno al frente y dos a los costados. Al arrancar, se dirige hacia adelante y si encuentra un obstáculo, gira a uno de los costados, esquivándolo. La posición de los sensores se muestra en la siguiente figura.

Para girar a los lados, se hace que las llantas giren en distintas direcciones, por ejemplo para girar a la izquierda, las llantas “X” rotaran hacia atrás mientras las llantas “Y” hacia adelante. Para hacer que el par de llantas “X” giren hacia adelante se deberá poner en una variable de control llamada “X” el bit 0, para que giren hacia atrás X=1, igual para el par de llantas “Y”, con su respectiva variable de control “Y”, la lógica de control de las llantas es la siguiente.

X

Y

Descripción

0

0

Hacia adelante

0

1

Hacia la derecha

1

0

Hacia la izquierda

1

1

Hacia atrás

Si los tres sensores A, B y C están en “1”, es decir, detecta obstáculo en las tres direcciones, empezará a retroceder. De lo contrario girará en la dirección que esté libre de obstáculos. Si existe la posibilidad de girar hacia la derecha o hacia la izquierda se girará a la derecha. 1.3.1 Encontrar la tabla de verdad que representa la lógica de control. 1.3.2. Implementar el circuito con código VHDL.

1.3.3. Obtener graficas de simulación, en las que se muestren las entradas (A, B y C) y las salidas (X y Y), con todas las posibilidades de entrada.

2.

Preguntas de Investigación.

2.1 Uso y sintaxis de las instrucciones IF… THEN. 2.2 Uso y sintaxis de la instrucciones CASE… WHEN. 2.3 Uso de las instrucciones anteriores para implementar el código VHDL directamente desde las tablas de verdad. 2.4 Tipos de datos de entrada y salida que soporta VHDL. 2.5 ¿Cómo se crean arreglos en VHDL? 2.6 ¿Cómo declarar un componente en VHDL? Mostrar un ejemplo. 2.7 ¿Cuáles son los operadores en VHDL?

3. Acerca de la tarea: 3.1 Un reporte impreso 70% 3.1.1 Contenido del reporte  Portada. 5%  Objetivos (General y específicos). 5%  Introducción (máx. 1 página). 5%  Marco teórico (máx. 5 páginas). 5%  Obtención del software de simulación VHDL (dirección de descarga) y pasos de instalación. 10%  Desarrollo de los circuitos: o Descripción de los pasos seguidos para la solución. 10% o Código VHDL. 10% o Gráficos obtenidos para cada circuito (3 a 5 imágenes por circuito). 10% o Observaciones. 5 %  Respuesta a las preguntas de investigación. 10%  Conclusiones (máx. 1 página). 20%  Bibliografía. 5% 3.2 Un CD 30% 3.2.1 Contenido del CD.  Software utilizado. 20%  Reporte en formato PDF y WORD. 15%  Códigos utilizados (*.vhd) y todos los que genera el proceso de compilación y ejecución. 40%



Imágenes de los resultados. 25%

NOTA: El reporte se entregara en un sobre manila rotulado con los nombres y carnet, dentro deberá ir el CD rotulado de la misma forma y el nombre del CD tendrá los carnet. El contenido del CD deberá ir ordenado, con carpetas individuales para cada ítem mencionado ejemplo: IMÁGENES, CIRCUITO1, etc.

Bibliografía: VHDL Lenguaje para descripción y modelado de circuitos, Fernando Pardo Carpio, Universidad de Valencia 1997. https://www.youtube.com/watch?v=00PcyQRHArY DIGLENSY SAC Primera Empresa del Perú Dedicada al Desarrollo Electrónico, tutorial VHDL, http://www.diglensy.com/ Análisis y diseño de circuitos lógicos digitales, Víctor Nelson, 1ª Ed.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF