Performace Analysis - JAWs CPU

Crystal | Longest Path | Spice | Clock Frequency


Crystal Analysis

We performed Crystal analysis on the following cells. We extracted as much useful information as was possible from the crystal results regarding logic levels for inputs we did not specify. When possible, these are noted below. The times listed indicate the critical path for each cell.


Longest Path

We deduce from these results that the longest path will be through our ALU. Specifically, we expect the following results from the 4-bit Manchester Adder:


   B0=0, B1=?, B2=?, B3=1, A0=1, A1=1, A2=1, A3=1, CIN=1
   For bit 0 COUT=1   3.35ns
       bit 1 COUT=1  <1.57ns
       bit 2 COUT=1  <1.57ns
       bit 3 COUT=1   1.57ns
   overall: SUM3 is driven high at 8.06ns
This is longer than any other ALU operation (shift, for example). So, noting that we need a carry-in of one, and recalling that the bits of the B operand must be inverted before being added to A when performing a SUB operation, we conclude that the subtract operation will be our longest delay, more precisely in the case where A transitions from 1110 to 1111 and B = 0111. When performing this operation, we expect the following delays:

   invert            0.22ns   (Invert B operand)
   mux<0>           <1.26ns   (Select B' as input to adder)
   4b_man            8.06ns   (Add A+B'+CIN, where CIN=1)
   4b_decoded_tgate  0.53ns   (Select Adder result as ALU output)
   overall: OUT3 is driven high at 10.07ns
We mention briefly why the register file was not considered as a candidate for our longest path:


Spice Analysis

As circuit elements contributing to the longest path, we have analyzed the following cells (in their respective top-levels) with Spice. The inputs were chosen to correspond to the ALU worst-case documented above.

We were, however, able to run Spice on the entire ALU, for the worst-case scenario as described above. The results agree quite closely with the Crystal prediction of a 10ns delay.

Outside of our worst-case scenario, we performed the following Spice analysis:


Clock Frequency

In designing our CPU, we anticipated the longest path coming from the ALU. We also operated under the assumption that our 2-phase clocks would have 25% duty cycles and would be evenly spaced. Noting that our ALU was part of a feedback path needing A and B latches, we placed one latch immediately before the ALU, and one immediately after it. This allowed for the ALU to absorb a lot of the extra time between latching on A and latching on B. To minimize this "ALU-type delay", we did not include any other combinational logic between those two latches.

So, the ALU inputs are available on the falling edge of clock A, and the outputs must be determined by the falling edge of clock B. Thus, one-half our clock period must be at least 10.07ns. Our clock period must then be at least 20.14ns, giving us a maximum theoretical clock speed of

In reality, though, the pad frame may not support such high clock speeds.

Another factor which we have neglected to mention is the delay invloved in an off-chip memory write/read. Despite our initial assumption that the read access time would be our critical delay, it turns out that the minimum write pulse width for our memory device will be the limiting factor in our clock speed. Because our write enable signal is qualified with A, our minimum clock period must be four times the minimum write pulse width.

With the SRAM specs we were given, the best-case write pulse width given was 55ns. This would bring our maximum theoretical clock speed down to


PREV | HOME | NEXT