Altera_Forum
Honored Contributor
12 years agoProper way to set_multicycle_path register enable fanout in TimeQuest
I've been trying to use set_multicycle_path from a register enable, but I can't seem to get it to catch all of my paths:
This fails:
set mc_dec_re_group ]
set_multicycle_path -setup 2 -from $mc_dec_re_group -to $mc_dec_re_group -end
set_multicycle_path -hold 1 -from $mc_dec_re_group -to $mc_dec_re_group -end
For some reason, this doesn't seem to catch all of the multicycle paths. The name exists since I pulled it using the Name Finder. I *think* it has something to do with Quartus inserting buffers in the enable tree, but I can't prove that yet. If I set the timing directly on the registers everything is fine. This works:
set_multicycle_path -from {inst8|dem_0|qq
} -to {inst8|dem_1|qq
} -setup -end 2
set_multicycle_path -from {inst8|dem_0|qq
} -to {inst8|dem_1|qq
} -hold -end 1
However, that's going to be a nightmare to do by hand (there are a *LOT* of registers). I really need the fanout from an enable to get 99% of the paths and I can clean up the rest. Suggestions? What is the proper method for setting the timing from where the enable fans out to the registers it actually affects? I'm on Windows 7 using Quartus 13.0sp1 Thanks.