- 561 views • 1 today
- 24 downloads • 0 today
3
Hello! So I hate running parallel lines to a series of bit-adders to add up binary values. So tedious! But I found a solution! By storing data in serial buses and building a little circuit (okay, it's bigger than I wanted but I think I can reduce the size) that adds the data as it comes in we can avoid all those pesky data lines. Two XOR gates, two AND gates, a comparator-repeater pulse-generator, a funny comparator based pulse-extender that I created, several repeaters that keep the gates from sending arbitrary signals when switching and the carry-outs feed back to the carry-in, timed for the next bit.
This demonstration uses two 7-bit registers to send data and an 8-bit memory cell to store the result. The circuit will continue to add bits as long as you input them but If you send new data before it has processed the entire signal (three ticks per bit plus three for the power-bit) the result will be corrupted.
I haven't calculated the delay but it's around 7 ticks.
JAVA 1.19.2
This demonstration uses two 7-bit registers to send data and an 8-bit memory cell to store the result. The circuit will continue to add bits as long as you input them but If you send new data before it has processed the entire signal (three ticks per bit plus three for the power-bit) the result will be corrupted.
I haven't calculated the delay but it's around 7 ticks.
JAVA 1.19.2
| Progress | 100% complete |
| Tags |
2 Update Logs
Update #2 : by Kataclismic 04/04/2023 10:42:53 pmApril 5, 2023 @ 2:42 am UTC
There's actually two versions of this now. I cleaned it up a little because it was slightly over-engineered but the carry-input doesn't work as-advertised in the clean version. It works fine if you input a three-tick pulse sync'ed with the first data bit but toggling it corrupts some results.
Only the version with the pulse-generator mechanism works for a toggled carry, and it is optimised for this much data. To use larger registers and feed more data in would require using a single pulse for the carry-in or expanding the mechanism (more repeaters) to account for a toggled carry.
Only the version with the pulse-generator mechanism works for a toggled carry, and it is optimised for this much data. To use larger registers and feed more data in would require using a single pulse for the carry-in or expanding the mechanism (more repeaters) to account for a toggled carry.
LOAD MORE LOGS
5900722
2



Have something to say?