Field-Programmable Logic and Applications