Multi-sourced, and a nice attribute of these configurable logic gates is their Schmitt inputs. This allows them to be used as various types of timed pulse generators by placing an RC network at one input.
elizabethsimon: ATF16V8CZ are 5V and have been easy to source from multiple distributors. At $1-2 they are cheap enough, sink 24ma, source 4ma. Buffer with a high current octal ttl part for more drive.
Not to say they will be around long, EOL is striking a lot of 5v PLD parts. One of those parts worth buying up a long supply ... cheap enough, and worth it long term.
This is a good philosophy for NEW designs. Unfortunately, there are some cases where it won't work.
It's becoming difficult to find PLDs and most newer CLPDs and FPGAs are not 5V tolerant. So when I had to add a fast (<4ns) buffer to use as a level translater from 5V to 3.3V, the only thing I could find that would work were some single gate parts.
I recently had to replace an FPGA that became obsolete with a newer part. Not only were the pacakges and pinouts incompaible but since the new part was not 5V tolerant, I had to add buffers (with logic to switch the buffer direction) that weren't required in the original design.
This is the kind of thing that happens when you work for a company that's still building products designed when almost all logic wa 5V
There are single and double "definable" gates from several suppliers. They cost pennies and are SOT-23 in size and 6 pin micro BGAs. You can define their gate "function" at the time of installation (http://www.ti.com/lit/ds/symlink/sn74aup1g57.pdf) I am sure they are cheaper, lower in power and smaller than any PLD option. Heck, why use a PLD? why not a micro controller ( they are certainly getting very ,very small, fast and very , very cheap).
I know a lot of companies that would prefer they didn't have to keep both C/C++ programmers AND programmers that work exclusively in programmable logic tools. I know a few C/C++ programmers that would like to take back control of that programmable block - without having to learn another tool set.
We have so many options today.
I understand why you may want to have some excess / spare circuitry because the product has not been completely defined, may want some design re-use (modularity) or as a simple CYA (cover your A...) for the unexpected.
Lower volume products (less than 5K/year).. mmm OK, sure. makes sense.
Often flexibly and design re-use trumps cost/space/power choices.
But.. I wouldn't assume this to be a "best" practice to be recommended to others.
Henry Ford's definition of a engineer: "A engineer does with one dollar what any fool can do with two dollars".
I've used single-gate chips recently. They're very nice for I/O modules where you need the drive current and/or protection you can't get from a PLD. They're also nice as part-stuffing options, for example when you have several different kinds of copper and/or fiber interfaces and some need active-high signals and some need active-low.
NXP has some versatile 6-pin configurable logic gates. You get different functions by connecting your signals to different pins and/or strapping pins to +V or ground. This lets you get a lot of different functions without stocking a lot of different parts.
Think_j: I think I would still use a low cost PLD for a single gate, simply to have the extra unused outputs and inputs available on the board for ECO's or semi-custom variations of the design that can do some signal management of inputs/outputs as needed. It's much easier to stock PLD SKU's, than a wide assortment of TTL in the long term. Every company has different views and requirements on this.
John_Bass. you are right, a lot of design work will never require a individual gate. I too have used programmable logic as you have described for many of the same reasons.
But individual gates are still used - I certainly wouldn't put in a programmable logic part when only one gate was required. A recent design I worked on, a TI Sitara 1GHZ, Cortex A7 processor design required a single gate for interaction between the processor and the power regulator specifically designed for this processor. No need for any programmable logic anywhere else in the design. Please don't ask me to explain why they couldn't have elimiinated this requirement.
The point I am trying to make: the schematic symbols for logic of any type, should NOT try to represent the pcb shape or pcb layout. It SHOULD try to represent the best way of conveying the function of the circuitry.
Granted, programmable logicc is problematic. Blocks representing the power and special purpose pins are easy enough to keep separate from the rest of the "logic" when creating a schematic symbol. But the best way to represent the logic could be very different on products. (same IC on different designs).. few of us want to create different symbols for the same part - based on the usage. Still , it can be done.
I get requests for processor pins that have 17 different functions.. to be identified ON THE SCHEMATIC SYMBOL ... which function will be used on a given schematic (yes , a different schematic symbol for each usage of the part). The identified Signal using the pins ..is not enough documentation for some.
While you often can improve the layout on a pcb by forcing pin choices on a programmable logic device, often this will be at the expense of performance (internal) of the device. Altera, Xilinix, etc.. most will recommend letting their software select pin assignments to optimize their performance.
There is no one right answer for all situations.
The customers for the "schematic" (future engineering support, test dept, repair tech)...is a very different customer from the "pcb layout" (pcb designer,) or purchasing ( layer count , pcb area, drill hole count, etc), or manufacturing (ease of assembly with processes available, component selection based on a pricing and availability), component placement based on thermal/mechanical considerations of the product. The list of issues to consider is large.
To really do the job "right".. requires consideration of all these customers/departments. Your work is judged by all of them.
I assume none of the preferences from each of these "customers" will remain stationary... making our jobs that much harder (sigh).
Of couse, we could just "blow off" the concerns of others (we know best)..