Logica programmabile