Confusion about ticks and tocks

classic Classic list List threaded Threaded
31 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Confusion about ticks and tocks

Greemngreek
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Confusion about ticks and tocks

WBahn
Administrator
This goes back to what I was saying much earlier.

Say I have two DFF's (DFFA and DFFA) such that the input to the first on is 'in', the output from the first is fed to the input of the second (call this signal 'mid') and the output of the second is our final output signal (called 'out'). They are all clocked by the same clock signal, which has a period of 1000 ns.

Now, to keep things simple, let's say that the propagation delay of the two FF is 10 ns, the set up time is 20 ns, and the hold time is 30 ns.

Now say that the system has been running for some time and we start monitoring the three signals at t = 11500 ns (which is right at the falling edge of the clock). At this time the signal values are

in = 1
mid = 0
out = 1

At the next rising clock edge (which happens at t = 12000 ns), we need the input to each DFF to be steady from t = 11980 ns to t = 12030 ns (in order to satisfy the setup and hold time requirement).

But what happens to mid? Since the propagation delay only 20 ns, the output of DFFA changes from 1 to 0 at 12020 ns, thus violating the hold-time requirement of DFFB!

What is the smallest propagation delay that we can have and not violated this hold-time requirement?

The hold-time!

So the propagation delay has to be longer than the hold time.

Strictly speaking, the propagation delay through any DFF must be more than the hold time requirement of any chip it is providing the input for and that is clocked by the same clock signal. But since most designs use the same kind of DFF and use a global clock signal, this reduces to the simpler phrasing.

Reply | Threaded
Open this post in threaded view
|

Re: Confusion about ticks and tocks

Greemngreek
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Confusion about ticks and tocks

Johnaxle
In reply to this post by WBahn
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Confusion about ticks and tocks

WBahn
Administrator
Yes, the 50% to 50% is used in large part because it is unambiguous and relatively easy to measure.

But however you measure it, you have to define what, precisely, marks the beginning of the time being measured and what, precisely, marks the end.

The delay is then equal to difference between whatever you define those two events to be.

There's no obvious, unambiguous definition of how to define these events, particularly the notion of "the end of the output change" since it is dominated by an exponentially decaying change that, mathematically, never stops and, even from a practical standpoint, trying to measure when it has "stopped" (you have to define what "stopped" means) is essentially impossible because you are going to end up looking at when it enters the noise in the circuit and now you are talking about stochastic processes, which are pretty much always best avoided if possible.

Probably the closest you could come would be to put it in terms of when one signals stops being at a defined logic level (but some would argue that it should be when it starts being at the new logic level, so already we have dissension in the ranks) to when the other signal starts being at a defined logic level. But the voltage levels at which that actually happens vary from device to device and even from day to day for the same device due to changes in things like temperature and operating voltage.

Using the 50% to 50% criterion neatly sidesteps all of that.


Reply | Threaded
Open this post in threaded view
|

Re: Confusion about ticks and tocks

Johnaxle
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Confusion about ticks and tocks

WBahn
Administrator
Johnaxle wrote
Wow. Did not understand much of the technical aspects of your answer but here's my rephrased question and I hope that's what you confirmed in your answer:
In one of your other answers in this topic, you say "So, for now at least, let's agree that the term "propagation delay" means the actual amount of time it takes for the output to change after the rising clock edge. Then pretty much by definition the output changes at the end of the propagation delay because that's what this agreed-to use of that term means. "
So if propagation delay is from the 50% of clock change to 50% of output change, then the output should not change at the end of the propagation delay, right? Because it has to change the remaining 50% to be at a valid logic level...
Notice that the statement, "'propagation delay' means the actual amount of time it takes for the output to change after the rising clock edge," is a qualitative statement only, and thus can't serve as a quantitative definition. It conveys the basic intent, but it lacks the unambiguous specificity for someone to actually make a measurement based on it. It takes a finite amount of time for the clock edge to rise. It takes a finite amount of time for the output to change. So where, exactly, would you start your time measurement and where, exactly, would you stop it? That isn't specified by that statement, so we need to clearly define what constitutes those events.

Whatever definition we eventually decide to use will have relatively little impact on the measurement because, in most logic families, those rising and falling edges, while not instantaneous, do not take very long.

