【问题标题】:Parity bit checks using General Hamming Algorithm使用通用汉明算法进行奇偶校验位检查
【发布时间】:2016-01-31 15:45:49
【问题描述】:

在逻辑电路中,我有一个 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 位。几乎可以概括为是否具有包容性。

提前感谢您的帮助!

干杯!

【问题讨论】:

    标签: algorithm circuit error-correction parity hamming-code


    【解决方案1】:

    您可以关注此方案。每行标记的位总和必须为 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。

    【讨论】:

    • 知道了!您是否碰巧知道如何使用 XOR 门实现该逻辑?或者至少你能给我一个提示吗?我指的逻辑是 P1 = XOR(3, 5, 7 ,9, 11)
    • 不确定您在问什么:将输入 3、5、7、9、11 输入 XOR 门,然后输出结果 P1。
    • 就这么简单吗?因此,如果我将 P1 的所有输入(3 5 7 9 11)输入 XOR 门,它会给我 P1 的结果吗?多输出异或门的逻辑是什么?
    • 多输出是什么意思?异或门只有一个输出。但我们越来越离题了。
    猜你喜欢
    • 2014-03-06
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 2012-07-02
    • 2016-01-31
    • 2013-05-22
    • 1970-01-01
    相关资源
    最近更新 更多