Paso5 Francisco Chavez Florez
Paso5 Francisco Chavez Florez
Paso5 Francisco Chavez Florez
(Parte infividual)
Presentado por:
Francisco Javier Chvez Flrez
Cdigo: 1080262056
Grupo 243004_33
Ejercicios a resolver.
a. Un diagrama de bloques.
----------------------------------------------------------------------------------
-- Company: UNAD
-- Engineer: FRANCISCO CHAVEZ FLOREZ
-- Create Date: 12.11.2017 16:34:29
----------------------------------------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.std_logic_unsigned.all;
entity ContadorAsN is
Port ( clk : in STD_LOGIC;
reset : in STD_LOGIC;
salida : out STD_LOGIC_VECTOR (7 downto 0));
end ContadorAsN;
begin
process (clk)
begin
if clk'event and clk='1' then
if reset='1' then
Q <= "00000000";
else
Q <= D;
end if;
end if;
end process;
D <= Q+1;
salida <= Q;
end Behavioral;
c. Un pantallazo con la simulacin, en el cual se evidencie el correcto funcionamiento
del diseo.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity SIMUcontador is
-- Port ( );
end SIMUcontador;
component ContadorAsN
port(
clk : in std_logic;
reset : in std_logic;
salida : in std_logic_vector(7 downto 0);
);
end component;
-- Seales de las entradas
signal clk : std_logic := '0';
signal reset : std_logic := '0';
-- Seales de salidas
signal salida : std_logic_vector(7 downto 0);
begin --seccion2
process
begin
clk <= '0';
wait for PERIOD/2;
clk <= '1';
wait for PERIOD/2;
end process;
UO: ContadorAsN
Port map (
clk => clk,
reset => reset1,
salida => salida
);
process
begin
--- Estmulos de la simulacin
wait;
end process;
end Behavioral;
2. Disee un contador descendente mdulo M, donde M es su edad. El diseo debe
incluir:
a. Un diagrama de bloques.
M= Edad: 25
Como 2 1 es el maximo de cuenta, donde n es igual al numero de bit, para este caso:
(Si es mayor que 15 y menor que 31, para lo cual se usan 5 bit)
2 1 = 25 1 = 2*2*2*2*2= 32
----------------------------------------------------------------------------------
-- Company: UNAD
-- Engineer: FRANCISCO GHAVEZ
-- Create Date: 12.11.2017 09:05:16
----------------------------------------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.std_logic_unsigned.all;
entity CONTADOR is
Port (
CLK : in STD_LOGIC;
RESET : in STD_LOGIC;
SALIDA : out STD_LOGIC_VECTOR (5 downto 0)
);
end CONTADOR;
architecture Behavioral of CONTADOR is
--- aqui creamos las dos seales Q y D que son del mismo tamao que la salida de 4 bits
signal D, Q : STD_LOGIC_VECTOR (5 downto 0);
begin
process (clk)
begin
if clk'event and clk='1' then
if reset='1' then
Q <= "000000";
else
Q <= D;
end if;
end if;
end process;
D <= "000000" when Q= 25 else
Q-1;
salida <= Q;
end Behavioral;
c. Un pantallazo con la simulacin, en el cual se evidencie el correcto funcionamiento
del diseo.
begin --seccion2
process
begin
clk <= '0';
wait for PERIOD/2;
clk <= '1';
wait for PERIOD/2;
end process;
UO: CONTADOR
Port map (
clk => clk,
reset => reset1,
salida => salida
);
process
begin
--- Estmulos de la simulacin
wait for 100 ns;
reset <= '1';
wait for 100 ns;
reset <= '0';
wait for 100 ns;
wait;
end process;
end Behavioral;
3. Disee un contador ascendente/descendente mdulo M, donde M es su edad. El
diseo debe incluir:
a. Un diagrama de bloques.
M= Edad: 25
Como 2 1 es el maximo de cuenta, donde n es igual al numero de bit, para este caso:
(Si es mayor que 15 y menor que 31, para lo cual se usan 5 bit)
2 1 = 25 1 = 2*2*2*2*2= 32
----------------------------------------------------------------------------------
-- Company: UNAD
-- Engineer: FRANCISCO JAVIER CHAVEZ FLOREZ
-- Create Date: 12.11.2017 19:29:10
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.std_logic_unsigned.all;
entity contadorASCydesc is
Port ( reset : in STD_LOGIC;
clk : in STD_LOGIC;
sentido : in STD_LOGIC := '0';
salida : out STD_LOGIC_VECTOR (5 downto 0));
end contadorASCydesc;
architecture Behavioral of contadorASCydesc is
signal counter : STD_LOGIC_VECTOR (5 downto 0) := "000000";
signal count : integer;
signal clk1 : STD_LOGIC;
constant max_count: integer := 25;
begin
process (clk1, clk)
begin
if rising_edge(clk) then
count <= count + 1;
if count = max_count then
clk1 <= not clk1;
count <= 0;
end if;
end if;
end process;
process(reset,clk)
begin
if reset='1' then
counter <= "0000";
elsif clk1'event and clk1 = '1' then
if sentido = '1' then
counter <= counter + 1;
else
counter <= counter - 1;
end if;
salida <= counter;
end if;
end process;
end Behavioral;
c. Un pantallazo con la simulacin, en el cual se evidencie el correcto funcionamiento
del diseo.
ibrary IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity simASCydesc is
-- Port ( );
end simASCydesc;
architecture Behavioral of simASCydesc is --seccion1
Port ( reset : in STD_LOGIC;
clk : in STD_LOGIC;
sentido : in STD_LOGIC := '0';
salida : out STD_LOGIC_VECTOR (5 downto 0));
end component;
-- Seales de las entradas
signal clk : std_logic := '0';
signal reset : std_logic := '0';
-- Seales de salidas
signal salida : std_logic_vector(5 downto 0);
-- Constante de tiempo para la simulacion
constant PERIOD : time := 10 ns;
begin --seccion2
process
begin
clk <= '0';
wait for PERIOD/2;
clk <= '1';
wait for PERIOD/2;
end process;
UO: CONTADOR
Port map (
clk => clk,
reset => reset1,
salida => salida
);
process
begin
--- Estmulos de la simulacin
wait for 100 ns;
reset <= '1';
wait for 100 ns;
reset <= '0';
wait for 100 ns;
wait;
end process;
end Behavioral;
IMPORTANTE: Todas las implementaciones en VHDL se deben hacer utilizando el software Vivado.
La implementacin se debe evidenciar en el informe con el pantallazo de la descripcin de VHDL y
con el pantallazo del RTL. El Pantallazo debe seguir la indicaciones dadas en el video de la
actividad de reconocimiento, de lo contrario el aporte no se considerar vlido.
Sitios web:
1. Muoz, J. (2012). Introduccin a los Sistemas Digitales: Un enfoque usando
Lenguajes de Descripcin de Hardware. (Captulos 7, 9 y 10, pp. 135-149,177-208).
Madrid. Recuperado de https://openlibra.com/es/book/introduccion-a-los-sistemas-
digitales
2. Fajardo, C. (2016, diciembre 13), Contadores Digitales. [Archivo de video].
Recuperado de https://youtu.be/erxuOIX9Lmo
10. http://centros.edu.xunta.es/iesmanuelchamosolamas/electricidade/fotos/contadore
s.htm
11. http://hflorezf-es.blogspot.com.co/2011/10/contadores-sincronos.html