 LFSRs are used in circuit testing for test-pattern generation (for exhaustive testing, pseudo-random testing or pseudo-exhaustive testing) and for signature analysis.Complete LFSR are commonly used as pattern generators for exhaustive testing, since they cover all possible inputs for an "n"-input circuit.Maximal-length LFSRs and weighted LFSRs are widely used as pseudo-random test-pattern generators for pseudo-random test applications.