A programming technique for a programmable logic device (PLD) is disclosed wherein
the programmed PLD controls a circuit's behavior according to a desired circuit
behavior implementation. A user constructs a program, wherein the program comprises
instructions defining inputs, outputs, and conditional branching for an abstract
state sequencer that implements the desired circuit behavior. The programming technique
then translates the states and resources for the abstract state sequencer into
HDL source code, which in turn may be translated into a programming bit pattern
for the PLD.