Forum Discussion
MGrab6
New Contributor
6 years agoThese two includes at the top worked.
library altera;
use altera.altera_syn_attributes.all;
Along with the VHDL:
attribute keep : boolean;
attribute keep of MASTER_CLK : signal is true;
attribute keep of MASTER_CLK1 : signal is true;
This preserved the two clock signals. I had omitted the “library altera;” when trying this earlier.
Increasing fmax and how:
Varying which version of master clock each process received yielded a few MHz improvement in fmax. Greater improvement was realized by assigning logic to specific areas, aka floor planning. The devices assignment window and qsf file was used for this, but this only yielded an fmax of 21Mhz. The greatest benefit came from use of the Tools>Advisors>Timing optimization advisor.
Timing Optimization Advisor:
Setting “Placement Effort Multiplier” to 4 and,
Setting “Fitting Initial Placement Seed” from 40-50
Achieved an fmax of 29Mhz, and a little bit more fiddling with which master clock each process used yeilded 31Mhz.
I see you can use the Design Space Explorer to vary the seed starting point to optimize a design. I'll try that next.
I've exceeded my fmax by a few MHz. Thank you for your help.
KennyT_altera
Super Contributor
6 years agoGood to hear that the preserve attribute works. For timing improvement, what I would suggest is to look into the training material first. As there are a lot of approaches that can improve your Fmax, and one of it is Design space explorer.
intel.com/content/www/us/en/programmable/support/training/course/odsw1115.html
https://www.intel.com/content/altera-www/global/en_us/index/support/training/course/ohdl1130.html
https://www.intel.com/content/www/us/en/programmable/support/training/course/odsw1139.html
https://www.intel.com/content/www/us/en/programmable/support/training/course/odswtc02.html