|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Inscription : mai 2012 Messages : 7 ![]() |
Bonsoir à tous,
je suis débutante en VHDL, je veux écrire un simple programme qui fait la synchronisation entre 2 process, lorsque l'un fonctionne l'autre non. Pour cela j'ai utilisé une variable im qui va prendre la valeur 1 pour que le 2ème process puisse fonctionner, et puis pour que le 1er re-fonctionne elle doit changer de valeur à 0. Le programme n'accepte pas cette 2ème attribution de valeur à la méme variable, il m'affiche "im has multiple source". Voilà le code Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() ![]() Ingénieur développement matériel électronique Inscription : juillet 2010 Messages : 152 ![]() |
Salut,
Tu ne peux pas accéder en écriture à la même variable depuis deux process différents. Si tu raisonne en terme de synthèse cela correspond à un court-circuit sur ton signal im... |
|
|
00
|
|
|
#3 | ||
|
Membre régulier
![]() Inscription : juin 2009 Messages : 37 ![]() |
Bonsoir,
mith06 : OK avec vous sur le principe, pas d'accord sur la terminologie. Un signal n'est pas une variable, c'est un objet. Liste des objets VHDL:
L'énorme différence entre un signal et une variable est qu'un signal génère un "évènement" (le fameux 'event que l'on peut utiliser sur une horloge) alors qu'une variable non : lorsqu'une variable change de valeur, elle ne génère PAS d'évènement. Donc par exemple pas de "wait until now=5 us" (attente infinie). Fin de la précision Quelques conseils
Au niveau scolaire, beaucoup d'enseignants "poussent" les étudiants à écrire un process par signal . Ils feraient mieux de vous pousser comme suit : "un signal par boucle et une boucle pour chaque signal" . Car en faisant cela, ils laissent sous-entendre que la liste de sensibilité et/ou la structure du process est "bidouillable" à souhait...![]() Aller, courage, le VHDL c'est comme le vélo. C'est très dur au début, après ça va beaucoup mieux...
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com