Guía para realizar el primer diseño con el
Max+Plus II
Introducción
A través de esta guía aprenderás como hacer un diseño utilizando el programa
Max+plus II y la placa DL-LAB del curso de Diseño Lógico de la Facultad de
Ingeniería de la Universidad de la República.
Mediante un ejemplo sencillo veremos como ingresar un diseño, como simularlo, como asignar las señales deseadas a los pines adecuados del chip y finalmente como programarlo.
El circuito que diseñaremos consiste en un circuito combinatorio que tiene como entrada la posición de 4 switches y como salida el estado de 2 leds.
Las salidas deberán cumplir con las siguientes ecuaciones:
dl1 = ab!c + !abc + bd
dl2 = ac + !b!d
siendo abcd el estado del switch S4[4..1].
Construir la tabla de verdad de estas funciones y verificar que las expresiones son mínimas.
Antes de comenzar...
1. Crear un directorio de trabajo en el disco duro de la máquina (por ej:
c:\archivos de programa\max2work\d+)
2. Abrir el programa
¿ Cómo crear un proyecto ?
3. Crear un nuevo proyecto.
Para esto, en el menú File, elegir Project y luego Name. Seleccionar el directorio de trabajo (por ej: c:\archivos de programa\max2work\d+). Ingresar el nombre del proyecto. Comenzaremos con el proyecto f1.
4. En el menú MAX+plus II elegir Graphic Editor. Se abrirá una ventana en la cual se podrá comenzar a ingresar el circuito en forma gráfica. Guardar este archivo como f1.gdf. En este archivo dibujaremos el circuito combinatorio correspondiente al led dl1.
5. Para ingresar una compuerta, hacer doble clic en la zona de dibujo. Se abrirá una ventana que permite seleccionar el componente a ingresar. Teclear en el cuadro Symbol Name el tipo de compuerta indicando cantidad de entradas. Ejemplos: or2 (OR de 2 entradas), and4 (AND de 4 entradas), not (inversor), etc. 6. Las entradas y salidas del circuito se ingresan como cualquier componente, y sus nombres son input y output respectivamente. Los nombres de dichas señales se pueden cambiar haciendo doble clic sobre su etiqueta.
7. Para conectar los distintos componentes hacer clic en uno de los terminales de la compuerta y arrastrar el mouse hasta el punto que se desea conectar.
8. Una vez dibujado el circuito y salvado, se puede proceder a la compilación. En el menú MAX+plus II seleccionar Compiler. Se abrirá la ventana del compilador. Ir al menú Processing y seleccionar Functional SNF Extractor, esto permitirá trabajar con el sistema a nivel lógico, sin considerar problemas de implementación física (retardos, etc.). Presionar el botón Start para iniciar la compilación.
El archivo que se compila debe tener el mismo nombre que el proyecto.
Al terminar, un cuadro indicará si hubo errores. Luego de corregidos todos los errores se deberá ver en la pantalla algo similar a la siguiente figura para f1.
9. Cerrar todas las ventanas dentro del programa y repetir los pasos 3 a 8 para el proyecto f2 correspondiente al circuito combinatorio del led dl2.
10. Ahora generaremos el proyecto tutorial. Para esto debemos primero generar los símbolos f1 y f2. Para esto abrir f1.gdf y en el menu File seleccionar Create
Default Symbol. Repetir esto para f2. Luego de creados los símbolos cerrar todas
En el dibujo se puede ver que se ha insertado un bus. Notar que el nombre de la entrada es switch[4..1]. Esto le dice al compilador que es una entrada de 4 bits. Para conectarse a un pin del bus se debe primero dibujar un trozo de cable, luego apretar el botón derecho sobre ese trozo y seleccionar Enter Node/Bus Name y por último escribir el nombre de la opción deseada (por ejemplo: switch4). Si se desea se puede unir el bus con una línea de trazo grueso aunque esto no es necesario.
Además se agrego un "not" antes de la salida de cada led debido a que estos son activos por bajo.
¿ Cómo simular un proyecto ?
11. Seleccionar el proyecto que se desea simular. Para esto, en el menú File,
elegir Project y luego Name. Comencemos seleccionando f1.
12. Si la compilación no tuvo errores, se puede pasar a la simulación funcional del proyecto. En el menú MAX+plus II seleccionar Waveform editor. Se abrirá el editor de formas de onda en el cual se pueden dibujar las entradas para la simulación. Dos valores importantes para fijar inicialmente son el tamaño de la grilla (menú Options > Grid size) y el tiempo total de simulación (menú File > End
time). Mantener el Grid size en 100.00ns y cambiar el End time a 1.6us
13. Para ingresar una señal, hacer doble clic en la columna debajo de Name. Se
abrirá una ventana donde se debe ingresar el nombre de la señal y si es entrada o salida. Si se quieren ingresar todas las señales a la vez, presionar el botón
derecho en la columna de Name. Luego seleccionar Enter Nodes from SNF... , luego apretar el botón List, luego => y por último OK.
14. Las formas de onda se pueden dibujar con ayuda de las herramientas que aparecen sobre la izquierda de la pantalla (permiten sobreescribir con 0, 1, X o Z la zona seleccionada, además de ingresar relojes, contadores, etc.)
Algo útil es agrupar señales y verlas como un número en alguna base adecuada. Por ejemplo en el caso del proyecto f1 se pueden agrupar las señales abcd. Primero se deben ordenar de forma que la señal a sea la que está en la parte superior y la señal d en la inferior. Luego se deben seleccionar todas las señales. Presionar el botón derecho sobre la selección y hacer clic sobre Enter Group... Darle un nombre al grupo y seleccionar la base en la que se desea mostrar el número que forman las señales. Sobre la izquierda existe la opción de generar un contador binario que puede ser útil para generar todas las entradas posibles al circuito.
15. Una vez ingresadas todas las formas de onda de entrada, se debe salvar el archivo y ejecutar el simulador. Para esto último ir al menú MAX+plus II y seleccionar Simulator. Se abrirá la ventana del simulador, donde con el botón
Start se inicia la simulación.
16. Para ver los resultados de la simulación hay que volver a la ventana de formas de onda, donde estarán dibujadas las salidas del circuito. Allí se puede verificar el correcto funcionamiento del mismo de acuerdo a la especificación inicial.
17. Cerrar todas las ventanas del programa y repetir los pasos 11 a 16 para los proyectos f2 y tutorial.
¿Cómo asignar el chip y los pines y generar los archivos
para la grabación?
18. Seleccionar el proyecto que se desea grabar en el chip. En este caso el proyecto tutorial. Para esto, en el menú File, elegir Project y luego Name. 19. Una vez validado el diseño debemos generar los archivos para grabar en el chip. Para esto previamente hay que asignar el modelo de chip que se va a utilizar. Ir al menú Assign y seleccionar Device..., desmarcar el casillero “Show
Only Fastest Speed Grades” y seleccionar el dispositivo EPM3064ALC44-10 de
la lista que ofrece el programa.
20. Asignar pines del dispositivo a cada señal de entrada o salida de acuerdo a la ubicación de los switchs y los leds según el manual de la placa. En el menú
Max+Plus II seleccionar Floorplan Editor. En el menú Layout seleccionar Device View y Current Assignment y deseleccionar Full Screen. Luego asignar el pin
correspondiente a cada señal arrastrando la señal desde la ventana Unassigned
Nodes hasta la ubicación adecuada en el diagrama del chip en la ventana inferior.
Finalmente se debe ver en la pantalla algo similar a la siguiente figura.
21. Realizar la compilación física del proyecto. En el menú MAX+plus II
seleccionar Compiler. Se abrirá la ventana del compilador. Ir al menú Processing y desseleccionar Functional SNF Extractor e iniciar la compilación presionando
Start. Si no hay errores debe obtenerse un archivo binario que se utilizará para
grabar el chip (extensión .pof) y un archivo de texto con un reporte detallado de la compilación (extensión .rpt).
¿Cómo grabar el chip?
22. La primera vez que se utiliza el software Max+PlusII para programar, se debe de indicar el tipo de programador que se utilizará.
En PCs con Windows NT, antes de utilizar el programador se debe de instalar el driver para ByteBlasterMV oemsetup.inf, este se encuentra en el directorio
\maxplus2\drivers del cd del curso.
En PCs con Windows 2000 o XP, antes de utilizar el programador se debe de instalar el driver win2000.inf que se encuentra en el directorio
\maxplus2\drivers\win2000 del cd del curso.
Para indicar el programador utilizado se debe:
a) En el menú MAX+plus II seleccionar Programmer. Seleccionar Hardware
Setup en el menu Options.
b) Especificar el puerto paralelo en el cual se conectará el programador (en general LPT1)
c) Seleccionar ByteBlasterMV en Hardware Type:. d) Presione OK.
23. Antes de programar el PLD, se debe verificar en el reporte (archivo con extensión .rpt) que la asignación de patas sea correcta. Un error puede asignar
24. En el menú MAX+plus II seleccionar Programmer.
25. Desactivar la opción Multi-Device JTAG Chain en el menu JTAG.
26. Si el archivo de programación mostrado en el campo File: de la aplicación de programación no coincide con el archivo .pof deseado, este debe cambiarse. La selección de archivo de programación se hace mediante Select Programming
File en el menu File. Por defecto Max+PlusII selecciona el .pof con el mismo
nombre que el proyecto, por lo cual en general este paso no es necesario. 27. Conecte la placa al puerto paralelo. La placa debe de estar alimentada
ANTES de ser conectada al puerto paralelo
28. Seleccione Program
29. Verificar que el circuito funciona de acuerdo a los esperado.
30. Si has llegado hasta aquí has terminado tu primer proyecto