Académique Documents
Professionnel Documents
Culture Documents
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.
&
#
!
!&
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.
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
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.
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.
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.
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
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.
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
Bibliografa:
http://www.altera.com/literature/manual/archives/81_gs3.pdf
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.
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.
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.
6. Haga
clic
en
Examinar
y
vaya
direccin
C:\altera\13.0sp1\quartus\drivers\usb-blaster.
la
siguiente
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
21, 22, 23
24
25
26
General I/O
VCC
InputOE2
InputGCLK2
7
8
9
27
28
29, 30, 31
InputOE1
InputGCLK1
General I/O
10
11, 12, 13, 14
General I/O
General I/O
32
33
15
VCC
34
VCC
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
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.