Altera_Forum
Honored Contributor
15 years agoTimequest contraints: pseudo-asynchronous case
Hi all,
I am doubtful about how to constraint a few things in a design I have in a Cyclone II FPGA. Basically, the situation is as follows: There is a module A with two processes, Process_in and Process_out. 1) Process_in reads input data to the module synchronous with the main clock and using a clock enable, namely CLK_EN_IN. The frequency of this clock enable is very low compared with the main clock. 2) the data read is used in asynchronous operations (multiplications, etc...) which are not clocked. 3) Process_out reads the results of this operation with the main clock and a clock enable, CLK_OUT. The frequency of this clock enable is again very low. I have designed everything so that CLK_IN happens let's say 100 ns before CLK_OUT, so that there is enough time to carry out the asynchronous operations. I can check the paths in TimeQuest and make sure that it's OK, but my question is very simple: what would be the right way to constraint a case like this. I am thinking about cutting all the paths that come into Module A to avoid confusing the analyzer, and after that use set_max_delay, but I don't quite like cutting paths as that will hinder possible failures and also might change how the fitter operates in my design (which is currently working). Thanks in advance for your help!