CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA IC 2003-1 5040 Circuitos Digitales Avanzados PRÁCTICA No. 6 LABORATORIO DE NOMBRE DE LA PRÁCTICA DURACIÓN (HORA) Multiplicador binario 4 1 INTRODUCCIÓN La multiplicación binaria es una operación aritmética que requiere de varios pasos para llevarse a cabo. Existen varios algoritmos para resolverla. El que se utilizará en esta práctica se conoce como sumas y corrimientos. 2 OBJETIVO (COMPETENCIA) Construir un circuito para realizar una multiplicación binaria mediante el algoritmo de sumas y corrimientos. Diseñar y construir una unidad de control para realizar una operación aritmética. Existen varios algoritmos para realizar multiplicaciones. El funcionamiento de cada uno de ellos es el siguiente: Multiplicación en paralelo: La operación se realiza conectando varios sumadores en paralelo, recorridos cada uno de ellos una posición hacia la izquierda. Tablas de búsqueda: Los resultados de cada posible multiplicación están guardados en dispositivos de memoria, que son direccionados de acuerdo al valor de los operandos. Sumas sucesivas: Se suma y acumula el multiplicando, tantas veces como el valor del multiplicador. Sumas y corrimientos: Se realizan sumas dependiendo del valor de cada bit del multiplicador y se van realizando corrimientos hasta obtener el resultado. Formuló Revisó Aprobó Autorizó M.C. Jorge Eduardo Ibarra Esquer M.C. Gloria E. Chávez Valenzuela Maestro Coordinador de la Carrera Gestión de la Calidad Director de la Facultad Código GC-N4-017. Página 1 de 4 Revisión 0
Entre ellos, el de sumas y corrimientos ofrece las siguientes ventajas: Tiempo máximo y mínimo de ejecución bien definido. El circuito no requiere de mucho espacio físico. Resulta sencillo ampliar el tamaño de los operandos utilizados. En la figura 1 se muestra la estructura física de un circuito para multiplicar dos números de 4 bits. Consta de los siguientes elementos: Un registro de corrimiento de 9 bits. Antes de iniciar la operación, el multiplicador se carga en la parte baja de este registro, llenando los bits más significativos con ceros. Al terminar, los 8 bits menos significativos tienen el producto de la multiplicación. Un registro de 4 bits para cargar el multiplicando. Un sumador de 2 números de 4 bits. Una unidad de control. Esta recibe como entradas una señal de reloj (CLK), un pulso de inicio (I) y el bit del multiplicador (M) que se vaya a utilizar en cada iteración del algoritmo. Genera un pulso de suma (PS) y un pulso de corrimiento (PC). Figura 1. Diagrama a bloques de un multiplicador de 2 números de 4 bits Página 2 de 5.
En la figura 2 se muestra el diagrama de flujo de este algoritmo. Figura 2. Diagrama de flujo del algoritmo de multiplicación por sumas y corrimientos, para dos números de 4 bits. 4 PROCEDIMIENTO (DESCRIPCIÓN) A EQUIPO NECESARIO MATERIAL DE APOYO Tarjeta UP2 de Altera. Se utilizará el FPGA Flex10K Software Quartus II Protoboard Teclado matricial y codificador 74922 Circuitos integrados: Sumador, registros de corrimiento. Display de 7 segmentos y codificador Material bibliográfico. Applet simulador del algoritmo de sumas y corrimientos disponible en http://yaqui.mxl.uabc.mx/~jorgeeie/digitales/aplicacion es/multiplicador.html Se requiere la versión 1.6 de Java para utilizar el Applet Página 3 de 5.
4 PROCEDIMIENTO (DESCRIPCIÓN) B DESARROLLO DE LA PRÁCTICA Se implementará un circuito que realice la multiplicación binaria de 2 números de 4 bits, Utilizando el algoritmo de sumas y corrimientos. Para la práctica se construirán los siguientes componentes: Circuito del multiplicador: Registros de corrimiento y sumador (En el protoboard). Circuito para mostrar resultados en displays de 7 segmentos. Se mostrarán 3 dígitos en BCD. Circuito de control para el algoritmo de la multiplicación. Detector de instrucciones desde el teclado. Módulo de RAM. Se almacenarán hasta 16 resultados de 8 bits en RAM. Se deben cumplir los siguientes requerimientos: Todos los componentes, con excepción del circuito para la multiplicación, se construirán utilizando el software Quartus II y se cargarán en el FPGA Flex10K. Deberá utilizarse VHDL para la elaboración de componentes individuales, pudiendo interconectarlos en diagramas esquemáticos de Quartus. Son necesarios, además, un convertidor de BCD a binario (2 dígitos BCD a 4 bits) y un convertidor de binario a BCD (8 bits a 3 dígitos BCD). Los comandos que se deberán introducir a través del teclado son los siguientes: Descripción Secuencia Cargar multiplicando # 1 D U Cargar multiplicador # 2 D U Iniciar multiplicación # 3 Mostrar resultado # 4 Reset # 5 Guardar en RAM # 6 P Leer de RAM # 7 P D - decena U - Unidad P Posición en la memoria (0-15) Es importante diseñar cada uno de los componentes del circuito de manera independiente, pero tomando en cuenta las entradas y salidas que deben tener para poder comunicarse entre ellos. Página 4 de 5.
C CÁLCULOS Y REPORTE Se entregará un reporte de la práctica que contenga los siguientes puntos: - Resumen - Descripción de la práctica - Desarrollo - Resultados - Conclusiones 5 RESULTADOS Y CONCLUSIONES Se presentará el circuito con todos los módulos funcionando. Deberá presentarse el resultado de la simulación de cada uno de los módulos de manera independiente. 6 ANEXOS Página 5 de 5.