Sei sulla pagina 1di 18

UNIDAD 3 TAREA 3 - CIRCUITOS SECUENCIALES

Presentado por:
Carlos daney mancilla
Código: 1059043984

Tutor:
SANDRA MILENA GARCIA

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD


Abril 2019
Cali valle del cauca

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;

architecture Behavioral of flipfloptt is

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;

4. Diseñe un contador ascendente módulo N, donde N corresponde a su edad.

a. Un diagrama de bloques diseñado por el estudiante.


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 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

Signal cnt : unsigned (18 downto 0);

begin

process (clk, reset) is

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;

salida <= STD_LOGIC_VECTOR (cnt);

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;

architecture Behavioral of contadordecendente is

Signal D_bus, Q_bus : STD_LOGIC_VECTOR ( 3 downto 0) := (others => '0' );

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 ' ;

Salida <= Q_bus;

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;

architecture Behavioral of punto6 is

Signal D_bus, Q_bus : STD_LOGIC_VECTOR ( 3 downto 0) := (others => '0' );

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 ' ;

Salida <= Q_bus;

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;

architecture Behavioral of acendentedesendente is

Signal counter : STD_LOGIC_VECTOR ( 3 downto 0) := '0000' );


Signal counter : STD_LOGIC_VECTOR ( 3 downto 0) := '0000' );
Signal counter : STD_LOGIC_VECTOR ( 3 downto 0) := '0000' );
Signal counter : STD_LOGIC_VECTOR ( 3 downto 0) := '0000' );

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 ' ;

Salida <= Q_bus;

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

Potrebbero piacerti anche