




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验2IP核集成替换CPU第一页,共37页。CourseOutline第二页,共37页。实验目的1.掌握CPU的核心组成结构:数据通路与控制器2.设计数据通路的ALU功能部件3.设计数据通路的寄存器功能部件3第三页,共37页。实验环境实验设备1.计算机(IntelCorei5以上,4GB内存以上)系统
2.Spartan-3StarterKitBoard开发板
3.XilinxISE14.4及以上开发工具材料
无4第四页,共37页。CourseOutline第五页,共37页。实验任务1.用IP核集成CPU并替换实验三的CPU核此实验在Exp03的基础上完成2.设计数据通路部件并作时序仿真:ALURegisterFiles 6第六页,共37页。课程大纲第七页,共37页。各次实验的思维体系第八页,共37页。第九页,共37页。d=fun(a,b);4a: 60910202 lds r22,0x02024e: 70910302 lds r23,0x020352: 80910002 lds r24,0x020056: 90910102 lds r25,0x02015a: 0e943800 call 0x70 ;0x70<fun>5e: 20910802 lds r18,0x020862: 3327 eor r19,r1964: 27fd sbrc r18,766: 3095 com r1968: 280f add r18,r246a: 391f adc r19,r25指令部分数据通道部分部分第十页,共37页。CPU控制器部分数据通道第二次实验第三次实验第四次实验第十一页,共37页。第三次实验:数据通道部分第十二页,共37页。第四次实验:控制器部分(指令译码)第十三页,共37页。计算机体系结构CPU内存输入输出设备控制单元数据通路ALU运算器寄存器多路选择器……硬件软件输入:PS2鼠标、SW开关、BUT按键输出:VGA接口、7段译码管、LED灯显示计算机系统第十四页,共37页。CPU部件之1-数据通路:Data_path数据通路CPU主要部件之一基本功能具有通用计算功能的算术逻辑部件具有通用目的寄存器具有通用计数所需的尽可能的路径本实验用IP软核-Data_path核调用模块Data_path.ngc核接口信号模块(空文档):Data_path.v核模块符号文档:Data_path.sym第十五页,共37页。CPU部件之2-控制器:SCPU_ctrlSCPU_ctrlCPU主要部件之一基本功能指令译码产生操作控制信号:ALU运算控制产生指令所需的路径选择本实验用IP软核-SCPU_ctrl核调用模块SCPU_ctrl.ngc核接口信号模块(空文档):SCPU_ctrl.v核模块符号文档:SCPU_ctrl.sym第十六页,共37页。数据通道子模块
1.ALU运算器部分
2.Registers部分第十七页,共37页。数据通路的功能部件之一:ALU实现5个基本运算整理逻辑实验八的ALU逻辑图输入并仿真ZeroResultOverflowABAluOperationALUControlLinesFunctionnote000And兼容001Or兼容010Add兼容110Sub兼容111Setonlessthan100nor扩展101srl扩展011xor扩展第十八页,共37页。硬件描述参考代码module
alu(inputA,B,
input[2:0]ALU_operation,
output[31:0]res, inputzero,overflow);wire[31:0]res_and,res_or,res_add,res_sub,res_nor,res_slt;
reg[31:0]res;
parameterone=32'h00000001,zero_0=32'h00000000;
assignres_and=A&B;
assignres_or=A|B;
assignres_add=A+B;
assignres_sub=A-B;
assignres_slt=(A<B)?one:zero_0;
always@(AorBorALU_operation)
case(ALU_operation) 3'b000:res=res_and; 3'b001:res=res_or; 3'b010:res=res_add; 3'b110:res=res_sub; 3'b100:res=~(A|B); 3'b111:res=res_slt;
default:res=32'hx;
endcase
assignzero=(res==0)?1:0;endmodulealways@(*)
case(ALU_operation) 3'b000:res=A&B; 3'b001:res=A|B; 3'b010:res=A+B; 3'b110:res=A-B; 3'b100:res=~(A|B);3'b111:res=(A<B)?one:zero_0;
default:res=32'hx;
endcase第十九页,共37页。数字系统的功能部件之一:Registerfiles实现32×32bit寄存器组优化逻辑实验Regs行为描述并仿真结果端口要求二个读端口:R_addr_AR_addr_B一个写端口,带写信号Wt_addrL_S第二十页,共37页。CourseOutline第二十一页,共37页。设计工程:OExp04-IP2CPU分解CPU为二个IP核在Exp03工基础上用二个IP核构建CPU顶层模块延用Exp03模块名:Top_OExp04_IP2CPU.sch逻辑实验输出模块优化ALU模块优化RegisterFiles模块优化第二十二页,共37页。设计要点实验第一部分:IP核设计CPU--用二个第三方IP核集成CPU第二十三页,共37页。清理Exp03工程移除工程中的CPU核Exp03工程中移除CPU核关联删除工程中CPU核文件SCPU.ngc和SCPU.v文件在Project菜单中运行:
CleanupProjectFiles…建议用Exp03资源重建工程除CPU核命名:OExp04-IP2CPUExp03需要清理的核第二十四页,共37页。拷贝二个IP核的Symbol文件到当前工程目录:增加SCPU_ctrl.sym、Data_path.sym拷贝二个IP软核.ngc文档到当前工程目录:SCPU_ctrl.ngc、Data_path.ngc接口文件SCPU_ctrl.v、Data_path.v第二十五页,共37页。用逻辑原理图输入CPU设计第二十六页,共37页。Ex04工程代码结构Exp04完成CPU设计后的模块调用关系第二十七页,共37页。实验第二部分:逻辑原理图输入设计ALU第二十八页,共37页。逻辑原理图输入信号扩展模块注意:加减器做减法时用补码是±31位为了和无符号加法兼容需要扩展符号位定制符号非标准件第二十九页,共37页。拷贝下列模块符号到ALU工程目录:(Exp01提供)and32、or32、ADC32、xor32、nor32、srl32、SignalExt_32、mux8to1_32、or_bit_32第三十页,共37页。ALU测试激励参考代码 A=32'hA5A5A5A5;
B=32'h5A5A5A5A; ALU_operation=3'b111;
#100; ALU_operation=3'b110;
#100;
ALU_operation=3'b101;
#100;
ALU_operation=3'b100; #100;
ALU_operation=3'b011;
#100;
ALU_operation=3'b010; #100;
ALU_operation=3'b001; #100;
ALU_operation=3'b000; #100;
A=32'h01234567;
B=32'h76543210; ALU_operation=3'b111;ALU模块调用结构仿真通过后封装逻辑符号第三十一页,共37页。ALU_Simulation结果参考第三十二页,共37页。RTL-Schematic第三十三页,共37页。实验第三部分:设计Registers组第三十四页,共37页。非常精练的参考代码Moduleregs(inputclk,rst,L_S,
input[4:0]R_addr_A,R_addr_B,Wt_addr,
input[31:0]wt_data
output[31:0]rdata_A,rdata_B );reg[31:0]register[1:31]; //r1-r31integeri; assignrdata_A=(Rs_addr_A==0)?0:register[reg_Rd_addr_A]; //read assignrdata_B=(Rt_addr_B==0)?0:register[reg_Rt_addr_B]; //read always@(posedgeclkorposedgerst)beginif(rst==1)for(i=1;i<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论