VHDL: avec-pour sélectionner plusieurs valeurs
J'ai le code suivant (il code pour un certain nombre de bouton appuyé):
with buttons select
tmp <= "000" when x"1",
"001" when x"2",
"010" when x"4",
"011" when x"8",
"100" when others;
code <= input(1 downto 0);
error <= input(2);
Je suis en train de le réécrire sans l'aide de tmp
signal. Est-il possible? Le suivant ne fonctionne pas:
with buttons select
error & code <= "000" when x"1",
"001" when x"2",
"010" when x"4",
"011" when x"8",
"100" when others;
OriginalL'auteur rburny | 2013-03-09
Vous devez vous connecter pour publier un commentaire.
Au lieu de sélectionner, vous pouvez cas d'utilisation:
Est-il une raison particulière pour laquelle vous ne voulez pas le placer dans un processus?
Je suis tout simplement apprendre VHDL et j'ai été à la recherche pour le plus simple, une solution plus élégante. Est-il une différence sémantique si j'ai mis combinatoire de code dans un processus?
Modifiée pour afficher combinatoire au sein d'un processus. Généralement à l'intérieur de la parenthèse du processus de(), vous allez ajouter un signal à la sensibilité de la liste, c'est à dire les entrées de votre logique combinatoire ou si séquentielle votre horloge et de réinitialisation. La sensibilité de la liste n'est généralement pas nécessaire pour la synthèse, mais pour les simulations dit le simulateur de seulement regarder de ce processus, si les signaux à l'intérieur de la sensibilité de la liste des changements. Si vous venez au sein de l'architecture, je crois que le simulateur évalue que la ligne de chaque tick.
OriginalL'auteur TOTA
Ou vous pouvez simplement écrire ce que séparer les 2/lorsque les déclarations:
ou alternativement:
VHDL est un langage compilé ou de synthèse. N'importe quel format est OK aussi longtemps que l'outil de synthèse crée pertinentes de la logique de la construction. Le reste est symantics pour permettre au code d'être bien compris et respecté.
OriginalL'auteur Cornishman