 A simulator program is intended to execute the bits in the same way as the electronics, and allows much more freedom to debug the microprogram.After the microprogram is finalized, and extensively tested, it is sometimes used as the input to a computer program that constructs logic to produce the same data.This program is similar to those used to optimize a programmable logic array.