Vous êtes sur la page 1sur 28

Universidad de El Salvador

Escuela de Ingeniera Elctrica


Sistemas Digitales 2 (SDI-215)
Gua No. 1: CPLD
Catedrtico: Ing. Salvador German.
Instructor: Br. Francisco Ernesto Cruz Juarez.
Introduccin.
Con el avance tecnolgico muchos dispositivos han quedado desfasados o en algunos casos sin
soporte, esto las lleva a ser obsoletos que a pesar que an son tiles, y han sido reemplazados por
dispositivos completos.
Dentro de este plano se puede mencionar al puerto paralelo (LPT o DB25), que si bien es un
dispositivo til y fcil de utilizar ha sido reemplazado totalmente por el USB (Universal Serial Bus)
que como su nombre lo indica es un dispositivo universal que busca la estandarizacin, el problema
que se presenta es simple, la manipulacin de un dispositivo USB no es tan amigable como la de un
puerto paralelo.
Cabe mencionar que la informtica y las tecnologas reconocen dos partes fundamentales:
software y hardware. Como ya se explic el hardware se ha actualizado buscando la
estandarizacin, pero el software sigue otra lnea muy diferente, a un programa informtico no le
interesa ser estndar, su principal inters es brindar una interfaz amigable para el usuario, ser una
herramienta verstil y potente para cubrir con lo que se le demande y estar acorde a los ltimos
dispositivos.
Objetivos

Desarrollar en el estudiante los conocimientos bsicos para el uso del software MAX+PLUS
baseline y QUARTUS II.
Que el estudiante conozca la sintaxis bsica del lenguaje AHDL.
Utilizar el software como herramienta de compilacin y simulacin de sistemas digitales
mediante el lenguaje de programacin AHDL.
Observar los resultados obtenido en la compilacin y simulacin para luego ser
implementados en dispositivos CPLD.

Desarrollo de la prctica
Ejercicio No. 1: Detector de nmeros primos.
En este ejemplo se desarrollara un programa que detecte los nmeros primos en una lista de tres
bits, donde A, B y C son entradas y Z es la salida del sistema, para este circuito se considera que A
es el MSB y C es el LSB, este programa se creara mediante su ecuacin booleana y ser para un
dispositivo EPM3032ATC44-10.
1. Se ejecuta el programa, clic en INICIO -> TODOS LOS PROGRAMAS -> MAX+PLUS II 10.2
BASELINE ->MAX+PLUS II 10.2 BASELINE.

2. Se abrir una ventana emergente, en la pestaa FILE -> NEW

3. Se selecciona la opcin TEXT EDITOR FILE y clic en OK.

4. En la ventana emergente colocamos nuestro cdigo, para esto necesitamos la ecuacin


booleana que en este caso es: = + + , y en cuanto a la sintaxis en AHDL, es
muy parecido a VHDL y sus diferencias se dan en la declaracin de bloques.
AND
OR
NOT
NAND

&
#
!
!&

NOR
XOR
XNOR

!#
$
!$

5. En la pestaa FILE -> SAVE AS, se selecciona la carpeta a donde se guardan los archivos,
asegurndose que el archivo lleve el mismo nombre que el titulo dentro del programa y clic
en OK.

6. Siempre en la pestaa FILE -> PROJECT -> SET PROJECT TO CURRENT FILE

7. Para asignar el dispositivo y los pines a utilizar lo hacemos desde la pestaa ASSIGN ->
PIN/LOCATION/CHIP.

8. Al ingresar a las opciones, en la derecha se tiene el botn ASSIGN DEVICE

9. Se descubrir una nueva ventana, en esta se selecciona el dispositivo EPM3032ATC44-10 y


luego clic en OK.

10. En la casilla NODE NAME se debe colocar el nombre de la entrada o salida a modificar, en la
casilla PIN se introduce el nmero de pin que se desea utilizar y en la casilla PIN TYPE
especificamos si ser INPUT, OUTPUT o BIDIR, en este caso se toma como ejemplo la entrada
A, en las imgenes se observa el PIN OUT del dispositivo y el ejemplo de como resultara
asignarle el pin 2 a la entrada A.

