1.2 Basic Architecture of a User-Programmable Device
First, a user-programmable device is one that contains a predefined general architecture in which a user can program a design into the device using a set of development tools. The general architecture may vary but normally consists of one or more arrays of AND and OR terms for implementing logic functions. Many devices also contain combinations of flip-flops and latches, which may be used to implement sequential logic or to serve as storage elements for the inputs and outputs of a device. More complex devices contain macrocells. Macrocells allow the user to configure the types of inputs and outputs needed for a design.
