In a video interview, EE World spoke with David Banas, who demonstrated the free and open software and explains the motivation for its creation.
If you’ve ever worked with high-speed digital links (10 Gb/sec and higher) over copper channels, then you know how those signals get distorted. Copper links — be they backplanes, cables, or PCB traces between FPGAs/ASICs and optical transceivers — are effectively low-pass filters. Thus, you need to characterize and understand how those channels degrade signal integrity.
Commercial software that lets you simulate copper channels can get expensive. Thus, companies that use commercial simulation software may only purchase a few licenses. Trying to learn about signal integrity by “playing around” might be something you have to do on nights or weekends because the engineers who already know how to simulate channels need it for their day jobs. Fortunately, you have a free option.
That’s where pyBERT can help. Developed by David Banas and a host of others (Figure 1), the free, public domain, open-source software lets you simulate a copper channel to see how frequency response, impedance, length, and other parameters affect signal integrity and a link’s bit-error rate (BER).
With pyBERT, you can manually enter channel data or you can use Touchstone files, which provide S-parameter data. Once you’ve defined the channel, you can select the signal modulation — NRZ, PAM4, or duo-binary — the number of bits, and the pseudorandom bit sequence (PRBS). You can also apply equalization at either end of the channel to compensate for losses.
With data entered, you can use pyBERT to see your signal in the frequency domain through plots (Figure 2) and in the time domain through eye diagrams (Figure 3). Now, you can adjust any setting to see how channel characteristics affect signal integrity and BER.
In the video, David Banas gives a demonstration of pyBERT. He explains the installation process and what supporting software your computer needs to run it. pyBERT will run on any operating system including Windows, MacOS, and Linux. Before downloading pyBERT, download and read the Wiki and FAQ. These two links are also available from the pyBERT link above.