TODOPIC

Otros Microcontroladores / Dispositivos programables => Lógica Programable => Mensaje iniciado por: pocher en 29 de Enero de 2009, 07:51:13

Título: Maquina de estados resuelta con if-then
Publicado por: pocher en 29 de Enero de 2009, 07:51:13
De nuevo por aquí.

Estoy resolviendo todos los automatismos con FSMs (máquinas de estados) utilizando type ... y así funcionan todos bien, pero, pero me pregunté porqué no se podría hacer de otra manera con if-then.

El automatismo sencillito es el siguiente:

Código: [Seleccionar]
library ieee;
use ieee.std_logic_1164.all;

entity bomba is port(
CK: in std_logic;
Reset: in std_logic;
B: in std_logic; --sensor inferior
A: in std_logic; --sensor superior
R: out std_logic);          --Rele de salida
end bomba;

architecture archi_bomba of bomba is
signal E0,E1: std_logic;
begin
Proceso1: process (CK,Reset)
begin
if (Reset='0') then --Reset asíncrono de nivel activo bajo
E0<='1';
elsif (CK'event and CK='1') then

if (E0='1' and B='0') then
E1<='1';
E0<='0';
end if;

if (E1='1' and A='1') then
E0<='1';
E1<='0';
end if;

R <= E1;

end if;
end process;

--R <= '1' when E1='1' else
--'0';

end archi_bomba;



Total memory usage is 137072 kilobytes

Number of errors   :    0 (   0 filtered)
Number of warnings :    0 (   0 filtered)
Number of infos    :    0 (   0 filtered)


Está compilado con Xilinx y como veis no dá ningún tipo de error, sin embargo no realiza la compilación es decir aparece en ROJO el apartado Synthesize - XST

No lo entiendo. ¿Sabeis porqué pasa esto?
Título: Re: Maquina de estados resuelta con if-then
Publicado por: pocher en 29 de Enero de 2009, 15:29:01
Jo ¡que poca gente hay por estos lares!

Me voy a contestar a mí mismo, por si os pasa.

Estoy usando Xilinx ISE 9.2, pués bien "aresulta" que si el path, con la carpeta del proyecto al final dispone de espacios en blanco, como por ejemplo: H:\Perico el de los palotes\proyecto pués el Santo (por no decirle otra cosa) programa hace cosas raras, como el no querer sintetizar.

Sin embargo todo se arregla si ponemos:  H:\Perico_el_de_los_palotes\proyecto , en fin no sé si esto será generalizado y si os habrá pasado, pero maldita la gracia que hace el perder tiempo por estas chorradas.
Título: Re: Maquina de estados resuelta con if-then
Publicado por: Nocturno en 02 de Febrero de 2009, 04:43:33
No entiendo cómo un software tan prestigioso comete ese tipo de errores chapuceros.
Menos mal que lo has encontrado.

Algún día te haré compañía por estos lares, gran Pocher, pero todavía me falta muuuuuuucho
Título: Re: Maquina de estados resuelta con if-then
Publicado por: migsantiago en 02 de Febrero de 2009, 12:54:19
MPLAB también tiene problemas con paths largos, aunque este software sí avisa del problema. El software que usó Pocher se hizo el occiso  :D
Título: Re: Maquina de estados resuelta con if-then
Publicado por: metalm en 06 de Octubre de 2009, 07:31:40
MPLAB también tiene problemas con paths largos, aunque este software sí avisa del problema. El software que usó Pocher se hizo el occiso  :D

a mi me pasaba con los MPLAB anteriores a la version 7.6 que si compilabas en windows 2003 server no te tomaba los macros declarados en un "#define" en cambio en windows XP andaba, tiene explicacion eso??  :shock:

gracias por la ayuda, igual espero que lo hayan arreglado en el Xilinx ISE 11.1  :z)