Bonjour,
Voila, j'ai besoin de généré une sinsoide d'amplitude et fréquence variable pour de la MLI.
J'ai jamais codé en VHDL mais jusque la je m 'en suis sortit mais en fixant dans mon code VHDL du diviseur de fréquence, la fréquence que je voulais pour ma sinusoide.
Maintenant je voudrais que ce paramètre (variable : Fmodulante) soit une entrée de mon bloc..et la ca coince car je ne sais pas comment la déclarer dans mon programme.
Voici le code du diviseur :
Une idée svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 entity DiviseurFrequence is port (clk :in std_logic; Fmodulante :in integer; NewClk : out std_logic ); end DiviseurFrequence; architecture ModulanteSinus of DiviseurFrequence is signal i : integer range 0 to 50000:=0; begin process(clk) begin --to check the rising edge of the clock signal if(rising_edge(clk)) then i <= i+1; if(i = (2e9/800/Fmodulante/2)) then NewClk <= '1'; end if; if(i = (2e9/800/Fmodulante)) then NewClk <= '0'; i <= 0; end if; end if; end process; end ModulanteSinus;
Merci d'avance !
Partager