FPGA Based Self-test Systems