Fig. 6.3 also shows how the data container is embedded into the evaluation network. The post-processing step not only evaluates the data necessary for the target and constraint evaluation, it also prepares the simulation results for storage in the data container. The output V-t curves are shifted by the actual delay times so that they can be used as input V-t curves for subsequent steps. The input C-V curves are calculated from the input I-t curves using (6.1) and stored in the data container for usage as load C-V curves, accordingly.
Fig. 6.4 shows the time-shift method used to derive the new input
V-t curve
for the on-transition: The output V-t curve
of an off-transition simulation
is shifted to the left
by the inverter delay time
of this transition providing the
new input V-t curve. The corresponding input V-t curve
for the off-transition is also shown. This method guarantees that, during
optimization, the delay of the input V-t curve (
in this
figure) stays constant.
![]() |
Due to the capacitive coupling between the input and output nodes of the inverter stage, there is a slight overshoot of the output voltage at the beginning of a transition, as can be seen in Fig. 6.4. When the input voltage starts to rise, the capacitive coupling makes the output voltage increase, too, until the input voltage is high enough to switch the inverter stage.
For simulation purposes this overshoot is neglected in the time-shift method.
If the overshoot were considered the input V-t curves would not be monotonous
which means that there would not exist a unique C-V curve for the load
capacitance .
However, the initial input voltage has to be
either
or 0 V for the on- or off-transition, respectively, so that the
leakage current can be extracted properly.
Tailoring the overshoot is accomplished by introducing a lower and upper
boundary, 0 V and
,
respectively, for the input voltage. When
evaluating the function for the voltage dependent load capacitance (6.1),
any arguments which lie outside the range of 0 V to
are set to either
0 V or
since (6.1) is only defined within this range.
Fig. 6.5 shows the optimization sequence illustrating when new data is stored in the data container. Any time a temporary minimum is found after a number of evaluation steps, the new input V-t and load C-V curves are processed and the results are stored in a wait-state. After the gradient calculations are finished, these data are transferred into the data container. The wait-state is necessary because the gradients have to be calculated still using the old data, therefore the container data refresh takes place just before the first evaluation step which is immediately after the gradient calculations.
This permanent update of the input V-t and load C-V curves provides a self-contained emulation of an infinite inverter chain. At the time when the optimization procedure converges, the input and output curves of the inverter will be self-consistent meaning that the inverter behaves exactly like one stage of a ring oscillator.
To provide a good initial guess for the device simulations during subsequent optimization steps the output PIF files of both simulations are saved. This is done after each evaluation step shown in Fig. 6.5. The output PIF files from the gradient steps are dropped away because the results are very close to the previous evaluation step, anyway.