I'd love to hear your professional criticism of my code (from a learning point of view, just being a novice at this I'd like to know how I can do better). Don't hold back, I can take the knocks
I am in no position to criticize your work, actually I have to congratulate you for the job done.
There are myriads of details you need to take in account when you designing for low power, but you need to take them in account early in your design or you may need to return later and change design drastically. Also, it is very possible that if you design for portability between FGPA families, you will miss features each family has for low power.
This is my experience, again, I am not a consultant and I am not pretending I know your design better than you know it. Earlier when I mentioned, it was just a superficial observation and I was rather curious to know if I am right or maybe I missed the picture entirely.