clock doubling?

Discussion in 'VHDL' started by bxbxb3, Dec 18, 2004.

  1. bxbxb3

    bxbxb3 Guest

    can any one tell me how to double the frequency of clock? i have tried the
    ckt shown below:
    ___________________
    |____ _____ |
    ))\--|d q|---|----clk_out
    __))/ | |
    | | |
    global_clk--------|-------|clk__|


    clk_out is xored with global clk and given as an input to d flip flop.
    will the above circuit work? is so how to write VHDL code for it? i have
    tried
    1. process(global_clk)
    if global_clk'event and global_clk='1' then

    2. process(global_clk)
    if global_clk'event then

    etc etc, but didn't work
    bxbxb3, Dec 18, 2004
    #1
    1. Advertising

  2. bxbxb3

    Hal Murray Guest

    >can any one tell me how to double the frequency of clock? i have tried the
    >ckt shown below:
    > ___________________
    > |____ _____ |
    > ))\--|d q|---|----clk_out
    > __))/ | |
    > | | |
    > global_clk--------|-------|clk__|


    That circuit can't possible work (as a doubler). Your clk goes
    into the clock of FF so the output of the FF can't possible run
    at more than 1/2 the clk speed.

    Peter Alfke of Xilinx described a circuit with the same number of parts.
    The output of the XOR gate is the 2x clock, and it goes into the clock
    on the FF. The D on the FF goes to the global_clk input.
    (It may take another inverter in there someplace.)

    That makes a short pulse each time the global_clk changes.

    The key idea is that the pulse is long enough to clock the FF
    since the output of the FF won't change if the pulse isn't long
    enough, and that output is what ends the pulse.



    >clk_out is xored with global clk and given as an input to d flip flop.
    >will the above circuit work? is so how to write VHDL code for it? i have
    >tried


    Writing VHDL code is another matter. You may have to add explicit delays.
    Be sure your sensitivity lists include both clocks where needed.

    >1. process(global_clk)
    > if global_clk'event and global_clk='1' then
    >
    >2. process(global_clk)
    > if global_clk'event then
    >
    >etc etc, but didn't work
    >


    --
    The suespammers.org mail server is located in California. So are all my
    other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited
    commercial e-mail to my suespammers.org address or any of my other addresses.
    These are my opinions, not necessarily my employer's. I hate spam.
    Hal Murray, Dec 19, 2004
    #2
    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.
Similar Threads
  1. Valentin Tihomirov

    Are clock and divided clock synchronous?

    Valentin Tihomirov, Oct 23, 2003, in forum: VHDL
    Replies:
    11
    Views:
    3,285
    louis lin
    Oct 28, 2003
  2. bxbxb3

    doubling clock frequncy

    bxbxb3, Dec 19, 2004, in forum: VHDL
    Replies:
    0
    Views:
    573
    bxbxb3
    Dec 19, 2004
  3. Replies:
    4
    Views:
    716
    Peter Alfke
    Apr 27, 2006
  4. Replies:
    5
    Views:
    2,159
    Ricardo
    Jun 23, 2006
  5. himassk
    Replies:
    1
    Views:
    1,231
    Paul Uiterlinden
    May 16, 2007
Loading...

Share This Page