vhdl - Divers - Programmation
Marsh Posté le 29-05-2013 à 11:03:24
Oui tu peux utiliser un même compteur pour les deux.
Il suffit de compter le temps de ta période, de déclencher l'impulsion quand ton compteur est à 0 et de la rester à un temps (valeur du compteur) Toff.
Sinon pour ton code, j'ai faillit (:o) arrêter de lire à
Code :
|
Il est fortement conseiller de n'utiliser que numeric_std.
De même pourquoi utiliser des std_logic_vector pour représenter un compteur? Un integer est bien plus adapté.
Aller je te fait un exemple a peu près bien codé (j'ai pas essayé de le synthétiser, y'a peut-être des fôtes)
Code :
|
Marsh Posté le 29-05-2013 à 14:20:35
merci pour votre réponse. je suis d'accord que je peux utiliser un compteur pour pour gérer le temps d'impulsion et la période, mais je veux faire quatre chronogrammes différents. donc ma question est (excusez-moi si je l'ai mal formulé):
mon impulsion comprend un mot de 8 bit Dutycycle que je reçoit et d'un mot de 8 bit fixe en gros c'est une impulsion de 10 bit qui varie.
puis faire deux compteurs: le compteur A s'occupe de la période et le compteur B qui s'occupe de l'impulsion et que mon programme principal fonctionne de telle manière:
if compteur_A = 0 then
if compteur _B = 0 then
instructions
elsif compteur_ B = (Dutycycle + "11001100" ) then
instructions
end if;
elsif compteur_A = "1000000000" then
if compteur _B = 0 then
instructions
elsif compteur_ B = (Dutycycle + "11001100" ) then
instructions
end if;
end if;
Sachant que mes compteur fonctionne sur la même horloge. Je veux savoir si c'est possible en Vhdl.
Marsh Posté le 29-05-2013 à 15:44:24
Citation : mon impulsion comprend un mot de 8 bit Dutycycle que je reçoit et d'un mot de 8 bit fixe en gros c'est une impulsion de 10 bit qui varie. |
Je comprends pas ce que ça signifie.
Si tu souhaites faire 4 impulsions à des moments différents il suffit d'envoyer en generic les tempsON tempsOFF pour chaque, puis de modifier le process output_proc pour un truc comme ça:
Code :
|
Après si tu souhaites modifier le duty_cycle en live, c'est facile en passant par des ports d'entrées au lieu de généric (ce que je voulais faire dans mon post précédent) mais j'ai codé trop vite ^^
Marsh Posté le 29-05-2013 à 10:39:20
bonjour,
le but de mon programme est de pouvoir créer différentes implusion. Je reçoit un mon Dutycycle de 8 bit qui est la base de mes impulsions. je voudrais savoir si je peux utiliser mes deux compteurs à la suite. Je veux utiliser un compteur pour la période et l'autre pour le temps d'impulsion. Je ne suis pas très doué en Vhdl et je ne sais pas si peux faire une programmation de ce type. merci pour votre aide