1. A programmable device useful for high speed operation or as a process controller, for which the item under control may consist of plant, machinery, peripheral electrical or electronic circuits or other automated systems, or useful as a component for implementing PLD or FPGA applications, said programmable device including: at least one input interface and an input register for connection to the item under control to provide sampled and stored input data in digital form, at least one output interface and an output register for connection to the item under control to receive and store output data in digital form, programmable logic hardware including a plurality of basic logic elements and electrically configurable interconnections, said interconnections configurable to interconnect the logic elements as a user control program circuit and to connect the user control program circuit to said input and output interfaces, program loading circuits enabling the user to configure the programmable logic hardware with a user program circuit prior to commencing control, said user program circuit having a plurality of state data storage units storing the user program circuit state data, wherein said programmable device when configured contains a user program circuit interfaced to a control circuit, said control circuit operating synchronously with the user program circuit, said control circuit is able to: communicate with a monitoring computer to respond to commands, operate when commanded to cause the user program circuit to run, or pause, or single step, read data values from said state data storage units, and write data values to said state data storage units.