Flip Flop design example

WBahn

Joined Mar 31, 2012
32,874
Oh ok so you read it as being an arbitrary theoretical concept. I did not realize that the forum policy was to move outside posts INTO the homework section when they dealt with homework, but not to move posts inside the homework section OUT to other sections when they were not homework. Thus, almost everything inside the homework section I assume was actual homework unless I had other information which indicates it is not.
Threads in Homework Help don't have to be actual homework. If the discussion is homework-like, then that's sufficient. Also, we don't move threads unless they really need to be moved -- first, we don't have that kind of time to spend it doing that, and second, it would be pointless because we aren't going to examine every thread to decide where it belongs, so most threads that should have been moved aren't going to.

Also, the propagation vs setup and hold times are really close, some devices might not need the little delay circuit. It might be hard to figure out which ones do and don't though.
As you design higher and higher performance parts, the margins you can provide almost always shrink. You also don't design something that should work for most parts, you design it so that it will work for any part the meets spec. If that isn't possible (and sometimes it's not), then you either redesign the system, or you bin the parts and cherry pick those for which your design will work. This isn't easy, in general, because you need to ensure that the parts you choose really will work over the entire operating range of the system and your binning will almost certainly have to be done based on a few measurements, probably at a single temperature. Now, if you are building a billion-dollar space probe, your constraints are different than if you are designing a mass-produced consumer device.
 

MrAl

Joined Jun 17, 2014
13,708
Threads in Homework Help don't have to be actual homework. If the discussion is homework-like, then that's sufficient. Also, we don't move threads unless they really need to be moved -- first, we don't have that kind of time to spend it doing that, and second, it would be pointless because we aren't going to examine every thread to decide where it belongs, so most threads that should have been moved aren't going to.



As you design higher and higher performance parts, the margins you can provide almost always shrink. You also don't design something that should work for most parts, you design it so that it will work for any part the meets spec. If that isn't possible (and sometimes it's not), then you either redesign the system, or you bin the parts and cherry pick those for which your design will work. This isn't easy, in general, because you need to ensure that the parts you choose really will work over the entire operating range of the system and your binning will almost certainly have to be done based on a few measurements, probably at a single temperature. Now, if you are building a billion-dollar space probe, your constraints are different than if you are designing a mass-produced consumer device.
Hello again,

The way I always did it was to first find a part that would work in the application, then design around that with whatever was needed. If it needed the delay circuit then I would incorporate that, if it did not need that then of course I would not use it. If I found one part cheaper and still worked well, I'd use that part instead.

Still, a 200MHz part for a human push button is totally off the wall when it is not needed. If that was ok, then why don't we use a 2GHz part :)
The higher the frequency, the more careful the PCB has to be done too.

[SARCASM ON]
I just designed a 50GHz CPU, want to see how it handles a human operated pushbutton?
[SARCASM OFF]
 

Thread Starter

andrew74

Joined Jul 25, 2022
229
Look at what the /CLR input does.

Also, you have Q changing a few times before the first CLK rising edge. How is that happening?
So, with the button not pressed and in the initial condition, the first rising edge of the CLK occurs after 10 ms (data from 10k and 1u) on 1A?
 

WBahn

Joined Mar 31, 2012
32,874
So, with the button not pressed and in the initial condition, the first rising edge of the CLK occurs after 10 ms (data from 10k and 1u) on 1A?
Yes, but that clock edge is ignored because it is overridden by /CLR, which is held LO for about 20 ms.
 

MrAl

Joined Jun 17, 2014
13,708
Hello again to all,

I see now what struck me most about the 200MHz flip flop. It seemed like on a data sheet we would want to exploit the capabilities of the chip so designers can immediately see an advantage of the chip.

With the current data sheet, it seems like it is the equivalent of driving a Lamborghini down the street to go shopping for milk and cookies, or maybe a Formula 1 racing car to drive down the street to pick up the mail at the post office :)
 

WBahn

Joined Mar 31, 2012
32,874
Hello again to all,

I see now what struck me most about the 200MHz flip flop. It seemed like on a data sheet we would want to exploit the capabilities of the chip so designers can immediately see an advantage of the chip.

With the current data sheet, it seems like it is the equivalent of driving a Lamborghini down the street to go shopping for milk and cookies, or maybe a Formula 1 racing car to drive down the street to pick up the mail at the post office :)
I don't know what is so hard to grasp here. I have said this several times -- when a digital design designs a system, it is very common to choose a single logic family that meets all of the design's needs and to use that single logic family to implement every part of the design. Yes, they could implement different parts with different families, but if those different parts interact, then they have to deal with ensuring that those interactions between families are 100% compatible over the entire range of operation. Such compatibility is already ensured if both parts use the same family.

