1
\$\begingroup\$

I have recently been working on an 8-bit computer (Ben Eater-YouTube) and I have run into a very significant problem. My program counter seems to not work. When pulsing through a command I see that it counts on both the rise and fall of the clock.

Is there a way to fix this or is this just a faulty IC?

The circuit is described in detail in the following video. Program counter build Could this possibly be due to not enough current driving the control line? If so, how would this be fixed, with a buffer or something of the sorts?

\$\endgroup\$
  • \$\begingroup\$ Try adding let say 1000pf capacitor to ground on the clock signal. Most likely there is noise on the clock signal that is generating unwanted signals. Also you might want to draw out circuit and share the circuit diagram. \$\endgroup\$ – Mahendra Gunawardena Jan 20 '18 at 23:53
  • \$\begingroup\$ I cleaned up your wall of text and corrected some spelling and grammar issues. Someone else also corrected your hyperlink so it was not 'in-line'. Please pay attention to grammar and spelling. It really helps us to understand your question(s). \$\endgroup\$ – Sparky256 Jan 21 '18 at 0:38
4
\$\begingroup\$

As far as I can see, you don't have any power supply decoupling capacitors anywhere on your collection of breadboards. It's no wonder it's "touchy" and sensitive to glitches.

You should put about 100 µF (electrolytic) on each one of the power strips in your setup, and somewhere in the range of 0.1 to 1.0 µF (ceramic) directly across the power pins of each chip.

Even though you're running at glacially slow clock rates, the "edges" (transitions) on the signals still happen very quickly, and cause spikes of current to be drawn from the power rails that can easily upset nearby circuits. This is exacerbated somewhat with the relatively large parasitic capacitances associated with breadboards — PCB construction would be much "quieter", but you'd still need decoupling.


Another bad practice that I'd recommend that you stop is putting bare LEDs across logic outputs. At least use some series resistors to limit the current to a few mA. Without them, you're severely limiting the voltage range of your signals, which will cut into your noise margins and lead to hard-to-diagnose problems later. Better still, use buffer chips to drive your LEDs.

|improve this answer|||||
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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