a standard logic block , or macrocell , is provided for use on programmable logic devices . the macrocell uses ram to perform logic functions , and further includes circuitry which allows writing of data to the ram during use . each logic block can be configured at programming time to be either a user ram , allowing the user to write data to such memory during use , or configured as performing logic functions . the contents of macrocells configured as providing logic functions cannot be changed except by reprogramming the device .