You get "Stuck at GND" messages when synthesis tool determines that a particular signal is constant and is never changing. Signals can either get stuck at GND (ground), meaning that they are always low (has a value of
1'b0) or they may stuck at VCC (positive supply voltage) when a signal is constantly asserted high (has a value of
Because the signal is constant, synthesis tools is able to perform certain optimizations that could result in reduced logic up to the point when the whole design is optimized away. For example, let's say your module is getting signal from pin A, inverts it and outputs to pin B. If synthesis tool determines that a signal from pin A is always
1'b1, then it can optimize your module away and just drive
1'b0 to the pin B.
From your description, it seems like
data_in is an input to FPGA and
clock_enable is some signal that gates the clock (i.e. enables or disables the clock). If you have that
clock_enable stuck, everything that is driven by the clock that signal is gating can be pretty much optimized away.
Most likely you have this problem because you are missing a connection for a signal, or you did not specify pin assignments. See PinPlanner manual for more information on how to do pin assignments. You can fire it up right from Quartus and its GUI is pretty straight forward, giving you nice drop-downs for signals & pins etc. If that doesn't help, you will have to dig through synthesis log to get more details about stuck pins and trace their origins until the point when you find unconnected wires and/or buggy logic that makes those stuck signals.