PRACTICA No. 8 “CIRCUITOS RESTADORES Y MULTIPLICADORES” MATERIA: DISEÑO DIGITAL SEMESTRE FEBRERO-JUNIO DEL 2012 NOMBRE DE LOS ALUMNOS: 1.-__________________________________________________________________ 2.- __________________________________________________________________ 3.- __________________________________________________________________ NOMBRE DEL EQUIPO___________________________ OBJETIVO GENERAL DE LA PRÁCTICA: Que el estudiante adquiera las competencias en el diseño de circuitos Aritmeticos restadores (incluyéndole el sumador) y multiplicadores que sean capaces de dos operandos de cuatro bits y arrojar un resultado final. EVALUACION: __________ CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA I. Objetivos específicos. - - Tener claro el concepto de circuitos combinacionales. Entender que es el complemento a 2 de un patrón binario. Comprender como es posible realizar una resta mediante una suma utilizando los complementos a 2. Investigar en la pagina de Texas instruments http://upgrade.kongju.ac.kr/data/ttl/func.html circuitos de “glue logic” (los clásicos circuitos integrados 74xx) que realizan la función lógica de sumadorrestador. Interpretar las formas de onda presentadas a la salida del sumador-restador a la aplicación de estímulos (0s y 1s) en sus entradas. Saber modelar en VDHL, sumadores-restadores de 4 bits. Sintetizar el archivo de un sumador-restador utilizando XST (del ISE Webpack de Xilinx). Implementar un sumador-restador, utilizando un FPGA XC3S100E de la familia Spartan 3E de Xilinx con la tarjeta Basys 2. II. MATERIAL Y SOFTWARE UTILIZADO Tarjeta Basys 2 de Xilinx. ISE Webpack Adept. III. FUNDAMENTO TEORICO En circuitos digitales, un sumador/restador es un circuito que es capaz de sumar o substraer números (particularmente en binario). A continuación se muestra un circuito que suma o resta dependiendo de una señal de control. Como puede observarse M es una línea de control, suma cuando es 0 ( F = A + B) y resta cuando es 1 (F= A-B). C es el acarreo de salida y V es una bandera de sobreflujo. Objetos de datos SIGNAL: Los objetos de datos SIGNAL representan las señales lógicas, o cables en un circuito. Hay tres lugares donde es posible declarar las señales en el código VHDL; en una declaración de entity, en la CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA sección declarativa en una architecture y en la sección declarativa de un package. Una señal debe declararse con un tipo asociado como sigue: SIGNAL signal_name : type_name: La variable type_name de SIGNAL determina los valores legales que la señal puede asumir y sus usos licitos en el código de VHDL. Pueden ser; BIT, BIT_VECTOR, STD_LOGIC, STD_LOGIC_VECTOR…..etc. IV. METODOLOGIA DE LA PREPARACION DE LA PRACTICA a) Primeramente se armara un circuito restador, pero que también suma en función del valor de una patilla “SoR”. Lo anterior es debido a que como se menciona en el fundamento teórico, una resta se puede realizar como suma, simplemente complementando a 2 el substraendo. Creamos un nuevo proyecto en ISE Project Navigator, lo nombramos SumaRestaVHDL, el módulo principal será de tipo HDL. Ajustamos los “Project settings” para adecuarlo a los parámetros de nuestra Basys2 para su implementación. CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA A continuación,, agregamos un nuevo fuente, ya sea con el botón a la izquierda de la ventana Design o mediante el menú que aparece tras hacer clic derecho sobre el nombre de nuestro proyecto, el módulo será de tipo VHDL y por nombre le pondremos SumaResta: Nuestro sumador/restador tendrá operandos de 4 bits, por lo que tendrá dos entradas (A y B) de 4 bits y una salida también de 4 bits (traducida a una señal sum para el acarreo final)y un “cout” de 1 bit. A continuación se muestra la pantalla correspndiente. CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA Continuemos ahora con el código de nuestro módulo SumaResta, tenemos que cuando la entrada SoR tenga un valor de 0 a la salida enviaremos el resultado de la suma de las entradas A y B, y cuando valga 1 enviaremos el resultado de la resta A – B al puerto RESULTADO. En los lenguajes de programación de PC podemos ejecutar una u otra porción de código dependiendo del resultado de la evaluación de una expresión empleando la sentencia if, en VHDL también existe dicha instrucción, y es la utilizamos en este ejercicio. En el programa pueden verse varios detalles; como la inclusión de la biblioteca STD_LOGIC_UNSIGNED (para valores sin signo, también existe la biblioteca STD_LOGIC_SIGNED que utiliza valores con signo), la cual debemos incluir para poder utilizar estos operadores, entonces, incluyámosla: Asi también tenemos el uso del objeto de datos “signal” dentro de la sección declarativa de la architecture. Dicho objeto define a “result” como un std_logic de 5 bits en virtud que son los bits que se requieren a la salida proveniente de dos operandos de 4 bits. Comp puede verse un “0” se concatena (‘0’ & A) con una señal A de 4 bits para dar un resultado de 5 bits (4 para RESULTADO y 1 para “cout”). Una vez implementado el diseño, procedemos a realizar su simulación, para lo cual creamos el TESTENCH correspondiente, archivo que llamaremos TB_SumaResta. CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA Los resultados se presentan en la siguiente seccion b) Ahora procederemos a construir el circuito multiplicador VII.- Resultados y Conclusiones de la Práctica. Los resultados del testbench muestran como la línea SoR controla la operación a ejecutar, apareciendo en el puerto “resultado” el resultado de la operación seleccionada. VI.- Fuentes de información (Referencias bibliográficas y sitios internet) CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA www.xilinx.com www.ti.com LIBRO: Fundamentos de lógica digital con diseño VHDL Stephen Brown, Zwonko Vranesivc Mc Graw Hill. SUERTE MUCHACHOS USTEDES PUEDEN LOGRAR LO QUE SE PROPONEN…PRINCIPALMENTE SON JOVENES…Solano VII.- ANEXOS (colocar acá datos que requieran agregar, extra al trabajo) CATEDRATICO: ING MIGUEL ANGEL PEREZ SOLANO INSTITUTO TECNOLOGICO DE OAXACA