4
\$\begingroup\$

From what I've read, designing low speed digital circuits is trivial, but designing high speed digital circuits is intractibly difficult.

Every single piece of conductive material has nonzero resistence, inductance and capacitance. At low frequencies, these numbers are utterly insignificant, and you can just pretend that logic gates work how their truth tables say. At high enough frequencies, these numbers stop being insignificant, and suddenly everything becomes drastically more complicated.

Really, my question is... at what point does this happen?

(Obviously this can only be answered approximately.)

In particular, I hear a lot of people complaining about how "terrible" breadboards are and how they have "huge amounts of stray inductance and capacitance". So if I'm wiring up discrete logic gates on a breadboard, how fast can I realistically expect them to operate reliably? Is double-digit Hz a realistic goal? Or am I limited to something under 2 Hz or so?

(Somebody pointed out that the datasheet for the gates I'm using states a "typical" switching time of 8 ns. If you naively compute \$ \frac{1}{8 ns}\$, it comes out as 125 MHz. Obviously that's the maximum theoretical frequency for the most trivial circuit possible. Even so, it is completely implausible to me that anything I could assemble with my bare hands would ever go anywhere near that fast. There's a reason high-performance computers cost tens of thousands of dollars...)

Note, I'm not asking "how fast can I clock this thing?" That's a much more complex question. I'm asking "what's the maximum switching frequency that can be in the circuit before analogue weirdness starts interferring?" And, again, I'm asking for an ball-park, not hard numbers.

\$\endgroup\$
5
  • \$\begingroup\$ You can drive as fast as possible until the parasitics start to affect your data.. If you have way to manage that, you can continue further.. Gbps speed is normal on simple twisted shielded data cable for huge lengths, isn't it? You can observe the waveforms on an oscilloscope with good measuring practices to know for yourself \$\endgroup\$
    – User323693
    Jun 27 '18 at 18:36
  • 2
    \$\begingroup\$ I nthink you wouldn't have much problems below 1 MHz, maybe 10 Mhz is still OK, but I'd sure expect problems at 100 MHz. \$\endgroup\$ Jun 27 '18 at 18:47
  • \$\begingroup\$ Answer this if a wire is 100mm =~ 100nH and the Source is 25 Ohms with a 100 pF 100MOhm load , what frequency will it ring at using only LC. (Search for LC formula) \$\endgroup\$ Jun 27 '18 at 19:29
  • \$\begingroup\$ On a breadboard, expect trouble over 1MHz. \$\endgroup\$
    – Neil_UK
    Jun 27 '18 at 21:04
  • \$\begingroup\$ Its really the edge ---- the risetime, the falltime ---- that matters. If your system has electrical size that is only 10% of the rise and fall times, you should be OK. Some people say 5%. \$\endgroup\$ Jun 29 '18 at 3:53
3
\$\begingroup\$

All circuits are inherently analog, even digital ones. They are all affected by transmission line effects and parasitics. Whether these effects will be significant or not in how they affect the operation of your circuit is generally dependent on the physical construction and the frequency of operation.

Parasitics are the 'unwanted' resistance, capacitance, and inductance of the components. Wires aren't the only source of parasitics, everthing is. You get capacitors and diodes for free when you build transistors, you get resistors and inductors for free when you build wires, you get capacitors and coupled inductors for free when you put down more than 1 wire, you get capacitors and resistors for free when you build inductors, etc, etc. In the case of a bread board, the metal clips that hold the wires in are quite large and close to each other, so you end up with a significant amount of capacitance between adjacent rows. When this will cause trouble is all up to how your circuit is designed and how it operates. If you're just building digital circuits, you're probably OK up to a few MHz. But at some point, the coupling from those capacitances is going to couple to an adjacent pin with enough amplitude to affect the operation of the circuit. When will this occur? It's hard to say in general with any meaningful precision, but probably somewhere between 1 and 100 MHz.

Transmission line effects are a slightly different problem, and they come in to play at even higher frequencies. Transmission line effects result from how electromagnetic waves proagate down wires. After all, nothing travels faster than the speed of light. If the wire is long enough that the signal changes faster than it can propagate down the wire, then you have to worry about transmission line effects. Well, actually the rule of thumb is more like wires longer than 1/10 or 1/16 of a wavelength. For these cases, you have to use proper RF design techniques (controlled impedance, impedance matching, etc.). For a proper design, the limit usually ends up being high frequency loss. Which usually ends up being a few GHz for normal fiberglass/FR4 circuit board. Faster is possible with better (and more expensive) substrates.

\$\endgroup\$
1
  • \$\begingroup\$ Good answers, people, but I can only choose one. :-) \$\endgroup\$ Jun 28 '18 at 7:06
1
\$\begingroup\$

In particular, I hear a lot of people complaining about how "terrible" breadboards are and how they have "huge amounts of stray inductance and capacitance". So if I'm wiring up discrete logic gates on a breadboard, how fast can I realistically expect them to operate reliably? Is double-digit Hz a realistic goal? Or am I limited to something under 2 Hz or so?

