How to program FPGA (Field Programmable Gate Array) devices