Está en la página 1de 4

3. Diseño de un multiplicador binario.

Diseñe un multiplicador binario que multiplique dos números binarios de dos bits
cada uno empleando VHDL. Utilice instanciación e Indique el procedimiento de
diseño.

Binario 1 Binario 2 Resultado


A1 A2 B1 B2 R1 R2 R3 R4
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0
0 0 1 1 0 0 0 0
0 1 0 0 0 0 0 0
0 1 0 1 0 0 0 1
0 1 1 0 0 0 1 0
0 1 1 1 0 0 1 1
1 0 0 0 0 0 0 0
1 0 0 1 0 0 1 0
1 0 1 0 0 1 0 0
1 0 1 1 0 1 1 0
1 1 0 0 0 0 0 0
1 1 0 1 0 0 1 1
1 1 1 0 0 1 1 0
1 1 1 1 1 0 0 1

Tabla ¿? Tabla de verdad para un multiplicador binario.


Código en VDHL del multiplicador binario
-- ------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
--Entidad--------------------------------------------------------------
entity mul2bj is
port(
X, Y: in std_logic_vector(1 downto 0);
Z: out std_logic_vector (3 downto 0)
);
end mul2bj;
------------------------------------------------------------------------------
--Arquitectura-------------------------------------------------------------
architecture Multi2 of mul2bj is
--Declaraciones
--Señales
signal cx, sx: std_logic_vector (3 downto 0);
--Componentes
component mul1b
port (
X, Y, Si, Ci: in std_logic;
So, Co : out std_logic
);
end component;
--Asignaciones
begin
--Conexiones de componentes
u0: mul1b port map (X(0),Y(0),'0','0',sx(0),cx(0));
u1: mul1b port map (X(1),Y(0),'0',cx(0),sx(1),cx(1));
u2: mul1b port map (X(0),Y(1),sx(1),'0',sx(2),cx(2));
u3: mul1b port map (X(1),Y(1),cx(1),cx(2),sx(3),cx(3));
--Asiganciones de señales
z(0)<= sx(0);
z(2 downto 1)<= sx(3 downto 2);
z(3)<= cx(3);
end Multi2;
iii) Implementar y comprobar el funcionamiento del multiplicador binario
diseñado en VHDL.

Figura ¿? Codificador de un multiplicador binario.

Figura ¿? Simulación de un multiplicador binario.


Figura ¿? RTL de un multiplicador binario.

Figura ¿? Implementación de un multiplicador binario.

También podría gustarte