Logic Synthesis for Field-Programmable Gate Arrays