Virtex 4 DCM problem

Hi all, I'm using a Virtex4 DCM with this configuration shown at the end of the article. I have 100MHz as input and I get as outputs 100MHz,50MHz,25MHz,200MHz.

The problem is that sometimes, apparently random, the DCM doesn't get locked ... but I'm sure that the input is ok, I have to send to or three resets in order to make it lock. I also noticed that if I remove the clock and put it back the DCM looses the locking and doesn't get it again.

I used the same configuration on a Virtex2 and I did not have these problems.

Do you think I'm doing something wrong?

SYSTEM_DCM: DCM generic map ( CLKFX_DIVIDE => 8, CLKFX_MULTIPLY => 2 ) port map ( CLKIN => adc1_clk_in, CLKFB => sys_clock_dcmfb, DSSEN => '0', PSINCDEC => '0', PSEN => '0', PSCLK => '0', RST => my_dcm_reset, CLK0 => sys_clock_dcm, CLKDV => sys_clock_x05_i, CLK2X => sys_clock_x2_i, CLKFX => sys_clock_fx_i, LOCKED => sys_lock );

-- BUFG Instantiation sys_clock_dcm_bufg: BUFG port map( I => sys_clock_dcm, O =>

sys_clock_dcmfb); --100MHz sys_clock_x05_bufg: BUFG port map( I => sys_clock_x05_i, O =>

sys_clock_x05_o); --50MHz sys_clock_fx_bufg : BUFG port map( I => sys_clock_fx_i, O =>

sys_clock_fx_o); --25MHz sys_clock_2x_bufg : BUFG port map( I => sys_clock_x2_i, O =>

sys_clock_x2_o); --200MHz

ddc_pc_bufg : BUFG port map( I => sys_clock_x05_i, O =>

sys_clock_ddc_pc); ddc_pc_x05_bufg : BUFG port map( I => sys_clock_fx_i, O =>

sys_clock_ddc_pc_x05); ddc_pc_x2_bufg : BUFG port map( I => sys_clock_dcm, O =>

sys_clock_ddc_pc_x2);

Reply to
Nemesis
Loading thread data ...

How long is your reset pulse? There's a min pulse width requirement on Step 1 devices, and as I recall, it's a few clock cycles, whereas (again IIRC) on V-II is was only 2 ns.

Also, how long are you leaving it to lock, it can take a while (well,

10ms for the FX outputs).

Is your clock definitely within spec before you release the reset?

Cheers, Martin

--
martin.j.thompson@trw.com 
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html
Reply to
Martin Thompson

It is about 4 us. But right now I read on the V4 user guide that 200ms is required!! I implemented a pulse stretcher ...and I'm waiting the generating process.

It has all the time it needs :-) It simply doesn't get locked (sometimes) it is not a matter of time. I can wait also 3 sec if I'm sure it get locked :-)

Yes, it should be ... to be clear .. it is in spec also before rising the reset.

Thank you for the reply.

Reply to
Nemesis

I just tested the new bitfile with the 200ms DCM reset ... it seems to work fine. We'll see :-)

Reply to
Nemesis

Excellent - and I see I'll have to go and peruse the datasheet further! 200ms is alot longer than I recall!

Cheers, Martin

--
martin.j.thompson@trw.com 
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html
Reply to
Martin Thompson

It is reported on the Virtex 4 User Guide ... but before reading it I was using the ISE online help manuals ... and I didn't find any mention to 200ms ... if I remember correctly.

Reply to
Nemesis

*** Always refer to most-recent datasheet! (updates from xilinx.com) *** People usually are amazed at the datasheet changes from Xilinx for its FX devices :-)
Reply to
adi

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.