Sei sulla pagina 1di 20

Universidad de El Salvador

Escuela de Ingeniera Elctrica


Sistemas Digitales 1
Gua No. 1: CPLD
Catedrtico: Ing. Salvador German.
Instructores: Br. Bryan No Castro Cortez.
Br. David Romeo Vsquez Rodrguez.
Introduccin: Con el avance de la tecnologa en la simulacin de circuitos es necesario avanzar y
mejorar el estudio de estos programas, no perdiendo el objetivo de aprender sobre los sistemas
digitales. Esta gua pretende ser una introduccin a los lenguajes HDL (Hardware Description

Language), especficamente para trabajar con AHDL (Altera Hardware Description


Language) de Altera y VHDL (Very high speed integrated circuit Hardware Description
Language) del estndar IEEE (Institute of Electrical and Electronics Engineers) std 10761987. Se explicar con mayor detalle VHDL para minimizar el contenido de la gua, pero el
estudiante puede trabajar en el lenguaje que prefiera, tambin se pretende mejorar y utilizar
un nuevo programa de simulacin como es Quartus II el cual se tomara a detalle los pasos de
instalacin y simulacin en este.
Quartus II Edicin Web La Edicin Web es una versin gratuita de Quartus II que puede ser
descargada o enviada gratuitamente por correo. Esta edicin permite la compilacin y la
programacin de un nmero limitado de dispositivos Altera.
La familia de FPGAs de bajo coste Cyclone, est soportada por esta edicin, por lo que los pequeos
desarrolladores y desarrolladoras no tendrn problemas por el coste del desarrollo de software.
Se requiere un registro de licencia para utilizar la Edicin Web de Quartus II, la cual es gratuita y
puede ser renovada ilimitadamente o de pago.
Un punto muy importante es la versin, ya que fsicamente poseen dispositivos EPM3032ATC10-7,
EPM3064ATC10-7 y EPM240T100C5N es necesario utilizar una versin de software que le brinde
soporte a las familia MAX3000A y MAX II a las cuales pertenecen los dispositivos en cuestin, ya
que la versin 14.1 no brinda dicho soporte se utilizara la versin 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 versin del software, esta herramienta permite la
configuracin del programador y es la encargada de la descarga de datos hacia el dispositivo fsico.
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 tecnologa 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 lgica TTL.

Figura No. 1: Distribucin de pines para los CPLD.


Se utilizaran tres tipos de CPLD: EPM3032aTC44-10, EPM3064aTC44-10 y EPM240T100C5n.

Instalacin y licenciamiento del Software.


Para la descarga del software como ya se haba mencionado lo podemos buscar dentro de la pgina
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 pgina de Altera y hacer seleccionar la versin basndose en dispositivos, tal como lo muestra
la imagen

Figura No. 2: Pantalla de bsqueda del software adecuado.

Luego de dar clic a la versin, se llegara a la siguiente pgina en donde se debe descargar los
archivos marcados.

Figura No. 3: Pgina 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 instalacin de forma satisfactoria.
Una ventaja significativa es que esta versin 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
desplegara el asistente de instalacin.

Figura No. 5: Asistente de instalacin.


Los siguientes pasos son similares a cualquier programa en Windows, aceptar los trminos y
condiciones, seleccionar la carpeta de instalacin (recordar esta direccin ya que posteriormente
se utiliza).

Figura No. 6: Trminos y condiciones.

Figura No. 7: Carpeta de instalacin.


Una vez finalizada la instalacin el programa estar listo para ser utilizado, en la ventana principal
se despliega un asistente para la ejecucin de un nuevo proyecto, esa seccin ser descrita
posteriormente.

Figura. 8: Pantalla inicial Quartus II.


La instalacin del Quartus Programmer es posterior y sigue la misma lgica del programa anterior,
Quartus Programmer es una extensin de la suite por lo tanto es un programa independiente, si se
necesitara solo el programador perfectamente se podra instalar sin necesidad de instalar toda la
suite, y para programar los dispositivos solamente se necesitaran los archivos .pof generados por
el compilador previamente.

Figura No. 9: Pantalla inicial del Quartus Programmer.

CPLD.
Como se haba 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 acadmico lo ideal era crear una base estndar, siguiendo esta
idea se tom el estndar 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

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 estndar.

General I/O
GND

Programacin del CPLD en Quartus II


A continuacin 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 configuracin del
proyecto.

4. En el paso nmero 1 se asignara la carpeta en donde se guarden los archivos creados por
el proyecto, as como tambin el nombre del mismo, la carpeta puede tener cualquier
ubicacin y el nombre del proyecto puede ser cualquiera.

Figura No. 11: pagina 1 creacin del proyecto

5. La pgina numero 2 permite agregar archivos de diseo 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: seleccin de dispositivos.

7. La etapa 4 permite la seleccin de las herramientas a utilizar para la compilacin del


proyecto por el momento no se configurara nada en esa parte.

8. La etapa 5 muestra un reporte de configuracin del proyecto.

