FPGA Simulation: A Complete Step-by-Step Guide