programmable array logic structure