Hi, this is my first ever post on any forum in general, so forgive me for the basic forum etiquette mistakes I am bound to make.
I am currently building an 8bit computer on breadboards with the help of Ben Eater's Youtube Series.
I am at the point where I’ve got my clock: (3 555 Timers, One Astable for an automatic mode, One Monostable for a Manual mode and one bistable to switch between the two (To act as a debouncer))
Ive got 2 8-bit Registers that use 2 74LS173 Each and an Octal Bus Transciever to output to the bus (74LS245)
And an ALU, that has 2 74LS283-s as 4bit Adders and an octal bus transceiver, +XOR Logic to Invert and 1 one to the output of Register B To implement subtraction.
At first I was stuck at this point because I was using CMOS XOR chips into which I was feeding the output of the 74LS173, since then I’ve learned about the different logic levels of CMOS and TTL Families, and have substituted these CMOS Chips for their TTL Counterparts.
Now the problem is the following:
Individually, if the other register is set to 0, the ALU has the correct output, that is, the same as the non-zero register (This is for each of the two registers).
Used Together, the Two registers sum to the correct value if they have no overlapping bits, (with a few exceptions which I’m mostly sure is coincidence)
For Example:
1+1 = 64
1+2 = 3
2+2 = 1
3+2 = 64
3+3 = 65
7 + 3 = 69
7 - 3 = 4
I’ve Checked the connections, and although I could be wrong, I’m pretty sure my wiring is Correct.
I Haven’t looked into the behavior of the subtraction mode that much yet to see a pattern.
Another strange behavior I’m seeing is the following:
The Clock Pulse from my clock circuit has an LED at the output as well as the wire that goes to the clock inputs of the 4bit D Type Registers on the 8-bit register boards. this LED is there for me to see what state the clock is in/What frequency the 555 is making it oscillate.
This Clock output wire is fed straight to the clock inputs of the A Register, and from that node, to the clock inputs of the B Register.
What’s strange is that, the A register Responds to both the rising and the falling edge of the clock, while the B Register responds only to the rising edge, but removing the LED connected in parallel with this output, causes the A register to respond the way it is supposed. I would really like to understand why this happens.
I know this is quite a vague description, If it helps, the setup is almost the same as the setup in ben eater’s videos.
Thanks in advance, I hope to get at least some insight into my problem and learn something new in the process :3
P.S. I'm not sure if these photos will be of any help, but I will attach them all the same.
P.P.S I am happy to respond with any more details if needed.