Autor Tema: modificación de variable usando clock event  (Leído 2497 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado JORENAWER

  • PIC10
  • *
  • Mensajes: 1
modificación de variable usando clock event
« en: 13 de Julio de 2004, 11:58:00 »
Necesito simular un autómata, usando una variable enable (que tendre que variar) combinado con un clock.

El problema es que al hacer el decremento de variable enable sale un error, porque dice que el valor de dicha variable debe ser estable durante los cambios del clock.

Es decir....
defino una variable como: mienable, y hago un if anidado con mienable>"0" y un if (clk"event), y lo que tiene q hacer este if es decrementar mienable. Aqui viene el error, no puedo hacer el if (del clk"event) con una variable (mienable) que me va cambiando de valor....

Alguien puede ayudarme?

Desconectado Elena2000

  • PIC24F
  • *****
  • Mensajes: 722
RE: modificación de variable usando clock event
« Respuesta #1 en: 15 de Julio de 2004, 06:09:00 »
Hola,

A ver si esto te puede ayudar. Yo haría así la arquitectura de una máquina de estados (FSM) (bueno, parte del código, claro):

Codigo:

-- declaraciones
entity elena_fsm is  
port (  clk, enable:  in std_logic;
           zero, cnt_eq:  in std_logic;  -- entradas de control            
           .................... --salidas etc);
end elena_fsm;

estado:process(clk)      -- proceso para el estado de las transiciones
begin
       if (enable = "1") then  
                -- bla bla...;
       elsif (clk"event and clk="1") then  
                -- flanco de subida del reloj bla bla
       end if;    
       end process estado;



No se si te servirá. Intenta no hacer el if anidado sino más bien combinar ambas condiciones.
Ya me contarás.

Saludos!