0

在逻辑电路中,我有一个 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 是它们在输出数组中占据的位置 ( P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8 P5)

按照该约定,我得到:

P1 Checks data bits -> XOR(3 5 7 9 10 12) P2 Checks data bits -> XOR(3 6 7 10 11) P3 Checks data bits -> XOR(5 6 10 11 12) P4 Checks data bits -> XOR(9 10 11)

我对吗?让我感到困惑的是,如果我应该开始检查将奇偶校验位计数为应该检查的 2^n 位之一,或者该特定奇偶校验位之后的 1 位。几乎可以概括为是否具有包容性。

提前谢谢你的帮助!

干杯!

4

1 回答 1

0

你可以按照这个方案。每行中标记的位总和必须为 0(模 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。

于 2015-10-31T09:06:44.510 回答