(VWUXFWXUDGHODSUiFWLFD La práctica se estructura en cuatro bloques, el primero es la introducción, y no tiene más importancia que explicar la intención de la práctica a los alumnos/as. El segundo está dedicado al XILINX, está dividido en dos apartados, el primero explica cómo iniciar y cómo está dividido el Project Manager (entorno de trabajo) esta parte no tiene mayor importancia, puesto que apenas lo van a emplear. El segundo apartado está para explicar las dos herramientas que vana utilizar, sólo se explica conceptualmente cada una, con el entorno de trabajo de cada una de ellas, el uso se explicará más adelante en los dos siguientes puntos. Se completa el apartado con la explicación de las librerías y la gestión de las mismas, esto tampoco es muy importante, pero como los circuitos dependen de las librerías se he creído conveniente explicarlas. Los puntos 3 y 4 son muy similares en estructura: tienen dos apartados, uno sencillo y otro más complejo, y constituyen la práctica en sí. A su vez, cada aparatado se divide en dos sub-apartados que crecen en dificultad. Cada uno de los subapartados constituye la implementación de un circuito y se divide en dos partes: creación del esquema y simulación. Esto último se hace para que aprendan bien, tanto la secuencia como el uso, de las dos herramientas implicadas en la realización de las prácticas. El esquema de la práctica queda como sigue a continuación: 1. Introducción 1.1. Objetivos 1.2. Descripción de la práctica 1.3. Nomenclatura 2. Entorno XILINX 2.1. Introducción 2.1.1. Inicio de la aplicación 2.1.2. Entorno de trabajo 2.2. Herramientas de XILINX 2.2.1. Editor de esquemas 2.2.2. Simulador 2.2.3. Librerías de componentes 3. Aprendizaje del entorno 3.1. Circuitos con puertas lógicas 3.1.1. Creación del circuito 3.1.2. Simulación del circuito 3.2. Circuitos con buses 3.2.1. Creación del circuito. 3.2.2. Simulación del circuito 4. Banco de registros 4.1. Comprobación del banco de registros 4.1.1. Creación del circuito 4.1.2. Simulación del circuito 4.2. Funcionamiento del banco de registros 4.2.1. Creación del circuito 4.2.2. Simulación del circuito Los circuitos que se deben implementar son los siguientes: 1. 2. 3. 4. Puerta AND de dos entradas (apartado 3.1). Registro básico de 16 bits (apartado 3.2). Conexión del banco de registros (apartado 4.1). Prueba del banco de registros (apartado 4.2). Aunque el salto conceptual entre el apartado 3 y 4 es grande, se debe tener en cuenta la duración limitada de la práctica y que el apartado 3 es para que aprendan a utilizar el entorno, mientras que el 4 es para conocer el funcionamiento del banco de registros. $SDUWDGR 3XHUWD$1'DSDUWDGR Este ejercicio de es de una sencillez extrema, es difícil que tengan problemas en resolverlo. El esquema se encuentra en el archivo DQGVFK, la simulación correspondiente se encuentra en el archivo and.tve. " ¿Qué error (si es que lo hay) se ha cometido en la siguiente asignación de líneas al circuito de la puerta AND? 6HKDDVLJQDGRXQHVWtPXORGHHQWUDGDDXQDVHxDOGHVDOLGD%D6SRUORTXHOR TXH ;,/,1; QRV PXHVWUD FRPR VDOLGD FRORU D]XO QR OR HV UHDOPHQWH (VWH HUURU HV PX\KDELWXDO 5HJLVWURELWVDSDUWDGR El ejercicio del registro se hace para que aprendan cómo conectar buses e interpretar los cronogramas correspondientes. El esquema se encuentra en el archivo UHJLVWURVFK, y la simulación correspondiente en el archivo UHJLVWURWYH. " Determinar qué fórmulas se corresponden con las siguientes señales de cronogramas realizados con el registro anterior. ): >$$$$@>%%%%@>&&&&@>;@ ): +/ ): >$$$$@>%%%%@>&&&&@>''''@ ): /+;=/+ Este segundo ejercicio está para que comprueben los errores habituales en las asignaciones de fórmulas, que son sintácticamente correctas pero no producen el resultado esperado. " Se pretende insertar y leer consecutivamente los valores AAAA, BBBB, CCCC y DDDD en el registro. Ensayar las siguientes asignaciones de fórmulas al registro y determinar qué error (si lo hay) se ha cometido en cada asignación y cómo se puede solucionar. • • ): [AAAA]10[BBBB]10[CCCC]10[DDDD]10. ): (H5L5)4. (OIODQFRGHVXELGDGHORVQVFDUJD%%%% $$$$QRHVFDUJDGR\DTXHQRWLHQH IODQFRGHVXELGD /DVROXFLyQFRQVLVWHHQSRQHU)/+ • • ): [AAAA]5[Z]5[BBBB]5[Z]5[CCCC]5[Z]5[DDDD]5[Z]5. ): (L5H5)4. 2FXUUHDOJRVLPLODUDXQTXHVHKDVROXFLRQDGRHOIODQFRGHVXELGDFXDQGRVHSURGXFH HVWHHOGDWRGHHQWUDGDHVXQEXVHQDOWDLPSHGDQFLD(VWRTXLHUHGHFLUTXHDXQTXH ORV IODQFRV VH SURGX]FDQ HQ HO PRPHQWR DGHFXDGR ORV GDWRV GHO EXV GHEHQ HVWDU OLVWRV2EYLDPHQWHODVROXFLyQHVFRQVHUYDUORVGDWRVGHHQWUDGDGXUDQWHWRGRHOFLFOR GHUHORM 0 ATENCION: debido a que en el banco de registros se escribe por flanco de bajada, sería recomendable que el registro de ejemplo también lo hiciese. $SDUWDGR &RPSUREDFLyQGHOEDQFRGHUHJLVWURV Este primer ejercicio está planteado para que conozcan las entradas del banco de registro. El esquema se encuentra en el archivo EDQFRUHJVFK, la simulación correspondiente se encuentra en el archivo EDQFRUHJWYH. " Introducir las fórmulas y asociarlas a las señales que se indican para que el resultado sea el mostrado en la figura siguiente. 6HxDO%XV )yUPXOD DATOS F0: >$$$$$$$$@>%%%%%%%%@>;@ DEST F1: >@>@>;@ E_REG F2: +// F1 F3: >;@>@>@>;@ L_SAL1 F4: /+/ F2 F5: >;@>@>@ L_SAL2 F6: /+ )XQFLRQDPLHQWRGHOEDQFRGHUHJLVWURV Con este ejercicio se pretende que asocien el banco de registros con su trabajo dentro de un ciclo de instrucción, por eso se ha simulado el funcionamiento de la misma (de una forma claramente reducida). El esquema se encuentra en el archivo LQVWUXFFVFK, la simulación correspondiente se encuentra en el archivo LQVWUXFFWYH. " Introducir las siguientes fórmulas y asociarlas a las señales que se indican para que el resultado sea el que cumpla el cronograma de la figura 1. 6HxDO%XV )XQFLyQ L_DATOS F0: +/ DATOS F1: >@>@>;@ DEST F2: >@>@>;@>@>;@ E_REG F3: /+/+/ F1 F4: >;@>@>;@>@ L_SAL1 F5: /+/+ F2 F6: >;@>@>;@ L_SAL2 F7: /+/ E_ACC F8: /+/ L_ACC F9: /+/ El cronograma correspondiente a las fórmulas anteriores se puede ver en la figura 1. )LJXUD&URQRJUDPDUHVXOWDQWHGHODVLPXODFLyQGHOFLFORGHLQVWUXFFLyQ " A partir del cronograma de la figura 1, responder a las siguientes cuestiones. Respecto a L_DATOS: ¿Por qué permanece a nivel bajo a partir de los 20ns? 3DUDFHUUDUHOSDVRDOEXVGHORVGDWRVSURYHQLHQWHVGHODHQWUDGDGHGDWRVH[WHUQD ¿Qué ocurriría si se pusiese a nivel bajo a partir de los 30 ns? 1DGD\DTXHKDVWDORVQVQRHVFULEHHOUHJLVWURDFXPXODGRUHQHOEXV ¿Y si no se pone nunca a nivel bajo? $SDUWLUGHORVQVKDEUtDXQFRQIOLFWRHQHOEXV\DTXHVHHVFULELUtDDODYH]GHVGH ODHQWUDGDGHGDWRVH[WHUQD\GHVGHODVDOLGDGHODFXPXODGRU ¿Por qué L_SAL1 y L_SAL2 no tienen la misma forma? /B6$/ WLHQH XQ SHULRGR GH KDELOLWDFLyQ HQ HO ~OWLPR FLFOR SDUD OHHU HO UHVXOWDGR DOPDFHQDGRHQHOUHJLVWURGHVWLQRGHODRSHUDFLyQFRPSUREDFLyQGHTXHODRSHUDFLyQ VHKDHIHFWXDGRFRUUHFWDPHQWH\TXHHOUHVXOWDGRVHKDDOPDFHQDGR ¿Necesita E_ACC solaparse con L_SAL1 y L_SAL2?. Razona la respuesta. 6t\DTXHHVOD~QLFDRFDVLyQHQODTXHVHWLHQHHOUHVXOWDGRDODVDOLGDGHOVXPDGRU \SRUWDQWRVHSXHGHDOPDFHQDUODVXPDHQHODFXPXODGRU )HGHHUUDWDV 3iJLQD 1 3 12 20 $SDUWDGR 1.1 2.1.2 Último párrafo 3.1.1 20 3.1.1 20 3.1.1 20 3.1.1 22 4.1 23 tabla-fila L_DATOS tabla-fila L_ACC Enumeración componentes. Enumeración componentes. 23 23 23 3RQH unidad de control A esta ventana se le conoce TXHVHKDQDSDUHFLGR E_REG A nivel alto permite la lectura…. SAL_1: Habilita por nivel alto la lectura por el puerto L_SAL1 del contenido del registro seleccionado por F1. SAL_2: Habilita por nivel alto la lectura por el puerto L_SAL2 del contenido del registro seleccionado por F2. L_SAL2: Línea que habilita la lectura en la salida SAL1 de los datos de un registro seleccionado por F1. Figura 28 'HEHUtDSRQHU procesador se la conoce que han apareecido Se debe eliminar, es incorrecto. la escritura Salida de datos, por el puerto 1, correspondiente al contenido del registro seleccionado por F1. Salida de datos, por el puerto 2, correspondiente al contenido del registro seleccionado por F2. L_SAL2: Línea que habilita la lectura en la salida SAL2 de los datos de un registro seleccionado por F2. La señal de escritura debería tener el flanco de bajada al final del ciclo. el volcado la escritura :5,7(B$'' el volcado /B'$726 Falta la línea /B$&& la conectamos por medio de una puerta inversora a la habilitación de la puerta triestado de la salida del registro acumulador.