State-machine digital pulse generator

Abstract
An architecturally simple yet versatile memory-state-based digital pulse generator (or state machine) has been developed for control of instrumentation with PC-compatible microcomputers. The pulse-programming device uses parallel memory allocation to allow simultaneous output-state and address change capabilities. The pulse sequence is loaded into parallel sections of resident memory as a program consisting of output states, state durations, and partial pointers to succeeding states. The complete pointers are generated by concatenation of these address bits with the outputs of duration and loop counters, making complex jumps and loops possible. Minimum event duration and timing resolution is limited only by memory access time; fast or slow memory can be selected based on individual needs. The memory used in the device described has access times of 120 ns, allowing clock rates as high as 8 MHz. The cost of this device is under $200.