You are on page 1of 7

APELLIDOS Y NOMBRES: JHOEL PARRAGA ISIDRO

1) Describa (indique características, ventajas, desventajas, etc.) con sus propias palabras y de
manera breve lo siguiente:

1)FPGA: Dispositivos semiconductores programables basado en bloques que pueden ser


configurados en una aplicación deseada. Tienen la ventaja de ser reprogramable y llevan
operaciones en forma paralela.

2) HDL: Lenguaje para describir el comportamiento de un circuito. Posibilitan simulación y


análisis de un componente electrónico antes de ser fabricado. Los lenguajes más conocidos
son Verilog y VHDL.

3) HERRAMIENTA EDA: Herramientas utilizadas para el diseño de circuitos electrónicos. Elevan


la calidad del diseño electrónico a través del prototipado con la introducción de la fase de
simulación y comprobación de circuitos.
2) EJERCICIO-CONTADOR UP/DOWN:

1)DIAGRAMA DE ESTADOS
1/01

1/00 S1 S2
1/10

0/01 0/10

0/11
S0
0/00 S3

1/11

2)ASIGNACIÒN DE ESTADOS

S0: 00

S1:01

S2:11

S3:10

3) TABLA DE ESTADOS

Q1 Q0 X Q1* Q0* S1 S0
0 0 0 0 1 0 1
0 0 1 1 0 1 1
0 1 0 1 1 1 0
0 1 1 0 0 0 0
1 0 0 0 0 0 0
1 0 1 1 1 1 0
1 1 0 1 0 1 1
1 1 1 0 1 0 1
4) MAPAS DE KARNAUGH

Q0 X 00 01 11 10
Q1

0 1 1
1 1 1

Q1*=Q0*X+Q0X

Q0 X 00 01 11 10
Q1

0 1 1
1 1 1

Q0*=Q1 * X +Q1*X

Q0 X 00 01 11 10
Q1

0 1 1
1 1 1

S1= Q0*X+Q0X

Q0 X 00 01 11 10
Q1

0 1 1
1 1 1

S0=Q0* Q1+Q0*Q1
5)DIAGRAMA DEL CIRCUITO
3. Código en VHDL

library ieee;
use ieee.std_logic_1164.all;

entity CONTADOR is

port(

clk:in std_logic;
input: in std_logic;
output: out std_logic_vector(1 to 0);
reset:in std_logic

);

end CONTADOR;

architecture rtl of CONTADOR is

type state_type is (s0,s1,s2,s3);

signal state:state_type;

begin

process(clk,reset)
begin

if reset='1' then
state<=s0;

elsif(rising_edge(clk)) then

--Trancision de estados
case state is
when s0=>

if input = '1' then


state<=s3;

else

state<=s1;

end if;

when s1=>
if input = '0' then
state<=s2;

else

state<=s0;
end if;
when s2=>
if input = '1' then
state<=s1;

else

state<=s3;
end if;
when s3=>
if input = '1' then
state<=s2;

else

state<=s0;
end if;

end case;

end if;

end process;

--deterimnar la salida
process (state,input)
begin

case state is
when s0=>
if input='1' then
output<="11";
else
output<="01";
end if;
when s1=>
if input='1' then
output<="00";
else
output<="10";
end if;
when s2=>
if input='1' then
output<="01";
else
output<="11";
end if;
when s3=>

if input='1' then
output<="10";
else
output<="00";
end if;
end case;
end process;
end rtl;

You might also like