There's a project I'm working on that needs a simple LIFO register.

What I mean by simple is to support the PUSH & POP operations, and I guess EMPTY and FULL indicators.

I must be searching with the wrong keywords on Google, because searches such as "CMOS LIFO register" come with educational papers, and not ICs.

The 7400 series IC list I'm sticking to doesn't list an IC that does those.

While I can simply accept that there's no such IC, that would be surprising, as the demand, should be sufficient (I'm not a market nor electronics expert, I'm simply guessing). So, if there's no CMOS stack register out there , why exactly ?

So I guess my questions are :

  • Is there any basic CMOS LIFO register or equivalent ?
  • If there doesn't exist such IC, why ?

Sorry if my question is just a result of my poor Googling skills, by the way.

  • 1
    \$\begingroup\$ while shift registers are easy to implement, stacks are not, would be my guess. Also, a FIFO is in far more common demand; whatever needs a LIFO typically is complex logic enough to be able to address memory and would hence work with a RAM chip. (that's by the way what I'd recommend in this case, have a glue logic CPLD + a RAM IC) \$\endgroup\$ Nov 8, 2017 at 22:43
  • 2
    \$\begingroup\$ Discrete CMOS is pretty much obsolete in general, vs microcontrollers. I think FiFos exist but lifo is a bit more complex. \$\endgroup\$
    – pjc50
    Nov 8, 2017 at 22:49
  • 3
    \$\begingroup\$ The main reason is lack of demand. The only place such operations are usually needed is within a processor - nobody designs processors using SSI. You can easily implement it in an FPGA if you needed it. \$\endgroup\$ Nov 8, 2017 at 22:52
  • \$\begingroup\$ I know that FPGAs are now the way to go for processing units. But as my project is a self-educating one (and once finished probably an educating tool) so , i'd really like to stick to discrete, to ease learning (not toward college students, but more toward curious high-schoolers). \$\endgroup\$ Nov 8, 2017 at 22:59
  • 1
    \$\begingroup\$ You could use a static RAM chip addressed by a synchronous (clocked) binary up/down counter. The counters are often just 4 bit, but it's easy to cascade two or more to address more than 16 values. \$\endgroup\$
    – jms
    Nov 8, 2017 at 23:36

2 Answers 2


A universal shift register IC can implement the function you're thinking of. For example, the 74194. No empty/full indicator as that would require a counter. Push/pop are left/right shift.

  • \$\begingroup\$ I though of that as well. To create the empty/full indicators would indeed require a counter. The empty/full signals could also be useful in avoiding bottom data erasure (being shifted out of the shift register). It would indeed be my solution if LIFOs are unavailable. I am going to wait the night for answers to come before reviewing and accepting one. \$\endgroup\$ Nov 8, 2017 at 23:21

I would suggest using an SRAM and an up/down counter. Might need a bus switch as well for reading. How big of a stack are you trying to build?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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