3/2 with "virtex xcv300"

Discussion in 'VHDL' started by HB, Dec 12, 2005.

  1. HB

    HB Guest

    Hi,

    I use a Virtex XCV300
    I would like to do : a multi *3 and a div /2 with a clk = 32 MHz.
    (I would like to obtain a freq = 48 MHz)

    Can you help me !!.
    Thanks and regards,

    Benoit.
    HB, Dec 12, 2005
    #1
    1. Advertising

  2. HB

    Jerry Coffin Guest

    HB wrote:
    > Hi,
    >
    > I use a Virtex XCV300
    > I would like to do : a multi *3 and a div /2 with a clk = 32 MHz.
    > (I would like to obtain a freq = 48 MHz)


    So what have you tried so far? Do you have a design that works, but is
    too slow, or are you uncertain how to proceed at all? How many signal
    bits do you need to work with? Do you need something semi-unusual like
    working with serial input and/or output instead of simple parallel
    signals?

    I would ask whether it's really 32 or 48 MHz you need, but it should be
    quite trivial to get this bit of logic to run at 100+ MHz, even if you
    use a much cheaper Spartan part instead of a Virtex.

    Assuming you're having trouble getting started, a few hints: you can
    multiply by 2 by shifting a signal left a bit (e.g. intermediate(16
    downto 1) := input) and you can divide by two using a right-shift (same
    basic idea in reverse). If you have X and 2X, you can get 3X by adding
    them together. Typical designs carry out their work on the rising edge
    of a clock. Since your intermediate can be as large as input*3, you'll
    want it to be two bits larger than the input. Since the output can be
    as large as input*1.5, you want it to be one bit larger than the input.
    That might be done as one extra signal wire, or it might be done as the
    same number of signals as the input, plus a separate carry signal.

    --
    The universe is a figment of its own imagination.
    Jerry Coffin, Dec 13, 2005
    #2
    1. Advertising

  3. HB

    HB Guest

    I need a choice between 2 solutions :

    first solution:
    I can use a Freq=48MHz to create a 32MHz (multi *2, and div 3).
    But the signal for this freq isn't locate at a clock PIN (old card, so I
    can't change the PINOUT).
    This signal is locate PIN number AA4 in a Virtex XCV300-FG456).
    I have some problems to use DLL and BUF.
    Is someone could help me (use DLL and/or BUF without dedicated clk pin) !!.

    second solution:
    I can use a Freq=32MHz to create a 48MHz (multi*3, and div 2).
    But it very difficult to have this multi *3 !.

    I need a clk with a good precision, and if possible with around 50/50 of
    duty cycle.

    THANKS LOT for your help. Any suggestion will appreciate.
    Regards.

    Benoit.

    "Jerry Coffin" <> a écrit dans le message news:
    ...
    > HB wrote:
    > > Hi,
    > >
    > > I use a Virtex XCV300
    > > I would like to do : a multi *3 and a div /2 with a clk = 32 MHz.
    > > (I would like to obtain a freq = 48 MHz)

    >
    > So what have you tried so far? Do you have a design that works, but is
    > too slow, or are you uncertain how to proceed at all? How many signal
    > bits do you need to work with? Do you need something semi-unusual like
    > working with serial input and/or output instead of simple parallel
    > signals?
    >
    > I would ask whether it's really 32 or 48 MHz you need, but it should be
    > quite trivial to get this bit of logic to run at 100+ MHz, even if you
    > use a much cheaper Spartan part instead of a Virtex.
    >
    > Assuming you're having trouble getting started, a few hints: you can
    > multiply by 2 by shifting a signal left a bit (e.g. intermediate(16
    > downto 1) := input) and you can divide by two using a right-shift (same
    > basic idea in reverse). If you have X and 2X, you can get 3X by adding
    > them together. Typical designs carry out their work on the rising edge
    > of a clock. Since your intermediate can be as large as input*3, you'll
    > want it to be two bits larger than the input. Since the output can be
    > as large as input*1.5, you want it to be one bit larger than the input.
    > That might be done as one extra signal wire, or it might be done as the
    > same number of signals as the input, plus a separate carry signal.
    >
    > --
    > The universe is a figment of its own imagination.
    >
    HB, Dec 13, 2005
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page