基于MIPS指令集的RISC微处理器数据通路的设计与实现
发布时间:2021-07-14 15:14
随着集成电路技术的发展,SOC的设计方法越来越流行。基于SOC的方法进行嵌入式系统设计,可以显著降低开发成本,并且易于维护。嵌入式系统中,微处理器是核心,决定了整个嵌入式系统的性能。MIPS指令格式清晰、紧凑,采用MIPS指令设计微处理器可以简化体系结构的设计,并得到比较好的性能。最终的设计以MIPS指令集为基础,实现了五级流水RISC微处理器。根据对MIPS指令集的研究,选取了待实现的指令,及指令寻址方式。通过对指令执行过程的详细分析,设计和实现了各逻辑功能模块,包括:存储指令和数据的存储模块、高速提供运算操作数的寄存器堆、完成操作数运算的算术逻辑单元、对16位操作数进行扩展的符号扩展单元。在完成各模块设计后,设计和实现了单周期RISC数据通路。流水线是提高微处理器性能的重要方法,在对单周期数据通路设计的基础上,对流水线数据通路进行详细分析,设计了流水线寄存器,最终建立了基于MIPS指令集的五级流水线数据通路。设计完成后,对流水线数据通路进行仿真,然后下载到FPGA开发板进行验证。最终的数据通路支持34条指令,主频达40 M HZ。
【文章来源】:华中科技大学湖北省 211工程院校 985工程院校 教育部直属院校
【文章页数】:65 页
【学位级别】:硕士
【部分图文】:
ALU仿真波形(二)
作码为 01100,减法运算的结果应为 0x0000000a 减 0x00000005 为 0x00000005,指令 3 为 R 类指令 add,对应的操作码为 01011,将 2 号寄存器的值与 3 号寄存器值相加,结果应该为 0x0000000f,如图 5.1 所示 ALU 得到了预期的仿真结果。指令 and $6,$2,$3;or $7,$2,$3;xor $8,$2,$3;nor $9,$2,$3 对应的仿真图如图 5.2 所示。图 5.2 ALU 仿真波形(二)对应的 ALU 操作分别为与,或,异或,或非,对应的操作码为 00001,00010,00011,00101,10 对应的二进制为 1010(高 28 位略),5 对应的二进制为 0101(高 28位略),进行与运算的结果应该0000(高位略),或运算和异或的结果为1111(高位略),或非的结果为 0xfffffff0,通过仿真检验,ALU 为预期的仿真结果。指令 sll $10,$2,28,srl $11, $2,1,sra $12,$10,1 对应的仿真图如图 5.3 所示。
令至少要读或写一次寄存器堆。读寄存器堆,是为了得到运算操作数,写寄存器是将运算的结果或读取的数据回写到寄存器堆中。为了对寄存器堆进行测试,本验证设计了三条指令,并对寄存器堆的读写信号进行分析,设置的测试指令如表 5.2。表 5.2 寄存器堆测试指令序列输入指令 寄存器读操作 寄存器写操作addi $2, $0, 10 T1:readreg1:=0readreg2:=2T4: regwe:=1 写使能有效writereg:=2writedata:=10addi $3, $0, 5 T1:readreg1:=0readreg2:=3T4: regwe:=1 写使能有效writereg:=3writedata:=5add $4, $2, $3 T1:readreg1:=2readreg2:=3T4: regwe:=1 写使能有效writereg:=4writedata:=15寄存器部分仿真波形如图 5.4 所示。
【参考文献】:
期刊论文
[1]IP复用的FSPLC微处理器SOC设计[J]. 冉峰,李润光,徐美华,康志英. 微电子学与计算机. 2007(11)
[2]嵌入式微处理器的系统验证平台设计[J]. 庄伟,樊晓桠. 计算机应用研究. 2007(10)
[3]SOC设计中的核心技术[J]. 张艳,胡桂. 微计算机信息. 2007(29)
[4]SOC设计的软硬件协同验证研究[J]. 李建成,庄钊文,张亮. 半导体技术. 2007(10)
[5]微控制器的流水线设计及时序优化[J]. 胡敏杰,邬齐荣,龚敏. 四川大学学报(自然科学版). 2007(03)
[6]VHDL语言在FPGA中的应用[J]. 齐京礼,宋毅芳,陈建泗. 微计算机信息. 2006(35)
[7]基于MIPS内核的SoC软硬件协同仿真[J]. 王江,刘佩林,陈颖琪. 计算机工程. 2006(16)
[8]DLX处理器整数流水线性能的研究[J]. 蔡启先,李日初. 计算机应用. 2005(S1)
[9]基于单片机和EDA技术的逻辑分析仪设计[J]. 夏新恩,洪远泉. 计算机工程. 2005(16)
[10]基于FPGA的32位整数微处理器的设计与实现[J]. 冯海涛,王永纲,石江涛,颜天信,王砚方. 小型微型计算机系统. 2005(06)
本文编号:3284389
【文章来源】:华中科技大学湖北省 211工程院校 985工程院校 教育部直属院校
【文章页数】:65 页
【学位级别】:硕士
【部分图文】:
ALU仿真波形(二)
作码为 01100,减法运算的结果应为 0x0000000a 减 0x00000005 为 0x00000005,指令 3 为 R 类指令 add,对应的操作码为 01011,将 2 号寄存器的值与 3 号寄存器值相加,结果应该为 0x0000000f,如图 5.1 所示 ALU 得到了预期的仿真结果。指令 and $6,$2,$3;or $7,$2,$3;xor $8,$2,$3;nor $9,$2,$3 对应的仿真图如图 5.2 所示。图 5.2 ALU 仿真波形(二)对应的 ALU 操作分别为与,或,异或,或非,对应的操作码为 00001,00010,00011,00101,10 对应的二进制为 1010(高 28 位略),5 对应的二进制为 0101(高 28位略),进行与运算的结果应该0000(高位略),或运算和异或的结果为1111(高位略),或非的结果为 0xfffffff0,通过仿真检验,ALU 为预期的仿真结果。指令 sll $10,$2,28,srl $11, $2,1,sra $12,$10,1 对应的仿真图如图 5.3 所示。
令至少要读或写一次寄存器堆。读寄存器堆,是为了得到运算操作数,写寄存器是将运算的结果或读取的数据回写到寄存器堆中。为了对寄存器堆进行测试,本验证设计了三条指令,并对寄存器堆的读写信号进行分析,设置的测试指令如表 5.2。表 5.2 寄存器堆测试指令序列输入指令 寄存器读操作 寄存器写操作addi $2, $0, 10 T1:readreg1:=0readreg2:=2T4: regwe:=1 写使能有效writereg:=2writedata:=10addi $3, $0, 5 T1:readreg1:=0readreg2:=3T4: regwe:=1 写使能有效writereg:=3writedata:=5add $4, $2, $3 T1:readreg1:=2readreg2:=3T4: regwe:=1 写使能有效writereg:=4writedata:=15寄存器部分仿真波形如图 5.4 所示。
【参考文献】:
期刊论文
[1]IP复用的FSPLC微处理器SOC设计[J]. 冉峰,李润光,徐美华,康志英. 微电子学与计算机. 2007(11)
[2]嵌入式微处理器的系统验证平台设计[J]. 庄伟,樊晓桠. 计算机应用研究. 2007(10)
[3]SOC设计中的核心技术[J]. 张艳,胡桂. 微计算机信息. 2007(29)
[4]SOC设计的软硬件协同验证研究[J]. 李建成,庄钊文,张亮. 半导体技术. 2007(10)
[5]微控制器的流水线设计及时序优化[J]. 胡敏杰,邬齐荣,龚敏. 四川大学学报(自然科学版). 2007(03)
[6]VHDL语言在FPGA中的应用[J]. 齐京礼,宋毅芳,陈建泗. 微计算机信息. 2006(35)
[7]基于MIPS内核的SoC软硬件协同仿真[J]. 王江,刘佩林,陈颖琪. 计算机工程. 2006(16)
[8]DLX处理器整数流水线性能的研究[J]. 蔡启先,李日初. 计算机应用. 2005(S1)
[9]基于单片机和EDA技术的逻辑分析仪设计[J]. 夏新恩,洪远泉. 计算机工程. 2005(16)
[10]基于FPGA的32位整数微处理器的设计与实现[J]. 冯海涛,王永纲,石江涛,颜天信,王砚方. 小型微型计算机系统. 2005(06)
本文编号:3284389
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3284389.html