FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 01-18-2007, 05:20 AM
K. Sudheer Kumar
Guest
 
Posts: n/a
Default Generation of Divided-by-3 clock

Hi,

I need to generate a 70MHz clock from 210MHz. Is there any way to
generate it rather than using a DCM.

Thanks,

Sudheer

Reply With Quote
  #2 (permalink)  
Old 01-18-2007, 05:41 AM
Peter Alfke
Guest
 
Posts: n/a
Default Re: Generation of Divided-by-3 clock

It's very simple:
Take two Logic Cells (each a LUT and a Flip-flop) and feed both Q
outputs to the inputs of both LUTs.
Imagine any one (of many possible) sequence on the two Q outputs that
repeats after 3 states.
Then implement the required logic in each LUT.
I don't want to make it too trivially simple for you. A little thinking
strengthens the brain.
Peter Alfke

On Jan 17, 9:20 pm, "K. Sudheer Kumar" <[email protected]>
wrote:
> Hi,
>
> I need to generate a 70MHz clock from 210MHz. Is there any way to
> generate it rather than using a DCM.
>
> Thanks,
>
> Sudheer


Reply With Quote
  #3 (permalink)  
Old 01-18-2007, 06:22 AM
gallen
Guest
 
Posts: n/a
Default Re: Generation of Divided-by-3 clock

This is not a hard problem if you don't care about duty cycle. I'll
leave that for you to logic out, but if you need 50% duty cycle then
there are tricks.

Peter Alfke from Xilinx wrote an excellent article about clock dividers
titled "Unusual Clock Dividers." It was published the Xilinx's Xcell
Journal. I believe issue 33, but it appears Xilinx has gotten rid of
that article as it's archives don't go back far at all anymore.

You could probably find it through some googling, but this brings up
another point: Why would Xilinx remove it's archives? It's not like
the material was dated.

That particular article has been of use to me several times. Peter
wrote a great article. I'd like to see it come back.

-Arlen


K. Sudheer Kumar wrote:
> Hi,
>
> I need to generate a 70MHz clock from 210MHz. Is there any way to
> generate it rather than using a DCM.
>
> Thanks,
>
> Sudheer


Reply With Quote
  #4 (permalink)  
Old 01-18-2007, 06:42 AM
sudheer
Guest
 
Posts: n/a
Default Re: Generation of Divided-by-3 clock

Hi Peter,

Thanks for your suggestion. I would appreciate your providing me a copy
of your article "Unusual Clock Dividers".

Sudheer.

Peter Alfke wrote:
> It's very simple:
> Take two Logic Cells (each a LUT and a Flip-flop) and feed both Q
> outputs to the inputs of both LUTs.
> Imagine any one (of many possible) sequence on the two Q outputs that
> repeats after 3 states.
> Then implement the required logic in each LUT.
> I don't want to make it too trivially simple for you. A little thinking
> strengthens the brain.
> Peter Alfke
>
> On Jan 17, 9:20 pm, "K. Sudheer Kumar" <[email protected]>
> wrote:
> > Hi,
> >
> > I need to generate a 70MHz clock from 210MHz. Is there any way to
> > generate it rather than using a DCM.
> >
> > Thanks,
> >
> > Sudheer


Reply With Quote
  #5 (permalink)  
Old 01-18-2007, 10:12 AM
Antti
Guest
 
Posts: n/a
Default Re: Generation of Divided-by-3 clock

sudheer schrieb:

> Hi Peter,
>
> Thanks for your suggestion. I would appreciate your providing me a copy
> of your article "Unusual Clock Dividers".
>
> Sudheer.

dear Sudheer,

isnt goodle your friend too?

http://www.nalanda.nitc.ac.in/indust...33/xl33_30.pdf

Antti

Reply With Quote
  #6 (permalink)  
Old 01-18-2007, 11:11 AM
Symon
Guest
 
Posts: n/a
Default Re: Generation of Divided-by-3 clock

"gallen" <[email protected]> wrote in message
news:[email protected] oups.com...
>
> You could probably find it through some googling, but this brings up
> another point: Why would Xilinx remove it's archives? It's not like
> the material was dated.
>

Stop whining and start searching! :-)

http://web.archive.org/web/200504040...33/xl33_30.pdf

HTH, Syms.


Reply With Quote
  #7 (permalink)  
Old 01-18-2007, 03:01 PM
Guest
 
Posts: n/a
Default Re: Generation of Divided-by-3 clock

Hi,
I studied this article. It is very interesting, and the resources
consumption is very low.
For a general purpose, I think Anydivider can help.
In this case, just enter "3", and then get the verilog code and the
waveform.
For more features, please visit
http://www.topweaver.com/doc/tad/tad.htm
Download http://www.topweaver.com/download.htm

TAD

