Parts

74HC194 universal shift register

A 4-bit shift register that holds, shifts right, shifts left or loads in parallel, chosen by two mode pins on every clock.

On each rising edge of CP the mode pins S1 and S0 pick the move. Aliases: 74194, SN74HC194, 74HCT194, 74LS194, bidirectional shift register, universal shift register, ring counter, Johnson counter.

Pins

Pin Name What it does
1 MR Master reset, active low. Low clears all four stages at once.
2 DSR Serial input for shifting right (into Q0).
3 to 6 D0 to D3 Parallel inputs.
7 DSL Serial input for shifting left (into Q3).
9, 10 S0, S1 Mode select.
11 CP Clock, rising edge.
12 to 15 Q3 to Q0 Outputs.
8 GND Ground.
16 VCC Supply, 2 V to 6 V.

Truth table

MR S1 S0 On the rising edge of CP
0 x x Clear to 0000 (no clock needed)
1 0 0 Hold
1 0 1 Shift right: Q0 takes DSR, each bit moves toward Q3
1 1 0 Shift left: Q3 takes DSL, each bit moves toward Q0
1 1 1 Load: Q0 to Q3 take D0 to D3

Wire Q3 back to DSR with an inverter in between and the chip is a Johnson counter; wire Q3 straight to DSR after loading a single 1 and it is a ring counter. For more than four bits, chain the chips: Q3 of one into DSR of the next to shift right, Q0 of the next into DSL of the first to shift left, with CP, S0, S1 and MR shared.

Properties

model picks 74HC194, 74HCT194 or 74LS194. The pins and the logic are the same. The HCT and LS versions read TTL input levels, and a 74LS output high sits near 3.4 V.

What the model gets right

The mode and the serial or parallel data used on an edge are the values just before the edge. MR clears asynchronously. Delays are the SN74HC194 typicals at 4.5 V and 50 pF: 17 ns from the clock and 20 ns from MR. It powers up at 0000.

What it does not model

No setup or hold times, and one delay per path with no dependence on supply or load.

Common mistakes

Leaving S0 or S1 floating: the chip then does not know the mode. Tie both. And MR is active low, so tie it to VCC.

See it in action

The 74HC shift register and counter drawer has a 74HC194 on a breadboard, powered, with every input tied low and ready to rewire. Open it at /templates.