so i made a prototype already a few days ago and basically it's kinda a wave pipelined state machine which takes 2 inputs and produces 1 output depending on its current state.
The state in my case would be wether the adder is in 'carry' mode, and the output of that state xors the sum of the two inputs.
There's a mux thing too for selecting the carry state toggle trigger, and a few monostables to fit everything into 2 tick stages, but yeah, this thing should work.
the amount of ticks it takes to calculate is (N x 2) + 2, where N is the word size of your inputs.
Since this is literally something you can throw inline with a serial bus, it supports as many bits as you want. I'm pretty sure that this method of calculation will always be faster than converting to parallel, adding, then converting back.
Making it an ALU would involve an extra 2 tick stage, so piping data through there would be (N x 2) + 4 ticks.
One thing I find quite cool is that this serial adder is also essentially the same as a super optimised RCA, e.g. only 2 tick ripple :O
No clocking or anything is required for this thing to work. you send data and it just works, as long as you are using 2 tick serial on both your inputs, you'll get 2 tick serial right back out.
The state in my case would be wether the adder is in 'carry' mode, and the output of that state xors the sum of the two inputs.
There's a mux thing too for selecting the carry state toggle trigger, and a few monostables to fit everything into 2 tick stages, but yeah, this thing should work.
the amount of ticks it takes to calculate is (N x 2) + 2, where N is the word size of your inputs.
Since this is literally something you can throw inline with a serial bus, it supports as many bits as you want. I'm pretty sure that this method of calculation will always be faster than converting to parallel, adding, then converting back.
Making it an ALU would involve an extra 2 tick stage, so piping data through there would be (N x 2) + 4 ticks.
One thing I find quite cool is that this serial adder is also essentially the same as a super optimised RCA, e.g. only 2 tick ripple :O
No clocking or anything is required for this thing to work. you send data and it just works, as long as you are using 2 tick serial on both your inputs, you'll get 2 tick serial right back out.