Diagrama Alu

Páginas: 2 (316 palabras) Publicado: 15 de junio de 2012
DIAGRAMA DE UN ALU COMERCIAL (74181)

INICIO
INICIO
DIAGRAMA DE FLUJO DE LA ALU
FIN
FIN
¿OTRA OPERACION?
¿OTRA OPERACION?
MOSTRAR RESULTADO
MOSTRAR RESULTADO
¿DER?¿DER?
¿iZQ?
¿iZQ?
¿X =Y?
¿X =Y?
¿X <Y?
¿X <Y?
¿X > Y?
¿X > Y?
COCIENTE DE X, Y = R
COCIENTE DE X, Y = R
PRODUCTO DE X, Y = R
PRODUCTO DE X, Y = R
RESTA DE X, Y = R
RESTA DE X, Y= R
SUMA DE X, Y = R
SUMA DE X, Y = R
¿COMP?
¿COMP?
¿DESPL?
¿DESPL?
¿DIV?
¿DIV?
¿X?
¿X?
¿-?
¿-?
¿+?
¿+?
INGRESAR # BINARIO “Y”
INGRESAR # BINARIO “Y”
INGRESAR # BINARIO “X”
INGRESAR# BINARIO “X”

ALU en VHDL

El software que se utilizo para el desarrollo den esta ALU fue ModelSim ALTERA, cuya operación es muy sencilla.

A continuación se muestra la ALU en VHDL:

libraryIEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity ALU_VHDL is
port( Carry_Out: out std_logic;
Flag: out std_logic;
Nibble1: instd_logic_vector(3 downto 0);
Nibble2: in std_logic_vector(3 downto 0);
Operation: in std_logic_vector(2 downto 0);
result: out std_logic_vector(3 downto 0));
end ALU_VHDL;

architectureBehavioral of ALU_VHDL is
signal temp: std_logic_vector(4 downto 0);
begin
process(Nibble1,Nibble2,Operation,temp)
begin
Flag <= '0';
case Operation is
when "000"=>
temp <= conv_std_logic_vector((conv_integer(Nibble1) + conv_integer(Nibble2)),5);
result <= temp(3 downto 0);
Carry_Out <= temp(4);
when "001" =>if Nibble1 >= Nibble2 then
result <= Nibble1 - Nibble2;
Flag <= '0';
else
result <= Nibble2 - Nibble1;
Flag <= '1';end if;
when "010" =>
result <= Nibble1 and Nibble2;
when "011" =>
result <= Nibble1 or Nibble2;
when "100" =>
result <= Nibble1 xor Nibble2;...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • La alu
  • Aluar
  • Esto Es La Alu
  • alu simulador
  • 74LS181-ALU-
  • Alu en vhdl
  • Alu-74181
  • IEEE

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS