Salut tout le monde !
Je travaille sur un projet où je produis un timestamp à travers un compteur qui est incrémenté de 1 à chaque cycle d'horloge.
Or à chaque fois que je charge la valeur d'horodatage dans ma mémoire tampon, la valeur n'est pas incrémentée de 1 en 1, mais par la taille de mon timestamp qui est de 8 bits.
Donc, je vais avoir ma première valeur à 0, puis la seconde valeur à 7 le troisième à 15 et ainsi de suite ....
Je dois incrémenter mon compteur non pas chaque cycle d'horloge, mais toutes les 8 cycles d'horloge, afin de résoudre le problème.
Donc, je voudrais savoir si une telle chose est possible, et si oui, comment pourrais-je le faire?
J'ai essayé de le faire avec une boucle ou avec une déclaration d'attente, mais jusqu'à présent, rien n'a fonctionné.
Voici le code de mon compteur:
Merci d'avance.Code:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY counter IS PORT( clk_i : in std_logic; count : out std_logic_vector(7 DOWNTO 0) ) ; end counter; ARCHITECTURE rtl OF counter IS SIGNAL s_count : STD_LOGIC_VECTOR(7 DOWNTO 0); begin process (clk_i) begin if clk_i'event AND clk_i = '1' then s_count <= s_count + 1; end if; end process; count <= s_count; end;
Cordialement,
David.
-----