Logo Studenta

Practica 8 Bello Muñoz Edgar Alejandro - Edgar Bello

¡Estudia con miles de materiales!

Vista previa del material en texto

INSTITUTO POLITÉCNICO NACIONAL 
Escuela Superior de Cómputo 
 
 
Bello Muñoz Edgar Alejandro 
 
 
 
Fundamentos de Diseño Digital 
Profesor: Fernando Aguilar Sánchez 
 
 
 
Práctica 8 
Multiplicador binario 
 
 
Fecha de entrega: 9 de mayo de 2021 
Introducción 
Un multiplicador binario es un circuito electrónico utilizado en electrónica digital, 
como una computadora, para multiplicar dos números binarios. Está construido 
usando sumadores binarios. Se puede utilizar una variedad de técnicas aritméticas 
por computadora para implementar un multiplicador digital. 
La mayoría de las técnicas implican calcular un conjunto de productos parciales y 
luego sumar los productos parciales. Este proceso, que es similar al método que se 
enseña en la escuela para realizar multiplicaciones largas en números enteros de 
base 10, aplica el mismo principio al realizarse de manera combinacional, pero con 
la diferencia de que su realización se adapta a un sistema base 2. 
Una computadora binaria hace exactamente la misma multiplicación que los 
números decimales, pero con números binarios. En la codificación binaria, cada 
dígito del multiplicando se multiplica por uno del multiplicador, siendo esto mucho 
más fácil que en decimal, ya que el producto por 0 o 1 es solo 0 o el mismo número. 
Por lo tanto, la multiplicación de dos números binarios se reduce a calcular 
productos parciales (que son 0 o el primer número), por lo que es posible realizar 
esta operación y obtener estos productos parciales utilizando simplemente 
compuertas AND, desplazarlos a la izquierda y luego sumarlos realizando una 
adición binaria, por lo que el diseño de un multiplicador binario utilizando este 
método requiere del uso de sumadores binarios. 
 
Este método es matemáticamente correcto y tiene la ventaja de que una pequeña 
CPU puede realizar la multiplicación usando el cambio y agregar características de 
su unidad aritmética lógica en lugar de un circuito especializado. Sin embargo, el 
método es lento, ya que implica muchas adiciones intermedias. 
Una desventaja de utilizar este método es que las sumas parciales requieren mucho 
tiempo. Se pueden diseñar multiplicadores más rápidos para hacer menos 
adiciones; un procesador moderno puede multiplicar dos números de 64 bits con 6 
adiciones (en lugar de 64) y puede realizar varios pasos en paralelo. El segundo 
problema es que el método escolar básico maneja el signo utilizando regla de 
signos. Las computadoras modernas incrustan el signo del número en el número 
mismo, generalmente en la representación del complemento a dos. Eso obliga a 
que el proceso de multiplicación se adapte para manejar números en complemento 
a dos, y eso complica un poco más el proceso. 
De manera similar, los procesadores que utilizan el complemento de unos , el signo 
y la magnitud , IEEE-754 u otras representaciones binarias requieren ajustes 
específicos al proceso de multiplicación. 
Desarrollo 
Multiplicador 2x2 
Tabla de verdad 
# A1 A0 B1 B0 P3 P2 P1 P0 
0 0 0 0 0 0 0 0 0 
1 0 0 0 1 0 0 0 0 
2 0 0 1 0 0 0 0 0 
3 0 0 1 1 0 0 0 0 
4 0 1 0 0 0 0 0 0 
5 0 1 0 1 0 0 0 1 
6 0 1 1 0 0 0 1 0 
7 0 1 1 1 0 0 1 1 
8 1 0 0 0 0 0 0 0 
9 1 0 0 1 0 0 1 0 
10 1 0 1 0 0 1 0 0 
11 1 0 1 1 0 1 1 0 
12 1 1 0 0 0 0 0 0 
13 1 1 0 1 0 0 1 1 
14 1 1 1 0 0 1 1 0 
15 1 1 1 1 1 0 0 1 
 
Funciones lógicas 
𝑃3 = 𝐴1 𝐴0 𝐵1 𝐵0 
𝑃2 = 𝐴1 𝐴0̅̅ ̅ 𝐵1 + 𝐴1 𝐵1 𝐵0̅̅ ̅ 
𝑃1 = 𝐴1̅̅ ̅ 𝐴0 𝐵1 + 𝐴0 𝐵1 𝐵0̅̅ ̅ + 𝐴1 𝐴0̅̅ ̅ 𝐵0 + 𝐴1 𝐵1̅̅ ̅ 𝐵0 
𝑃0 = 𝐴0 𝐵0 
 
Circuito a bloques 
 
 
Simulación de circuito utilizando compuertas lógicas 
 
 
Código VDHL 
 
Conclusiones 
La realización de esta práctica fue adecuada para comprender la operación de la 
multiplicación con números binarios, pero no solamente eso sino que también su 
implementación utilizando circuitos lógicos y lenguaje de descripción de hardware 
(VHDL), teniendo potencial para su utilización en circuitos combinacionales más 
complejos con una mayor cantidad de funcionalidades. 
Sin embargo, aunque es un circuito que resulta efectivo, el método empleado no es 
el más eficaz, puesto que requiere de la realización de múltiples sumas binarias, por 
lo que se necesita la implementación de varios sumadores también. 
Referencias 
• Floyd, T. (2010). Fundamentos de Sistemas Digitales. México: Pearson 
Educación. 
• Morris, M. (2007). Diseño digital. Cuarta Edición. México: Pearson 
library ieee; 
use ieee.std_logic_1164.all; 
entity multiplicacion is 
port(A1,A0,B1,B0: in std_logic; 
P3,P2,P1,P0, P1Cout: out std_logic); 
end multiplicacion; 
architecture arqmulti of multiplicacion is 
signal C: std_logic_vector(2 downto 0); 
ATTRIBUTE synthesis_off OF C: SIGNAL IS true: 
begin 
P0<= A0 and B0; 
P1<=(A1 and B0) xor (A0 and B1); 
P1Cout<=(A1 and B0) and (A0 and B1); 
P2<=(A1 and B1) xor P1Cout; 
P3<=(A1 and B1) and P1Cout; 
end arqmulti; 
• Educación.Quiroga, P. (2010). Arquitectura de Computadoras. México: 
Alfaomega.

Continuar navegando