A novel logic design method for avoiding wiring congestion. According to
the novel logic design method, an original gate having multiple inputs
coming from different directions and having multiple outputs coming to
different directions can be transformed to a logic block that has an
input stage and an output stage. The gates of the input stage receive
signals from the multiple inputs of the original gate. The gates of the
output stage send signals to the multiple outputs of the original gate.
Each gate of the input stage is placed in a vicinity of its inputs. Each
gate of the output stage is placed in a vicinity of its outputs. The
gates of the input and output stages are functionally equivalent to the
original gate.