11. Se asignan los pines a todas las entradas y salidas, de no hacerlo el programa lo asignara,
utilizando los pines mayores como prioridad.
12. Luego en la pestaa FILE -> PROJECT -> SAVE AND COMPILE, si todo esta bien lanzara una
ventana como esta:

13. Luego en la pestaa FILE -> NEW -> WAVE EDITOR FILE -> OK, lanzara la siguiente ventana

14. En la pestaa NODE -> ENTER NODE FROM SNF

15. En la ventana emergente, clic en list, luego se seleccionan todos los nodos de la izquierda y
con el botn -> se incluyen en la derecha y luego ok.

16. Luego en la pestaa VIEW -> TIME RANGE, se cambia de 0.0 a 500 ns.

17. A cada entrada se le da clic derecho, luego desplazarse al sub men Overwrite y en las
opciones clic en Count Value , en el caso de C se debe dejar tal como esta y dar ok, para el
caso de B en la opcin MULTIPLIYED BY se cambia el valor a 2, y en el caso de A en la misma
opcin se debe cambiar a 4.

18. Si todo esta bien el SCF debe verse asi:

19. Luego en la pestaa FILE -> PROJECT -> SAVE AND SIMULATE

20. Cuando termine dar clic en la opcin OPEN SCF, mostrara la simulacin final.

21. Para revisar la conexin de los pines y el reporte de simulacin, hay que abrir el archivo
primos.rpt con worpad o un bloc de notas.

Ejercicio No. 2: Decoficador BCD a 7 segmentos por medio de tablas.


