PN sequence verifier
I do my modeling in Perl. The following code generates the sequence listed in the datasheet:

#!/bin/perl -w

# 14-bit words:
# | 1   F   E   0| 1   D   F   1| 3   C   C   8| 2   9   4   E|
# |01111111100000|01110111110001|11110011001000|10100101001110|

# Initialize PRNG to all-ones
my $reg = 0x1FF;

for (1..8) {
    # Initialize 14-bit output word
    my $out = 0;
    for (1..14) {
        # Shift the next bit into the LSB of the output.
        $out = ($out &lt;&lt; 1) + !!($reg &amp; 0x100);
        # Advance the PRNG to the next state:
        # XOR bits 4 and 8 together and shift into bit 0.
        $reg = (($reg&amp;0xFF) &lt;&lt; 1) + (!!($reg &amp; 0x10) ^ !!($reg &amp; 0x100));
    }
    # In order to get the required pattern, invert the MSB of the output word
    printf "%04X\n", $out^0x2000;
}


The output is:

1FE0
1DF1
3CC8
294E
1479
1CD8
0A47
26D5


I'm not sure where that final inversion of the MSB is coming from, but my first attempt was correct except for that detail.



An interesting question is, how do you predict the next word when you're only given an arbitrary word in the sequence? Note that the 9 most-significant bits of the arbitrary word (after you undo the MSB inversion) are in fact identical to the state of the PRNG register at the beginning of the generation of that word.

So, if you take those 9 bits to initialize your checker, then run 14 cycles, you'll re-generate the word you started with. Then the next 14 cycles will generate the next word in the sequence.