Ciencia

Codigo Vhdl Contador De 4 Bits /sumador Sin Signo



Codigo Vhdl Contador De 4 Bits /sumador Sin Signo - Ciencia

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity contador is
port (
clk_i : in std_logic ;
rst_i : in std_logic ;
load_i : in std_logic ;
en_i : in std_logic ;
d_i : in std_logic_vector (3 downto 0);
q_o : buffer std_logic_vector (3 downto 0)

);

end entity contador;

architecture rtl of contador is

signal s_count : unsigned (3 downto 0);

begin
q_o <= std_logic_vector(s_count);

process (clk_i,rst_i)
begin

if rst_i =’1′ then
s_count <= (others =>’0′);
elsif rising_edge (clk_i) then
if en_i=’1′ then
s_count <= s_count + 1;
end if;
if load_i=’1′ then
s_count<= unsigned (d_i);
end if;

end if;
end process;

end architecture rtl;

——————sumador sin signo–

— Unsigned Adder

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity unsigned_ader is

generic
(
DATA_WIDTH : natural := 4
);

port
(
a : in std_logic_vector ((DATA_WIDTH-1) downto 0);
habilitar: in std_logic;
result : out std_logic_vector((DATA_WIDTH-1) downto 0)
);

end entity;

architecture rtl of unsigned_ader is
signal cuatro : std_logic_vector(3 downto 0):= «0011»;

begin
process(a,habilitar)
begin
if habilitar=’1′ then
result <= std_logic_vector(unsigned(a)+ unsigned(cuatro));
else
result <= a;
end if ;
end process;
end rtl;

¿Te ha gustado el artículo? ¡Valóralo!

0.00 - 0 votos
Cuanto más alta sea la valoración más visible será el artículo en portada.
¡Compártelo en las redes sociales!

Acerca del autor

hector.aponte01

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Únete a la comunidad de NoCreasNada

¿Te gustaría compartir tus inquietudes y ganar seguidores por todo el mundo?

¿Eres una persona inquieta y quieres descubrir a más gente como tú? 

Únete a NoCreasNada.

Además, te pagaremos por las visitas que recibas.

Más Información