CRC: From XOR Division to FPGA Circuits

A scrambler breaks up repetitive patterns in transmitted data. But how can a receiver tell when a bit changes during transmission? A CRC (Cyclic Redundancy Check) adds a short check value to the data so the receiver can detect corruption. This article follows a small CRC-3 example through the entire calculation. In the interactive lab, you can change the data and generator polynomial and inject errors into received bits. Finally, we show how FPGA shift registers and XOR gates implement the same calculation. ...

October 2, 2026 · 9 min · EasyFPGA

The Role of Scrambling in High-Speed Serial Communication

In digital communication, data is represented as a binary bitstream of 0s and 1s. In practice, real-world data is rarely truly random — it often contains repetitive patterns, especially long runs of identical bits (e.g., ...000000... or ...111111...). At low speeds this causes no real harm, but at 1 Gbps and beyond, such patterns create critical signal integrity problems. At 1 Gbps, one bit period is just 1 nanosecond, so a run of tens or hundreds of identical bits means the signal voltage stays constant for a relatively long time. ...

August 21, 2025 · 4 min · EasyFPGA

Skew Simulation

What is Skew? Skew refers to the timing difference in signal arrival between multiple paths that are supposed to be synchronized. shows a skewed waveform between data lines. Why Skew Simulation Is Necessary If you simulate your design assuming everything is perfectly aligned, you may encounter issues during actual testing. In real PCBs, skew naturally exists, which is why techniques like length matching are necessary. However, even with length matching, the impact of skew becomes more significant as signal speed increases. Therefore, it’s important to address skew issues during simulation. ...

June 16, 2025 · 2 min · EasyFPGA