Alors
Ne jamais rien mettre d'autre dans la liste de sensibilité d'un process que l'horloge, et le reset SI celui-ci est asynchrone.
Dans ton cas il synchrone =>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| sequence : process(clk)
begin
if (Clk'event and Clk = '1') then
if (Raz = '1') then --reset synchronne
Automate <= Defaut;
Automate <= Defaut After T0;
else
case Automate is
when defaut => Automate <= Sortie1 After T0;
when Sortie1 => Automate <= sortie2 After T1;
when Sortie2 => Automate <= Second After T2;
when Second => Automate <= Retour1 After T0;
when Retour1 => Automate <= retour2 After T1;
when Retour2 => Automate <= Defaut After T2;
end case;
end if;
end if;
end process sequence; |
Pour ce que est de la logique combinatoire décrit la a l’extérieur des process:
R1 <= '1' when ((Automate = Defaut) or (Automate = Second) or (Automate = Retour1) or (Automate = Retour2)) else '0';
Partager