En el siguiente ejercicio aprovecharemos la funcin table para la creacin de un decodificador BCD
(8421) a 7 segmentos, para esto seguiremos el siguiente proceso:
4. Se siguen los pasos 1, 2 y 3 de la misma forma que en el ejercicio anterior, esto desplegara
la ventana del editor de texto, en donde se introduce el siguiente codigo:
TITLE "7SEGMENTS;
SUBDESIGN 7SEGMENTS
(

W, X1, Y, Z

:INPUT;

A, B, C, D, E, F, G

:OUTPUT;

BEGIN
TABLE
W, X1, Y, Z

=>

A, B, C, D, E, F, G;

0, 0, 0, 0

=>

1, 1, 1, 1, 1, 1, 0;

0, 0, 0, 1

=>

0, 1, 1, 0, 0, 0, 0;

0, 0, 1, 0

=>

1, 1, 0, 1, 1, 0, 1;

0, 0, 1, 1

=>

1, 1, 1, 1, 0, 0, 1;

0, 1, 0, 0

=>

0, 1, 1, 0, 0, 1, 1;

0, 1, 0, 1

=>

1, 0, 1, 1, 0, 1, 1;

0, 1, 1, 0

=>

1, 0, 1, 1, 1, 1, 1;

0, 1, 1, 1

=>

1, 1, 1, 0, 0, 0, 0;

1, 0, 0, 0

=>

1, 1, 1, 1, 1, 1, 1;

1, 0, 0, 1

=>

1, 1, 1, 1, 0, 1, 1;

1, 0, 1, 0

=>

1, 1, 1, 0, 1, 1, 1;

1, 0, 1, 1

=>

0, 0, 1, 1, 1, 1, 1;

1, 1, 0, 0

=>

1, 0, 0, 1, 1, 1, 0;

1, 1, 0, 1

=>

0, 1, 1, 1, 1, 0, 1;

1, 1, 1, 0

=>

1, 0, 0, 1, 1, 1, 1;

1, 1, 1, 1

=>

1, 0, 0, 0, 1, 1, 1;

END TABLE;
END;
El cual debe verse de la siguiente forma en el editor de texto:

**Nota importante: Se utilizo la variable X1 ya que el programa ya tiene reservada la letra X para
otros usos.
5. En la pestaa FILE -> SAVE AS, se selecciona la carpeta a donde se guardan los archivos,
asegurndose que el archivo lleve el mismo nombre que el titulo dentro del programa y clic
en OK.

6. Siempre en la pestaa FILE -> PROJECT -> SET PROJECT TO CURRENT FILE

7. Para asignar el dispositivo y los pines a utilizar lo hacemos desde la pestaa ASSIGN ->
PIN/LOCATION/CHIP.

8. Al ingresar a las opciones, en la derecha se tiene el botn ASSIGN DEVICE

9. Se descubrir una nueva ventana, en esta se selecciona el dispositivo EPM3032ATC44-10 y


luego clic en OK.

10. En la casilla NODE NAME se debe colocar el nombre de la entrada o salida a modificar, en la
casilla PIN se introduce el nmero de pin que se desea utilizar y en la casilla PIN TYPE
especificamos si ser INPUT, OUTPUT o BIDIR, en este caso se toma como ejemplo la entrada
A, en las imgenes podemos ver el PIN OUT del dispositivo y el ejemplo de como resultara
asignarle el pin 2 a la entrada W.

11. Se asignan los pines a todas las entradas y salidas, de no hacerlo el programa lo asignara,
utilizando los pines mayores como prioridad.
12. Luego en la pestaa FILE -> PROJECT -> SAVE AND COMPILE, si todo esta bien lanzara una
ventana como esta:

13. Luego en la pestaa FILE -> NEW -> WAVE EDITOR FILE -> OK, lanzara la siguiente ventana

14. En la pestaa NODE -> ENTER NODE FROM SNF

15. En la ventana emergente, clic en list, luego se seleccionan todos los nodos de la izquierda y
con el botn -> se incluyen en la derecha y luego ok.

16. Para visualizar toda la simulacin se da clic en la pestaa OPTIONS -> GRID SIZE

17. En la ventana emergente se le asigna un valor de 50ns esto dividir el diagrama de tiempo
en secciones de 50 ns.

18. Luego en la pestaa VIEW -> TIME RANGE, se cambia de 0.0ns a 1us.

19. A cada entrada se le da clic derecho, luego desplazarse al sub men Overwrite y en las
opciones clic en Count Value , en el caso de W se debe dejar tal como esta y dar ok, para
el caso de X1 en la opcin MULTIPLIYED BY se cambia el valor a 2, en el caso de Y en la misma
opcin se debe cambiar a 4 y para Z se multiplicara por 8.

20. Si todo esta bien el SCF debe verse asi:

21. Luego en la pestaa FILE -> PROJECT -> SAVE AND SIMULATE

22. Cuando termine dar clic en la opcin OPEN SCF, mostrara la simulacin final.

23. Para revisar la conexin de los pines y el reporte de simulacin, hay que abrir el archivo
primos.rpt con worpad o un bloc de notas.

Asignaciones

Desarrollar un decodificador de BCD a 7 segmentos utilizando el mtodo de ecuaciones


booleanas.
Disear un decodificador de 8421 a 7421, exceso 3, 2421 y 5421. Donde tenga salidas a un
display y muestre su equivalente en hexadecimal y que muestre tambin en leds el nmero
en binario.

Bibliografa:

http://www.altera.com/literature/manual/archives/81_gs3.pdf

Gua CPLD SDI2-2014.

http://www.altera.com/literature/ds/m3000a.pdf
Actualizacin de software y dispositivos para el diseo de sistemas digitales utilizando
CPLD, Proyecto de ingeniera II, Benjamn Robles.

ANEXO
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.
Dispositivos a utilizar
USB Blaster
Es un programador compatible con Altera que brinda las funciones de un JTAG pero con la novedad
de ser USB, posee una salida de diez pines.
El kit de desarrollo en la pagina de Altera tiene un costo de 300 dlares pero el USB Blaster puede
ser comprado via internet a precios que varan desde 15 a 20 dlares, una versin genrica es til.

Figura No.1: Pinout USB Blaster

Se intent hacer de forma artesanal pero no se tuvo xito, como ya se menciono la manipulacin
de los puertos USB no es tan sencillo, si bien es cierto que el enfoque del proyecto es hgalo usted
mismo muchas veces dentro de la actualizacin de tecnologas hay costos que no pueden ser
evitados.
Fuente de 3.3 V
Se vuelve necesario tener una fuente que provea 3.3 V ya que los CPLD trabajan con ese rango de
voltaje, para darle solucin a ese punto se utilizan reguladores de voltaje LD33 que son reguladores
de voltaje a 3.3v/1A, su empaquetamiento es un TO290 y son muy prcticos de utilizar ya que
disponen de 3 pines: Vin, Vout y GND, en la entrada de voltaje basta una alimentacin de 5V y en
la salida se tienen 3.3 V.
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. 2: Distribucin de pines para los CPLD.


Se utilizaran tres tipos de CPLD: EPM3032aTC44-10, EPM3064aTC44-10 y EPM240T100C5n.
Una recomendacin muy notable es que cuando se ordenan los dispositivos es de tener bien
presente que el empaquetamiento PLCC resulta ms didctico que el empaquetamiento TQFP o
visto desde otra ptica el PLCC es un empaquetamiento ms grande y por lo tanto ms fcil de
manipular.

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 pagina de Altera y hacer seleccionar la versin basndose en dispositivos, tal como lo muestra
la imagen

Figura No. 3: 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. 4: 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. 5: Licencias.


Una vez se tienen los archivos se ejecuta primero el archivo QuartusSetupWeb-version.exe Se
desplegara el asistente de instalacin.

Figura No. 6: 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. 7: Trminos y condiciones.

Figura No. 8: 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. 9: 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. 10: Pantalla inicial del Quartus Programmer.

Instalacin del USB Blaster


Este proceso est hecho para Windows Vista/7/8 32 bits, el USB blaster debe estar conectado.

Se deben poseer privilegios de administrador para instalar el driver.


No se recomienda usar la opcin Add Hardware del panel de control.
Los siguientes pasos son solo para la instalacin del driver, la configuracin es un proceso aparte.

1. Conecte el cable de descarga USB-Blaster en su PC. Aparecer el cuadro de dilogo Nuevo


hardware encontrado.

2. Seleccione Buscar e instalar el software de controlador (recomendado).


3. Seleccione No buscar en lnea.
4. Cuando se le pide que inserte el disco que viene con el USB-Blaster, seleccione No tengo el
disco. Mostrar otras opciones.
5. Seleccione Buscar en mi sistema software de controlador (avanzado) cuando vea el
Windows no pudo encontrar el software controlador para su cuadro de dilogo de
dispositivo.

6. Haga

clic
en
Examinar
y
vaya
direccin
C:\altera\13.0sp1\quartus\drivers\usb-blaster.

la

siguiente

7. Nota: No seleccione los directorios x32 o x64.


8. Haga clic en Aceptar.
9. Seleccione la opcin Incluir subcarpetas y haga clic en Siguiente.
10. Si se le pide que Windows no puede comprobar el editor de este software de controlador,
seleccione Instalar este software de controlador de todas formas en el cuadro de dilogo
de seguridad de la ventana. El asistente de instalacin le guiar a travs del proceso de
instalacin.

11. Cuando El software de este dispositivo se ha instalado correctamente cuadro de dilogo


aparece, haga clic en Cerrar.

12. Para completar la instalacin, configure la programacin de hardware en el software


Quartus II.

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 tomo 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
9

TMS, I/O expandible


General I/O
VCC (3.3 V)

27
28
29, 30, 31

InputOE1
InputGCLK1
General I/O

10
11, 12, 13, 14

General I/O
General I/O

32
33

TDO, I/O expandible


General I/O

15

VCC

34

VCC

16, 17, 18, 19, 20

General I/O

35,36
37

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. 16: Menu 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, asi como tambin el nombre del mismo, la carpeta puede tener cualquier
ubicacin y el nombre del proyecto puede ser cualquiera.

Figura No. 17: pagina 1 creacin del proyecto

5. La pagina 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. 18: 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. 19: reporte de configuracin.

9. En el men File, clic en New.


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

Figura No. 20: 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.

Vous aimerez peut-être aussi