Forum Discussion
Altera_Forum
Honored Contributor
14 years agoOr put it more generally, which is better inference or instantiation.
from code readability point of view we all like inference and specially so young designers as the compact code looks more impressive. At the other extreme, some poor beginners instantiate registers, or even constants, ...etc. I always infer registers and will never instantiate them even if I fail the exam??, I always infer isolated adders/subtractors/counters etc. And certainly constants, I don't know why vendors don't remove these dead legacy components completely from their libraries. I used to infer multipliers but not anymore for good reasons. I avoid dividers whenever possible by using inverse multiplication. For dedicated blocks Vendors produce richer features for their components than inference which may support fully, partially or never. The idea of inference is supposed to be just another way to call the same component from library(usually). As to portability across vendors, this is practical for small designs as normally you will end up with some instantiations especially so for memories. I think it is better to redesign and have more time to be paid...this is far more important for your portability yourself.