The simulation component shown here (class hades.models.register.LFSRGenerator16) internally uses a 32-bit linear-feedback shift register based on the (31 1 0) polynom. That is, the register input D0 is calculated as Q31 + Q1 + Q0. This polynom generates a maximum-length sequence of all 231-1 possible states (except for the all-zeroes state.) The lower 16 bits of the shift register are connected to the outputs of the simulation component.
The different counters are connected to different outputs of the shift register and gated by the clock signal. Therefore, each counter triggers when the shift register outputs the corresponding bit pattern.
For a correct choice of the feedback polynom, all bit patterns should appear with equal probability, and all counters should have approximately the same values.Just let the simulation run for a while and observe the counter values. You can also open the property-sheet of the LFSR component (popup-menu, edit-component) and select a different start-value for the register, then restart the simulation.
Run the applet | Run the editor (via Webstart)