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.
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++'
- 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
- 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
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.
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.
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.
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.
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).
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:
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.
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.