计算机组成原理实验报告(汉字编码与校验设计实验) 您所在的位置:网站首页 汉字输入系统的组成 计算机组成原理实验报告(汉字编码与校验设计实验)

计算机组成原理实验报告(汉字编码与校验设计实验)

2023-05-31 07:08| 来源: 网络整理| 查看: 265

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

实验一 汉字编码与校验设计实验

  这次实验利用logisim进行设计,进行了以下这四个实验,其中分为汉字国标码转区位码实验、汉字机内码获取实验、海明编码电路设计与海明解码,实验报告分为六个部分,在这四个部分中依次对四个实验的方案设计,设计思路进行了介绍

1 汉字国标码转区位码实验 1.1设计要求

这个实验基于logisim软件进行设计,实验要求在对应电路中完成国标码转区位码的子电路设计,当汉字显示能够正确显示“华”,说明实验正确。

1.2方案设计 1.2.1 设计思路

国标码GB2312采用了94×94=8836的二维矩阵对字符中的所有汉字字符进行编码,,采用十进制表示,所有字符都在矩阵中有唯一位置,这个位置可以用区号和位号组合表示,称为汉字的区位码,他们可以互相转换:区位码+A0A0H=GB2312,所以区位码=GB2312-A0A0H,由此可以得出设计思路,实验要求用加法器实现,并且输出区号和位号,因此对于输入端的另一个输入应该为A0A0H变补后的字节。

1.2.2 设计原理

通过上面的设计思路,我们可以完成下面电路的设计,输入端的另一个输入为A0A0H变补后的字节,可以直接用DEF0来作为A0A0H通过求补器送到输入端的字节,因为A0A0变补后是5F60H,两个字节最高位都+1,就是DFE0。但最高位在取区位码的时候没有使用(区号和位号最高位永远是0)区号位号最大都是94,7位二进制编码即可,最高位无用,因此效果一样。并且直接填def0的话,实验设计较将A0A0H求补相比,更为简单

1.2.3 实验图片

使用上面的设计思路与设计原理来进行电路的连接,这题连接其实较为简单

image.png

image.png

1.3实验步骤

1) 实验文件data.circ与GB2312ROM.circ需要先放在同一个目录下,因为实验中调用了B2312ROM.circ的电路,不放在一起的话,会出现测评错误:系统提示找不到****GB2312ROM.CIRC

将实验初始的元器件进行正确的连接,位号与区号,连接在输出端,GB2312连接在输入端

3) 在输入端连接一个常量def0,常量不能输入十六进制数,因为常量默认输入十进制,所以需要增加0x开头

image.png

1.4故障与调试 1.4.1接口位宽不匹配

故障现象:数据位宽不匹配

image.png 原因分析:, 开始直接在输入端连的常量,数据位宽为1,和接口数据不匹配,需要进行修改****

解决方案: 将此常量的数据位宽改为16,并且值改为0xdef

1.5 测评结果

image.png

2 汉字机内码获取实验 2.1设计要求

使用logisim软件,在电路中的ROM存储器中存入题目所给的指定句子,该电路中计数器用于自动生成存放汉字 GB2312 编码的 ROM 组件的地址序列,启用时钟自动仿真后,右侧的 LED 矩阵区域会依次显示ROM中的事先预存的汉字内容

2.2方案设计 2.2.1 设计思路

这题的要求是,将“12345ABCDEFGabcdefg轻轻的我走了,正如我轻轻的来;我轻轻的招手,作别西天的云彩。那河畔的金柳,是夕阳中的新娘;波光里的艳影,在我的心头荡漾”的汉字转为机内码,这一块可以用网上在线的工具进行转码,然后对只读存储器进行编辑,其他部分都不需要进行改动,实验还是较为简单的

2.2.2 设计原理

有时汉字信息如果不进行特别标识,会与单字节的ASCII码混淆,因此解决方法之一是将一个汉字会被看成两个括展的ASCII码,使表示GB2312汉字的两个字节最高位都为1,这种高位为1的双字节汉字编码即为机内码。因此其实GB2312的汉字可以直接被机内码表示,使得这题的实验其实最重要的就在于汉字转为机内码的那一步,而并且有一关键点为每一个时钟,要正确实现一个汉字,原理还包括将数据存入ROM存储器中

2.2.3 实验图片

image.png

image.png

image.png

image.png

image.png

2.3实验步骤

1)先确认上一个实验正确完成,因为两个实验环环相扣,汉字机内码获取实验,是基于汉字国标码转区位码的实验进行的

2)将题目要求转换的字码复制,通过在线编译软件进行转码

3)复制第二步所获得阶码,将其粘贴到可读存储器中,并进行保存

4)保存成功后,点击时钟按钮进行测评

2.4故障与调试 2.4.1 结果输出不正确

故障现象:在对可读存储器中进行数据编辑后,点击时间按钮进行仿真,右侧LED矩阵无法正确显示实验结果

image.png

原因分析:再次检查本次实验页面,发现并没有问题出现,由此可得,问题可能出现在之前的实验当中,后面发现的确是第一个实验当中,存在问题,使得基于第一个实验的本次实验无法正常运行

解决方案:将第一题问题解决(问题为:接口数据不匹配),改正完之后,实验正确

2.4.2 数据结果输出太快

故障现象:不需要点击时钟信号,LED矩阵自己会跳动,输出正确结果,但输出频率太快

image.png

image.png

原因分析: 当时自己调节电路仿真模块为时钟连续,可能频率调节过于大,使得输出速度过快

解决方案: 其实采用电路自动仿真,将时钟调为连续的话,的确会比较方便,因为这样就不需要自己点击时钟信号了,可以直接看到LED矩阵的变化,但是需要将时间频率调好

2.5 测评结果

在进行改进后,系统能够正常运行,并且LED矩阵自动改变不会过于快,速度适中。

image.png

image.png

3 海明编码电路设计 3.1设计要求

要求掌握海明编码的原理与设计,了解如何其编码的原理,以及如何进行分组,还需要认识到校验位的逻辑思路,完成最终电路的设计与运行

3.2方案设计 3.2.1 设计思路

首先先要了解到实验的原理,了解其是如何分组的,设计出22位的海明编码(16位原始数据+5位海明检验位+1位总的奇偶校验位),然后对题目所给出的海明码进行分组,之后对于分组完成的电路进行连接,连接完成后便可以进行运行

3.2.2 设计原理

1)编码原理

实验要求设计出22位的海明编码(16位原始数据+5位海明检验位+1位总的奇偶校验位),但其只给出了16位的原始数据,因此只需要设计出五位海明校验位的电路与总奇偶校验位的电路,便可以实现编码这个过程

2)分组原理

那么五位海明校验码是如何实现的呢,首先就要了解如何计算五位海明校验位

K+n



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有