Formuló
M.C. Jorge Eduardo
Ibarra Esquer
Revisó
M.C. Gloria E. Chávez
Valenzuela
Aprobó Autorizó
CARRERA
ESTUDIO
ASIGNATURA
NOMBRE DE LA ASIGNATURA
IC 2003-1
5040
Circuitos
Digitales
Avanzados
PRÁCTICA
No.
LABORATORIO DE
DURACIÓN
(HORA)
6
NOMBRE DE LA
PRÁCTICA
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.
3 FUNDAMENTO
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.
3 FUNDAMENTO
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).
3 FUNDAMENTO
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
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.
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.