Está en la página 1de 2

Parcial No 2 de Procesadores Primer Semestre de 2009 Nombre: _________________________________________________________________ Cdigo: ______________ Disear un procesador que permita resolver el siguiente

e problema, teniendo en cuenta las formalidades descritas en el anexo.

Un cuadrado mgico es la disposicin de n nmeros enteros en un arreglo de nxn cuadrado o matriz de forma tal que la suma de los nmeros por columnas y filas sea la misma, la constante mgica. Se requiere saber si dados 9 nmeros enteros no negativos, estos pueden formar un cuadrado mgico de 3x3. Ayuda 1. Ejemplo de cuadrado mgico de 3x3 4 3 8 9 5 1 2 7 6 Todas las sumas hechas por columnas o filas es igual a 15

Ayuda 2. Cmo calcular la constante mgica?

A B C D E F G H I x x x

x x x

La suma realizada en cualquier columna o fila ser la constante mgica x. Por ende la suma de todos los nmeros del cuadrado ser el equivalente a sumar tres veces la constante mgica, es decir, (A + B + C) + (D + E + F) + (G + H + I) = x + x + x = 3x

La solucin al problema debe incluir: [2,0] Datapath. [1,0] Tabla de instrucciones RTL. [1,5] Diagrama de estados o ASM de la unidad de control. [0,5] Simulacin Formas de onda en el tiempo.

[1,5] Punto adicional Empleando replicacin de hardware o cualquier tcnica que haga uso del inherente paralelismo de la arquitectura del FPGA, plantear un segundo datapath que permita resolver el mismo problema en menos ciclos de reloj. Estimar su aceleracin respecto al primer diseo. Nota 1. Nota 2. La mxima nota que un estudiante puede obtener en este parcial es 5,5. Como requisito para poder realizar el punto adicional, es necesario que se hayan desarrollado los tres primeros puntos hasta la unidad de control. Adicionalmente la optimizacin propuesta est sujeta a aprobacin del profesor.

Anexo I

Normas para el diseo de datapath


El datapath, debe a simple vista reflejar la idea con la que se soluciona el problema. Con el objetivo de reglamentar el diagrama y facilitar su revisin, se solicita seguir las siguientes reglas: Registros: Como mnimo debe tener la seal de reloj, el dato de entrada y el dato de salida. Adicionalmente puede tener reset sncrono o asncrono (se debe especificar), seal de carga. De no indicarse algo diferente, se asumir que es de tipo paralelo-paralelo. Cualquier modificacin que se desee hacer al funcionamiento natural del registro, debe ser indicada claramente mediante un cdigo de HDL. Unidades funcionales: El nmero de salidas y entradas debe ser coherente con la operacin que realiza. sta operacin debe ser indicada en el diagrama o en una tabla adjunta en caso de ser una ALU. Se asumir que son de tipo combinacional, a menos que se especifique lo contrario. Multiplexores y demultiplexores: Se debe indicar la cantidad de bits de la seal de control y la cantidad de bits de las seales de entrada y salida. Su smbolo debe diferenciarse de una unidad funcional o especificarse especficamente que el bloque es un (de)mux. Seales y Buses: Las seales que son entrada a cada uno de los bloques deben indicarlo mediante una flecha. Las seales que quedan como salida o entrada del datapath deben tener un nombre nico dentro del diseo. La seal de reloj del diseo no es necesario dibujarla, pero si se debe indicar a cuales bloques llega. Los buses deben especificar el nmero de bits que lo componen. Al existir una bifurcacin se debe especificar cuales y cuantos bits se han derivado del bus principal. Cajas Negras: Es posible durante el diseo instanciar mdulos personalizados. Estos deben ser descritos mediante HDL o mediante otro datapath.

Normas para el diseo de la tabla de instrucciones RTL


Las instrucciones RTL definen la transferencia de informacin en el datapath y la manipulacin de sus entradas de control. La tabla de instrucciones RTL NO es una depuracin ciclo a ciclo del diseo, por el contrario resume los tipos de instrucciones(movimientos de datos) ejecutadas en el datapath. sta debe contener una descripcin (como pseudocdigo o similar) y las entradas de control del datapath.

Normas para el diseo de la unidad de control


Normalmente la unidad de control est basada en una FSM. Su diagrama puede ser de tipo ASM o diagrama de estados y en cada uno de los diagramas pueden aparecer salidas tipo Moore y/o Mearly. Para cada uno de los estados, bajo cualquier combinacin de sus entradas de control, debe existir una y solo una transicin vlida. Las variables de salida, segn el tipo (Moore o Mearly) deben asignarse coherentemente en cada estado o transicin.

Representacin de un estado en un diagrama de estados

Imgenes tomadas de FPGA Prototyping by VHDL examples

Representacin de un estado en un diagrama ASM

También podría gustarte