Also, your last sentence might indicate a point that needs some clarification. When you say that the output has to change the remaining 50% to be at a valid logic level, that is not a true statement.

Each logic family has thresholds that constitute when, at a minimum, the device considers the input to be at a valid level. These are usually called Vil (which is the highest voltage that an input can be and be guaranteed of being recognized as a logic LO) and Vih (which is the lowest voltage that an input can be and be guaranteed of being recognized as a logic HI). Just pulling numbers for TI's SN74HC74 dual-DFF datasheet, when operating at a 4.5 V power supply, these are 1.35 V and 3.15 V, respectively.

In fact, the input likely never will get all the way to the supply voltage. When sourcing or sinking that maximum rated current (4 mA), this part's output is only guaranteed to get down to 0.33 V and up to 3.7 V. So if your timing is going to be based on it going from 0 V to 4.5 V, you're going to be waiting a long time.

Another point to consider. Let's say that we wanted to be hyper-pendantic and say that the propagation delay we from the time that the clock reached a valid HI level to when the output reached a valid logic level at its new state. We would have to shift the start of our timer from the 2.25 V level on the clock to 3.15 V (or 0.9 V higher) and we would need to shift the end of our timer from the 2.25 V level on the output to either 1.35 V or 3.15 V (or 0.9 V lower or higher). In both cases, the measurement is shifted to the right (slightly later moments in time). If they shift by the same amount, we end up with exactly the same measurement result. So the result will change only by the difference in how long it takes the clock to transition through that additional 0.9 V and how long it will take the output to transition through that additional 0.9 V. They are going to be pretty close to the same.

Finally, since we are talking about real devices operating in the real world, the variations from device to device, particularly over the temperature range they are designed to operate at, will completely swamp out these minor differences in measurement conventions.

Reply | Threaded
Open this post in threaded view
|

Re: Confusion about ticks and tocks

Johnaxle
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Confusion about ticks and tocks

WBahn
Administrator
You are confusing two different things.

The manufacturers define a precise way to make a measurement.

Then they define performance specifications for the part.

If you have a DFF that has a 40 ns propagation delay from clock to output, you will almost certainly find, if you look closely enough, that the top of the column that number is located in says "maximum". They may or may not provide typical and minimum specs for the part (for that parameter under the test conditions specified). If you pick up one of those DFFs off the shelf and use it anywhere close to the test conditions, you will likely find that THAT part has a significantly shorter propagation delay. The manufacturer is only guaranteeing that, under the specified test conditions, they will not pass any DFF that exceeds 40 ns. And, yes, they test 100% of the parts they make (at least the reputable companies do -- there are many places in the world now that sell cheap counterfeit garbage, but that's a completely different topic).
Reply | Threaded
Open this post in threaded view
|

Re: Confusion about ticks and tocks

WBahn
Administrator
In reply to this post by Johnaxle
Perhaps this will clear things up.

Let's say that I make DFFs and I say that the max propagation delay is 40 ns, but I never say exactly how that 40 ns is measured.

You then use that in a design and eventually go into mass production making millions of items from that design. Some years later you start getting a whole bunch of warranty returns and, when you are doing your failure analysis, you discover that it is because some of the parts I sold you have propagation delays of 42 ns.

You come to me demanding that I compensate you for your losses and I test a bunch of the same parts you tested and I get 38 ns. As far as I'm concerned, the parts you bought met spec. As far as you are concerned, they don't. I refuse to compensate you and you sue me.

Who wins?

The problem is that I didn't specify HOW to measure the propagation delay of those DFFs, so you measured them using a technique that made sense to you and got a larger number.

The courts, which are made up of almost exclusively non-technical people, now have to decide whether your method was a reasonable interpretation of the specification or whether my method was. If both were, then it really becomes a legal nightmare.

As a manufacturer, I do not like legal nightmares. So I tell you exactly how the propagation delay is measured -- I often put the actual test circuit schematic in the datasheet. If you did not take into account the difference between how that measurement is to be made and what is actually important for your circuit, that is your problem. If you can demonstrate that I sold you parts that don't meet spec according to how that measurement is to be made, then that is my problem.

Reply | Threaded
Open this post in threaded view
|

Re: Confusion about ticks and tocks

Johnaxle
CONTENTS DELETED
The author has deleted this message.
12