海明编码流水传输实验(计算机数据表示实验)

首先,了解实验具体要求,实验要求我们对发生两位错的数据进行重传。

以下是电路设计:
海明编码流水传输实验(计算机数据表示实验)_第1张图片解题思路:
1.地址回滚
海明编码流水传输实验(计算机数据表示实验)_第2张图片
在这里选用选择器,当无发生两位错误时,此时箭头所指的输入端为0,此时选择器选择第0位的数据输入即将01输入,常量和加法器,寄存器够成的电路实现的是x=x+01的功能,即类似于计数器。因此无发生两位错时,不需要进行地址回滚。
当发生两位数据的出错时,此时输入的是fd,即-3(8位二进制)的补码表示,因为此时是加法器,因此减3,要用补码进行表示成fd,从而实现地址回滚。

为什么是减3,这里解释一下:
假设华字发生两位错,且其他数据的传送都如下图所示
海明编码流水传输实验(计算机数据表示实验)_第3张图片
此时,要将华字回滚到取数阶段,然而此时的取数阶段的对应序号为4,而华字的对应序号为1,因此4-3=1,故此时的加法器的输入端应该为-3(八位二进制),则其对应补码为fd。

2.清空前段的数据
由于当前电路中的每个阶段都保存了数据,如上图中的‘技’,‘科’,‘中’,要将其数据全部清空,则可利用16位流水接口和22位流水接口的同步清0(高电平有效)。
海明编码流水传输实验(计算机数据表示实验)_第4张图片
进行同步清0,必须在两种状态都满足的条件下进行,该两种状态是:发生两位错,传送数据有效。发生两位错再进行同步清0是不言而喻的;数据有效,表明当前传送的数据是有效的。如果数据无效的话,数据都无效了,有无发生两位错和是否重传都是没有必要的。

3.暂停显示阶段的动作

此时数据发生两位错误时,该数据不应该传入显示阶段中,显示阶段应该继续显示上个数据,即暂停显示阶段的动作。
海明编码流水传输实验(计算机数据表示实验)_第5张图片
标签en5所连接的便是该16位流水接口的使能端(高电平有效),当使能端为1时,忽略时钟的输入,即错误数据不会传入该阶段,仍然继续显示上个数据。
有两种情况应该暂停显示阶段的动作:
①发生两位的错误时
②数据无效时
这两种情况,若其中有一种情况发生,都应该暂停显示阶段的动作。

进行测评:
海明编码流水传输实验(计算机数据表示实验)_第6张图片

你可能感兴趣的:(笔记)