Page Personnelle de Vincent Kerhoas
Vincent Kerhoas
Professeur Agrégé
Page Personnelle de Vincent Kerhoas

Mauvaises Pratiques

Back                  << Index >>

Conflits

Dans la description ci dessous, count est affecté :

Ce forçage multiple correspond à un conflit ; la solution consite à gérer uniquement count_int dans le process et considérer count comme une copie de count_int en faisant count <= count_int en parallèle du process

ET logique avec CLK

Le ET logique entre load et rising_edge(clk) a pour effet de générer une porte ET entre load et clk. Si cela ne change pas grand chose à la simulation, le composant décrit n’est plus synchrone à clk et pourra présenter un fonctionnement aléatoire dans un composant synthétisé.

Gestion des Signaux dans un Process

L’affectation de interne étant effective sur end process, s reçoit la valeur de interne au moment où on est entré dans le process.

Process Combinatoire

sel ne figurant pas dans la liste de sensibilité du process, S n’est pas modifié au moment où sel change (puisqu’on n’entre pas dans le process). Par conséquent on mémorise la valeur de S avec des bascules, il ne s’agit donc plus d’un composant combinatoire.

if then else : priorite

La structure if then elsif n’est pas équivalente à if then if

La première séquence induit une notion de priorité, de telle sorte que le reset est prioritaire, si reset=’1’ on ignore la suite.
Dans le deuxième cas, même si reset=’1’, on effectuera le chargement du registre si load=’1’ (seule la dernière affectation est considérée)

Description Correcte
Description Fausse
Back                  << Index >>