The constants should at least be generics. As is, you can't instantiate two with different behavior. Some would also be better just as input signals to permit runtime configurability. Any that don't need to change can be tied to constant values for the same result as the current circuit.