4 Bit Register not loading properly

register

Basically I have a 4 Bit Shift Register that I am trying to get to work. From my understanding when I send a pulse of 1-1 to inputs S0 and S1..it is suppose to do a parallel load.

I have ensured that the pulse coming is clocked exactly with the clock input (1hz) connected to the Shift Register. Unfortunately, every time I load 0000 inside, the value somehow erractically changes! It goes from 8-4-12-2 to 0, despite the fact that it was suppose to stay at 0!

I have no idea why this is happening please help!

Best Answer

You neglected to say what part number you are using, which makes other people do unnecessary googling. Is it the 40104/40194?

Anyway, it is not true that you send a pulse to S1 and S0. The values 1 1 should be presented, and take effect on the rising edge of the clock.

If you try to set the inputs to a sequential logic device at exactly the same time as the clock edge, you will get erratic behavior. In general, inputs must already be settled by the time the clock arrives.

For instance, take a look at the timing diagram on page 8 of this datasheet: http://www.datasheetcatalog.org/datasheet/philips/HEF40194BD.pdf

There is a minimum "set up time" and "hold time" before and after the clock edge.