Tricky Problem: Finding the Clock Period for a 100 MHz Clock

Correctly convert a frequency given in MHz into a time period in nanoseconds using T = 1/f, without an order-of-magnitude slip in the unit-prefix arithmetic.

A flip-flop's clock frequency is 100 MHz. Find the clock period, using the relationship T = 1/f.

Why This Problem Is Tricky

The arithmetic itself (T = 1/f) is trivial, but converting between frequency and time unit prefixes (MHz to Hz, seconds to nanoseconds) is where mistakes creep in. It is very easy to compute 1/100 and simply relabel the result with whatever time unit feels 'about right' (microseconds, nanoseconds, etc.) without carrying the powers of ten through the calculation explicitly — a mistake that is off by a factor of 1000 in either direction and easy to overlook because the numeral '10' or '0.01' looks plausible regardless of the unit attached.

Step-by-Step Worked Solution

Convert the frequency to a base SI unit first: f = 100 MHz = 100 x 10^6 Hz = 1 x 10^8 Hz.

Apply T = 1/f: T = 1 / (1 x 10^8 Hz) = 1 x 10^-8 seconds.

Convert the result into a convenient unit: 1 x 10^-8 seconds = 10 x 10^-9 seconds = 10 nanoseconds. So the clock period is T = 10 ns.

Why the Obvious Wrong Answer Is Wrong

A common wrong answer is T = 10 microseconds (us), reached by correctly computing the numeral '10' but then mislabeling the unit — confusing the MHz-to-ns relationship with the kHz-to-us relationship (a 1 kHz clock indeed has a 1 ms period, and a 1 MHz clock has a 1 us period, but a 100 MHz clock does NOT have a 10 us period; it has a 10 ns period). The fix is to always carry the explicit powers of ten (10^6 for mega-, 10^-9 for nano-) through the whole calculation rather than doing the division in your head and guessing the unit afterward.

Period-Frequency Relationship

T = 1 / f

Common reference points:
  1 kHz -> T = 1 ms
  1 MHz -> T = 1 us
  1 GHz -> T = 1 ns

Code Examples

The powers of ten are written out explicitly at every step (10^6 for MHz, 10^-9 for ns) rather than being tracked mentally, which is what prevents the common 1000x unit-prefix slip. Expected result: T = 10 ns

f = 100 MHz = 100 x 10^6 Hz = 1 x 10^8 Hz

T = 1 / f = 1 / (1 x 10^8 Hz) = 1 x 10^-8 s

1 x 10^-8 s = 10 x 10^-9 s = 10 ns

100 MHz Clock Waveform

One full period (10 ns) consists of a 5 ns high phase and a 5 ns low phase.

+----+    +----+    +----+
      |    |    |    |    |
------+    +----+    +----+
      |<--T=10ns-->|
      |<5ns>|<5ns>|

Why Unit Discipline Matters Here

A 1000x clock-period error is exactly the kind of mistake that corrupts a Verilog simulation's `timescale directive or a static timing analysis tool's SDC constraint file — the design might still simulate 'successfully' but represent a completely different (1000x too fast or too slow) real-world clock rate, a bug that can go unnoticed until real hardware is built and simply does not work at the intended speed.

T = 10 microseconds T = 10 nanoseconds Confusing the MHz-to-ns relationship with the kHz-to-us relationship produces a result that is off by a factor of 1000. Carrying the explicit powers of ten (100 x 10^6 Hz, then 1 x 10^-8 s = 10 x 10^-9 s) through the whole calculation avoids the slip.

What is the clock period of a 100 MHz clock? A. 10 ms B. 10 us C. 10 ns D. 10 ps

C. 10 ns — T = 1/f = 1/(100 x 10^6 Hz) = 1 x 10^-8 s = 10 x 10^-9 s = 10 ns. A 1 MHz clock has a 1 us period, so a 100 MHz clock (100x faster) has a period 100x shorter than 1 us, which is 10 ns, not 10 us.

A clock's period is measured as 2 ns. What is its frequency? A. 5 MHz B. 50 MHz C. 500 MHz D. 5 GHz

C. 500 MHz — f = 1/T = 1/(2 x 10^-9 s) = 0.5 x 10^9 Hz = 500 x 10^6 Hz = 500 MHz. This is the inverse of the worked problem's calculation, requiring the same careful power-of-ten bookkeeping in the opposite direction.

A flip-flop is clocked at 250 MHz. Find the clock period.

f = 250 x 10^6 Hz. T = 1/(250 x 10^6) = 4 x 10^-9 s = 4 ns.

Convert 250 MHz to Hz first, then apply T=1/f.