Si l'Instruction VHDL
Peut-on expliquer pourquoi la règle d'or lors de l'écriture de code VHDL est que le if-then-else doit être dans un processus. Est-ce parce que à l'intérieur du processus, les instructions sont exécutées de manière séquentielle, tandis qu'à l'extérieur, ils ne le sont pas.
OriginalL'auteur user1533465 | 2012-09-17
Vous devez vous connecter pour publier un commentaire.
La réponse est simple: "parce que la syntaxe de la langue est"!
Si vous souhaitez faire votre choix parmi plusieurs options avec le code pas dans un processus que vous pouvez faire:
ou
Voir ici pour de nombreux exemples d'un mux
Au début, je pensais que j'ai été gravement entravé à cause de cela, lorsque j'ai voulu faire un petit bloc qui éteint plusieurs signaux hors un processus, mais j'ai appris, vous pouvez utiliser le
when - else
et d'utiliser de multiples signaux après lawhen
. Commesig <= a when (OPCODE = "000" and EN = "1"
OriginalL'auteur Martin Thompson
J'ai peut-être tort, mais je pense que la principale raison que, si les états ont besoin d'être dans un processus, c'est qu'une instruction if peut potentiellement affecter à plus d'un signal, si tu voulais faire la même chose en dehors d'un processus que vous devez utiliser plus d'un conditionnel affectation du signal.
Par exemple:
L'équivalent conditionnelle signal affectations à l'extérieur du processus devrait être:
OriginalL'auteur Peter Bennett
si else :-
pour plus d'information, veuillez consulter le cette
OriginalL'auteur electronics gyan