Logisim 头歌 汉字字库存储芯片扩展实验 图解及代码(计算机组成原理)

在这里插入图片描述

努力是为了不平庸~

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

 需要代码答案的同学请直接点击目录跳到下方解答处!! 

目录

 图解:

代码题解(已上传资源): 


实验目的

理解存储系统进行位扩展、字扩展的基本原理,能利用相关原理解决实验中汉字字库的存储扩展问题,并能够使用正确的字库数据填充。

实验内容

现有如下 ROM 组件,4片4K*32位 ROM ,7片 16K*32位 ROM,请在 Logisim 平台构建 GB2312 汉字编码的16K*16点阵汉字字库,电路输入为汉字区号和位号,电路输出为8×32位(16K*16=256 位点阵信息),待完成的字库电路输入输出引脚见后图,具体参见工程文件中的 storage.circ 文件,图中左侧是输入引脚,分别对应汉字区位码的区号和位号,中间区域为8个32位的输出引脚,可一次性提供一个汉字的256位点阵显示信息,右侧是实际显示区域,用于观测汉字显示是否正常。待完成字库子电路封装已经完成,请勿修改以免影响后续自动测试功能。

电路框架

storage.circ

电路引脚

信号输入/输出位宽说明
区号Qu输入7 位汉字区位码的区号
位号Wei输入7 位汉字区位码的位号
Di输出32 位汉字点阵信息

电路测试

完成存储扩展设计后,可以在字库测试电路中进行对比测试,如下图所示:

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

  1. CNT Qu Wei Chip1Data
  2. 00 1b 0a 08600858
  3. 01 36 30 7ffe0104
  4. 02 1f 26 0850f890
  5. 03 1c 1c 13fc1048
  6. 04 14 53 01000100
  7. 05 31 07 00201110
  8. 06 2a 27 0fe00820
  9. 07 19 5a 5ff44024
  10. 08 1c 32 40027ffe
  11. 09 1d 2c 09447f40

 图解:

代码题解(已上传资源): 

Logisim头歌汉字字库存储芯片扩展实验图解及代码(计算机组成原理)直接打开文件,全选然后直接复制粘贴使用、可以私信提资源-CSDN文库

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Logisim中实现汉字字库存储芯片扩展,需要使用ROM(只读存储器)模块来存储汉字的点阵数据。下面是实现的步骤和代码: 1. 创建一个新的Logisim项目。 2. 在项目中添加一个ROM模块。在“Wiring”菜单中,选择“ROM/RAM”,然后选择“ROM”模块。 3. 在弹出的对话框中,输入ROM的大小。汉字通常是16x16的,因此我们需要一个16x16的ROM。选择“Address bits”为4,选择“Data bits”为16,然后点击“OK”。 4. 右键单击ROM模块,选择“Edit Contents”来编辑ROM的内容。 5. 在ROM编辑器中,输入汉字的点阵数据。每个汉字需要占用16个字节的空间,因此我们需要输入256个字节的数据。具体的点阵数据可以在网上找到,或者自己手动制作。 6. 点击“OK”保存ROM的内容。 7. 在项目中添加一个16位数据总线和4位地址总线。 8. 在项目中添加一个16位寄存器,用于存储从ROM中读取的数据。 9. 添加一个按键用于触发读取操作。 10. 连接按键到一个时钟模块,用于产生读取操作的时钟信号。 11. 连接地址总线到ROM的地址输入,将ROM的数据输出连接到寄存器的数据输入。 12. 将时钟信号连接到ROM的时钟输入和寄存器的时钟输入。 13. 在寄存器的输出上添加LED灯,用于显示读取的数据。 14. 编写Verilog代码来实现上述功能。下面是一个示例代码: ```verilog module HanziROM(clk, addr, data, read, output); input clk, read; input [3:0] addr; output [15:0] data; output output; reg [15:0] ROM[0:15]; initial begin // 初始化ROM的内容 // 每个汉字占用16个字节,共需要256个字节 // 具体的点阵数据可以在网上找到,或者自己手动制作 end always @(posedge clk) begin if (read) data <= ROM[addr]; end assign output = (data != 16'h0000); endmodule ``` 15. 在Logisim中加载Verilog代码。在“Project”菜单中选择“Load Verilog”,然后选择刚才编写的代码文件。 16. 将HanziROM模块添加到项目中,并设置输入和输出端口。将按键和LED灯连接到相应的端口上。 17. 点击“Simulate”按钮来启动仿真,测试汉字字库存储芯片的功能。 注意:Logisim是一个图形化的电路设计工具,Verilog代码只是用来描述电路行为的语言。在使用Logisim时,不需要编写代码,只需要在图形界面中添加电路元件并进行连线即可。上述Verilog代码只是为了方便描述电路的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉蕤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值