Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

Multi frequency design in DSP Builder how manage clocks

i have a 64 bit divider in a design. i can't meet setup constraint @100MHz.

i would then add a PLL that thake the 100 MHz base clock and outputs

PLL_clk0 @ 100MHz for my design

PLL_clk1 @ 50 MHz for the divider

So i wuold use the Tsamp blocks outputting PLL_clk0 for all inputs and outputs at the boundaries of my dsp builder design

and Tsamp blocks outputting PLL_clk1 at the input of my divider.

Am i right? Or i should use the base clock and the PLL_clk1 only?

4 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    If your are only failing to meet the setup constraints - then just delay the data until the next clock.

    If you are trying to do a 64bit divide in even 20ns you are being very hopeful!

    The simplest didvide logic will take approx 32 clocks (for 32bit divosor/quotent.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    thank you for your reply.

    I have 64 bit divider and divisor.

    I added 64 pipeline registers inside the divider.

    But i can't meet constraint at 100 MHz too.

    Now running at 50 MHz, setup constraints are met.

    I would like to know if i'm right with this solution or if a better solution is suggested and if i managed well the PLL in the design
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    So you have 64 (ish) separate subtract-mux blocks separated by latches?

    Rather than a logic loop?

    Allowing you to feed in a new value every clock.

    You should be able to make the whole thing run at half speed by using an extra enable line for all the latches.

    There are much faster ways of doing divide that use a lot less logic.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    maybe there is a misunderstanding.

    i am using the divider of the standard blockset of Altera.

    In the GUI, i specified 64 stages of latency.

    i don't know how the divider works internally.

    I would know if i can use this divider at half frequency (50 MHz) and 64 stages of latency

    or if i have to do my own divider