4 ms·
There's two layers to its utility. For overall circuit design (not IC design specifically) it's a tool for simulating the analog behaviour of a circuit. Two fre
by tonyarkles 10mo ago
There's two layers to its utility. For overall circuit design (not IC design specifically) it's a tool for simulating the analog behaviour of a circuit. Two frequently used modes are "transient response" and "AC steady state response". The first shows you the voltages and currents in the circuit in response to a changing input (e.g. the input goes from 0V to 3.3V). The second sweeps across a user-specified range of frequencies and shows you the voltages and currents to expect across that range. Linear devices (resistors, capacitors, inductors) are generally easy to work out by hand, but when you start adding non-linear devices (diodes, transistors, etc) it gets pretty impossible pretty quickly to hand calculate with any real degree of accuracy. Many vendors provide SPICE models for their parts, so you can often get decently accurate simulation outputs. To your question "when is it not useful?", you have to be very careful to look at the simulation output and use your brain to determine whether or not the results actually make sense; it's quite possible to either mess up your netlist or device models and get output that is completely wrong but still simulates fine.
For IC design specifically, all of the above is still true but with a little extra. One of the challenging parts with IC design is the fact that every fab/process behaves differently and at smaller and smaller feature sizes those behaviours differ more and more from the basic first-order models. To make this kind of design even possible, the fabs do their best to characterize and model what transistors made on the process will do as a function of their geometry. This is often considered to be highly proprietary data and most of the commercial simulators provide a mechanism for the fab to release these model files (sometimes called PDK: process development kit) in an encrypted format that the simulator can decrypt but the user can't see. The designer can parameterize the transistors in their design by manufacturing parameters (e.g. gate width, well depth, etc) and get reasonably accurate simulations... with the same caveat as above: you always have to be vigilant to ensure that the output values actually make sense; the simulator can produce absolutely nonsensical results if the input is bad.
The other "not useful" part is that the simulation runtime can get very long as the complexity of the design grows. I haven't been in that industry for almost 20 years now but back then you were generally limited to simulating small subcircuits (say 100s of components) if you wanted anything close to quick results. Simulating larger designs would take days or weeks.