Understanding FPGA timing at 156.25 MHz - where half a nanosecond means the difference between working and failing