W
wolfgang
Guest
hey!
i'm using a virtex2 device for implementing a lvds channel link receiver. To
recover the bitclock from the incoming clock- line, i use a dcm with
feedback on clk0.
constant lvds_clk_m : integer := 7 ;
constant lvds_clk_d : integer := 2 ;
constant lvds_phase_mode : string := "FIXED" ;
constant lvds_phase_value : integer := 45 ; -- phase shift value for
place and route
constant lvds_phase_value_udsim : integer := 45 ; -- phase shift value for
unit delay simulation
attribute CLKIN_PERIOD of dcm_3_5_lvds_clk: label is "30" ;
attribute CLKOUT_PHASE_SHIFT of dcm_3_5_lvds_clk: label is
lvds_phase_mode ;
attribute PHASE_SHIFT of dcm_3_5_lvds_clk: label is
lvds_phase_value ;
attribute CLKFX_DIVIDE of dcm_3_5_lvds_clk: label is lvds_clk_d ;
attribute CLKFX_MULTIPLY of dcm_3_5_lvds_clk: label is lvds_clk_m ;
attribute DUTY_CYCLE_CORRECTION of dcm_3_5_lvds_clk: label is "TRUE" ;
attribute DFS_FREQUENCY_MODE of dcm_3_5_lvds_clk: label is "LOW";
the incoming clock is a 33 MHz clk with 57% to 43% dutycycle.
when i disconnect the clock line and plug it in again, the dcm doesn't lock
again. i tried to reset the dcm at the falling edge of the locked pin to
ensure a defined startup, but this seems to have no effect.
now my question: what can i do, to reset the dcm after an interruption of
input clock clkin? is there a specific sequence of actions if have to
execute?
regards
wolfgang
i'm using a virtex2 device for implementing a lvds channel link receiver. To
recover the bitclock from the incoming clock- line, i use a dcm with
feedback on clk0.
constant lvds_clk_m : integer := 7 ;
constant lvds_clk_d : integer := 2 ;
constant lvds_phase_mode : string := "FIXED" ;
constant lvds_phase_value : integer := 45 ; -- phase shift value for
place and route
constant lvds_phase_value_udsim : integer := 45 ; -- phase shift value for
unit delay simulation
attribute CLKIN_PERIOD of dcm_3_5_lvds_clk: label is "30" ;
attribute CLKOUT_PHASE_SHIFT of dcm_3_5_lvds_clk: label is
lvds_phase_mode ;
attribute PHASE_SHIFT of dcm_3_5_lvds_clk: label is
lvds_phase_value ;
attribute CLKFX_DIVIDE of dcm_3_5_lvds_clk: label is lvds_clk_d ;
attribute CLKFX_MULTIPLY of dcm_3_5_lvds_clk: label is lvds_clk_m ;
attribute DUTY_CYCLE_CORRECTION of dcm_3_5_lvds_clk: label is "TRUE" ;
attribute DFS_FREQUENCY_MODE of dcm_3_5_lvds_clk: label is "LOW";
the incoming clock is a 33 MHz clk with 57% to 43% dutycycle.
when i disconnect the clock line and plug it in again, the dcm doesn't lock
again. i tried to reset the dcm at the falling edge of the locked pin to
ensure a defined startup, but this seems to have no effect.
now my question: what can i do, to reset the dcm after an interruption of
input clock clkin? is there a specific sequence of actions if have to
execute?
regards
wolfgang