自己动手写CPU之第九阶段(5)——实现加载存储指令4(修改OpenMIPS顶层模块)
来源:互联网 发布:sqlserver 大数据处理 编辑:程序博客网 时间:2024/06/05 10:22
将陆续上传新书《自己动手写CPU》,今天是第44篇。
这几天事情多,好久没更新了
9.3.4 修改OpenMIPS顶层模块
由于部分模块增加了接口,所以需要修改顶层模块OpenMIPS,以将新的接口连接起来。同时,从图9-19可知,MEM模块增加了几个对数据存储器的接口,而这几个接口连接到OpenMIPS外部,所以OpenMIPS模块的接口也要做修改,新增接口如表9-6所示,修改后的OpenMIPS处理器接口图如图9-23所示,大家可以与图4-6做一对比。
要修改OpenMIPS模块,将表9-6中的数据存储器接口与MEM模块的对应接口连接在一起,主要修改如下。完整代码请参考本书附带光盘Code\Chapter9_1目录下的openmips.v文件。
module openmips( inputwire clk, input wire rst, input wire[`RegBus] rom_data_i, output wire[`RegBus] rom_addr_o, // 新增接口,连接数据存储器RAM input wire[`RegBus] ram_data_i, output wire[`RegBus] ram_addr_o, output wire[`RegBus] ram_data_o, output wire ram_we_o, output wire[3:0] ram_sel_o, output wire ram_ce_o); ...... // 主要修改MEM模块的例化语句, // 目的是将表9-6中的数据存储器接口与MEM模块的对应接口连接在一起 mem mem0( ...... // 来自数据存储器的信息 .mem_data_i(ram_data_i), ...... // 送到数据存储器的信息 .mem_addr_o(ram_addr_o), .mem_we_o(ram_we_o), .mem_sel_o(ram_sel_o), .mem_data_o(ram_data_o), .mem_ce_o(ram_ce_o) ); ......endmodule
下一步将修改最小SOPC,以验证加载存储指令是否实现正确。
0 0
- 自己动手写CPU之第九阶段(5)——实现加载存储指令4(修改OpenMIPS顶层模块)
- 自己动手写CPU之第九阶段(9)——修改OpenMIPS以实现ll、sc指令
- 自己动手写CPU之第九阶段(5)——实现加载存储指令1(修改译码阶段)
- 自己动手写CPU之第九阶段(5)——实现加载存储指令2(修改执行阶段)
- 自己动手写CPU之第九阶段(5)——实现加载存储指令3(修改访存阶段)
- 自己动手写CPU之第九阶段(4)——加载存储指令实现思路
- 自己动手写CPU之第九阶段(1)——加载存储指令说明1
- 自己动手写CPU之第九阶段(2)——加载存储指令说明2(lwl、lwr)
- 自己动手写CPU之第九阶段(3)——加载存储指令说明2(swl、swr)
- 自己动手写CPU之第九阶段(7)——MIPS32中的LL、SC指令说明
- 自己动手写CPU之第九阶段(8)——MIPS32中的LL、SC指令说明
- 自己动手写CPU之第九阶段(6)——修改最小SOPC
- 自己动手写CPU之第六阶段(4)——验证移动操作指令实现效果
- 自己动手写CPU之第八阶段(4)——转移指令实现过程2
- 自己动手写CPU之第五阶段(2)——OpenMIPS对数据相关问题的解决措施
- 自己动手写CPU之第六阶段(2)——移动操作指令实现思路
- 自己动手写CPU之第六阶段(3)——移动操作指令的实现
- 自己动手写CPU之第七阶段(2)——简单算术操作指令实现过程
- jQuery选中当前行
- Android—AlarmManager的使用
- 第十一周项目一(1)函数版星号图
- linux 中的find命令
- Unity3D获取外部摄像头图像
- 自己动手写CPU之第九阶段(5)——实现加载存储指令4(修改OpenMIPS顶层模块)
- 格式化存储装置成为 Ext2/Ext3/Ext4 档案系统
- 第十一周项目一 函数版星号图
- MapReduce编程模型:用MapReduce进行大数据分析
- 音视频即时通讯的发展趋势
- PHP字符串截取,无乱码
- 《python for data analysis》笔记三--Numpy基础:arrays和向量化计算2
- 优化网站设计(六):在文档底部放置脚本定义或引用
- 锂电池管理