A
anee_anil
Guest
Salut à tous,
Mon entrée est de 10 MHz (100 ns).Horloge du CPLD est 80MHz.
Il ya 5-bit ligne de sélection de retard qui sélectionne l'entrée d'être retardé en nombre de cycles d'horloge.
par exemple, 00101 retards de sortie de 5 cycles d'horloge 12,5 * 5 = 62.5ns
mais mon code ne fonctionne pas après 00011 sélection.S'il vous plaît quelqu'un m'aider.
Voici mon code.IEEE bibliothèque;
IEEE.STD_LOGIC_1164.ALL utilisation;
IEEE.STD_LOGIC_ARITH.ALL utilisation;
IEEE.STD_LOGIC_UNSIGNED.ALL utilisation;
fiber_splitter entité est
port (CLK: en std_logic;
inp_wave: en std_logic;
delay_sel: en std_logic_vector (4 downto 0);
out_wave: std_logic out);
fiber_splitter fin;
l'architecture du comportement des fiber_splitter est
commencer
processus (CLK)
commencer
- Si (clk'event et CLK = '1 ') puis
delay_sel cas est
quand «00000» = out_wave <> = inp_wave;
quand "00001" => out_wave <= inp_wave après 12.5ps;
quand "00010" => out_wave <= inp_wave après 25.0ps;
quand "00011" => out_wave <= inp_wave après 37.5ps;
quand "00100" => out_wave <= inp_wave après 50.0ps;
quand "00101" => out_wave <= inp_wave après 62.5ps;
quand "00110" => out_wave <= inp_wave après 75.0ps;
quand "00111" => out_wave <= inp_wave après 87.5ps;
quand "01000" => out_wave <= inp_wave après 100.0ps;
quand "01001" => out_wave <= inp_wave après 112.5ps;
quand "01010" => out_wave <= inp_wave après 125.0ps;
quand "01011" => out_wave <= inp_wave après 137.5ps;
quand "01100" => out_wave <= inp_wave après 150.0ps;
quand "01101" => out_wave <= inp_wave après 162.5ps;
quand "01110" => out_wave <= inp_wave après 175.0ps;
quand "01111" => out_wave <= inp_wave après 187.5ps;
quand "10000" => out_wave <= inp_wave après 200.0ps;
quand les autres => null;
Fin de cas;
- Fin si;
processus de bout;
fin comportement;Merci d'avance
Mon entrée est de 10 MHz (100 ns).Horloge du CPLD est 80MHz.
Il ya 5-bit ligne de sélection de retard qui sélectionne l'entrée d'être retardé en nombre de cycles d'horloge.
par exemple, 00101 retards de sortie de 5 cycles d'horloge 12,5 * 5 = 62.5ns
mais mon code ne fonctionne pas après 00011 sélection.S'il vous plaît quelqu'un m'aider.
Voici mon code.IEEE bibliothèque;
IEEE.STD_LOGIC_1164.ALL utilisation;
IEEE.STD_LOGIC_ARITH.ALL utilisation;
IEEE.STD_LOGIC_UNSIGNED.ALL utilisation;
fiber_splitter entité est
port (CLK: en std_logic;
inp_wave: en std_logic;
delay_sel: en std_logic_vector (4 downto 0);
out_wave: std_logic out);
fiber_splitter fin;
l'architecture du comportement des fiber_splitter est
commencer
processus (CLK)
commencer
- Si (clk'event et CLK = '1 ') puis
delay_sel cas est
quand «00000» = out_wave <> = inp_wave;
quand "00001" => out_wave <= inp_wave après 12.5ps;
quand "00010" => out_wave <= inp_wave après 25.0ps;
quand "00011" => out_wave <= inp_wave après 37.5ps;
quand "00100" => out_wave <= inp_wave après 50.0ps;
quand "00101" => out_wave <= inp_wave après 62.5ps;
quand "00110" => out_wave <= inp_wave après 75.0ps;
quand "00111" => out_wave <= inp_wave après 87.5ps;
quand "01000" => out_wave <= inp_wave après 100.0ps;
quand "01001" => out_wave <= inp_wave après 112.5ps;
quand "01010" => out_wave <= inp_wave après 125.0ps;
quand "01011" => out_wave <= inp_wave après 137.5ps;
quand "01100" => out_wave <= inp_wave après 150.0ps;
quand "01101" => out_wave <= inp_wave après 162.5ps;
quand "01110" => out_wave <= inp_wave après 175.0ps;
quand "01111" => out_wave <= inp_wave après 187.5ps;
quand "10000" => out_wave <= inp_wave après 200.0ps;
quand les autres => null;
Fin de cas;
- Fin si;
processus de bout;
fin comportement;Merci d'avance