I'm tasked to analyze the power usage of a CMOS circuit, but I cannot figure out the output switching frequency.

Every 10ns, the circuit is stimulated with input vectors

1110, 1111, 1101, 1111, 1100, Repeat

and the output of the circuit is driven by the expression ABCD.

Since CMOS circuits only draw significant power when switching, I need to find the output frequency, but I'm confused on how to do this.

The output of the circuit is

0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0 ...

It switches for the first 4 inputs but on the fifth, going back to the first one, it doesn't switch.

So every 50ns, it switches every 10ns for the first 40ns and then doesn't switch for the last.

I don't think I can just say the period is 10ns since it doesn't switch on the last input, so how can I find the frequency?

  • \$\begingroup\$ It does not matter when or how often a 01 or 10 change occurs, what matters is the repetition rate of the signal. We also call that the period of the signal. So what is the shortest time needed to fully describe the signal, or what is its period ? That relates directly to the lowest frequency f = 1/T. To prove that you need to dive into the Fourier transform. \$\endgroup\$ – Bimpelrekkie Apr 24 '17 at 18:57
  • \$\begingroup\$ @FakeMoustache Since the output is driven every 10ns, to fully describe 0,1,0,1,0 ... should be 50ns, so the frequency will be 20MHz. \$\endgroup\$ – supershirobon Apr 24 '17 at 19:05
  • \$\begingroup\$ But if you're looking for the power dissipation due to switching, what you want is the average time density of transitions. You have four transitions (low->high->low->high->low) every fifty nanoseconds, so your transitions-per-second metric would be 80 MHz. Though, that notation implies a regular transition rate... Perhaps you could say 80 MBq! (or, less confusingly, just 80 megatransitions per second) \$\endgroup\$ – Hearth Apr 24 '17 at 22:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.