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 nsCode 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 ns100 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.