Oscar Armando Abril
José Antonio Zamudio
josezamudio1982@gmail.com
Asignatura dirigida por:
Ing. José Eduin Culma Caviedes
Descripción o repertorio de saberes de los integrantes del grupo:
Estudiantes de ingeniería electrónica de octavo semestre con conocimientos en programación básica en lenguaje VHDL con conocimiento en generación de memorias ROM, CONTADORES, REGISTROS, MULTIPLEXORES Y DEMULTIPLEXORES, DIVISORES DE RELOJ, manejo de entradas y salidas de la FPGA creación de modelos esquemáticos a través de código VHDL, tipos de MAQUINAS DE ESTADO ARQUITECTURA DE PROCESADORES
Tema de interés para desarrollar aplicación: ALU
Laboratorio 7:
Descripción del laboratorio:
VÍDEO IMPLEMENTACION EN LA FPGA
En este laboratorio se implementa un modelo de
una ALU (unidad aritmético lógica) simple con el fin de hacer operaciones logica y
aritméticas tales como la suma de cuatro bits, la resta, nand, or, xor,esta ALU
tiene una unidad de control compuesta por una maquina de estados la cual
selecciona la operación a realizar tiene un reset y una entrada de reloj el cual una
vez seleccionada la operación es ejecutada mostrando el resultado en los leds de
la FPGA.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity simple_alu is
port( Clk : in std_logic; --clock signal
A,B : in signed(3 downto 0); --input operands
Op : in unsigned(2 downto 0); --Operation to be performed
R : out signed(3 downto 0) --output of ALU
end simple_alu;
architecture Behavioral of simple_alu is
--temporary signal declaration.
signal Reg1,Reg2,Reg3 : signed(3 downto 0) := (others => '0');
process(Clk)
if(rising_edge(Clk)) then --Do the calculation at the positive edge of clock cycle.
case Op is
when "000" =>
Reg3 <= Reg1 + Reg2; --addition
when "001" =>
Reg3 <= Reg1 - Reg2; --subtraction
when "010" =>
Reg3 <= not Reg1; --NOT gate
when "011" =>
Reg3 <= Reg1 nand Reg2; --NAND gate
when "100" =>
Reg3 <= Reg1 nor Reg2; --NOR gate
when "101" =>
Reg3 <= Reg1 and Reg2; --AND gate
when "110" =>
Reg3 <= Reg1 or Reg2; --OR gate
when "111" =>
Reg3 <= Reg1 xor Reg2; --XOR gate
when others =>
NULL;
end case;
end process;
end Behavioral;
VÍDEO IMPLEMENTACION EN LA FPGA
No hay comentarios:
Publicar un comentario