Maximum frequency of operation
I have run the simulations on the ripple carry adder and
got the results below
Add a=32’b111..111 and b=32’b000…001
With supply voltage at 3.3 V – 125 MHz
With supply voltage at 1 V – 40 MHz
(Determined by calculating the delay for cout –
propogation delay of the critical path)
I have used the binary counter to build the frequency
monitor, which will be used to calculate the speed/
frequency of the adder.
The counter is kicked off once we apply the inputs
a=32’b111..111 and b=32’b000…001 and it stops once
The value on the counter gives us the frequency of the
Voltage scaling circuit
In the picture shown above, I have created a voltage
divider circuit using NMOS transistors stacked up.
Output can be selected using the select inputs.
There are 4 inputs enabling us to have 4 different
outputs as supply voltage for the adder.
I have also used a chain of pass transistors (with
increasing W/L ratios) to be able to drive the load
Modification to the original idea
The actual idea was to compare the output counter
(number of cycles counted by the binary counter which
determines the speed of adder) and the input counter
and then scale the supply voltage accordingly.
But I did not figure out the voltage scaling logic to do
So instead, now I consider the input register as a mode
Modification to the original
We have 4 modes given by 0001,0010,0100,1000.
For these four given inputs, we can scale the supply
voltage as shown in next slide
Voltage scaling - simulaton
This voltage scaling circuit is integrated with the adder
and the frequency monitor circuit.
By changing different modes (using input counter), we
can scale the supply voltage to different values as
shown in the above slide.
We can simulate this circuit and find the output on the
output counter. (the speed of the circuit in number of
Please use the circuit – adder_with_voltage_scaling
under the library OR2.
Once we run the saved simulation setting we can find
the speed of the adder on the output counter and we
can also see that the supply voltage gets scaled.
We can also change the mode by changing input counter
inputs and re run the simulation.
Modified -Adaptive voltage
Ripple carry adder
We don’t scale based on the frequency of the adder. Instead we scale
according to the mode selected and monitor the frequency.
Finally, I have built a circuit which dynamically scale
the supply voltage (by choosing the mode) and the
speed or frequency of this circuit can be monitored for