I am a full time ASIC verification engineer, and part time electronics and software tinkerer. This blog is a place for me to write about pretty much any topic that piques my interest. Usually this ends up being a deep dive into a niche topic related to my work in ASIC design. However, I will be trying to post some content related to my non-professional software, firmware, and hardware projects. My goal here is to be informative, and I hope that someone learns something from my mistakes and the rat-holes I go down.

What is PRBS23:

Pseudorandom Binary Sequences are deterministic bit sequences with random-like statistical distributions, commonly generated by linear-feedback shift registers (LFSR). PRBS patterns are useful for many data integrity validation techniques, because they are usually random enough to be used in place of arbitrary data, but the whole pattern can be recreated from a single short seed. There are many different possible PRBS sequences, typically defined by length and polynomial representation, but one commonly used in high speed SERDES like PCIe, Ethernet, etc. is PRBS23. It is 223 bit (~1 MBit) long sequence generated from the following polynomial: x23 + x28 + 1, and can be generated using the following LFSR circuit:

Fibonacci LFSR implementation of PRBS23 Generator

Fibonacci LFSR implementation of PRBS23 Generator

As far as it’s relation to this blog, the name is just as random as a PRBS23. Many things here are related, but not in an obvious way…