Bonjour, je débute avec le AHDL, langage HDL propriétaire Altera.
Je doit réaliser une machine à état afin tout simplement d'incrémenter une variable lorsque l'on passe de l'état s0 à l'état s1.
Ma machine comporte 2 états s0 et s1 dont voici la table :
current state______current input_____next state
____s0_______________0________ _______s0
____s0_______________1________ _______s1
____s1_______________0________ _______s0
____s1_______________1________ _______s1
Voici donc ce que j'ai voulu codé en AHDL mais ca ne semble pas fonctionner, en fait il semble que je ne puisse incrémenter directement ma sortie ainsi mais je ne sait pas trop comment faire autrement.
Code:SUBDESIGN test ( i : INPUT; o[7..0] : OUTPUT; ) VARIABLE ss : MACHINE WITH STATES (s0, s1); BEGIN ss.clk=clk; ss.reset=reset; CASE ss IS WHEN s0 => IF i THEN ss=s1; o[]=o[]+1; END IF; WHEN s1 => IF !i THEN ss=s0; END IF; END CASE; END;
-----