ПОсмотри вот в этой прошивке http://home.freeuk.com/fpgaarcade/resources/ym2149.zip (спасибо IceBear).Сообщение от Robus
Генератор построен на основе циклического полинома (частный случай полинома Жегалкина). Грубо говоря есть сдвиговый регистр Q[n] и случайная последовательность строится следующим образом:
DI[вход сдвигового регистра]=Q[i] xor Q[l] xor ... xor Q[m] xor ZEROKILL;
ZEROKILL=1 если Q[0..n-1]==0 (это такая страховка чтобы регистр не сбросился в 0);
Главное подобрать разряды регистра участвующие в суммировании таким образом чтобы случайная последовательность была наиболее длинная (так называемый совершенный полином). В принципе в вышеуказанныой прошивке уже подобранны разряды. Вообще на таких полиномах строятся рандом генераторы для всяких хардваре-устройств.