Digital System Design Using Field Programmable Gate Arrays