Electrical – Shift Register Alternatives

shift-register

Ben Eater's 8-Bit Computer project calls for 8 "4-bit D-type register". Is it ok to use the CMOS version, the CD4076BMTE4?http://bg-electronics.de/datenblaetter/Schaltkreise/CD4076B.pdf

I have heard that sometimes the voltage varies too much. The orignal design asks for the 74LS173. http://www.ti.com/lit/ds/symlink/sn54173.pdf

Also, can you use a bidirectional register, like the 74S194, and set it to go one way? http://www.ti.com/product/SN74LS194A

Lastly, can an 8 bit shift register IC, like the 74hc595, be used with four bits or does the chip require 8 bits to work properly?
http://www.ti.com/lit/ds/symlink/sn74hc595.pdf

Sorry, for asking so many questions at once.

Best Answer

Anytime you consider making a change to something that someone else has spent ... not hours but months and perhaps years making sure it works right ... you need to be prepared to evaluate your change ideas, closely. And that means you need to understand how it works.

Ben Eater has gone to some length to reach out and teach the ideas he's applied, taken to a level almost anyone serious about the topic can follow even without much prior background. In your link to his web page, if you click on the "registers" link there, it will take you to five separate videos that take about an hour to listen to. Just on the topic of his register design.

He starts out talking about using 7474 D-type FFs but then points out that there's a need for tristating buffers, so he trots out the 74245 and a bunch of AND, OR, and NOT gate chips as well, all of which he has discussed in other (older) videos. However, in these videos he's discussing a much simpler approach using the 74173, which is actually designed from the start to operate as a register attached to a bus. It not only includes four D-type FF, but it also includes the AND/OR and enable logic required and it also includes the tri-stating ability for its outputs, as well. So it's pretty much everything all bundled into a nice, easy to use part.

The 74194 does NOT have the tri-stating outputs and it's not designed as a register for a bus, but for an entirely different purpose. You can't just poke around like that. Even if you could get the 74194 to hold values for you, you still wouldn't have the tri-stating capability. And you need that, as well. So you'd now have to change his logic involved in using the part, entirely. It's just wrong on its face.

One thing is sure. You aren't prepared to make your own decisions about swapping parts around like this. So don't.

You already have Peter's recommendation about the two families that kind of "hang together" in acceptable ways. But even then you still need to be wary. Stick with a single family unless you feel competent to do otherwise. Taking into account Peter's answer, you should read at least some of An Introduction to and Comparison of 74HCT TTL Compatible CMOS Logic where you will find the following two tables in "easy to read" comparison format:

enter image description here enter image description here

HCT was designed to meet the TTL level standards at its inputs and do so with lower input current, but you can see that there are differences in the output voltage and current compliance specifications. It's not likely to bite you. But for example, the HCT output current compliance is symmetrical while the LS isn't. You need to be able to evaluate if this matters in some situation you are considering.

You might want to skim over the above intro-doc I linked above to see if anything catches your attention. Other than that? I'd stick to the plan. There's a lot of work ahead and it will be enough already just getting that much done and working right.