Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Presentado por:
Carlos daney mancilla
Código: 1059043984
Tutor:
SANDRA MILENA GARCIA
INTRODUCCION
En el presente trabajo se realiza la respectiva práctica de la tarea 3 unidad 3 circuitos secuenciales que
corresponden a un circuito cuya salida depende de la combinación de entrada y también de la secuencia que
tiene la historia de las entradas anteriores, es decir que en estos sistemas secuenciales los valores de las salidas
no dependen solamente del valor que se le asigne a la entrada si no del historial es decir de los valores
anteriores que haya tenido estas entradas.
Dentro de estos sistemas secuenciales o circuitos secuenciales encontramos, registros, contadores, flip flop entre
otros.
Para esta actividad se pretende crear el código con el cual se programan estos nombrados anteriormente y
analizar el comportamiento que este adquiere en el momento que este se ejecuta, comprende una totalidad de 6
ejercicios dentro de los cuales se evidencia a través de capturas de pantalla el código con el que se desarrolló, el
RTL de vhdl y su simulación respectiva.
Cada paso se logro con ayuda de video tutoriales y teoría externa para la correcta comprensión de dicha unidad.
EJERCICIOS A RESOLVER.
1. Diseñe un flip-flop tipo D, con reset activo en alto y enable activo en alto.
a. Un pantallazo con la descripción en VHDL
b. Un pantallazo con el RTL generado por VIVADO.
Solución:
2. Diseñe un registro de 8 bits con reset activo en alto.
a. Un pantallazo con la descripción en VHDL
b. Un pantallazo con el RTL generado por VIVADO.
Solución:
3. Diseñe un flip-flop tipo T con enable.
a. Un diagrama de bloques.
b. Un pantallazo con la descripción en VHDL
c. Un pantallazo con el RTL generado por VIVADO.
Solución:
--------------------------------------------------------------------------------
-- Nombre: Oswaldo Noe Martinez Araujo
-- Documento: 77170862
-- Fecha: 8/11/2019
-- Proyecto: Tarea 3 – Actividad 3
--------------------------------------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
entity flipfloptt is
Port ( clk : in STD_LOGIC;
Reset : in STD_LOGIC;
D : in STD_LOGIC;
Enable : in STD_LOGIC;
Q : in STD_LOGIC);
end flipfloptt;
begin
process (clk)
begin
if clk'event and clk='1' then
if reset='1' then
Q<='0';
elsif enable ='1' then
Q<=D;
end if;
end if;
end process;
end Behavioral;
--------------------------------------------------------------------------------
-- Nombre: Oswaldo Noe Martinez Araujo
-- Documento: 77170862
-- Fecha: 8/11/2019
-- Proyecto: Tarea 3 – Actividad 4
--------------------------------------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numerico_std.all;
entity contador is
Port ( clk : in STD_LOGIC;
Reset : in STD_LOGIC;
Enable : in STD_LOGIC;
salida : out STD_LOGIC_VECTOR (18 downto 0));
end contador;
architecture Behavioral of contador is
begin
begin
if reset = '1' then
cnt <= ( others => '0') ;
elsif clk'event and clk ='1' then
if enable='1' then
cnt <= cnt + 1;
end if;
end if;
end process;
end Behavioral;
5. Diseñe un contador descendente módulo M, donde M es su edad. El diseño debe incluir:
a. Un diagrama de bloques.
b. Un pantallazo con la descripción en VHDL
c. Un pantallazo con la simulación, en el cual se evidencie el correcto funcionamiento del diseño.
Solución:
--------------------------------------------------------------------------------
-- Nombre: Oswaldo Noe Martinez Araujo
-- Documento: 77170862
-- Fecha: 8/11/2019
-- Proyecto: Tarea 3 – Actividad 5
--------------------------------------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numerico_std.all;
entity contadordecendente is
Port ( clk : in STD_LOGIC;
Reset : in STD_LOGIC;
salida : out STD_LOGIC_VECTOR ( 3 downto 0));
end contadordecendente;
begin
process (clk)
begin
if clk 'event and clk = '1' then
if reset = '1' then
Q_bus <= (others => '0' );
Else
Q_bus <= D_bus );
end if;
end if;
end process;
D_bus <= (others => '0' when Q_bus = “10011” else Q_bus - ' 1 ' ;
end Behavioral;
6. Diseñe un contador ascendente/descendente módulo M, donde M es su edad. El diseño debe incluir:
a. Un diagrama de bloques.
b. Un pantallazo con la descripción en VHDL
Un pantallazo con la simulación, en el cual se evidencie el correcto funcionamiento del diseño
Solución:
--------------------------------------------------------------------------------
-- Nombre: Oswaldo Noe Martinez Araujo
-- Documento: 77170862
-- Fecha: 8/11/2019
-- Proyecto: Tarea 3 – Actividad 6
--------------------------------------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numerico_std.all;
use IEEE.std_logic_unsigned.all;
entity punto6 is
Port ( clk : in STD_LOGIC;
Reset : in STD_LOGIC;
salida : out STD_LOGIC_VECTOR ( 3 downto 0));
end punto6;
begin
process (clk)
begin
if clk 'event and clk = '1' then
if reset = '1' then
Q_bus <= (others => '0' );
Else
Q_bus <= D_bus );
end if;
end if;
end process;
D_bus <= (others => '0' when Q_bus = “10011” else Q_bus + ' 1 ' ;
end Behavioral;
--------------------------------------------------------------------------------
-- Nombre: Oswaldo Noe Martinez Araujo
-- Documento: 77170862
-- Fecha: 8/11/2019
-- Proyecto: Tarea 3 – Actividad 6
--------------------------------------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numerico_std.all;
use IEEE.std_logic_unsigned.all;
entity acendentedesendente is
Port ( reset : in STD_LOGIC;
clk : in STD_LOGIC;
sentido : in STD_LOGIC := '0';
salida : out STD_LOGIC_VECTOR ( 3 downto 0));
end acendentedesendente;
begin
process (clk)
begin
if clk 'event and clk = '1' then
if reset = '1' then
Q_bus <= (others => '0' );
Else
Q_bus <= D_bus );
end if;
end if;
end process;
D_bus <= (others => '0' when Q_bus = “10011” else Q_bus + ' 1 ' ;
end Behavioral;
REFERENCIAS
Fajardo, C. (2017, Mayo 5),Flip Flop D [Archivo de video]. Recuperado de https://youtu.be/Te45C2I_e5A
Fajardo, C. (2017, Mayo 5),Registro 32 bits [Archivo de video]. Recuperado de https://youtu.be/vTmBuR-
JgvM
Fajardo, C. (2017, Noviembre 11), Flip Flop Tipo T[Archivo de video]. Recuperado
de https://youtu.be/AXON0YOgQvA
Fajardo, C. (2016, diciembre 13), Contadores Digitales. [Archivo de video]. Recuperado
de https://youtu.be/erxuOIX9Lmo
Fajardo, C. (2017, julio 12), Diseño de un contador ascendente en VHDL. [Archivo de
video]. Recuperado https://youtu.be/4SlLC3VoJSM
Fajardo, C. (2017, julio 12), Diseño de un contador ascendente en VHDL. Archivo de simulación - Con señal
CLK. Recuperado de https://drive.google.com/file/d/0B3Sb-Uwz907ETkxtS0xnRzZVQlU/view
Fajardo, C. (2012, diciembre 21), Diseño de Registros y Contadores [Archivo de video]. Recuperado
de https://youtu.be/vTmBuR-JgvM