FPGA design