3 ms·
Because I know nothing about analog circuits, I find your comment very interesting. Can you give examples of conflicting parameters? And why those parameters ca
by copperx 2y ago
Because I know nothing about analog circuits, I find your comment very interesting. Can you give examples of conflicting parameters? And why those parameters can't be simulated away?
- kragen 2y agoWell, let's say your op-amp is too slow. You can get a faster op-amp, but it uses more power and has a higher input bias current. Another op-amp is just as fast and has a thousand times smaller input bias current, because it has JFET inputs, but as a result it has a much higher input offset voltage. Also it doesn't have rail-to-rail inputs, and you need rail-to-rail inputs. Another alternative has a lower offset voltage again (but also larger input bias current, but you resolve to lower the output impedance of the thing that's feeding it so that the bias current isn't a problem) and does have rail-to-rail inputs, but three weeks later you find out it has terrible crossover distortion when the input transitions from using the npn darlington stage it uses for inputs above the positive rail to the pnp darlington stage it uses for inputs below the negative rail, and you curse yourself for not paying more attention to what the old guys were saying. Also it has a lot more noise than the JFET-input op-amp you were thinking about before. And so on. Basically with a digital circuit you mostly only care about two things: whether it computes the function you want to compute, and how fast it is. Circuits that don't compute what you want to compute can simply be ruled out, and among the circuits that work, the faster the better.† Digital circuits don't have input bias currents, or rather their input bias currents don't introduce error. They don't have dropout voltages or non-rail-to-rail inputs or offset voltages or power supply rejection ratios or noise figures. Either they compute the right answer or they don't. But in analog design, nothing computes the exactly right answer. Every component introduces errors of different kinds in varying amounts. So, there are a lot of different desirable parameters, everything trades off against everything else, and which parameters matter most depends on the situation. If you're designing a circuit that gets used in a lot of different situations, like a new op-amp IC, you have to kind of guess which of those situations are the most important ones. I don't think it's true that analog circuit design is harder than programming. Like cooking, how hard it is depends on what you're doing. In all three cases you have problems of a whole range of difficulty from "trivial even for a beginner" to "beyond human capability", and, for more difficult problems, deep knowledge can diminish the amount of trial and error required but never eliminate it. ______ † This is kind of a lie. Slew rates that are faster than you need can cause ground bounce and impact your EMC, but those are analog phenomena and usually of only peripheral interest. Power consumption, another analog phenomenon present in digital circuits, is always a concern if you're on battery, though much more so for analog designs. If you're doing asynchronous logic design, you have to worry about glitches, so faster isn't always better, but almost nobody does asynchronous these days because synchronous logic is so much easier and almost always adequate. Finally, cost trades off against other desirable attributes in any kind of engineering, even digital circuit design. Still, it's a lie that's more true than false.