(i) *C**Li** * is the load capacitance of the* i*-th gate;

(ii) *C**psi* is the power supply bus capacitance associated with the *i*-th gate;

(iii) *C**in* is the input capacitance of the OVD circuit.

Let *p**i* is a probability of the *i*-th gate being in the state of high output potential. In this state the capacitance *C**Li* is connected with power supply bus through the low channel resistance of turned-on transistors in PMOS network of the *i*-th gate. Then equivalent capacitance* C**eq* connected to the OVD circuit input equals

(7)

where *N* is a number of gates in the considered SPP. Here the resistance of conducting PMOS network is assumed to be negligible.

Equation (7) is also true for CL including several SPPs. In that case summing must be carried out for all the gates belonging to CL.

Simulation shows that *t**on* and *t**off* are proportional to the OVD time constant =*R*1*C**eq**.* It was also obtained that when *N*>20, the component under the sign of summation in Equation (7) can be much larger than the component *C**in**.* Due to voltage drop *V* the effective power supply voltage is reduced and CL performance is decreased by about 35 percent [7].

In order to make SIM operating faster special attention must be paid to reducing the capacitance introduced by CL.

** 4.3 Speed-independent address bus**

The simplest case of CL is a scheme degenerated into a set of wires called a multi-bit bus. Let us develop the OVD circuit for such a CL.

Multi-bit bus consists of several lines. Each line can be considered as a medium for signal propagating from one end of the chip to another. Delay of signal propagation through a line depends on several factors:

(a) output impedance and symmetry of driver circuit;

(b) initial state of the line: if driver is symmetrical, line switching from high to low voltage lasts shorter than reverse switching;

(c) electrical properties of the line as a signal propagation medium (resistance of conducting layer and capacitances between the line and other wires next to it);

(d) length of the line;

(e) input impedance and sensitivity of receiving circuit.

Since different lines of the bus operate in different conditions (a)-(e), signal propagation delays are different, too. From the standpoint of environment the bus behaves like any other more complicated CL.

Asynchronous RAM designers use a bus transition detector since 1980s [13-15]. Such a detector is usually based on double-rail address coding and two series connected transistors for each address bit [15]. One of the transistors receives the true address signal and the other receives the complementary address signal of the particular address bit. For any steady state condition one of the transistors will be turned on and one will be turned off. There will be a finite rise and fall time during a transition of the address bit. There is a short time during which both transistors are conducting. The establishment of the conductive path provides the detection of the address transition. In the first asynchronous RAMs the output signal of the transition detector is used for bit line precharging and for enabling/disabling sense amplifiers and peripheral circuitry.

Self-timed RAM announced in 1983 [14] used transition detectors not for address transition only but also for detecting read/write completion and address/bit line precharge completion as well.

The CMOS transition detector was invented in 1986 [15]. This circuit is also based on double-rail coding and uses a pair of series-connected NMOS transistors (Fig.12). The scheme for *n*-bit bus control contains *n* line transition detectors (LTDs) and *n* AND-gates. Outputs of AND-gates are united in node *M* forming wired OR. The output inverter serves as a pulse shaper. Capacitors *C*1 and *C*2 are intended to prolong rise time of the LTD output signal (true and complementary). This is necessary for reliable detection.

The main drawback of the circuit is speed dependence. One can see that if true and complementary address bit signal have different propagation delays, the conducting path via NMOS transistors will never be formed.

Using the OVD circuit proposed in Section 4.2 as LTD we can avoid this drawback.

Note that address transmission through the address bus is unidirectional. So to detect completion of bus transition it is enough to recognize the bus state at the destination end. For this purpose we modify CL to consist of *n* lines. The modification means introducing *n* LTDs, each actually a CMOS inverter chain. Each chain contains two inverters loaded with a capacitance (Fig.13). Input of each LTD is connected with corresponding line of the bus at the destination end. Power supply pads of all LTDs are connected to the current input of the same OVD circuit.

The parameters of the input current signal for the OVD circuit are varied by

(i) value of capacitances *C*1 and *C*2 ;

(ii) dimensions of MOS transistors *M*1 -*M*4 .

Since all transitions in CL are of the same duration and can be lengthened to be outlast the OVD turning-on time, we simplify the interface circuitry by disallowing the asymmetrical delay.

Due to short duration of normal transition in this CL we must take into account the integral nature of the sensitivity of the OVD circuit. OVD sensitivity depends on both amplitude and width of input current pulse. Simulated operation region of the OVD circuit for current pulses shorter than 30ns is shown in Fig.14. It is obvious that in this case the threshold of the OVD circuit must be determined by threshold charge *Q*th value. The OVD input charge *Q* equals to where *I* is OVD input current, *t* is a moment of time when transition occurs, *w* is a width of input current pulse. Turning-on condition for the OVD circuit is *Q*=*Q*th.

When the LTD circuit shown in Fig.13 is used, the charge value *Q* is determined by either *C*1 or *C*2. Namely, if the line goes from low to high voltage, *Q*=*VC*2. If the line goes in the reverse direction then where *V *is charging/discharging voltage, approximately equal to the effective power supply voltage: *VV*dd -*V*. Here *V*dd is OVD power supply voltage and *V* is CVC voltage drop.

The OVD circuit with typical parameters (See Table 1) has a threshold charge value *Q*th =4.010-12 C. When *C*1 =*C*2 =*C**L* , the minimal value of *C**L* providing OVD capacity for operation is about 1.010-12 F.

Influence of transistors *M*1 -*M*4 dimensions on LTD delay *d* is determined by approximation [17]:

where ~ is a sign of proportionality, *G**n* and *G**p* are the conductances of NMOS and PMOS transistors respectively (*C**L* =*C*1 =*C*2.)

Since and where *W* and *L* are width and length of transistor channels of the corresponding conduction type, the LTD delay *d* is proportional to .

It has been obtained that for , , *C**L*=1.0pF and *V*dd-*V*=5.0V the LTD delay *d*=7.6ns.

When LTD works jointly with the OVD in the speed-independent bus, the real value of the LTD delay will increase by 30-40 percent due to OVD's *R*1 effect on the effective power supply voltage.

To determine the appropriate value of *R*1 in the OVD circuit we must know threshold input current *I*th corresponding to threshold voltage drop *V**th* recommended to be equal to 400mV.

Average input current *I*av in transient state of one line is determined by the expression *I*av =*C**L**v* where *v* is the average rate of increase in the output signal for an inverter included in LTD. For typical values *v*=1.0109 Volts per second and *C**L* =1.0pF, *I**av* =1.0mA. Accepting *I**th* =0.4mA and *I*max=2.0mA we obtain *R*1=1k and *r**b*=100.

Simulation has shown that in this case OVD turning-on delay can be approximated by an empirical expression:

*t**on*[ns]=8.1+0.1*n*

where *n* is the address bus bit capacity. Total delay of recognizing address transition *t**tot* =*dg*+*t**on* where *g* is a coefficient of the LTD delay increase due to reducing power supply voltage. As we showed above *g*1.35. It can be seen that if *n*=32, *t**tot*=21.6ns.

**4.4 Speed-independent adder**

The circuit we use in this Section as a CL was a touch-stone for many speed-independent circuit designers for about four decades. We mean a ripple carry adder (RCA) which is actually a chain of one-bit full adders (Fig.14).

Each full adder calculates two Boolean functions: sum *s**i**=a**i**b**i**c**i* and output carry *c**i*+1=*a**i**b**i**+b**i**c**i**+a**i**c**i* where *a**i*, *b**i* are summands, *c**i
*