3 ms·
(Disclosure: I wrote the simulation engine that powers CircuitLab, a mixed-mode [i.e. analog+digital combined] circuit simulator, so this builds on the digital-
by compumike 6y ago
(Disclosure: I wrote the simulation engine that powers CircuitLab, a mixed-mode [i.e. analog+digital combined] circuit simulator, so this builds on the digital-only logic simulation concept.)
If you find it fun to play with digital logic, you should first look at combinational logic, and then add some registers and get clocked logic with memory / registers. Once you've got that down, I'd recommend two next steps:
1. Look at some simple circuits that combine analog and digital. For example, [1] a digital 4-bit counter made up of four half-adders. (It's called a half adder because it only adds two bits A+B, producing a value 0, 1, or 2. In contrast, a full adder adds three bits A+B+C, producing a value 0, 1, 2, or 3.) The four output bits of the 4-bit counter are connected to a simple op-amp and resistor based digital-to-analog converter (DAC). This helps you understand that we have lots of ways of representing signals, and in engineering practice we combine these modalities to useful effect.
2. Instead of merely using software to model circuits, understand that circuits are a great way to model all sorts of real-world problems. You may have heard of "analog computers" [2] which predate digital ones, and were used for modeling all sorts of engineering problems. You may now use a circuit simulator to model mechanical systems, thermal systems, or even the spread of COVID-19. I've done the latter here [3], using a few capacitors and current sources to implement the differential equations of an epidemic. Because you can define current sources algebraically (i.e. the current can be proportional to other currents and voltages in the circuit), you can easily take advantage of the simulator's underlying ability to simulate arbitrary systems of differential equations. I've explained the COVID-19 model here [4] as previously discussed on HN.
[1] https://www.circuitlab.com/editor/53xa3r/ https://www.circuitlab.com/editor/53xa3r/
[2] https://en.wikipedia.org/wiki/Analog_computer https://en.wikipedia.org/wiki/Analog_computer
[3] https://www.circuitlab.com/editor/zubfhu8p3q3v/ https://www.circuitlab.com/editor/zubfhu8p3q3v/
[4] https://www.circuitlab.com/blog/2020/05/28/surprising-covid-19-strategy-how-to-reduce-economic-damage/ https://www.circuitlab.com/blog/2020/05/28/surprising-covid-...