Besoin d'aide sur la combinaison de deux processus en VHDL

D

Digit0001

Guest
Salut Quelqu'un peut-il suggérer comment pourrais-je combiner le code suivant dans un processus? Le code est constitué d'un compteur et une machine d'état qui je veux faire comme un processus. Le problème que j'ai en ce moment est le nombre ne fonctionnera pas car elle est en conflit, donc je veux le faire dans un seul processus.
Code:
 architecture du comportement des pulseDesign est de type STATETYPE est (LowState, HighState); nextstate signal, l'état: STATETYPE; nombre de signal: std_logic_vector (3 downto 0); commencer --------------- ------------------------------ - processus de Counter (clk, reset, count) commencer if (rising_edge (clk)) alors État
 
Pensez à ce que vous faites. Les conflits ne se produisent parce que vous essayez d'assigner compter à partir de 2 endroits différents. Vous devez penser à la logique. Vous ne pouvez pas compter dans le processus asynchrone parce qu'il est juste que - asynchrnous. essentiellement, pour une machine d'état seul et même processus:
Code:
 processus (clk, remise à zéro) - horloge seulement et réinitialiser nécessaires dans la liste de la sensibilité à commencer si reset = '1 'alors compter
 
Salut, commence toujours @ (posedge clk) commencer si (réinitialisation) compte
 
J'ai un problème lorsque je simule le code. Le code modifié ne change pas les Etats et le compteur ne compte pas. C'est le code que j'ai: View attachment 55075 ce qui inclut ce que j'ai dans le simulateur et la mise en œuvre.
 
Etat mension n'avez pas dans la liste de sensibilité lors de LowState => temp si (impulsion = '1 ') puis comptez appliquer des signaux à la limite neg de l'horloge
 
La température est utilisé pour sauvegarder la valeur de comptage dernière. L'objectif est parce que je suis la mesure de la période de la largeur d'impulsion.
 

Welcome to EDABoard.com

Sponsor

Back
Top