« Very High Speed Integrated Circuit Hardware Description Language/VHDL et machines à états algorithmiques » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 107 :
 
Nous allons présenter maintenant le programme [[w:VHDL|VHDL]] réalisant cette partie. Commençons par l'entité :
<sourcesyntaxhighlight lang="VHDL">
library IEEE;
use IEEE.std_logic_1164.all;
Ligne 128 :
clk: in STD_LOGIC);
end chemin_donnees;
</syntaxhighlight>
</source>
 
Le lecteur perspicace aura remarqué la présence de e_A et e_B qui ne sont pas dessinés dans le schéma de la figure ci-dessus. Ces deux entrées sont destinées à mettre initialement des valeurs dans les deux [[w:Registre_(informatique)|registre]]s A et B.
 
Intéressons-nous maintenant à l'architecture où l’on retrouve un process par registre et un process par partie combinatoire :
<sourcesyntaxhighlight lang="VHDL">
architecture chemin_donnees_arch of chemin_donnees is
-- declaration des registres
Ligne 189 :
s_T <= regT;
end chemin_donnees_arch;
</syntaxhighlight>
</source>
Voila, vous savez tout maintenant sur notre chemin de données.
 
Ligne 204 :
{{Solution|contenu=
'''Remarque''' : La partie séquenceur a été réalisée avec un outil automatique (à partir d'un dessin), d'où sa lourdeur.
<sourcesyntaxhighlight lang="VHDL">
library IEEE;
use IEEE.std_logic_1164.all;
Ligne 368 :
'1';
end sequenceur_arch;
</syntaxhighlight>
</source>
}}
 
Ligne 440 :
 
Voici le programme VHDL correspondant :
<sourcesyntaxhighlight lang="VHDL">
-- programme VHDL correspondant au grafcet précédent
library ieee;
Ligne 485 :
oCnt <= Cnt;
END agraf1;
</syntaxhighlight>
</source>
Pour qu'aucune confusion ne soit possible, il faut mieux séparer le calcul de l'état futur de sa mise à jour. Ici, tout ce qui concerne le futur contient un "f" : xf0 est l'état futur de x0, Cmptf est l'état futur de Cmpt...
 
Ligne 516 :
 
Voici donc le calcul du [[w:PGCD|PGCD]] avec un programme unique qui gère le [[w:Unité_de_contrôle|séquenceur]] et le [[w:Chemin_de_données|chemin de données]].
<sourcesyntaxhighlight lang="VHDL">
-- programme VHDL correspondant au calcul du PGCD
library ieee;
Ligne 585 :
oT <= T;
END apgcd2;
</syntaxhighlight>
</source>
Voici maintenant le résultat d'une simulation :