  Quantum computation promises significant computational advantages over
classical computation for some problems. However, quantum hardware suffers from
much higher error rates than in classical hardware. As a result, extensive
quantum error correction is required to execute a useful quantum algorithm. The
decoder is a key component of the error correction scheme whose role is to
identify errors faster than they accumulate in the quantum computer and that
must be implemented with minimum hardware resources in order to scale to the
regime of practical applications. In this work, we consider surface code error
correction, which is the most popular family of error correcting codes for
quantum computing, and we design a decoder micro-architecture for the
Union-Find decoding algorithm. We propose a three-stage fully pipelined
hardware implementation of the decoder that significantly speeds up the
decoder. Then, we optimize the amount of decoding hardware required to perform
error correction simultaneously over all the logical qubits of the quantum
computer. By sharing resources between logical qubits, we obtain a 67%
reduction of the number of hardware units and the memory capacity is reduced by
70%. Moreover, we reduce the bandwidth required for the decoding process by a
factor at least 30x using low-overhead compression algorithms. Finally, we
provide numerical evidence that our optimized micro-architecture can be
executed fast enough to correct errors in a quantum computer.
