cpu设计实战第三章实验

该实践任务涉及寄存器堆的仿真,初始设置后在第2011个时间单位开始有效操作。we信号控制数据写入,当we为1时,waddr指定的寄存器被wdata的值更新。例如,第1号寄存器在we变为1后被赋予特定值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实践任务一:寄存器堆仿真

在这里插入图片描述

	raddr1 =  5'd0;
    raddr2 =  5'd0;
	waddr  =  5'd0;
	wdata  = 32'd0;
	we     =  1'd0;
	task_phase =  4'd0;
	#2000;

信号初始化以后延迟2000个时间单位,在显示提示信息以后又延迟11个时间单位,所以第一次有效的波形显示是在第2011时间单位的时候。

// Part 0 Begin
	#10;
	task_phase = 4'd0;
	we         = 1'b0;
	waddr      = 5'd1;
	wdata      = 32'hffffffff;
    raddr1     = 5'd1;
    #10;
	we         = 1'b1;
	waddr      = 5'd1;
	wdata      = 32'h1111ffff;
    #10;
	we         = 1'b0;
    raddr1     = 5'd2;
    raddr2     = 5'd1;
	#10;
    raddr1     = 5'd1;
    
    #200;

可以看到开始的时候我的we信号值为0所以无法给对应的寄存器赋值,对应寄存器的值保持原来的不变,如下
在这里插入图片描述
此时1号寄存器值依然为未知,接下来延时10个时间单位,我们给we赋值为1,继续延时10个时间单位,我们可以看到此时1号寄存器被赋值为对应wdata的值,其他依此类推。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值