Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Implementar en VHDL El Sumador Parametrizado y La ALU
Implementar en VHDL El Sumador Parametrizado y La ALU
Clave: IEC208L
Sección: 3
Tema:
Nombre
ID:1099881
Procedimiento
Sumador serie de N bits
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY NAdder IS
GENERIC(iAnchoPalabra: integer:=8);
PORT ( svA, svB: IN std_logic_vector(iAnchoPalabra-1 DOWNTO 0);
sCarryIn:IN std_logic;
svSum: OUT std_logic_vector(iAnchoPalabra-1 DOWNTO 0);
sCarryOut:OUT std_logic);
END NAdder;
Arquitectura:
-- Señal auxiliar para la propagacióon de acarreos.
SIGNAL svCarryTemp: std_logic_vector(iAnchoPalabra DOWNTO 0);
END NAdderArch;
ALU
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
--Necesaria para el operador &
use IEEE.std_logic_unsigned.all;
---------------------------------------------
ENTITY ALU IS
PORT (--Asociadas al indicador de Flag.
sCLK, sResetL, sIdFlag: IN std_logic;
sFlag: OUT std_logic;
--Asociadas al Multiplexor.
sInALU: IN std_logic;
svEntradaB:IN std_logic_vector(3 DOWNTO 0);
--Asociadas a la ALU.
sOpALU: IN std_logic;
svEntradaA:IN std_logic_vector(3 DOWNTO 0);
svResultado:OUT std_logic_vector(4 DOWNTO 0));
END ALU;
Arquitectura:
ARCHITECTURE ALUArch OF ALU IS
--Señales internas del Sistema
signal svRealB: std_logic_vector(3 DOWNTO 0);
signal sZero: std_logic;
BEGIN
--Descripción del proceso concurrente asociado
--al funcionamiento del bloque Multiplexor.
Mux:PROCESS (svEntradaB, sInALU)
BEGIN
IF (sInALU = '0')
THEN svRealB <= svEntradaB;
--Asignación de 0 a un vector con OTHERS.
ELSE svRealB <= (OTHERS => '0');
END IF;
END PROCESS Mux;