Explain Programmable Logic Devices and Programmable Logic Arrays with block diagrams?