Electronic – Where did the state machine go

fpgasynthesisvhdlxilinx

Working on some VHDL I for Xilinx virtex parts, I found that the code I inherited had attempted to implement user encoding for the state variables used in the various state machines in the design. The toplevel.syr file was found to contain listings of the state encodings for some of the state machines, but not others.

I'm curious whether the .syr file is the definitive place for such information, and it's simply that XST has somehow synthesized something other than the expected state machine in some cases, or if perhaps there's another report somewhere that would show the 'missing' state machines.

Best Answer

XST won't always recognise what you might call a state machine as one. It might decide it looks more like a counter or a shift register for example (say if the state machine just trundles from one state to another with no chance to stall or "branch").

As far as I know XST won't report state machines anywhere else (but I admit I haven't looked hard as I very rarely care what XST thinks it's doing, as long as it gets the functionality right!)