在逻辑电路中,我有一个8位数据向量,它被送入ECC IC,我应该为其开发逻辑,并包含5个奇偶校验位的向量。开发逻辑(使用逻辑门,XOR)的第一步是确定哪个奇偶校验位将检查哪些数据位(因为它们是隔行扫描的)。我使用偶校验,并遵循一般汉明码规则(每2 ^ n中的奇偶校验位),我得到以下输出序列:
P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8 P5
遵循通用汉明算法:
对于每个奇偶校验位,位置1,2,4,8,16等等......(2的幂),我们跳过第一个位置n(n-1)并检查1位,然后我们跳过另一个,检查另一个,等...我们对其他位重复相同的过程,但这次检查/跳过每2 ^ n,其中n是它们在输出数组中占据的位置({{1} })
按照惯例,我得到:
P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8 P5
我是对的吗?令我困惑的是,如果我应该开始检查将奇偶校验位计数为应该检查的2 ^ n位之一,或者在该特定奇偶校验位之后的1位。如果是包容性的话,几乎总结一下。
提前感谢您的帮助!
干杯!
答案 0 :(得分:0)
你可以遵循这个模糊。换句话说,每行中标记的位必须总和为0(mod 2),对于每行中标记的位置,设置位的数量必须是偶数。
P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8
x x x x x x
x x x x x x
x x x x x
x x x x x
我不明白你为什么在计划中有P5。