You have too much combinatorial logic and this causes delays. You have 10 levels.
There are 3 ways.
1) Pipeline. That is, split your combinatorial logic, so that only few levels need to execute during the single clock. For example, instead of doing 10 levels in one clock, do 3, 3 and 4.
2) Decrease your clock frequency. It doesn't run at 100 MHz, but should run at 40 MHz just fine.
3) Re-think and change the design.