You are on page 1of 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 smbolo para abstraer este circuito y reutilizarlo en circuitos ms complejos. 1) Invoque el programa MAX+plus II ejecutando maxstart, ubicado en 2) Cree un proyecto nuevo llamado sumador1 usando la opcin de men File/Project/Name Esto crear un archivo llamado sumador1.acf.

3) Abra una ventana de edicin nueva con la opcin de men Max+Plus II/Graphic Editor. Dibuje un circuito como el de la figura.

Para insertar un smbolo seleccione

en la barra de herramientas de la izquierda y

haga doble click con el botn izquierdo sobre la ventana del editor. En el dilogo emergente ingrese el nombre del smbolo que necesite (xor, and2, or2, input, output). Para ver todos los smbolos disponibles, seleccione el archivo prim, ubicado en el directorio max2lib, en las Symbol Libraries, y aparecern los simbolos predefinidos.

Para unir componentes seleccione alguna de las herramienta para traza de lneas y arrastre el ratn manteniendo el botn izquierdo presionado. Salve el circuito. Esto crear un archivo llamado sumador1.gdf 4) Abra el compilador de circuitos usando la opcin de men Max+Plus II/Compiler. Marque la opcin de men Processing/Functional SNF Extractor y luego inicie la compilacin con el botn 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 opcin 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 seal haga doble click en la columna Name. En el dilogo 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 seal de una lista.

Para asignar valores a las entradas puede usar la herramienta para editar los valores manualmente con el ratn o la herramienta para generar una seal peridica. 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 opcin File/Save. 6) Abra el simulador de circuitos con la opcin de men Max+Plus II/Simulator. Inicie la simulacin con el botn Start. Al finalizar, en el editor de formas de onda puede observar los valores de las salidas.

7) Cree un nuevo smbolo para reutilizar este circuito en casos ms complejos. Utilice la opcin de men File/Create Default Symbol. Esta opcin permite reutilizar el circuito generado como parte de circuitos ms complejos. Debe ejecutar este paso cada vez que cambie la implementacin 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 opcin de men File/Project/Name Si prefiere puede usar un directorio diferente que el anterior, en este caso use la opcin de men Options/User Libraries para indicar que van a usarse componentes del primer proyecto. 2) Abra una ventana de edicin y dibuje el siguiente circuito (Max+Plus II/Graphic Editor).

Observe como las uniones en el cableado pueden hacerse simblicamente asignando los nombres apropiados sin utilizar explcitamente lneas de conexin. Para asignar un nombre a una lnea haga click sobre ella y digite el nombre. Ponga especial cuidado en la numeracin de las lneas 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 smbolo predefinido. En el dilogo puede ingresar directamente el nombre del componente o elegir el directorio donde fue salvado el primer proyecto y seleccionarlo de la lista. Si la implementacin de sumador1 cambiara, debe usar la opcin 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 smbolo para reutilizar este circuito en casos ms complejos. Utilice la opcin 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 opcin de men File/Project/Name Si prefiere puede usar un directorio diferente que los anteriores, en este caso use la opcin de men Options/User Libraries para indicar que van a usarse componentes de los proyectos anteriores. 2) Abra una ventana de edicin y dibuje el siguiente circuito (Max+Plus II/Graphic Editor).

Observe que las lneas de bus que transportan ms de un bit estn dibujadas con un estilo grueso. Para cambiar el estilo de una lnea puede usar el botn derecho del ratn sobre cada una o seleccionarlas todas con shift+botn izquierdo y utilizar la opcin de men Options/Line Style 3) Salve y compile el circuito 4) Abra el editor de formas de onda con la opcin 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 lneas de un bus mediante un nmero en base hexadecimal.

Para trabajar con volmenes grandes de datos puede resultar cmodo importarlos desde un archivo de texto usando la opcin 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 opcin 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 opcin de men File/Project/Name 2) Abra una ventana de edicin y dibuje el siguiente circuito (Max+Plus II/Graphic Editor).

Observe que las dos compuertas and estn conectadas en una de sus entradas a un bus de 16 bits, esto genera automticamente 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 lnea a[15..0].

Algo similar ocurre con la compuerta or, salvo que en este caso ambas entradas son de 16 bits y la operacin se aplica bit a bit entre cada ai y bi. Cuando se utiliza esta tcnica, salvo casos excepcionales es necesario asignar un nombre a las lneas de salida de un array de primitivas para que Max+Plus II no interprete que se unen en una sola lnea. 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.

You might also like