"Antti дµÀ£º
"
> sudheer schrieb:
>
> > Hi Peter,
> >
> > Thanks for your suggestion. I would appreciate your providing me a copy
> > of your article "Unusual Clock Dividers".
> >
> > Sudheer.

> dear Sudheer,
>
> isnt goodle your friend too?
>
> http://www.nalanda.nitc.ac.in/indust...33/xl33_30.pdf
>
> Antti


Reply With Quote
  #8 (permalink)  
Old 01-18-2007, 05:26 PM
visiblepulse
Guest
 
Posts: n/a
Default Re: Generation of Divided-by-3 clock

module clock_div3
(
clock_in,
clock_out
);

input clock_in;
output clock_out;

reg clock_out;
reg [2:1] d_pos;
reg [2:1] d_neg;


always @ (posedge clock_in)
case (d_pos)
2'b00: d_pos[2:1] <= 2'b01;
2'b01: d_pos[2:1] <= 2'b11;
default: d_pos[2:1] <= 2'b00;
endcase

always @ (negedge clock_in)
case (d_neg)
2'b00: if (d_pos[1]) d_neg[2:1] <= 2'b01;
2'b01: d_neg[2:1] <= 2'b10;
default: d_neg[2:1] <= 2'b00;
endcase

always @ (posedge clock_in or posedge (d_neg[1] & !clock_in))
if (d_neg[1] & !clock_in)
clock_out <= 1'b0;
else
if (!d_pos[1]) clock_out <= 1'b1;

endmodule

Reply With Quote
  #9 (permalink)  
Old 01-18-2007, 05:40 PM
Peter Alfke
Guest
 
Posts: n/a
Default Re: Generation of Divided-by-3 clock

I see all these references to my old article in XCell magazine, and I
enjoy the positive comments.
But: In almost all cases, there is no need for 50% duty cycle. The
natural 33/66% duty cycle of a simple divide-by-three circuit is
acceptable, especially at such low frequencies as 70 MHz.

Here is one of the simplest implementations:
Two flip-flops QA and QB, QA feeds the D-input of QB (shift register)
The NOR of QA and QB feeds the D input of QA.
This circuit also recovers from the illegal state of both QA and QB
being High.
Peter Alfke


On Jan 18, 9:26 am, "visiblepulse" <[email protected]> wrote:
> module clock_div3
> (
> clock_in,
> clock_out
> );
>
> input clock_in;
> output clock_out;
>
> reg clock_out;
> reg [2:1] d_pos;
> reg [2:1] d_neg;
>
> always @ (posedge clock_in)
> case (d_pos)
> 2'b00: d_pos[2:1] <= 2'b01;
> 2'b01: d_pos[2:1] <= 2'b11;
> default: d_pos[2:1] <= 2'b00;
> endcase
>
> always @ (negedge clock_in)
> case (d_neg)
> 2'b00: if (d_pos[1]) d_neg[2:1] <= 2'b01;
> 2'b01: d_neg[2:1] <= 2'b10;
> default: d_neg[2:1] <= 2'b00;
> endcase
>
> always @ (posedge clock_in or posedge (d_neg[1] & !clock_in))
> if (d_neg[1] & !clock_in)
> clock_out <= 1'b0;
> else
> if (!d_pos[1]) clock_out <= 1'b1;
>
> endmodule


Reply With Quote
  #10 (permalink)  
Old 01-19-2007, 07:26 AM
sudheer
Guest
 
Posts: n/a
Default Re: Generation of Divided-by-3 clock

Thanks to alll for sending their comments/Useful Links.

I'm getting worried about the phase misalignment of divided clock w.r.t
the source clock because of combinational logic associated with the
output.

I would like to welcome your suggestions/comments on this

Note: Duty cycle with 33%, 66% will not be worked out in our case, so
badly I'm in need of clock with 50%dutycycle.

Thanks a lot once again,
Sudheer.

Reply With Quote
  #11 (permalink)  
Old 01-19-2007, 02:14 PM
Ralf Hildebrandt
Guest
 
Posts: n/a
Default Re: Generation of Divided-by-3 clock

K. Sudheer Kumar schrieb:

> I need to generate a 70MHz clock from 210MHz. Is there any way to
> generate it rather than using a DCM.


You could use pseudo dual-edge flipflops.
http://www.ralf-hildebrandt.de/publi...ff/pde_dff.pdf

Ralf
Reply With Quote
Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Generation of Divided-by-3 clock K. Sudheer Kumar Verilog 3 01-19-2007 02:14 PM
DVI clock generation hansman FPGA 9 11-30-2006 04:20 PM
Clock generation [email protected] FPGA 4 08-15-2005 11:17 PM
Are clock and divided clock synchronous? Valentin Tihomirov FPGA 24 10-29-2003 06:11 PM


All times are GMT +1. The time now is 12:16 PM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved