descripción y simulación de circuitos digitales con vhdl
TRANSCRIPT
8/11/2019 Descripción y Simulación de Circuitos Digitales Con VHDL
http://slidepdf.com/reader/full/descripcion-y-simulacion-de-circuitos-digitales-con-vhdl 1/5
Ingeniería Eléctrica - SEES
Gutiérrez Mondragón Mario Alberto
Tarea 4 Descripción y Simulación de Circuitos Digitales con VHDL
1.- Diseñe un contador que realice la secuencia 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15 y repita el ciclo. El circuito debe contar con una señal de reset activa en alto, que
coloca a las salidas Q, en estado bajo.
- library ieee;
- use ieee.std_logic_1164.all;
- use ieee.std_logic_arith.all;
- use ieee.std_logic_unsigned.all;
- entity contador is
- port ( clk, r : in std_logic;
- q : out std_logic_vectotr( 3 downto 0 ));
- end contador;
- architecture programa of contador is
- begin
- process (r,clk); - begin
- if (r = ‘1’) then
- q <= “0000”
- elsif (clk’event and clk = 0) then
- q <= q + 1;
- end if;
- end process;
- end programa;
2.- Programe un contador ascendente/descendente del 0 al 31, mediante una señal de
control Z. Si Z=0, el contador cuenta ascendente y si Z=1, el contador cuenta
descendente. Existen dos señales de salida denominadas X1 y X2 que se activan de la
siguiente forma:
a) X1 = 1 cuando el contador se encuentra en los estados pares; en caso contrario,
X1 = 0.
b) X2 = 1 cuando el contador se encuentra en los estados impares; en caso contrario,
X1 = 0.
- library ieee;- use ieee.std_logic_1164.all;
- use ieee.std_logic_arith.all;
- use ieee.std_logic_unsigned.all;
- entity contador is
- port ( clk, z : in std_logic;
- x1,x2 : out std_logic;
- q : out std_logic_vectotr( 4 downto 0 ));
8/11/2019 Descripción y Simulación de Circuitos Digitales Con VHDL
http://slidepdf.com/reader/full/descripcion-y-simulacion-de-circuitos-digitales-con-vhdl 2/5
Ingeniería Eléctrica - SEES
Gutiérrez Mondragón Mario Alberto
- end contador;
- architecture ejemplo of contador is
- begin
- process (clk, z, q(0));
- begin
- if (clk’event and clk = 1) then- if z = „0‟ then
- q <= q + 1;
- else
- q <= q - 1;
- end if;
- if q(0) = „1‟ then
- x1 <= „0‟;
- else
- x2 <= „1‟;
- end if;
- end process; - end programa;
3.- Programe un detector de secuencia que produce una salida F = 1, cuando ocurra una
secuencia “111”. Considere también el caso de traslapes, es decir, por ejemplo; 0111110,
de tal forma que la salida se mantenga activa si siguen ocurriendo tres 1´s seguidos.
- library ieee;
- use ieee.std_logic_1164.all;
- entity diagrama is
- port ( x : in std_logic;
- F : out std_logic;
- end diagrama;
- architecture arq_diagrama of diagrama is
- type Estados is (A, B, C, D);
- signal Edo_Pres, Edo_Fut : Estados;
- begin
- proceso1: process (Edo_Pres,x);
- begin
- case Edo_Pres is
- when A =>- if x = „0‟ then
- Edo_Fut <= A;
- F <= „0‟;
- else
- Edo_Fut <= B;
- F <= „0‟;
- end if;
8/11/2019 Descripción y Simulación de Circuitos Digitales Con VHDL
http://slidepdf.com/reader/full/descripcion-y-simulacion-de-circuitos-digitales-con-vhdl 3/5
8/11/2019 Descripción y Simulación de Circuitos Digitales Con VHDL
http://slidepdf.com/reader/full/descripcion-y-simulacion-de-circuitos-digitales-con-vhdl 4/5
Ingeniería Eléctrica - SEES
Gutiérrez Mondragón Mario Alberto
- signal Edo_Pres, Edo_Fut : Estados;
- begin
- proceso1: process (Edo_Pres,x);
- begin
- case Edo_Pres is
- when A =>- if x = „0‟ then
- Edo_Fut <= D;
- F <= „0‟;
- else
- Edo_Fut <= B;
- F <= „0‟;
- end if;
- when B =>
- if x = „0‟ then
- Edo_Fut <= D;
- F <= „0‟; - else
- Edo_Fut <= C;
- F <= „0‟;
- end if;
- when C =>
- if x = „0‟ then
- Edo_Fut <= D;
- F <= „0‟;
- else
- Edo_Fut <= B;
- F <= „0‟;
- end if;
- when D =>
- if x = „0‟ then
- Edo_Fut <= D;
- F <= „0‟;
- else
- Edo_Fut <= A;
- F <= „1‟;
- end if;
- end case;- end process proceso1;
- proceso2: process (clk)
- begin
- if (clk’event and clk = „1‟)then
- Edo_Pres <= Edo_Fut;
- end if;
- end process proceso2;
8/11/2019 Descripción y Simulación de Circuitos Digitales Con VHDL
http://slidepdf.com/reader/full/descripcion-y-simulacion-de-circuitos-digitales-con-vhdl 5/5
Ingeniería Eléctrica - SEES
Gutiérrez Mondragón Mario Alberto
- end arq_diagrama;