Some signals transferred within computer systems have very strict timing constraints. For example, specifications that define computer bus systems often require that the signals of the bus system arrive at each node of the bus system at the same time, or within an acceptable tolerance. The bus signals must be synchronized so they can be read at a receiving node at the same time. Otherwise, data transmitted over the bus system could be corrupted, and the computer would not work.
A physical signal-transmission portion of the bus system commonly includes signal lines formed in a printed circuit board (PCB). The bus signals travel, or propagate, through conductive traces disposed in various layers of the PCB between the nodes of the bus system. Each conductive trace forms a segment of one bus signal line.
In a common situation, the distance between one pair of nodes of the bus system is significantly different from the distance between another pair of nodes. If both conductive traces electrically connecting both pairs of nodes were routed through the PCB in the shortest manner possible, then the length of the conductive traces would potentially be significantly different. The difference in lengths of the conductive traces, if sufficiently large, would significantly impact the timing of the bus signals transmitted between each of the nodes. The specification for the bus system, however, requires that the timing of the bus signals be within an acceptable tolerance of each other.
To ensure that the signal timing requirements are met, the shorter conductive trace is artificially made longer to have a length about the same as the length of the longer conductive trace. To lengthen the shorter conductive trace, the conductive trace is routed in a serpentine manner for a portion of its length. The bus signals, thus, propagate through the different conductive traces in about the same amount of time.
The trace-lengthening technique for bus signal synchronization requires that there be sufficient space in the PCB for the added length of some of the conductive traces. However, as ICs become more complex, the number of nodes, and concurrently the number of conductive traces, increases. Additionally, as the PCBs are made smaller, the space available for the conductive traces decreases. The increasing number and density of the conductive traces is incompatible with the decreasing space in the PCBs and places severe constraints on the layout of the PCB.
One solution to this problem has been to increase the number of layers in the PCB in which the conductive traces can be formed. However, this solution increases the thickness of the PCBs and increases the time, complexity and cost of manufacturing the PCBs.