A
anee_anil
Guest
Bună tuturor,
De intrare meu este de 10MHz (100ns).Ceas de CPLD este de 80MHz.
Există 5-bit Delay Line de selecţie care selectează de intrare care urmează să fie amânată după numărul de cicluri de ceas.
de exemplu, 00101 întârzieri de ieşire de cicluri de ceas 5 12.5 * 5 = 62.5ns
, dar codul meu nu funcţionează după 00011 de selecţie.Te rog pe cineva sa ma ajuti.
Aici este codul meu.IEEE biblioteca;
IEEE.STD_LOGIC_1164.ALL utilizare;
IEEE.STD_LOGIC_ARITH.ALL utilizare;
IEEE.STD_LOGIC_UNSIGNED.ALL utilizare;
fiber_splitter entitate este
port (CLK: in std_logic;
inp_wave: in std_logic;
delay_sel: in std_logic_vector (4 downto 0);
out_wave: out std_logic);
fiber_splitter scop;
arhitectura comportamentale ale fiber_splitter este
începe
proces (CLK)
începe
- în cazul în care (clk'event şi CLK = '1 '), apoi
delay_sel caz este
atunci când "00000" => out_wave <= inp_wave;
atunci când "00001" => out_wave <= inp_wave după 12.5ps;
atunci când "00010" => out_wave <= inp_wave după 25.0ps;
atunci când "00011" => out_wave <= inp_wave după 37.5ps;
atunci când "00100" => out_wave <= inp_wave după 50.0ps;
atunci când "00101" => out_wave <= inp_wave după 62.5ps;
atunci când "00110" => out_wave <= inp_wave după 75.0ps;
atunci când "00111" => out_wave <= inp_wave după 87.5ps;
atunci când "01000" => out_wave <= inp_wave după 100.0ps;
atunci când "01001" => out_wave <= inp_wave după 112.5ps;
atunci când "01010" => out_wave <= inp_wave după 125.0ps;
atunci când "01011" => out_wave <= inp_wave după 137.5ps;
atunci când "01100" => out_wave <= inp_wave după 150.0ps;
atunci când "01101" => out_wave <= inp_wave după 162.5ps;
atunci când "01110" => out_wave <= inp_wave după 175.0ps;
atunci când "01111" => out_wave <= inp_wave după 187.5ps;
atunci când "10000" => out_wave <= inp_wave după 200.0ps;
atunci când alţii => null;
cazul scop;
- în cazul în care scop;
Procesul de sfârşitul anului;
sfârşitul comportamentale;Thanks in advance
De intrare meu este de 10MHz (100ns).Ceas de CPLD este de 80MHz.
Există 5-bit Delay Line de selecţie care selectează de intrare care urmează să fie amânată după numărul de cicluri de ceas.
de exemplu, 00101 întârzieri de ieşire de cicluri de ceas 5 12.5 * 5 = 62.5ns
, dar codul meu nu funcţionează după 00011 de selecţie.Te rog pe cineva sa ma ajuti.
Aici este codul meu.IEEE biblioteca;
IEEE.STD_LOGIC_1164.ALL utilizare;
IEEE.STD_LOGIC_ARITH.ALL utilizare;
IEEE.STD_LOGIC_UNSIGNED.ALL utilizare;
fiber_splitter entitate este
port (CLK: in std_logic;
inp_wave: in std_logic;
delay_sel: in std_logic_vector (4 downto 0);
out_wave: out std_logic);
fiber_splitter scop;
arhitectura comportamentale ale fiber_splitter este
începe
proces (CLK)
începe
- în cazul în care (clk'event şi CLK = '1 '), apoi
delay_sel caz este
atunci când "00000" => out_wave <= inp_wave;
atunci când "00001" => out_wave <= inp_wave după 12.5ps;
atunci când "00010" => out_wave <= inp_wave după 25.0ps;
atunci când "00011" => out_wave <= inp_wave după 37.5ps;
atunci când "00100" => out_wave <= inp_wave după 50.0ps;
atunci când "00101" => out_wave <= inp_wave după 62.5ps;
atunci când "00110" => out_wave <= inp_wave după 75.0ps;
atunci când "00111" => out_wave <= inp_wave după 87.5ps;
atunci când "01000" => out_wave <= inp_wave după 100.0ps;
atunci când "01001" => out_wave <= inp_wave după 112.5ps;
atunci când "01010" => out_wave <= inp_wave după 125.0ps;
atunci când "01011" => out_wave <= inp_wave după 137.5ps;
atunci când "01100" => out_wave <= inp_wave după 150.0ps;
atunci când "01101" => out_wave <= inp_wave după 162.5ps;
atunci când "01110" => out_wave <= inp_wave după 175.0ps;
atunci când "01111" => out_wave <= inp_wave după 187.5ps;
atunci când "10000" => out_wave <= inp_wave după 200.0ps;
atunci când alţii => null;
cazul scop;
- în cazul în care scop;
Procesul de sfârşitul anului;
sfârşitul comportamentale;Thanks in advance