Vivado batch mode

When invoking Vivado tools from DOS, you first need to run the file settings64.bat (located in your Xilinx install area e.g. C:\Xilinx\Vivado\2017.3) in order to get your path updated as appropriate. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_3/ug975-vivado-quick-reference.pdf

FSM attributes

“fsm_safe_state” attribute will direct Vivado Synthesis to insert logic into a state machine that specifies what should happen in the case of an illegal state. “power_on_state” attribute forces the state machine into the power-on state using Hamming-2 encoding detection for one bit/flip. Reference: 1) https://www.xilinx.com/support/answers/60799.html 2) UG901 v2017.4, Chapter 2 Synthesis Attributes, Page 47, https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_4/ug901-vivado-synthesis.pdf