26
\$\begingroup\$

My road map for learning electronics included the 7400 series logic chips. I started in on electronics by following the labs in the "Art of Electronics" lab manual which includes labs with these chips. I ended up building several custom Microchip PIC and Atmel microcontroller boards before doing these particular labs. Now I am eye-balling FPGA's and getting excited to try one of those out. Should I leave the 7400 series behind or is an understanding of them considered fundamental to understanding the more modern programmable logic chips? Are some of the 7400 series still used in new (good) designs for simple stuff? Are there still particularly useful 7400 series chips that get used all the time? I guess it wouldn't take long just to do the 7400 series labs, but, I just wanted a sense of how obsolete they are since I had such a difficult time sourcing the parts. I couldn't find some and I ended up spending way more money than I thought was acceptable.

\$\endgroup\$
5
  • 7
    \$\begingroup\$ Discrete logic is obsolete? When did that happen? News to me... \$\endgroup\$ Commented Dec 8, 2011 at 7:28
  • \$\begingroup\$ @Fake Name, Welcome to the 3rd millennia. ;) \$\endgroup\$
    – kenny
    Commented Dec 8, 2011 at 7:35
  • 5
    \$\begingroup\$ Think of them like tinker toys or legos, etc. Lots of fun, you can build all kinds of things with them, and an educational experience to play with. Like other such toys, they will provide a foundation for how to think about things when it's time to get serious. \$\endgroup\$
    – JustJeff
    Commented Dec 8, 2011 at 10:42
  • 1
    \$\begingroup\$ @Kenny - that would certainly explain the multiple projects based entirely on discrete logic (well, and a lot of analog) I have worked on just this year. \$\endgroup\$ Commented Dec 8, 2011 at 10:46
  • 1
    \$\begingroup\$ To learn TTL at a practical level, see Don Lancaster's TTL cookbook: amazon.com/TTL-Cookbook-Donald-E-Lancaster/dp/0672210355 His CMOS cookbook is very good too. \$\endgroup\$
    – markrages
    Commented Aug 13, 2012 at 22:04

8 Answers 8

28
\$\begingroup\$

Don't think for one minute that just because you have an FPGA that learning about 74xx is obsolete. For designing with FPGA you must be able to 'see' the logic working in your head at a discrete gate level (you will learn this skill from discrete logic chips 74xx, cmos 40xx ).

Programming an FPGA is NOT like writing a computer program, it looks like it is, but only the idiots will tell you it is.

you will see many ,many people on the net talk about their FPGA design is big or slow, in reality they just don't understand how to think at a true multiprocessing parallel gate level and end up serial processing most of what they try to do, this is because they just crack open the design tools and start programming like they are writing 'C' or 'C++'

  1. In the time it takes to compile a design for an FPGA on a home computer, you can breadboard a simple logic design in 74xx
  2. Using FPGA for a design you MUST work with simulators rather than with the 'hard' FPGA That is to say, if your 74xx design is malfunctioning you can fiddle with the connections, with an FPGA you must re-write, re-run a simulation, and then spend upwards of 30 minutes re-compiling the FPGA design.

Stick with the 74xx or 40xx range, build some 'adders', 'shifters', and LED flashers with gating, once you are used to seeing discrete chips it becomes easier when working with a massive 'blob' that is an FPGA

\$\endgroup\$
5
  • 5
    \$\begingroup\$ There's value is working with logic chips, but this estimate is far off from what will be encountered in typical early FPGA projects. 30 minute times would be for quite large or nearly full FPGAs or ancient computers. A few minutes is more typical, especially for anything you could contemplate instead building on a breadboard, working with one of the smaller devices supported by the free version of an FPGA tool. Also, you don't typically need to re-simulate for a trivial change. \$\endgroup\$ Commented Dec 8, 2011 at 5:33
  • 11
    \$\begingroup\$ Any design that would require 30 minutes to compile for an FPGA would likely require more than the designer's weight in chips to implement in 7400's. \$\endgroup\$
    – The Photon
    Commented Dec 8, 2011 at 6:04
  • 1
    \$\begingroup\$ I've seen Altera Quartus take ~5 minutes to compile and download a simple divide-the-clock-by-n-to-flash-a-LED design. This is on a 2.4 GHz quad core too. \$\endgroup\$ Commented Dec 8, 2011 at 7:30
  • 1
    \$\begingroup\$ @Fake Name, Most of that time was start up-time or fixed-cost time. If the design had two divide-by-n circuits, it wouldn't have taken 10 minutes to compile. \$\endgroup\$
    – The Photon
    Commented Dec 8, 2011 at 16:10
  • \$\begingroup\$ I completely agree with this answer. I would add that learning logic chips, then move on to other programmable chips like GALs (they still make these right?). Those are awesome and can reduce your logic chip circuits down a lot. Then CPLDs (like big GALs), and then FPGAs. I wish they would put GAL functionality into some micros. Make them programmable from the micro itself. \$\endgroup\$
    – Demolishun
    Commented Aug 18, 2014 at 5:49
