Bonjour,
il me semblait que ma façon d'écrire un registre était la bonne. Voici un exemple :
mais je constate un comportement étrange dans modelsim : si je force d à 0 ou 1, j'ai bien q qui prend la même valeur un cycle plus tard mais si je laisse modelsim gérer d comme une horloge (avec un cycle 4 fois plus long par exemple) alors il n'y a plus de retard et q change de valeur en même temps que d.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 process(clk,rst,d) begin if (rst = '1') then q <= '0'; elsif (rising_edge(clk)) then q <= d; end if; end process;
Quelqu'un peut m'expliquer ?
Partager