The Bubble NoC is simple, but still provides outstanding performance. Flow control is implemented by bubbles, which are inserted between the flits. The algorithm resembles a traffic situation where a vehicle only moves if the next position is empty. When a flit moves, a bubble is created behind it, and when there is a blocking the bubbles are collapsed as the flits behind are packed together. Even when the Bubble NoC is saturated, it degrades gracefully, and the execution continues. Deterministic prerouting is used, with the address stored as markers in a 2-out-of-32 code. The XY routing algorithm shifts the address one step at each hop, and turns or finishes when there is a marker first in the address. The physical implementation is a mesh of lanes containing time-division multiplexed links of 38 wires carrying a 32-bit payload. Signaling is made by current injection that charges the wires. A switch is placed in a four-way crossing, with a fifth local connection into a lane. The switch has an input register for each approaching lane. Straight ahead traffic is simply let through, and a diagonal gate is used for the turning traffic. All switches are transmission gates, and the control is distributed as a sidewalk in a few µm of the periphery that surrounds the intersection. In a 14 nm technology, the lanes are 7 μm wide, the crossing is 17 μm in square, the hop frequency 3.3 GHz, and the energy for a datapath 4.1 fJ/bit/hop (150 μm).