Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > clock multiplication

Reply
Thread Tools

clock multiplication

 
 
patrick.melet@dmradiocom.fr
Guest
Posts: n/a
 
      03-02-2006
hi everybody,

I would like to do a clock multiplcation.

My idea was to count how many samples I have in one period of the
original clock. Latch the last value of this counter : so I've got the
number of sample into one period of the clock.

Then I create a second counter which count toward the number of sample
compute last and now with this counter I can create a second clock.

CLK1 : 111111000000111111000000
counter 1 : 012345012345012345
Max counter : 5 5 5
counter 2 : 012345012345012345
CLK2: 111000111000111000

My VHDL is :

if top_baud='1' then
compteur_baud_max <= count_1;
count_1 <= 0;
else
count_1 <= count_1 + 1;
end if;

if count_2<compteur_bit_max then
count_2<= count_2+ 1;
else
count_2<= 0;
compteur_bit_max <= compteur_baud_max;
end if;


if (count_2 <= compteur_bit_max/4) or (count_2 > compteur_bit_max/2 and
count_2 <= 3*compteur_bit_max/4) then
clock_bit <= '1';
else
clock_bit <= '0';
end if;

My original clock1 has non constant period and the period varies....
So I've got problem in this clock generation

thanks if you have ideas

 
Reply With Quote
 
 
 
 
Isaac Bosompem
Guest
Posts: n/a
 
      03-03-2006

http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:
> hi everybody,
>
> I would like to do a clock multiplcation.
>
> My idea was to count how many samples I have in one period of the
> original clock. Latch the last value of this counter : so I've got the
> number of sample into one period of the clock.
>
> Then I create a second counter which count toward the number of sample
> compute last and now with this counter I can create a second clock.
>
> CLK1 : 111111000000111111000000
> counter 1 : 012345012345012345
> Max counter : 5 5 5
> counter 2 : 012345012345012345
> CLK2: 111000111000111000
>
> My VHDL is :
>
> if top_baud='1' then
> compteur_baud_max <= count_1;
> count_1 <= 0;
> else
> count_1 <= count_1 + 1;
> end if;
>
> if count_2<compteur_bit_max then
> count_2<= count_2+ 1;
> else
> count_2<= 0;
> compteur_bit_max <= compteur_baud_max;
> end if;
>
>
> if (count_2 <= compteur_bit_max/4) or (count_2 > compteur_bit_max/2 and
> count_2 <= 3*compteur_bit_max/4) then
> clock_bit <= '1';
> else
> clock_bit <= '0';
> end if;
>
> My original clock1 has non constant period and the period varies....
> So I've got problem in this clock generation
>
> thanks if you have ideas


Why not use a clock manager in the FPGA to take care of the job? Or are
making one to be simulated not synthesized?

 
Reply With Quote
 
 
 
 
patrick.melet@dmradiocom.fr
Guest
Posts: n/a
 
      03-03-2006
hello,

what do you mean by clock manager... I would like to use a PLL but on
Stratix Altera FPGA, there is a minimum input clock frequency of about
15 MHz, and my clocks are under 4 MHz

 
Reply With Quote
 
 
 
Reply

Thread Tools

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 Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Source of term "multiplication" in matrix multiplication William Hughes C Programming 13 03-15-2010 02:04 PM
What is the best way to clock data in on one clock edge and out on another? simon.stockton@baesystems.com VHDL 4 04-26-2006 11:36 PM
clock multiplication DQPSK patrick.melet@dmradiocom.fr VHDL 0 03-06-2006 01:34 PM
clock multiplication patrick.melet@dmradiocom.fr VHDL 0 03-03-2006 04:21 PM
Are clock and divided clock synchronous? Valentin Tihomirov VHDL 11 10-28-2003 01:18 PM



Advertisments