Page 1 of 3

Good 74HC parts to have

Posted: Tue Apr 28, 2020 11:13 pm
by qwertykeyboard
I'm about to place an order from my local electronics store and among other things, I'm looking to have a good assortment of 74hc parts to have on hand. What are some others that you guys would recommend that are useful in a 6502 computer project?

Re: Good 74HC parts to have

Posted: Tue Apr 28, 2020 11:36 pm
by Chromatix
At the very minimum, the '00 (quad 2-NAND), the '04 (hex inverter), and the '138 (3-8 line decoder). That's enough to build the glue logic for a basic SBC.

You could also add the '02 (quad 2-NOR), the '14 (hex Schmitt triggered inverter), the '86 (quad 2-XOR), and your choice of JK flip-flops, tristate buffers, synchronous-load shift registers and 8-bit transparent and/or synchronous latches.

I would also suggest looking at the 3-input, 4-input and 8-input gates, some counters (decade and binary), the '85 4-bit magnitude comparator (potentially very useful for dividing up an address space between RAM, ROM and I/O), and the '688 8-bit equality comparator.

Don't forget to choose your logic family carefully. The 74HC series expects CMOS-type inputs that are driven to the rails. The 74HCT series would be a better choice if you must accommodate TTL levels, as produced by an NMOS 6502 for example. The 74AHC series is much faster, but you might find that not all the parts you want are available; consider looking in the 74AC series for those.

Re: Good 74HC parts to have

Posted: Tue Apr 28, 2020 11:45 pm
by GARTHWILSON
My "minimums" list will mostly overlap Chromatix':
'00, '02, '04, '14, '74, '132, '138, '139, and if you think you'll ever do a 65816, also the '245 and '573. The '165 and '595 are great for converting between serial and parallel, like when using the 6522's serial port.

There are lots more that would be good, but start with these. For small orders, the shipping cost can dwarf the cost of the parts, so you might as well get a decent set.

Re: Good 74HC parts to have

Posted: Tue Apr 28, 2020 11:48 pm
by Chromatix
I would also advise downloading a copy of each datasheet for easy reference. You can browse TI's online catalogue to find them (ti.com, products, logic, and drill down from there).

Re: Good 74HC parts to have

Posted: Wed Apr 29, 2020 12:09 am
by BigDumbDinosaur
Chromatix wrote:
I would also advise downloading a copy of each datasheet for easy reference. You can browse TI's online catalogue to find them (ti.com, products, logic, and drill down from there).
Also worth noting is TI isn't the only one producing discrete logic. Other manufacturers' data sheets are often more current than TI's.

Re: Good 74HC parts to have

Posted: Wed Apr 29, 2020 1:08 am
by qwertykeyboard
How many of each should I buy? Would two of each be ok?

Re: Good 74HC parts to have

Posted: Wed Apr 29, 2020 2:02 am
by BigDumbDinosaur
qwertykeyboard wrote:
How many of each should I buy? Would two of each be ok?
It depends on your budget. The common gates (AND, OR, etc.) are likely the ones you will mostly use. So more of those might be a good idea. A couple of C-D flops (74xx74) and J-K flops (74xx109) would be good to have. I have used bus drivers (74xx540 and 74xx541) as I/O devices in some of my designs, which may be useful to you. A transceiver, such as a 74xx245, is also useful and could be used as a bi-directional I/O device (although the 65C22 is much better for that purpose).

The good thing is that discrete logic in PDIP packages is still plentiful and relatively inexpensive. However, it isn't going to stay that way, so a little bit of hoarding now may prove to be a wise thing to do.

As far as which logic family to purchase, consider that in most cases, 74HC ("high-speed CMOS") is reliable in systems running at up 8 MHz, and output rise and fall times are moderate. Beyond that, go with 74AC ("advanced CMOS") or 74AHC ("advanced high-speed CMOS"). 74AC device outputs have an extremely fast rise and fall time, and can cause problems if construction methods are not carefully thought out. 74AHC is friendlier in that respect, but doesn't have as much drive. It all depends on what you plan to do.

I recommend you avoid using TTL devices, such as 74LS or 74F. They are power-hungry and produce TTL-level outputs, not CMOS. Attempting to drive the input of a CMOS device from the output of a TTL device may cause switching problems, unless the CMOS device has TTL-compatible inputs. Such devices will have a 'T' in the part number, such as 74ACT541.

Re: Good 74HC parts to have

Posted: Wed Apr 29, 2020 3:12 am
by GARTHWILSON
BigDumbDinosaur wrote:
The good thing is that discrete logic in PDIP packages is still plentiful and relatively inexpensive. However, it isn't going to stay that way, so a little bit of hoarding now may prove to be a wise thing to do.

I especially like this ^^^^ paragraph. You may find a price break at qty 10. Get plenty of DIP sockets too.

Re: Good 74HC parts to have

