码迷,mamicode.com
首页 > 其他好文 > 详细

自己动手写CPU之第九阶段(5)——实现加载存储指令4(修改OpenMIPS顶层模块)

时间:2014-11-06 14:54:37      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:mips   处理器   开源   自己动手写cpu   软核   

将陆续上传新书《自己动手写CPU》,今天是第44篇。

这几天事情多,好久没更新了bubuko.com,布布扣


9.3.4 修改OpenMIPS顶层模块

      由于部分模块增加了接口,所以需要修改顶层模块OpenMIPS,以将新的接口连接起来。同时,从图9-19可知,MEM模块增加了几个对数据存储器的接口,而这几个接口连接到OpenMIPS外部,所以OpenMIPS模块的接口也要做修改,新增接口如表9-6所示,修改后的OpenMIPS处理器接口图如图9-23所示,大家可以与图4-6做一对比。

bubuko.com,布布扣

      要修改OpenMIPS模块,将表9-6中的数据存储器接口与MEM模块的对应接口连接在一起,主要修改如下。完整代码请参考本书附带光盘Code\Chapter9_1目录下的openmips.v文件。

module openmips(

  input	wire	                 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,以验证加载存储指令是否实现正确。

自己动手写CPU之第九阶段(5)——实现加载存储指令4(修改OpenMIPS顶层模块)

标签:mips   处理器   开源   自己动手写cpu   软核   

原文地址:http://blog.csdn.net/leishangwen/article/details/40860217

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!