20
\$\begingroup\$

Two kinds of discrete logic I see still used a lot:

  • Buffers. If you need 60 mA to drive a long bus line, or you have an incoming signal from off your board that you don't want to give a chance to fry your FPGA, you still need a discrete buffer device. Buffers are also used as level-shifters between 5 V legacy interfaces and low-voltage FPGA I/O's.

  • Little logic. TI, NXP, etc, all have these. They're basically the same old functions as TTL logic, but usually only one or two gates in a package. And the packages are microscopic things like SOT23 or SC70. If you just need an inverter or an AND gate to fix up a control signal (say for power supply sequencing, or something like that), you don't want to use a multi-dollar programmable logic part if there's a $.05 or $.10 gate available.

\$\endgroup\$
2
  • 5
    \$\begingroup\$ I would add things like shift registers and latches to the list. An 8-bit shift register will often be more practical than anything built out of "little logic". \$\endgroup\$
    – supercat
    Commented Dec 10, 2011 at 23:36
  • 1
    \$\begingroup\$ Yeah, shift registers and latches become very useful when you run low on pins on your processor or FPGA. \$\endgroup\$ Commented Mar 8, 2021 at 22:26
8
\$\begingroup\$

Programming FPGA's is very much programming, but the target hardware is parallel at a level that most programmers can't wrap their heads around. Furthermore there are complications (timing, registering of signals, I/O pin direction, etc, etc) that simply have no analog in the purified world of applications programming.

Learning 74xx logic will help you because it will give you a feel for issues like registering signals, how far you can fan out clocks, etc. The important thing is to not get SO enamored of 74xx logic that you can't think beyond it - FPGAs are capable of amazing things in the right hands, and if all you can think of is to emulate 74xx logic in them, then you are wasting their potential.

\$\endgroup\$
7
\$\begingroup\$

Well, if you have already have them on-hand, there is no reason not to do the labs and get a good feel for what they do and how they operate.

While the basic TTL levels are getting more and more obsolete, there are various lines which offer the same gates/logic, but more appropriate for more modern designs... CMOS, high speed, low voltage, etc.

I have only had occasional use for the 7400 series, but when I did, I was glad I had a good understanding of what the series had to offer.

\$\endgroup\$
2
  • \$\begingroup\$ I would expect a lot of designs would end up using discrete logic a fair amount, since at least at the low end of the CPLD/FPGA/microcontroller spectrum, additional I/O pins are rather expensive. Do you primarily deal with higher-end parts in situations where the design will easily fit in a particular part, and can't practically be squeezed into anything smaller even with the addition of some discrete logic, or how do you avoid having to shave I/O? \$\endgroup\$
    – supercat
    Commented Dec 8, 2011 at 19:13
  • \$\begingroup\$ I have generally been involved with smaller runs of custom equipment where the cost per part has been less of an issue, so I can size the part to the task(s). \$\endgroup\$
    – Tevo D
    Commented Dec 8, 2011 at 19:42
5
\$\begingroup\$

A lot of projects will require a quantity of discrete logic which is too large to practically build out of discrete transistors, but for which even a PLD would be massively overkill or would use too much current. It's useful to know what stock 74HCxx etc. devices exist which can fill such roles. Note that in some cases there may be an 'obvious' part to fill a role, but some other part may actually fill it better. Sometimes it may be possible to use a part in an unexpected way to fulfill unique project requirements. One example I'm particularly proud of was using a 74xx153 or 74xx253 with a resistor and a small cap to perform both of the following functions (inputs A, B, and C; outputs X and Y):

X = !A
Y = output C when !A & B; else hold Y

I'm not sure the resistor and cap (on the feedback from Y) were strictly necessary, but the design used one 74xx logic chip to fill a role for which, in the early 1980's, other designers would have used multiple chips.

\$\endgroup\$
5
\$\begingroup\$

The era when you filled an entire square foot of PCB space with glue logic (i.e. 74xx chips "glued" together) is over - except for educational projects, retrofitting/creating spare parts for obsolete replacement boards, and the odd high-reliability, high-temperature, space, mil or aero rated product, maybe.

