Discrete logic design

I'm not a professional electronics engineer at all (actually just a beginner), but my few cents are that dedicated discrete logic ICs should only be used if timing is important or if it is a requirement not to use programmable logic.

With a microcontroller you can implement much more complicated logic and it is more flexible. Also it can be reprogrammed without having to change the hardware.

Also when very fast timings are needed that software cannot keep up with, dedicated logic ICs could be used. But for an alarm system this seems unneeded (it does not need a response time of nanoseconds).

Below is my interpretation of the advantages/disadvantages:

                          Discrete logic (ICs)      Programmable logic/
                                                    (Microcontrollers)
 Nanosecond speed                  x                         -
 Just a few 'operators' needed     x                         -
 No tool chain needed              x                         -
 Cost Efficiency *                 -                         x
 PCB / proto size                  -                         x
 Flexibility for changing          -                         x
 Production cost                   -                         x
 Possibility to extend features    -                         x

* Assuming more than a few (different) logic functions needed

Discrete logic design won't be fully phased out. There will always be applications where using a discrete logic IC is preferable. As has been pointed out, speed is a big advantage, although in a lot of applications, the speed difference is just not that important.

When it comes to the design phase, if you design a circuit that only needs to perform 2 or 3 simple logic functions at different points in the circuit, it will be better to use discrete gates, just to save design time on having to also write the program too.

For systems that need to do more complex logic functions, it would be silly to spend all the time working out a truth table, then figuring out which logic gates go where etc when you could just write a small program. Usually, the more inputs mean the more gates required and the longer it takes to design in discrete.

The place where discrete logic really has the advantage though is in learning. When you are first learning about logic design and how gates work etc, that is where getting hands on with actual logic gates and designing different functions with discrete parts is great. Always a good idea to get an understanding of fundamentals. So, because of that, discrete logic is always going to have a place in this world. As for consumer electronics? The future is definitely programmable.


If you're going to create a commercial product, you really shouldn't choose a design because "it's programmable" or because a more senior colleague proposed it. Instead you should estimate risks and costs associated with each design, and pick the one with the lowest cost and acceptable risk level. For a start:

  • price of individual components adds to the cost
  • required PCB size and complexity adds to the cost
  • required design effort and tools adds to the cost
  • required testing and certification adds to the cost

  • lack of flexibility (e.g. changes in discrete logic requiring a new PCB) is a risk
  • lack of experience with a particular technology in your team is a risk
  • inability to meet project requirements (e.g. target power consumption) is a risk

If sourcing discrete logic ICs for your particular project is cheaper, your team has experience with such design and you consider the lack of flexibility is not critical, there is no reason not to use discrete logic.