4. 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)
8. Frequency monitor
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 cout=1.
The value on the counter gives us the frequency of the
adder.
10. Simulation of frequency monitor
Reset set to low
When we add
A=32 bit 1’s + B=1
Cout goes high
Clock to binary counter
Counts once reset goes to 0
3 clock cycles counted
clock
12. 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
capacitance(adder)
13. 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
that.
So instead, now I consider the input register as a mode
selection input.
14. Modification to the original
idea(continued)
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
16. Integrating everything
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
cycles)
17. Integrating everything(2)
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.
18. Modified -Adaptive voltage
scaling
Input
register
Ripple carry adder
clockFreq
monitor
Output
register
Voltage
scaling
logic
We don’t scale based on the frequency of the adder. Instead we scale
according to the mode selected and monitor the frequency.
19. Conclusion
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
different modes.