- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
位RISC处理器软核的设计与验证Potatoi使用说明文档
32位RISC处理器软核的设计与验证( Potato-I)
使用说明文档
1 CPU流水线级数及各级功能
IF ID EX MEM WB
IF:取指令级,是从ROM中读取指令,并在下一个时钟沿到来时把指令送到ID级的指令缓冲器中。
ID:指令译码级,对IF级来的指令进行译码,并产生相应的控制信号。整个CPU的控制信号都是在这级上产生。
EX
2指令集及编码格式
2.1指令集:
NOP,ADD,ADC,SUB,SUBC,AND,OR,NOT,ADDI,ANDI,ORI,NOTI,LSL,LSR,ASR,ROR,ROL,STR,LDR,BTC,JUMP,JUMPR,JUMPL,RET。
2.2指令编码格式
1) NOP,ADD,ADC,SUB,SUBC,AND,OR,NOT
OP[31:26] DS[25:21] S1[20:16] S2[15:11] XXXXX...XXXX
例:ADD R1,R2,R3;
在上面的加法指令中 OP=2、DS=1、S1=2、S2=3,对应的机器码为:
32’b000010_00001_00010_00011_XXXXXXXXXXX;
2) ADDI,ANDI,ORI,NOTI
OP[31:26] DS[25:21] S1[20:16] IMM[15:0]
例:ADDI R4,R8,5;
其中 OP=1、DS=4、S1=8、IMM=5,对应的机器码为:
32’b000001_00100_01000_0000000000000101;
3) LSL,LSR,ASR,ROR,ROL
OP[31:26] DS[25:21] S1[20:16] XXX...XXX IMM[4:0]
例:LSL R4,R3, 5;
其中OP=C、DS=4、S1=3、IMM=5;(IMM=shift amount),对应的机器码为:
32’b001100_00100_00011_XXXXXXXXXXX_00101;
4) STR
OP[31:26] XX..XXX S1[20:16] S2[15:11] IMM[10:0]
例:STR R1,R2,5; //[R1+5]=R2;
其中OP=11、DS=X、S1=1、S2=2、IMM=5 (S2指定的寄存器内容存储到[S1+IMM]地址处),
对应的机器码为: 32’b010001_XXXXX_00001_00010_00000000101;
5) LDR
OP[31:26] DS[25:21] S1[20:16] XXXXX IMM[10:0]
例:LDR R1,R2,5; //R1=[R2+IMM]
其中OP=12、DS=1、S1=2、S2=X、IMM=5 ([S1+IMM]地址处的内容存储到DS指定的寄存器中),
对应的机器码为: 32’b010010_00001_00001_XXXXX_00000000101;
6) BTC
OP[31:26] CONDITION[25:21] IMM[20:0]
例:BTC_EQ 5; // 如果有符号数相等,则转移到PC+5地址处
其中OP=13、DS=5、IMM=5 (DS=CONDITION,关于CONDITION见decode.v 模块中的generating branch signal段),
对应的机器码为: 32’b010011_00101_000000000000000000101;
7) JUMP,JUMPL
OP[31:26] IMM[25:0]
例:JUMP 5;
其中OP=14、IMM=5,
对应的机器码为: 32’b010100_00000000000000000000000101;
7) JUMPR,RET
OP[31:26] DS[25:21] XXXXX...XXXX
例:RET R4; // PC=R4;
其中OP=17、DS=4 (PC值被修改成DS指定的寄存器的内容),
对应的机器码为: 32’b010111_00100_XXXXXXXXXXXXXXXXXXXXX;
3 软核的verilog实现
Potato-I RISC处理器I
文档评论(0)