I coded to infer two FSMs in the code, but XST encodes only one FSM.
What causes this problem?
XST can infer an FSM only if there is a power-up state or reset condition; when this is not the case, XST cannot infer an FSM. Refer to the ISE Language Templates for examples of coding state machines with reset conditions.