berger code ALU really detect all unidirectional errors?

BrownTown

Diamond Member
Dec 1, 2005
5,314
1
0
So, for my VLSI project I am going to be making a berger code ALU since it is apparently my partners research focus, and I have been looking up on the internets how they work, and the one thing that somewhat confuses me is that in the case of the adder and multiplier circuits the ALU uses the internal carries as part of the error detection, but it seems like if the error occurred in an adder then using the output from said adder as part of the error code would invalidate the error checking ability. I mean obviously these things are used, I jsut want to understand how, is it that the error effect the error code and the ALU output differently and therefore is still detected, or the the berger code ALU simple *mostly* right but can sometimes fail?
 

Born2bwire

Diamond Member
Oct 28, 2005
9,840
6
71
I don't know what the Berger code is and I don't have the time to look it up at the moment, but one quick thing to consider is that if you have a carry bit, the output of the 1-bit adder must be zero. So one simple error check would be to XOR the carry and output bits, a high output would denote correct operation. The only thing that this would not check is a flip in both the output and the carry. But I think you could do a check from the inputs of the adder to quickly check this but it seems to me that doing so would require a gate complexity similar to the adder itself.

EDIT: Well, duh, the above doesn't work when the inputs and carry in are all 1. Meh, then you would have to do some logic gate taking into account the ins in comparison to the outs. Either way, I now consider this Berger to in all probability to be a real jerk.
 

BrownTown

Diamond Member
Dec 1, 2005
5,314
1
0

THANKS! i had seen lots of stuff in various locations, but this paper seems to have it all well explained in the same area. FWIW the reason this is being explored at my school is because they do alot of radiation effects on circuits to harden them against radiation (important for NASA space applications and satellites and such). Radiation induces errors in VLSI circuits, so you need error checking to make sure you don't have radiation induced errors.