Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
BUENO TAL VES LA SOLUCION SERIA SOLO LA ´PLACA GENERAL AUNQUE ESTA BUENA LA OFERTA PARA EL CYCLONE III
UNA PREGUNTA HAY ALGUNA TIENDA EN ESPAÑA PARA COMPRAR DIRECTO ESTE APARATO ... surte tengo un familiar en Cordoba que ya se regresa a Peru
gracias por su gentil ayuda
Aqui un foto de cyclone iii en version reducida la que quiero adquirir
QUE OPINAN ...
Sí que puedes comprar las FPGA por separado, pero tienes que tener cuidado porque no sólo es la FPGA sino toda la circuitería asociada (flash de configuración, condensadores de desacoplo para la alimentación, conector de programación, etc.). Por otro lado hacerte un PCB para una FPGA es complicado, es difícil que te quepa en sólo 2 caras por lo que ya hablamos de PCB multicapa, que tendrás que mandar a fabricar a algún lado... Por otro lado si compras una FPGA en encapsulado BGA, a ver cómo lo sueldas... -> Tienes que enviarlo a soldar a algún lado que tengan un horno para soldadura de BGA. No creas que diseñar con FPGA's es barato.
No es tan sencillo hacer un circuito con una FPGA, tiene bastante trabajo de diseño detrás. Tú tienes que ver si te compensa las horas de diseño y precios de los componentes.
Lo bueno del kit y de las FPGA es que son reutilizables, o sea puedes tener varios diseños y cuando vayas a usar uno pues le programas con lo que deseas. Lo malo es precisamente esto, que tienes que reprogramarla cada vez que cambies de diseño.
Para proyectos de aficionado, una tarjeta de evaluación y basta ya, que si no te dejas mucho dinero. No es como usar un PIC, que por poco dinero tienes un circuito.
Saludos
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity parking is
port(
puerta_cerrrada: in std_logic;
puerta_abierta: in std_logic;
mando: in std_logic;
clk,reset: in std_logic;
abrir_puerta: out std_logic;
cerrar_puerta: out std_logic;
sevenseg : out std_logic_vector (6 downto 0);
anodes : out std_logic_vector (3 downto 0);
);
end parking;
architecture arq_ctrl_parking of parking is
type posibles_estados is (EstadoInicial,Cerrando,Cerrado,Abriendo,Abierto);
signal estado: posibles_estados;
begin
process (clk, reset)
begin
if (reset='1') then
estado <= EstadoInicial;
elsif (clk'event and clk='1') then
case estado is
when EstadoInicial =>
if (puerta_abierta='1') then estado <= Cerrado;
else estado <= Cerrando;
end if;
when Cerrando =>
if (puerta_cerrada='1') then estado <=Cerrado;
end if;
when Cerrado =>
if (mando='1') then estado <=Abriendo;
end if;
when Abriendo =>
if (puerta_abierta='1') then estado <=Abierto;
end if;
when Abierto =>
if (mando='1') then estado <=Cerrando;
end if;
end case;
end if;
end process;
process (estado)
begin
case estado is
when EstadoInicial => abrir_puerta<='0';
cerrar_puerta<='0';
when Cerrando => cerrar_puerta<='1';
when Cerrado => cerrar_puerta<='0';
sevenseg<="0000111";
when Abriendo => abrir_puerta<='1';
when Abierto => abrir_puerta<='0';
sevenseg<="0100011";
anodes<="1110";
end case;
end process;
end arq_ctrl_parking;
Este es el .ucf
NET "anodes<0>" LOC = "F17";
NET "anodes<1>" LOC = "H17";
NET "anodes<2>" LOC = "C18";
NET "anodes<3>" LOC = "F15";
NET "sevenseg<0>" LOC = "L18";
NET "sevenseg<1>" LOC = "F18";
NET "sevenseg<2>" LOC = "D17";
NET "sevenseg<3>" LOC = "D16";
NET "sevenseg<4>" LOC = "G14";
NET "sevenseg<5>" LOC = "J17";
NET "sevenseg<6>" LOC = "H14";
NET "mando<0>" LOC = "B18";
NET "reset<1>" LOC = "D18";
NET "puerta_cerrada<0>" LOC = "G18";
NET "puerta_abierta<1>" LOC = "H18";