Are you building a serial interface, or a RAM controller?
You need to do more than "use a case statement to create state machines". The state machine defines the timing of signal changes. Some of these signal changes include the updating of registers. When you figure out what to update the registers with, what control signals to change for the purpose of enabling or disabling register updates, and when to update each register, then you can code your state machine.