Figura No. 13: reporte de configuracin.

9. En el men File, clic en New.


10. Seleccionar la opcin VHDL file y clic en Ok.

Figura No. 14: seleccin de tipo de archivo

11. Se abrir una ventana de edicin de texto en la cual se introducir el cdigo.


12. En el men File, clic en la opcin Save As y se guarda el archivo .tdf con el mismo nombre
del proyecto.
13. Escribir el cdigo.

Figura No. 15: cdigo.


14. En el men Prossesing seleccionar la opcin Start compilation.

Figura No. 16. Compilar el cdigo.

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 cdigo y guardarlo
en la misma carpeta donde se guard el cdigo. Y damos OK.

Figura No. 20: guardando el nuevo proyecto.

18. Seleccionamos la opcin Add Existing File buscamos y seleccionamos el archivo VHDL que
ya habamos creado y compilado en Quartus II.

Figura No. 21: creando el archivo de simulacin 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 compilacin
exitosa.

Figura 22. Compilacin 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. Simulacin

21. En el men View seleccionar las opciones de Objets y Wave si estas no estn 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 opcin 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 irn tomando las variables de entrada, para que cumplan con su respectiva tabla de
verdad.

Figura 27. Asignando los valores de la simulacin.

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

ASIGNACIN
1. Realizar el cdigo 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 instalacin del software VHDL usado.
1.2 Realizar el cdigo VHDL para el problema que se le plantea: Un circuito lgico tiene
cuatro entradas A, B, C y D. Determine las ecuaciones lgicas para el circuito, si la salida
ser alta solo cuando un nmero impar de entradas sean altas. Trace un diagrama de
circuito con las compuertas que desee
1.3 Una alarma contra robos esa diseada de modo que percibe cuatro lneas de seal de
entrada. La lnea A es del interruptor secreto de control, la lnea B es del sensor de presin
bajo una caja fuerte en un gabinete cerrado, la lnea C es de un reloj alimentado por
bateras y la lnea D est conectada a un interruptor en la puerta cerrada del gabinete. Las
siguientes condiciones producen un voltaje de 1 lgico en cada lnea.
A: El interruptor de control est cerrado.
B: La caja est en su posicin normal en el gabinete.
C: El reloj marca entre las 1000 y las 1400 horas.
D: la puerta del gabinete est cerrada.
Escriba en cdigo VHDL la expresin que active la alarma cuando la caja se mueve y el
interruptor de control est cerrado, o cuando el gabinete se abre despus de las horas
hbiles, o el gabinete est abierto con el interruptor de control abierto. Trace un Diagrama
de circuito.
1.4 Circuito 3: Un automvil a prueba de choques.
Descripcin: Se trata de un automvil con tres sensores, uno al frente y dos a los costados.
Al arrancar, se dirige hacia adelante y si encuentra un obstculo, gira a uno de los costados,
esquivndolo. La posicin 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 atrs 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 atrs X=1, igual para el par de llantas Y,
con su respectiva variable de control Y, la lgica de control de las llantas es la siguiente.

Descripcin

Hacia adelante

Hacia la derecha

Hacia la izquierda

Hacia atrs

Si los tres sensores A, B y C estn en 1, es decir, detecta obstculo en las tres direcciones,
empezar a retroceder. De lo contrario girar en la direccin que est libre de obstculos. 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 lgica de control.
1.3.2. Implementar el circuito con cdigo VHDL.

1.3.3. Obtener graficas de simulacin, 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 Investigacin.

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 cdigo VHDL directamente desde
las tablas de verdad.
2.4 Tipos de datos de entrada y salida que soporta VHDL.
2.5 Cmo se crean arreglos en VHDL?
2.6 Cmo declarar un componente en VHDL? Mostrar un ejemplo.
2.7 Cules 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 especficos). 5%
Introduccin (mx. 1 pgina). 5%
Marco terico (mx. 5 pginas). 5%
Obtencin del software de simulacin VHDL (direccin de descarga) y pasos de
instalacin. 10%
Desarrollo de los circuitos:
o Descripcin de los pasos seguidos para la solucin. 10%
o Cdigo VHDL. 10%
o Grficos obtenidos para cada circuito (3 a 5 imgenes por circuito). 10%
o Observaciones. 5 %
Respuesta a las preguntas de investigacin. 10%
Conclusiones (mx. 1 pgina). 20%
Bibliografa. 5%
3.2 Un CD 30%
3.2.1 Contenido del CD.
Software utilizado. 20%
Reporte en formato PDF y WORD. 15%
Cdigos utilizados (*.vhd) y todos los que genera el proceso de compilacin y ejecucin.
40%

Imgenes 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: IMGENES, CIRCUITO1, etc.

Bibliografa:
VHDL Lenguaje para descripcin 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 Electrnico,
tutorial VHDL, http://www.diglensy.com/
Anlisis y diseo de circuitos lgicos digitales, Vctor Nelson, 1 Ed.

Potrebbero piacerti anche