计算机组成原理 取指令与指令译码实验

本文介绍了如何设计一个单周期MIPS CPU,使其在时钟周期的上升沿取指令,并在下降沿更新程序计数器(PC)值。当复位信号rst为1时,PC被清零,CPU从内存地址0开始执行程序。实验中,使用了Memory IP核创建只读指令存储器,选择single port ROM。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这里插入图片描述
最终目标:设计一个单周期MIPS CPU 在指令周期(即时钟周期)clk上跳沿,执行取指令操作,在clk下跳沿更新PC值。 复位信号rst:=1时,PC清零,即指定MIPS CPU从0号主存开始执行程序。 生成只读的指令存储器时,使用Memory IP核,同上个实验,但是选择single port ROM;
实验代码:

module Inst(
    input clk,
    input rst,
    output reg [31:0]PC,
    output [31:0]PC_new,
    output [31:0]Inst_code,
    output [5:0]opcode,
    output [5:0]func,
    output [4:0]rs,
    output [4:0]rt,
    output [4:0]rd,
    output [4:0]shamt,
    output [15:0]imm,
    output [15:0]address
    );
	initial PC = 32'h00000000;
	 assign PC_new = PC + 4;

	ROM_A ROM1 (
	  .clka(clk), // input clka
	  .addra(PC[7:2]), // input [5 : 0] addra
	  .douta(Inst_code) // output [31
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值