How to avoid gated clock on a flip-flop?
The best design practice is to connect all of the sequential logic in a specific partition of your design to a common clock. Then use combinatorial logic to interconnect all of the state flip-flops using clock enables, the D inputs and the J/K inputs of the flops. No logic gating of the clock should be needed.