Posted: Wed Apr 29, 2020 4:44 am
by BigDumbDinosaur
GARTHWILSON wrote:
BigDumbDinosaur wrote:
The good thing is that discrete logic in PDIP packages is still plentiful and relatively inexpensive. However, it isn't going to stay that way, so a little bit of hoarding now may prove to be a wise thing to do.

I especially like this ^^^^ paragraph. You may find a price break at qty 10. Get plenty of DIP sockets too.
Speaking of sockets, the "machine-tooled" types with gold-flashed contacts are more reliable over the long haul, but the cheaper sockets with tin wiper contacts are better suited to situations where frequent removal and installation is common. In the case of ROMs, use of a ZIF socket is a good idea during firmware development. I didn't make room for a ZIF socket in POC V1.0, and that proved to be a mistake, as I was forced to extract the worn-out socket from the board and install a new one.

Re: Good 74HC parts to have

Posted: Wed Apr 29, 2020 4:51 am
by GARTHWILSON
BigDumbDinosaur wrote:
Speaking of sockets, the "machine-tooled" types with gold-flashed contacts are more reliable over the long haul, but the cheaper sockets with tin wiper contacts are better suited to situations where frequent removal and installation is common.

Exactly my experience too. Of the cheaper ones, be sure to get double-wipe, ie, where both sides of each pin of the IC are contacted electrically, not just one.

Quote:
In the case of ROMs, use of a ZIF socket is a good idea during firmware development.

I think the green TEXTOOL ones are the ones I've had kind of bad luck with. I've had good luck with all other brands.

Re: Good 74HC parts to have

Posted: Wed Apr 29, 2020 6:32 am
by BigDumbDinosaur
GARTHWILSON wrote:
BigDumbDinosaur wrote:
In the case of ROMs, use of a ZIF socket is a good idea during firmware development.
I think the green TEXTOOL ones are the ones I've had kind of bad luck with. I've had good luck with all other brands.
I've been using the below socket in POC V1.2, I have it plugged into a regular socket that is soldered into the board. It has worked out well.
ZIF ROM Socket
ZIF ROM Socket

Re: Good 74HC parts to have

Posted: Wed Apr 29, 2020 7:22 am
by qwertykeyboard
Also with regards to clock speed, I've read the clock primer already but I'm wondering what a good clock speed would be to start off with?
I've been looking into getting a 74HC4060 and using that to divide a 32768 khz crystal if I need lower clock speeds to see whats going on data and address lines with LEDs.

Re: Good 74HC parts to have

Posted: Wed Apr 29, 2020 7:45 am
by BigDumbDinosaur
qwertykeyboard wrote:
Also with regards to clock speed, I've read the clock primer already but I'm wondering what a good clock speed would be to start off with?
I've been looking into getting a 74HC4060 and using that to divide a 32768 khz crystal if I need lower clock speeds to see whats going on data and address lines with LEDs.
Assuming you use the WDC 65C02 (highly recommended), the rise and fall time of the HC4060's outputs may be too slow for reliable operation as a clock generator. Better to use a can oscillator running through a 74AC74 flop to produce a clean and symmetric clock.

What I do with a new design that has problems is use a single-stepper plugged into the oscillator socket, which generates a high pulse when a pushbutton is pressed. That, in turn, triggers the clock generator flip-flop into changing state. Thus, two pushes of the button are need for a full clock cycle. It's possible because WDC MPUs can be stopped by merely stopping the clock in either phase. Since the clock can be stopped in either phase, single-stepping as I described makes it easy to probe the buses and control signals during Ø2 low and high, which helps with troubleshooting.

Re: Good 74HC parts to have

Posted: Wed Apr 29, 2020 8:00 am
by qwertykeyboard
BigDumbDinosaur wrote:
qwertykeyboard wrote:
Also with regards to clock speed, I've read the clock primer already but I'm wondering what a good clock speed would be to start off with?
I've been looking into getting a 74HC4060 and using that to divide a 32768 khz crystal if I need lower clock speeds to see whats going on data and address lines with LEDs.
Assuming you use the WDC 65C02 (highly recommended), the rise and fall time of the HC4060's outputs may be too slow for reliable operation as a clock generator. Better to use a can oscillator running through a 74AC74 flop to produce a clean and symmetric clock.

What I do with a new design that has problems is use a single-stepper plugged into the oscillator socket, which generates a high pulse when a pushbutton is pressed. That, in turn, triggers the clock generator flip-flop into changing state. Thus, two pushes of the button are need for a full clock cycle. It's possible because WDC MPUs can be stopped by merely stopping the clock in either phase. Since the clock can be stopped in either phase, single-stepping as I described makes it easy to probe the buses and control signals during Ø2 low and high, which helps with troubleshooting.
What frequency would you recommend for the can oscillator that will reliably work on a breadboard? (I'm using a rockwell R65C02 btw)

Re: Good 74HC parts to have

Posted: Wed Apr 29, 2020 8:24 am
by BigEd
For a first build you will always be best-served by running at a low frequency. To run the CPU at 1MHz you might need a 2MHz clock can.

(My impression is that most projects ignore this advice, and most projects are never finished - not that it's a complete overlap.)