Do use your car analogy, you get to pick one car that has to successfully satisfy all of your requirements, which include both racing in a grand prix and going to the post office to get the mail. You have a choice of a Lamborghini or a Ford Escort. Which do you choose?
 

MrAl

Joined Jun 17, 2014
13,708
I don't know what is so hard to grasp here. I have said this several times -- when a digital design designs a system, it is very common to choose a single logic family that meets all of the design's needs and to use that single logic family to implement every part of the design. Yes, they could implement different parts with different families, but if those different parts interact, then they have to deal with ensuring that those interactions between families are 100% compatible over the entire range of operation. Such compatibility is already ensured if both parts use the same family.

Do use your car analogy, you get to pick one car that has to successfully satisfy all of your requirements, which include both racing in a grand prix and going to the post office to get the mail. You have a choice of a Lamborghini or a Ford Escort. Which do you choose?
Hi,

Well, my thoughts on the data sheet were different than for the current circuit, since we shifted to talking about the data sheet. The data sheet is removed from any particular application at hand, and is meant to show the capabilities of the device, and of course the limitations.

If you advertise a car (automobile) you might mention how fast it goes, and illustrate that with some speed results on some runway or something. But it would be strange to design a car that goes 200mph and then advertise it as going 25mph to the local grocery store. If instead you show it in a video going 190mph and beating another manufacturers car going 175mph you'd have a stronger selling point. If you instead show the fast car going side by side with a car that only gets up to 90mph then there would be no point in the comparison in the advertisement.
For example, the car going down the Autobahn where there is no speed limit, versus the car going down the local 25mph side street. Which would be better for the advertisement.

That's why I mentioned the 2GHz version, as that would be even more ironic. Imagine a car that can go 2000mph shown going down a side street at 5mph where some old ladies are seen riding their bikes and passing it (ha ha). That would be even less likely to help in selling the cars, but more to the point, it would not be a good indication of the specifications it is capable of (even without the old ladies).

If you build a car that goes 200mph, show it going 200mph or at least 190mph or something.

It's also a little interesting that they do not show that little circuit on all of the data sheets.
 
Last edited:

WBahn

Joined Mar 31, 2012
32,874
I don't know why it's interesting that they don't show it on all data sheets. You don't have one small team writing every data sheet according to a rigid script of what must and what can't be included. You have a standard template for the key information, but things like application examples are almost always up to the people actually writing that particular data sheet. Some data sheets have extensive examples, and others have none.

I'm not a mind reader, but if I had to guess, I would say that one thing they might have been trying to cover was bringing to light was that this part has marginal hold-time margin when an output is feed back to the input and showing a way to deal with it.
 

MrAl

Joined Jun 17, 2014
13,708
I don't know why it's interesting that they don't show it on all data sheets. You don't have one small team writing every data sheet according to a rigid script of what must and what can't be included. You have a standard template for the key information, but things like application examples are almost always up to the people actually writing that particular data sheet. Some data sheets have extensive examples, and others have none.

I'm not a mind reader, but if I had to guess, I would say that one thing they might have been trying to cover was bringing to light was that this part has marginal hold-time margin when an output is feed back to the input and showing a way to deal with it.
Hi,

That sounds like a reasonable point to make. If you are going to make a toggle FF you probably need a delay RC.
If the input frequency is too fast, it may not toggle at all with the added delay as it looks like the timing is really close. If the CLK to Q' delay is 2.5ns and the RC delay is 7ns, that means it looks like at 200MHz we have about 0.5ns margin.
We could look in more detail but I'm not that interested it this.

It still seems strange that they would use a pushbutton for this 'illustration', but then again it is probably the simplest and most straightforward.

I was thinking about how they don't have this little circuit on all the schematics because if the one without the delay RC came after the one with the delay RC, then they may have decided to withdraw the pushbutton circuit, but if the pushbutton circuit came after the non pushbutton version then maybe they found that they needed to show that the toggle circuit needs an RC delay.
 
Top