At that low of a speed, you're definitely fine.

The parasitics on a solderless breadboard become relevant in the MHz regime. The exact frequency at which problems will arise will depend on the quality of the breadboard and the logic families and voltages in use -- but, as a rule of thumb, the upper limit will be somewhere between 5 and 50 MHz. The speeds you're asking about are a million times slower than this, so they'll be unaffected. :)

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Non-stateless logic built from really fast chips (say F-TTL, ACmos, 100K ECL) built on a sloppy breadboard can drive you stark raving spare even if it is only operated at a couple Hz. The rise times do not get slower, unless you feed the chips input signals that are slower-rise than the specification of that logic family dictates, potentially corrupting their output too - which is another potential path to madness. A fast rise signal that gets sufficiently bent out of shape can register as a double or triple count, or cause action at a distance effects, or even latchups. \$\endgroup\$ Jun 28 '18 at 0:04
1
\$\begingroup\$

Really, my question is... at what point does this happen?

It's dependent on the material, but as far as switching goes the carrier has resistance, inductance and capacitance. These all work together to limit frequency and must be accounted for in a design. The second problem is these parasitics work together to create a transmission line, after certain speeds and distances signals obey transmission line effects. I don't have exact numbers but on a regular PCB usually rise and fall times start showing up at 10 to 40Mhz and can become a problem. After roughly 100Mhz the driver and trace must be impedance matched to avoid wave reflections and other effects. If the line is not designed properly it acts like an attenuator and the signals die out, or the signal reflects and creates unwanted noise.

In particular, I hear a lot of people complaining about how "terrible" breadboards are and how they have "huge amounts of stray inductance and capacitance". So if I'm wiring up discrete logic gates on a breadboard, how fast can I realistically expect them to operate reliably? Is double-digit Hz a realistic goal? Or am I limited to something under 2 Hz or so?

I would think 5-10Mhz would be the upper limit, there are some tricks to get it to go fast. One problem with a breadboard is there is no ground plane and a lot of capacitance and inductance and resistance for the return currents, much more than a PCB.

I have had 100Mhz designs on a perfboard with soldering wires together, which is going to be a much better option with less capacitance.

If you do see wierdness a square wave will have its corners rounded off, you could do a quick test yourself if you have an oscilloscope and waveform generator.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ A groundplane with a manhattan-style buildup, using glued-down strips of veroboard or dremelled-off ISA edge connectors (or PCI for 50 mil pitch parts), works well. take care to run your wires close to the groundplane, use thin coax (cannibalize surplus VGA cables and WiFI kit...) if you can't. \$\endgroup\$ Jun 28 '18 at 0:08
0
\$\begingroup\$

The point where this happens (the analog behavior needs to be taken into account) depends on the environment you're in. Some examples:

On a CPU like Intel's Core i7 8086K runs at 4 GHz (4000 MHz) using a 14 nm IC fabrication process. That 4 GHz is only the speed inside the chip. All the pins going to the "outside world", the connections to the PC's motherboard, run at lower speeds.

For example the connections to the RAM (DDR4-2666) run at 1.333 GHz. The fastest DDR4 RAM at this moment listed on Wikipedia runs on 1.6 GHz.

That 1.6 GHz is close to the limit of digital signals on a PCB. No doubt some advanced designs can go a bit higher than that, think 2 to 3 GHz.

At the other end, cheap 4000 series CMOS logic gates can barely manage a few MHz. That's because they use much older technologies. There are more modern versions of this "glue logic" which can go up to 50 to 100 MHz.

On a solderless breadboard like this:

enter image description here

you cannot expect anything to work above 5 MHz or so. Maybe 10 MHz if you really know what you're doing. Indeed stray capacitance and lead inductance (of all those metal connection strips) deteriorate the signals and load the outputs preventing them from reaching full speed.

On a prototype board like this:

enter image description here

and some experience you might be able to make things work at 20 MHz, perhaps 50 MHz if you know what you're doing.

\$\endgroup\$
4
  • \$\begingroup\$ While not wrong, this is a little short on information in the regime actually asked about. \$\endgroup\$ Jun 27 '18 at 19:02
  • \$\begingroup\$ Just a small nit: I had co-workers designing networking PCBs carrying 10GHz signals 10 years ago. I believe that currently there are 25GHz designs. This is extreme engineering but is being done. \$\endgroup\$
    – DoxyLover
    Jun 27 '18 at 19:40
  • \$\begingroup\$ PCI express gen 3 is 8 Gbps, or about 4 GHz bandwidth, and that goes straight to the CPU. \$\endgroup\$ Jun 27 '18 at 20:04
  • \$\begingroup\$ And 10 GHz and up is certainly possible on a PCB, just not one made out of fiberglass/FR4. \$\endgroup\$ Jun 27 '18 at 20:05

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.