This paper presents a technique for saving power dissipation in large datap
aths by reducing unnecessary switching activity on buses. The focus of the
technique is on achieving effective power savings with minimal overhead. Wh
en a bus is not going to be used in a datapath, it is held in a quiescent s
tate by stopping the propagation of switching activity through the module(s
) driving the bus, The "observability don't-care condition" of a bus is def
ined to detect unnecessary switching activity on the bus. This condition is
used to gate control signals going to the bus-driver modules so that switc
hing activity on the module inputs does not propagate to the bus. A methodo
logy for automatically synthesizing gated control signals from the register
-transfer-level description of a design is presented. The technique has ver
y low area, delay, power, and designer effort overhead, It was applied to o
ne of the integer execution units of a 64-bit, two-way superscalar RISC mic
roprocessor. Experimental results from running various application programs
on the microprocessor show an average of 26.6% reduction in dynamic switch
ing power in the execution unit, with no increase in critical path delay an
d negligible area overhead.