Logisim 头歌 16位海明编码电路设计 图解及代码(计算机组成原理)

在这里插入图片描述

努力是为了不平庸~

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。

 急的同学请直接点击目录跳到下方解答处!! 

目录

图解:

代码题解(免费):


实验目的

帮助学生掌握海明码设计原理与检错纠错性能,能独立设计实现汉字 GB2312 编码的海明校验编码体系,并最终在实验环境中利用硬件电路实现对应的编解码电路。

实验内容

在 logisim 中打开实验资料包中的 data.circ 文件,在对应电路中完成海明校验编码电路。输入输出引脚定义如图所示。输入:16位原始数据;输出:22位校验码(16位数据位+5位校验位+1位总校验位),注意输入16位原始数据的每一位都已经通过分线器利用隧道标签引出,可以直接复制到绘图区使用。

电路框架data.circ

电路引脚

信号 输入/输出 位宽 功能描述
原始数据 输入 16 位 原始待编码数据
海明码 输入 22 位 海明编码

电路测试

离线测试:完成海明解码电路后可以在海明编码传输电路中进行测试。

Educoder测试:确认实验完成正确后可利用文本编辑工具打开 data.circ ,将所有文字信息复制粘贴到 Educoder 平台的 data.circ 文件中,再点击评测按钮即可进行本关测试,平台会对你设计的电路进行自动测试,为方便测试,请勿修改子电路封装,本关测试用例如下:

  1. Cnt GB2312 Hamming
  2. 00 bbaa 373a52
  3. 01 d6d0 3aed88
  4. 02 bfc6 177cb9
  5. 03 bcbc 374b68
  6. 04 b4f3 36cf95
  7. 05 d1a7 3a9ab4
  8. 06 cac7 19acb5
  9. 07 b9fa 171fda
  10. 08 bcd2 174d11
  11. 09 bdcc 375c61
  12. 0a d3fd 3abf6e
  13. 0b b2bf 36ab76
  14. 0c d6b1 3aeb8e
  15. 0d caf4 19afa8
  16. 0e b5c4 16dc2b
  17. 0f c8ab 198a5f
  18. ...

常见调试问题

1、为什么测评是系统提示找不到GB2312ROM.CIRC?

注意实验文件data.circ 与GB2312ROM.circ应该放在同一个目录下,前者调用了GB2312ROM.circ电路,有可能大家做实验的时候没有放在一起,然后找不到这个文件的时候大家指向了另外一个目录的GB2312ROM.circ,这样对应文件的路径就带到电路文件中去了,上传平台时测试这个路径的文件肯定是不存在的,所以就无法加载这个电路。 解决这个问题可以采用以下两种方法: (1)本地修改,直接将本地的data.circ,GB2312ROM.circ剪切移动到一个新目录中,注意一定是剪切,要保证再次打开data.circ的时候找不到原来的GB2312ROM.circ,当提示找不到该文件的时候就就点击同目录的GB2312ROM.circ,然后存盘退出就ok,再次提交测试。 (2)直接EduCoder平台修改,直接在代码框搜索该文件路径 去掉绝对路径,改成如下形式即可 2、Educoder平台实际输出XXXX是什么原因? 如果你本地测试是ok的,上传Educoder平台出现输出为悬浮态X,主要有两种可能的原因。 第一种可能是你上传错了代码,有可能上传的是别的目录的框架文件,根本没有实现电路,所以没有任何输出,要判断是否是这种情况只需要将平台的代码下载到本地打开看看就知道了; 另外一种可能是你电路的封装引脚可能因为增删改引脚发生了变化,系统测试时对应的输出引脚没有连接正确,所以需要仔细检查待测电路的封装,目前所有框架文件均提供了待测电路的封装测试子电路,仔细检查引脚是否和连线错位。

 解答:

图解:

代码题解(免费):

自己做的,立志打破积分下载垄断!代码有点长,上传资源了

Logisim头歌16位海明编码电路设计图解及代码(计算机组成原理)免费自取!留个赞趴-单片机文档类资源-CSDN文库

猜你喜欢

转载自blog.csdn.net/m0_63794226/article/details/130922008