Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21602 Discussions

Variable Frequency of clk

Altera_Forum
Honored Contributor II
2,150 Views

i have a design that require to run on variable frequency of clk(sampling rate), in the range of 8kHz to 216kHz.  

 

My question are: 

1. How to write the sdc? 

2. Other than sdc, is there any thing(circuit, etc) need to be take care or add in?
0 Kudos
10 Replies
Altera_Forum
Honored Contributor II
1,178 Views

I would expect the "variable frequency" sampling clock implemented as a synchronous clock enable, generated by a clock divider. In this case, no additional timing constraints are involved, because the timing is completey based on the system clock.

0 Kudos
Altera_Forum
Honored Contributor II
1,178 Views

 

--- Quote Start ---  

I would expect the "variable frequency" sampling clock implemented as a synchronous clock enable, generated by a clock divider. In this case, no additional timing constraints are involved, because the timing is completey based on the system clock. 

--- Quote End ---  

 

It;s a good idea
0 Kudos
Altera_Forum
Honored Contributor II
1,178 Views

However, my system clk is changing according to n(integer) X fs. Don't you think to add timing constraint?  

 

if yes, how? 

 

if no. thanks
0 Kudos
Altera_Forum
Honored Contributor II
1,178 Views

The suggestion is to use a fixed system clock (e.g. 50 MHz) and a variable rate clock enable. The timing requirements don't change with the clock enable rate.

0 Kudos
Altera_Forum
Honored Contributor II
1,178 Views

The system architecture is decided. It is impossible for me to change it.  

 

FYI, The system clock is changed on the fly once the user enter through GUI. I think that there is no problem in digital design since it is just connected to the pin of register. Some delay may impact. 

 

The problem is i have no idea to proceed with the Time Quest Analysis without knowing the method to write the sdc file. 

 

Any help will be appreciated.
0 Kudos
Altera_Forum
Honored Contributor II
1,178 Views

Using a divided clock is usually unsuitable, particularly because crossing timing domains can cause timing violations. But if all design logic, except for the clock divider, is run at the divided frequency, in other words, no signal is crossing the timing domains, the analysis is trivial. 

 

You may want to start with the classical timing analyser and specify the input frequency to the clock divider. As long as there are no external inputs or outputs, that need to be constrained, this should be sufficient.
0 Kudos
Altera_Forum
Honored Contributor II
1,178 Views

 

--- Quote Start ---  

Using a divided clock is usually unsuitable, particularly because crossing timing domains can cause timing violations. But if all design logic, except for the clock divider, is run at the divided frequency, in other words, no signal is crossing the timing domains, the analysis is trivial. 

 

You may want to start with the classical timing analyser and specify the input frequency to the clock divider. As long as there are no external inputs or outputs, that need to be constrained, this should be sufficient. 

--- Quote End ---  

 

http://ifile.it/konx0eg/icao_fpga.schdoc 

 

You can check my design to creat pulse using MAX7000S... Thanks so much
0 Kudos
Altera_Forum
Honored Contributor II
1,178 Views

FvM, 

 

Different clock divider will run on different module. So, there are signal across different time domain. In this state, classical timing analysis is still useful for my case?
0 Kudos
Altera_Forum
Honored Contributor II
1,178 Views

 

--- Quote Start ---  

Different clock divider will run on different module 

--- Quote End ---  

 

I think, it should handle the internal timing as well. But this fact increases my doubts about your "system architecture" being well considered. (I'm tempted to call it a "no-architecture"). Check the results and be prepared to reconsider the design in time.
0 Kudos
Altera_Forum
Honored Contributor II
1,178 Views

Actually, the pll inside can't handle the the sampling freq, fs like 44.xxxx kHz where the internal PLL(FPGA) can't divide it to the required freq(with fix point) due to limited no. of bits of multiplier and divider(9 bit).  

 

In order to fix it, it need a PLL (with more than 9 bit), dsp chip to divide and multiply. 

 

thanks
0 Kudos
Reply