Dephaseur.vhd
47 lines
| 1.5 KiB
| text/x-vhdl
|
VhdlLexer
martin
|
r80 | -- Dephaseur.vhd | |
library IEEE; | |||
use IEEE.std_logic_1164.all; | |||
use IEEE.numeric_std.all; | |||
--! Programme qui va gerer la creation des deux signaux de sortie | |||
entity Dephaseur is | |||
port( | |||
clk,raz : in std_logic; --! Horloge 25Mhz et reset du systeme | |||
div : in integer range 250 to 25_000; --! Valeur MAX pour le compteur (Frequence) | |||
phi : in integer range 4 to 12500; --! Valeur MAX pour le compteur (Dephasage) | |||
Stop_count : in std_logic; --! Flag, interuption des compteur / synchronise phi et div | |||
clk_MOD : out std_logic; --! Horloge de sortie, Modulation | |||
clk_DMOD : out std_logic); --! Horloge de sortie, Demodulation | |||
end Dephaseur; | |||
architecture ar_Dephaseur of Dephaseur is | |||
signal clk_var : std_logic; | |||
signal s_clk_MOD : std_logic; | |||
signal s_clk_DMOD : std_logic; | |||
signal pulse : std_logic; | |||
signal ou : std_logic; | |||
begin | |||
MODUL : entity work.Clock_multi | |||
port map(clk,raz,Stop_count,div,s_clk_MOD); | |||
Rz : entity work.Gene_Rz | |||
port map(clk,raz,s_clk_MOD,pulse); | |||
CLKVAR : entity work.Clock_multi | |||
port map(clk,raz,ou,phi,clk_var); | |||
RETARD : entity work.bclk_reg | |||
port map(clk_var,raz,s_clk_MOD,clk_DMOD); | |||
clk_MOD <= s_clk_MOD; | |||
ou <= pulse or Stop_count; | |||
end ar_Dephaseur; |