三、RISC_CPU仿真、调试(下)

在上一篇中已经用test1进行了测试,下面再用test2和test3进行测试。

test2

修改ROM中的初始化数据如下:
若正常运行,程序将在20H处停止。

initial 
	begin
		memrory[0] = 8'b101_11000;  //00
		memrory[1] = 8'b0000_0001;
		memrory[2] = 8'b011_11000;  //02
		memrory[3] = 8'b0000_0010;
		memrory[4] = 8'b100_11000;  //04
		memrory[5] = 8'b0000_0001;
		memrory[6] = 8'b001_00000;  //06
		memrory[7] = 8'b0000_0000;
		memrory[8] = 8'b0000_0000;  //08
		memrory[9] = 8'b0000_0000;
		memrory[10] =8'b010_11000;  //0a
		memrory[11] =8'b0000_0000;
		memrory[12] =8'b001_00000;  //0c
		memrory[13] =8'b0000_0000;
		memrory[14] =8'b111_00000;  //0e
		memrory[15] =8'b0001_0010;
		memrory[16] =8'b0000_0000;  //10
		memrory[17] =8'b0000_0000;
		memrory[18] =8'b100_11000;  //12
		memrory[19] =8'b0000_0010;
		memrory[20] =8'b010_11000;  //14
		memrory[21] =8'b0000_0000;
		memrory[22] =8'b110_11000;  //16
		memrory[23] =8'b0000_0011;
		memrory[24] =8'b101_11000;  //18
		memrory[25] =8'b0000_0000;
		memrory[26] =8'b010_11000;  //1a
		memrory[27] =8'b0000_0011;
		memrory[28] =8'b001_00000;  //1c
		memrory[29] =8'b0000_0000;
		memrory[30] =8'b0000_0000;  //1e
		memrory[31] =8'b0000_0000;
		memrory[32] =8'b0000_0000;  //20
		memrory[33] =8'b0000_0000;
		memrory[34] =8'b111_00000;  //22
		memrory[35] =8'b0000_0000;
	end

修改RAM中的数据:

initial 
	begin
		ram[13'h1800] = 8'b0000_0001;
		ram[13'h1801] = 8'b1010_1010;
		ram[13'h1802] = 8'b1111_1111;
		ram[13'h1803] = 8'b0000_0000;
	end


经测试,程序运行没有问题。

test3

ROM数据:

initial 
	begin
		memrory[0] = 8'b101_11000;  //00
		memrory[1] = 8'b0000_0001;
		memrory[2] = 8'b110_11000;  //02
		memrory[3] = 8'b0000_0010;
		memrory[4] = 8'b010_11000;  //04
		memrory[5] = 8'b0000_0000;
		memrory[6] = 8'b110_11000;  //06
		memrory[7] = 8'b0000_0001;
		memrory[8] = 8'b101_11000;  //08
		memrory[9] = 8'b0000_0010;
		memrory[10] =8'b110_11000;  //0a
		memrory[11] =8'b0000_0000;
		memrory[12] =8'b100_11000;  //0c
		memrory[13] =8'b0000_0011;
		memrory[14] =8'b001_00000;  //0e
		memrory[15] =8'b0000_0000;
		memrory[16] =8'b111_00000;  //10
		memrory[17] =8'b0000_0000;
		memrory[18] =8'b0000_0000;  //12   DONE:HLT
		memrory[19] =8'b0000_0000;        
	end

RAM:

initial 
	begin
		ram[13'h1800] = 8'b0000_0001;
		ram[13'h1801] = 8'b0000_0000;
		ram[13'h1802] = 8'b0000_0000;
		ram[13'h1803] = 8'b100_10000;
	end

经仿真测试,结果没有问题。
在这里插入图片描述
至此,这一章的学习告一段落,由于之前就有一定的FPGA基础和modelsim的使用经验,所以整体来说还算比较顺利,之后有时间尝试放在FPGA运行试试。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值