Está en la página 1de 6

Arquitectura de Computadores I - Tutorial sobre Max+Plus II

Este documento pretende introducir el paquete de software Max+Plus de Altera Corporation


(www.altera.com) mediante una serie de pasos guiados. Una vez culminado el trabajo que se plantea, usted
habrá ensayado todas las tareas necesarias para desarrollar el laboratorio del curso.

Tarea 1: Sumador completo de un bit


Implementaremos un circuito sumador completo de un bit y simularemos su comportamiento. Crearemos
un nuevo símbolo para abstraer este circuito y reutilizarlo en circuitos más complejos.

1) Invoque el programa MAX+plus II ejecutando maxstart, ubicado en ……

2) Cree un proyecto nuevo llamado sumador1 usando la opción de menú File/Project/Name…


Esto creará un archivo llamado sumador1.acf.

3) Abra una ventana de edición nueva con la opción de menú Max+Plus II/Graphic Editor.
Dibuje un circuito como el de la figura.

Para insertar un símbolo seleccione en la barra de herramientas de la izquierda y

haga doble click con el botón izquierdo sobre la ventana del editor. En el diálogo emergente ingrese el
nombre del símbolo que necesite (xor, and2, or2, input, output). Para ver todos los símbolos disponibles,
seleccione el archivo prim, ubicado en el directorio max2lib, en las Symbol Libraries, y aparecerán los
simbolos predefinidos.
Para unir componentes seleccione alguna de las herramienta para traza de líneas y arrastre el ratón
manteniendo el botón izquierdo presionado.

Salve el circuito. Esto creará un archivo llamado sumador1.gdf

4) Abra el compilador de circuitos usando la opción de menú Max+Plus II/Compiler. Marque la opción de
menú Processing/Functional SNF Extractor y luego inicie la compilación con el botón Start.
Una vez compilado el circuito puede cerrar la ventana del compilador.

El compilador deberá reportar 0 error.

5) Abra el editor de formas de onda con la opción de menú Max+Plus II/Waveform Editor.
Coloque todas las entradas y salidas del circuito y asigne todas las combinaciones de valores posibles para
las entradas a lo largo del tiempo.
Para insertar una señal haga doble click en la columna Name. En el diálogo emergente seleccione la
entrada o salida que desee y el tipo de pin adecuado (Input o Output). Puede usar el botó List para
seleccionar la señal de una lista.

Para asignar valores a las entradas puede usar la herramienta para editar los valores
manualmente con el ratón o la herramienta para generar una señal periódica.

Salve las formas de onda ingresadas. Esto generará un archivo sumador1.scf. Para salvar debe tener activa
la ventana de wave form editor y seleccionar la opción File/Save.

6) Abra el simulador de circuitos con la opción de menú Max+Plus II/Simulator. Inicie la simulación con
el botón Start. Al finalizar, en el editor de formas de onda puede observar los valores de las salidas.
7) Cree un nuevo símbolo para reutilizar este circuito en casos más complejos. Utilice la opción de menú
File/Create Default Symbol. Esta opción permite reutilizar el circuito generado como parte de circuitos
más complejos. Debe ejecutar este paso cada vez que cambie la implementación del circuito.

Tarea 2: Sumador completo de cuatro bits

Implementaremos un circuito sumador completo de cuatro bits basados en el circuito anterior.

1) Cree un proyecto nuevo llamado sumador4 usando la opción de menú File/Project/Name…


Si prefiere puede usar un directorio diferente que el anterior, en este caso use la opción de menú
Options/User Libraries para indicar que van a usarse componentes del primer proyecto.

2) Abra una ventana de edición y dibuje el siguiente circuito (Max+Plus II/Graphic Editor).

Observe como las uniones en el cableado pueden hacerse simbólicamente asignando los nombres
apropiados sin utilizar explícitamente líneas de conexión. Para asignar un nombre a una línea haga click
sobre ella y digite el nombre.
Ponga especial cuidado en la numeración de las líneas de buses de modo que el bit menos significativo sea
el bit 0, es decir [3..0] no es igual a [0..3].
Para insertar un “sumador1” haga doble click como para insertar cualquier otro símbolo predefinido. En el
diálogo puede ingresar directamente el nombre del componente o elegir el directorio donde fue salvado el
primer proyecto y seleccionarlo de la lista.
Si la implementación de “sumador1” cambiara, debe usar la opción de menú Symbol/Update Symbol que
aparece en el menú principal cuando se está en una ventana del editor, para actualizarlo en el proyecto que
lo usa.

3) Salve y compile el circuito para garantizar que no existen errores.

4) Cree un nuevo símbolo para reutilizar este circuito en casos más complejos. Utilice la opción de menú
File/Create Default Symbol.

Tarea 3: Sumador completo de ocho bits

Implementaremos un circuito sumador completo de ocho bits basados en el circuito anterior.

1) Cree un proyecto nuevo llamado sumador8 usando la opción de menú File/Project/Name…


Si prefiere puede usar un directorio diferente que los anteriores, en este caso use la opción de menú
Options/User Libraries para indicar que van a usarse componentes de los proyectos anteriores.

2) Abra una ventana de edición y dibuje el siguiente circuito (Max+Plus II/Graphic Editor).
Observe que las líneas de bus que transportan más de un bit están dibujadas con un estilo grueso. Para
cambiar el estilo de una línea puede usar el botón derecho del ratón sobre cada una o seleccionarlas todas
con shift+botón izquierdo y utilizar la opción de menú Options/Line Style

3) Salve y compile el circuito

4) Abra el editor de formas de onda con la opción de menú Max+Plus II/Waveform Editor.
Ingrese datos de prueba y simule el circuito. Observe que para mayor comodidad puede dar valor a todas
las líneas de un bus mediante un número en base hexadecimal.

Para trabajar con volúmenes grandes de datos puede resultar cómodo importarlos desde un archivo de texto
usando la opción de menú File/Import Vector File. Para comprender el formato puede referirse a la ayuda
de Max+Plus II aunque un buen punto de partida puede ser exportar un ejemplo con la opción de menú
File/Create Table File.

Tarea 4: Multiplexor de dos entradas de 16 bits

Implementaremos un multiplexor de 2 x 16 entradas, es decir, un bit de control selecciona una de dos


entradas de 16 bits cada una.

1) Cree un proyecto nuevo llamado mux1 usando la opción de menú File/Project/Name…

2) Abra una ventana de edición y dibuje el siguiente circuito (Max+Plus II/Graphic Editor).

Observe que las dos compuertas and están conectadas en una de sus entradas a un bus de 16 bits, esto
genera automáticamente lo que en Max+Plus II se denomina un array de primitivas. En el ejemplo, la
compuerta and que se encuentra en la parte superior es equivalente a 16 compuertas and cada una
conectada a un bit de d0 y a c’. Las salidas de cada una de las 16 compuertas conforman la línea a[15..0].
Algo similar ocurre con la compuerta or, salvo que en este caso ambas entradas son de 16 bits y la
operación se aplica bit a bit entre cada ai y bi.
Cuando se utiliza esta técnica, salvo casos excepcionales es necesario asignar un nombre a las líneas de
salida de un array de primitivas para que Max+Plus II no interprete que se unen en una sola línea. En el
ejemplo se usó a[15..0] y b[15..0] para nombrar las salidas de los arrays de ands.

3) Salve, compile y simule el circuito.