During the last two years, I have worked on boards that have tons of expensive FPGA power on them. Here are some examples where 74xx still is used on these boards:

  • Bus or line drivers and receivers - some logic families have a better current handling capability than a microcontroller or FPGA output, and some logic families don't have slew rates as poisonous as FPGA outputs (EMI!). Also, FPGA inputs tend to have very tight specifications for ringing signals beyond their GND or supply rails. A single-gate chip between a trace coming from somewhere nasty and your FPGA can save you big worries.

  • Safety-related parts of the circuits - building some parts of your design with redundancy or a means to check if some things still work as desired is often hard or impossible using a programmable device (microcontroller, FPGA, ...) only. This is where little logic (single gate ICs) is very handy. Sometimes, I even use logic built with diodes, discrete transistors and/or resistors (discrete DTL, RTL, TTL).

  • Higher-than-usual voltage levels, somtimes combined with extremely tight timing specs - especially when designing analog or power circuits, it happens that you need some logic around a part of your circuit that operates with 10...15 V, or that you need an interface between some event in the power part and an FPGA. The 4000 series CMOS chips are still awesome because they operate up (or beyond) 15 V. Discrete DTL can be designed to handle both very quick propagation delays and voltages > 3.3 V. If you need a MOSFET driver that will turn on the MOSFET only if two outputs coming from the 3.3 V "island" agree, the required AND logic gate and the level shifter to the 0 and 10 V gate driver can be accomplished using discrete logic.

  • Cost and predictability - some industrial power supplies, even very recent ones, still don't use specific flyback regulator ICs or other integrated "solutions" - and are designed around a single logic IC with 14 pins. At large quantities, these logic ICs are dirt cheap and cost a fraction of some PWM controller or whatever, and you can tweak the circuit so well that you know exactly what's going on. Sadly, very many power supply ICs still leave many questions unanswered in their data sheets, and most of them were designed with a certain application in mind. If you have a requirement just a bit off the mainstream, you quickly get to the point where lots and lots of readily available ICs get filtered out. (Want no limit on the capacitive load on the output? Stay away from anything with a hiccup mode or foldback current characteristic, i.e. stay away from something like 98% of all power supply ICs!)

Summing things up: Today, you will likely not build anything with 74xx or 4000 series ICs that can be expressed in anything more than one or two lines of logic equations - but the little helpers still get used by the tens of thousands in those fields where they are considered as "just some very well specified transistors-on-chip" in an analog or power environment.

Today, "learning" the logic chips might even be more about their electrical DC and AC specifications compared to how you can build big logic blocks or entire ALUs with them (although the latter won't hurt either).

\$\endgroup\$
4
\$\begingroup\$

Discrete logic is one of those things that everyone should know if they do any designing or debugging of electronics boards. As I understand it, very few people really dig into large scale discrete logic design. There are just too many options to place the same capabilities into a single chip and some support chips. This includes microcontrollers, CPLDs, FPGAs, ASICs, SoCs, PSoCs, DSPs (processors), and so on. Microchip even has some microcontrollers with some programmable logic cells:

http://www.microchip.com/pagehandler/en-us/press-release/microchip-launches-8-bit-mcus-with-configurable-lo.html

There are probably many more options out there. Discrete logic is still useful, but it is not necessary to learn how to build an ALU out of them. I have to agree with The Photon's list of practical discrete logic. Otherwise, in my opinion, microcontrollers and FPGAs are the most practical to learn.

\$\endgroup\$
1
  • 4
    \$\begingroup\$ At least in my experience, a project will often require "slightly more" I/O than is available in a particular microcontroller, CPLD, FPGA, etc. Adding a 74HC595 or similar chip may allow the use of a significantly cheaper micro, CPLD, etc. than would otherwise be possible. \$\endgroup\$
    – supercat
    Commented Dec 8, 2011 at 19:24
4
\$\begingroup\$

It may be useful to know what's available, as Tevo says. That said, I didn't really spend much time on them myself. I, like you apparently, bought a fair little selection of 7400s expecting them to be a step along the way.

It didn't work out that way.

You're obviously really looking forward to FPGAs. It's probably more important to keep your interest up and do things you consider fun than to follow a perceived path. After all... if it ends up feeling too much like busywork, you may burn out a little and not come back for a while.

Take a good look at the 7400 parts you've got. Do you think you have a decent handle on what they do?

I believe you should at a minimum understand logic gates and flip flops before jumping into FPGAs. If you've got that, go for it.

\$\endgroup\$

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