In addition to the Crystal analysis of the longest path through the ALU, we also conducted a spice analysis of the circuit to verify the longest path, as well as to obtain a more accurate estimate of the length of the longest path. The spice simulations verified our original result: the longest path through the circuit is from the lowest bit of x (the ALU input taken from the bus) to the highest bit of the accumulator.
The spice input file (available below) gives initial inputs of 1111 for the y input and 1110 for the x input. The lsb of x then rises from a zero to a 1, resulting in a carry through all bits and eventually the fall of the most significant bit of the accumulator and the rise of the carry out of the most significant bit. Both of these paths were examined (to the msb of the accumulator and to the carry of the msb within the combinational logic), and the results are shown below.
Plot of x(0) and acc(3):
Plot of x(0) and co(3):
As the graphs reveal, the longest path through the ALU is from x(0) to acc(3). The length of this path is approximately 40 ns, while the length of the path to co(3) is approximately 25 ns. A determination of the approximate maximum clock frequency based upon this information can be found in the Performance Analysis section.