




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子科技大学计算机科学与工程学院标准实验报告(实验)课程名称:计算机组成原理实验电子科技大学教务处制表电子科技大学实验报告学生姓名:郸县尼克杨学号:2014指导教师:陈虹实验地点:主楼A2-411实验时间:12周-15周一、实验室名称:主楼A2-411二、实验项目名称:单周期CPU勺设计与实现。三、实验学时:8学时四、实验原理:(一)概述单周期(SingleCycle)CPU!指CPU从取出1条指令到执行完该指令只需时钟周期。"1个时钟周Cloc期1-.+匕,n+匕,_d+匕,_n+匕人/+匕人匚k于曰守0于曰1于曰守2于曰守4于曰守5一条指令的执行过程包括:取指令一分析指令一取操作
2、数一执行指令一保存结果对于单周期CPU#说,这些执行步骤均在一个时钟周期内完成。(二)单周期cpu总体电路本实验所设计的单周期CPUW总体电路结构如下。(三)MIPS指令格式化MIPS指令系统结构有MIPS-32和MIPS-64两种。本实验的MIPS指令选用MIPS-32以下所说的MIPS指令均指MIPS-32。MIPS的指令格式为32位。下图给出MIPS指令的3种格式。oprsrtrdsafunc312625212016150oprsrtimmediate3126250opaddressR型指令I型指令J型指令312625212016151110650本实验只选取了9条典型的MIPS指令来描
3、述CP电辑电路的设计方法。下图列出了本实验的所涉及到的9条MIPS指令。五、实验目的1、掌握单周期CPU勺工作原理、实现方法及其组成部件的原理和设计方法,如控制器、运算器等。2、认识和掌握指令与CPU勺关系、指令的执行过程。3、熟练使用硬件描述语言Verilog、EDA工具软件进行软件设计与仿真,以培养学生的分析和设计CPU勺能力。六、实验内容(一)拟定本实验的指令系统,指令应包含R型指令、I型指令和J型指令,指令数为9条。(二)CPU&功能模块的设计与实现。(三)对设计的各个模块的仿真测试。(四)整个CPU勺封装与测试。七、实验器材(设备、元器件):(一)安装了XilinxISEDe
4、signSuite13.4的PC机一台(二)FPGAF发板:AnvylSpartan6/XC6SLX45(三)计算机与FPGA开发板通过JTAG(JointTestActionGroup)接口连接,其连接方式如图所示。八、实验步骤一个CPUfc要由ALU(运算器)、控制器、寄存器堆、取指部件及其它基本功能部件等构成。在本实验中基本功能部件主要有:32位2选1多路选择器、5位2选1多路选择器、32位寄存器堆、ALU等。(一)新建工程(NewProject)启动ISEDesignSuite13.4软件,然后选择菜单File-NewProject,弹出NewProjectWizard对话框,在对话框
5、中输入工程名CPU,并指定工作路径D:Single_Cycle_CPU。(二)基本功能器件的设计与实现(1)多路选择器的设计与实现a.5位2选1多路选择器(MUX5_2_1的设计与实现在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:MUX5_2_1然后输入其实现代码:MODULEMUX5_2_1(input4:0A,INPUT4:0B,inputSel,output4:0O);ASSIGNO=SEL?B:A;ENDMODULE在ISE集成开发环境中,对模块MUX5_2JS行综合(Synthesi
6、ze),综合结果如图所示:在ISE集成开发环境中,对模块MUX5_2JS行仿真(Simulation)。输入如下测式代码:moduleMUX5_2_1_T;/Inputsreg4:0A;reg4:0B;regsel;/Outputswire4:0C;/InstantiatetheUnitUnderTest(UUT)MUX5_2_1uut(.A(A),.B(B),.sel(sel),.C(C);INITIALBEGIN/InitializeInputsA=0;B=0;sel=0;/Wait100nsforglobalresettofinish#100;A=5'b10100;B=0;sel
7、=1;/Wait100nsforglobalresettofinish#100;A=1;B=5'b10000;sel=0;/Wait100nsforglobalresettofinish#100;A=5'B00000;B=5'b11000;sel=1;/ADDSTIMULUSHEREENDENDMODULE然后进行仿真,仿真结果如图所示:b.32位2选1多路选择器的设计与实现在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:MUX32_2_1然后输入其实现代码:module
8、MUX32_2_1(input31:0A,input31:0B,inputsel,output31:0O);ASSIGNO=SEL?B:A;endmodule在ISE集成开发环境中,对模块MUX32_2_进行综合(Synthesize),综合结果如图所示:在ISE集成开发环境中,对模块MUX32_2_进行仿真(Simulation)。首先输入MUX32_2_1AJ31.0)Ckf31.niLjMUX3221如下测式代码:moduleMUX32_2_1_T;/Inputsreg31:0A;reg31:0B;regsel;/Outputswire31:0O;/InstantiatetheUnitU
9、nderTest(UUT)MUX32_2_1uut(.A(A),.B(B),.sel(sel),.O(O);INITIALBEGINA=0;B=0;sel=0;/Wait100nsforglobalresettofinish#100;A=32'h00000001;B=32'H00000000;sel=1;A=32'h00000101;B=32'h00000010;sel=0;/AddstimulushereENDENDMODULE然后进行仿真,仿真结果如图所示:(2)符号扩展(Sign_Extender)的设计与实现在ISE集成开发环境中,在工程管理区任意位置单
10、击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:Sign_Extender,然后输入其实现代码:moduleSign_Extender(input15:0d,output31:0o);assigno=(d15:15=1'b0)?16'b0,d15:0:16'b1,d15:0;ENDMODULE在ISE集成开发环境中,对模块Sign_Extender进行综合(Synthesize),综合结果如图所示。在ISE集成开发环境中,对模块MUX32_2_进行仿真(Simulation)。首先输入如下测式代码:moduleSig
11、n_Extender_t;/Inputsreg15:0d;/Outputswire31:0o;/InstantiatetheUnitUnderTest(UUT)Sign_Extenderuut(.D(D),.O(O);INITIALBEGIN/InitializeInputsd=0;/Wait100nsforglobalresettofinish#100;/Addstimulushered=16'h0011;#100;d=16'h1011;ENDENDMODULE然后进行仿真,仿真结果如图所示:(3)32位寄存器堆(RegFile)的设计与实现在ISE集成开发环境中,在工程管理
12、区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:RegFile,然后输入其实现代码:moduleRegFile(input4:0Rn1,Rn2,Wn,inputWrite,INPUT31:0WD,output31:0A,B,inputClock);reg31:0Register1:31;assignA=(Rn1=0)?0:RegisterRn1;assignB=(Rn2=0)?0:RegisterRn2;always(posedgeClock)beginif(Write&&Wn!=0)RegisterWn<
13、=Wd;ENDENDMODULE在ISE集成开发环境中,对模块RegFile进行综合(Synthesize),综合结果如图所示。在ISE集成开发环境中,对模块RegFile进行仿真(Simulation)。输入如下测式代码:moduleRegfile_t;/Inputsreg4:0Rn1;reg4:0Rn2;reg4:0Wn;regWrite;reg31:0Wd;regClock;/Outputswire31:0A;wire31:0B;/InstantiatetheUnitUnderTest(UUT)RegFileuut(.Rn1(Rn1),.Rn2(Rn2),.Wn(Wn),.Write(W
14、rite),.Wd(Wd),.A(A),.B(B),.Clock(Clock);INITIALBEGIN/InitializeInputsRn1=0;Rn2=0;Wn=0;Write=0;Wd=0;Clock=0;/Wait100nsforglobalresettofinish#100;Rn1=5'b00001;Rn2=5'b00001;Wn=5'b00001;Write=1;Wd=0;Clock=0;#100;Clock=1;#50;Wd=32'hBBBBBBBB;#50;Clock=0;#100;Clock=1;#100Clock=0;/Addstimulu
15、shereENDENDMODULE然后进行仿真,仿真结果如图所示:(4)运算器(ALU设计与实现在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选才NNewSource命令,创建一个VerilogModule模块,名称为:ALU然后输入其实现代码:moduleALU(input31:0A,B,input2:0ALU_operation,output31:0Result,outputZero);assignResult=(ALU_operation=3'b000)?A+B:(ALU_operation=3'b100)?A-B:(ALU_operation=
16、3'b001)?A&B:(ALU_operation=3'b101)?A|B:(ALU_operation=3'B010)?AAB:(ALU_operation=3'b110)?B15:0,16'h0:32'hxxxxxxxx;assignZero=|Result;ENDMODULE在ISE集成开发环境中,对模块ALU进行综合(Synthesize),综合结果如图所示:在ISE集成开发环境中,对模块ALU进行仿真(Simulation)。输入如下测式代码:moduleALU_tb;/Inputsreg31:0A;reg31:0B;reg2
17、:0ALU_operation;/Outputswire31:0Result;wireZero;/InstantiatetheUnitUnderTest(UUT)ALUuut(.A(A),.B(B),.ALU_operation(ALU_operation),.Result(Result),.Zero(Zero);INITIALBEGIN/InitializeInputsA=0;B=0;ALU_operation=0;/Wait100nsforglobalresettofinish#100;A=1;B=1;ALU_operation=0;/Addstimulushere#100A=2;B=2;
18、ALU_operation=4;#100A=1;B=1;ALU_operation=1;#100A=1;B=1;ALU_operation=5;#100A=1;B=1;ALU_operation=2;ENDENDMODULE然后进行仿真,仿真结果如图所示:(5)控制器(Controller)的设计与实现为了简化设计,控制器由控制单元Control和控制单元ALUop组成,控制器结构如下所示。aControl的设计与实现在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:Control,然后输入其实现
19、代码:moduleContro(linput5:0op,outputRegDst,outputRegWrite,outputALUSrc,outputMemWrite,outputMemRead,outputMemtoReg,outputBranch,output1:0ALUctr);wirei_Rt=|op;wirei_Lw=op5&op3;wirei_Sw=op5&op3;wirei_Beq=op2&op1;wirei_Lui=op3&op2;assignRegDst=i_Rt;assignRegWrite=i_Rt|i_Lw|i_Lui;assignALU
20、Src=i_Lw|i_Sw|i_Lui;assignMemWrite=i_Sw;assignMemRead=i_Lw;assignMemtoReg=i_Lw;assignBranch=i_Beq;assignALUctr1=i_Rt|i_Lui;assignALUctr0=i_Beq|i_Lui;ENDMODULE在ISE集成开发环境中,对模块Control进行综合(Synthesize),综合结果如图:在ISE集成开发环境中,对模块Control进行仿真(Simulation)。首先输入如下测式代码:moduleControl_tb;/Inputsreg5:0op;/OutputswireR
21、egDst;wireRegWrite;wireALUSrc;wireMemWrite;wireMemRead;wireMemtoReg;wireBranch;wire1:0ALUctr;/InstantiatetheUnitUnderTest(UUT)Controluut(.op(op),.RegDst(RegDst),.RegWrite(RegWrite),.ALUSrc(ALUSrc),.MemWrite(MemWrite),.MemRead(MemRead),.MemtoReg(MemtoReg),.Branch(Branch),.ALUctr(ALUctr);INITIALBEGIN/
22、InitializeInputsop=0;/Wait100nsforglobalresettofinish#100;OP=6'B000000;#100;op=6'b100011;#100;op=6'b101011;#100;op=6'b000100;#100;op=6'b001111;ENDENDMODULE然后进行仿真,仿真结果如图所示:b.ALUop的设计与实现在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选才NNewSource命令,创建一个VerilogModule模块,名称为:ALUop然后输入其实现代码:module
23、ALUop(input5:0func,input1:0ALUctr,output2:0ALU_op);wirei_Rt=ALUctr1&ALUctr0;assignALU_op2=(i_Rt&(func2&func1)|(func2&func0)|ALUCTR0;assignALU_op1=(i_Rt&func2&func1)|(ALUctr1&ALUctr0);assignALU_op0=(i_Rt&func2&func1);ENDMODULE在ISE集成开发环境中,对模块ALUop进行综合(Synthesize),综合
24、结果如图:在ISE集成开发环境中,对模块ALUop进行仿真(Simulation)。首先输入如下测式代码:moduleALU_tb;/Inputsreg31:0A;reg31:0B;reg2:0ALU_operation;/Outputswire31:0Result;wireZero;/InstantiatetheUnitUnderTest(UUT)ALUuut(.A(A),.B(B),.ALU_operation(ALU_operation),.Result(Result),.Zero(Zero);INITIALBEGIN/InitializeInputsA=0;B=0;ALU_operat
25、ion=0;/Wait100nsforglobalresettofinish#100;A=1;B=1;ALU_operation=0;/Addstimulushere#100A=2;B=2;ALU_operation=4;#100A=1;B=1;ALU_operation=1;#100A=1;B=1;ALU_operation=5;#100A=1;B=1;ALU_operation=2;ENDENDMODULE然后进行仿真,仿真结果如图所:c.将Control与ALUop封装成Controller在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令
26、,创建一个VerilogModule模块,名称为:Controller,然后输入其实现代码:moduleControlle(rinput5:0op,input5:0func,outputRegDst,outputRegWrite,outputALUSrc,outputMemWrite,outputMemRead,outputMemtoReg,outputBranch,output2:0ALU_op);wire1:0ALUctr;ControlU0(op,RegDst,RegWrite,ALUSrc,MemWrite,MemRead,MemtoReg,Branch,ALUctr);ALUopU1
27、(func,ALUctr,ALU_op);ENDMODULE在ISE集成开发环境中,对模块Controller进行综合(Synthesize),综合结果如图:在ISE集成开发环境中,对模块Controller进行仿真(Simulation)。首先输入如下测式代码:moduleController_tb;/Inputsreg5:0op;reg5:0func;/OutputswireRegDst;wireRegWrite;wireALUSrc;wireMemWrite;wireMemRead;wireMemtoReg;wireBranch;wire2:0ALU_op;/Instantiatethe
28、UnitUnderTest(UUT)Controlleruut(.op(op),.func(func),.RegDst(RegDst),.RegWrite(RegWrite),.ALUSRC(ALUSRC),.MemWrite(MemWrite),.MemRead(MemRead),.MemtoReg(MemtoReg),.Branch(Branch),.ALU_op(ALU_op);INITIALBEGIN/ I nitialize I nputsop=0;func=0;/Wait100nsforglobalresettofinish#100;op=6'b100011;#100op=
29、6'b101011;#100OP=6'B000100;#100op=6'b001111;ENDENDMODULE然后进行仿真,仿真结果如图所示:(6)取指电路的设计与实现取指电路需完成ADD32PC寄存器、多路选择器和左移两位模块,从而实现该取指电路。a.ADD32勺设计与实现在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:ADD32然后输入其实现代码:moduleADD32(input31:0A,B,output31:0C);assignC=A+B;ENDMODULE在
30、ISE集成开发环境中,对模块Controller进行综合(Synthesize),综合结果如图:b.左移两位模块(Left_2_Shifter)的设计与实现在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:Left_2_Shifter,然后输入其实现代码:moduleLeft_2_Shifter(input31:0d,output31:0o);assigno=d29:0,2'b00;ENDMODULE在ISE集成开发环境中,对模块Controller进行综合(Synthesize),综合结
31、果如图:c.综合取指电路(Fetch)的设计与实现在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:Fetch,然后输入其实现代码:moduleFetch(inputReset,inputClock,input31:0B_addr,inputZ,B,output31:0addr);reg31:0PC;wire31:0U0_o;wire31:0U1_C;wire31:0U2_C;wire31:0Next_PC;wiresel=Z&B;Left_2_ShifterU0(B_addr,U0_o)
32、;ADD32U1(PC,4,U1_C);ADD32U2(U1_C,U0_O,U2_C);MUX32_2_1M1(U1_C,U2_C,sel,Next_PC);assignaddr=PC;always(posedgeClockornegedgeReset)beginif(Reset=0)PC=0;ELSEPC=Next_PC;ENDENDMODULE在ISE集成开发环境中,对模块Fetch进行综合(Synthesize),综合结果如图:在ISE集成开发环境中,对模块Fetch进行仿真(Simulation)。首先输入如下测式代码:moduleFETCH_T;/Inputsregclock;reg
33、reset;reg31:0b_addr;regB;regZ;/Outputswire31:0inst;wire31:0o_addr;wire31:0o_sum;wire31:0o_sum1;/InstantiatetheUnitUnderTest(UUT)FETCHUUT(.clock(clock),.reset(reset),.b_addr(b_addr),.B(B),.Z(Z),.inst(inst),.o_addr(o_addr),.o_sum(o_sum),.o_sum1(o_sum1);INITIALBEGIN/ I nitialize I nputsclock=0;reset=0;
34、b_addr=0;B=0;Z=0;/Wait100nsforglobalresettofinish#100;clock=1;#100;clock=0;#100;clock=1;#100;clock=0;#100;clock=1;#100;clock=0;#100;clock=1;#100;Z=1;B=1;b_addr=32'h4;clock=0;#100;clock=1;#100;clock=0;B=0;Z=0;#100;clock=1;#100;clock=0;#100;clock=1;b_addr=32'b0;#100;clock=0;#100;reset=1;clock=
35、1;#100;clock=0;#100;clock=1;#100;clock=0;/Addstimulushere/AddstimulushereENDENDMODULE然后进行仿真,仿真结果如图所示:(7)数据通路Data_Flow的设计与实现除去指令存储器InstructionROM、数据存储器DATAMEM将剩余的电路封装成一个单周期的CPl据通路(Data_Flow)模块。在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:Data_Flow,然后输入其实现代码:moduleData_Flo
36、w(inputReset,inputClock,input31:0Inst,input31:0Data,outputMemWrite,outputMemRead,output31:0Result,output31:0B_data,output31:0NextPC);wire31:0B_addr;wireZ,B;wireRegDst;wireRegWrite;wireALUSrc;wireMemtoReg;wire2:0ALU_OP;wire31:0ALU_A,ALU_B;wire4:0Wn;wire31:0Wd;FetchU0(Reset,Clock,B_addr,Z,B,NextPC);Co
37、ntrollerU1(Inst31:26,Inst5:0,RegDst,RegWrite,ALUSrc,MemWrite,MemRead,MemtoReg,B,ALU_op);ALUU2(ALU_A,ALU_B,ALU_op,Result,Z);RegFileU3(Inst25:21,Inst20:16,Wn,RegWrite,Wd,ALU_A,B_data,Clock);MUX5_2_1U4(Inst20:16,Inst15:11,RegDst,Wn);MUX32_2_1U5(B_data,B_addr,ALUSrc,ALU_B);Sign_ExtenderU6(Inst15:0,B_add
38、r);MUX32_2_1U7(NextPC,Data,MemtoReg,Wd);ENDMODULE在ISE集成开发环境中,对模块Controller进行综合(Synthesize),综合结果如图:在ISE集成开发环境中,对模块Data_Flow进行仿真(Simulation)。首先输入如下测式代码:moduleData_Flow_tb;/InputsregReset;regClock;reg31:0Inst;reg31:0Data;/OutputswireMemWrite;wireMemRead;wire31:0Result;wire31:0B_data;wire31:0NextPC;/Ins
39、tantiatetheUnitUnderTest(UUT)Data_Flowuut(.Reset(Reset),.Clock(Clock),.Inst(Inst),.Data(Data),.MemWrite(MemWrite),.MemRead(MemRead),.Result(Result),.B_data(B_data),.NextPC(NextPC);INITIALBEGIN/InitializeInputsReset=0;Clock=0;Inst=0;Data=0;/Wait100nsforglobalresettofinish#100;Reset=1;/#100;INST=32
40、9;H00002820;/R型,ADD,0号0号寄存器内容相加保存到5号寄存器,执行后MW,M应为零,B_DATA应为零#100;Clock=1;#100;Clock=0;INST=32'H8CB10000;/I,LW,5号与立即数符号扩展相加作为地址,将内存单元内容DATA送到9号寄存器,执行:#100;Clock=1;#100;Clock=0;#100INST=32'HACA00000;/I,SW,5号与立即数符号扩展相加作为地址,将0号寄存器的内容送到内存单元,执行:/MR应为0,MW应为1,B_data应为0号寄存器内容0#100;Clock=1;#100;Reset=
41、0;/AddstimulushereENDENDMODULE然后进行仿真,仿真结果如图所示:(8)InstructionROM的设计与实现假定一个只有32个32位单元的指令存储器,由于只读无需写入,所以可以设置为简化的32个wire型变量,每个变量可被赋值为一条指令。在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:Inst_ROM,然后输入其实现代码:moduleInst_ROM(input31:0address,output31:0inst);wire31:0ram0:31;assignram
42、0=32'b000000_00001_00010_00011_00000100000;/andassignram1=32'b000000_00001_00010_00011_00000100000;/andassignram2=32'b100011_00101_10001_0000000000000000;/lwassignram3=32'b100011_00101_10010_0000000000000100;/lwassignram4=32'b000000_10001_10010_10001_00000100000;/andassignram5=32
43、'b100011_00101_10010_0000000000001000;/lwassignram6=32'b000100_10001_10001_0000000000000001;/bepassignram7=32'b101011_00101_00000_0000000000001100;/swassigninst=ramaddress6:2;ENDMODULE在ISE集成开发环境中,对模块Inst_ROM进行综合(Synthesize),综合结果如图:在ISE集成开发环境中,对模块Inst_ROM进行仿真(Simulation)。首先输入如下测式代码:module
44、Inst_ROM_tb;/Inputsreg31:0address;/Outputswire31:0inst;/InstantiatetheUnitUnderTest(UUT)Inst_ROMuut(.addres(saddress),.inst(inst);INITIALBEGIN/InitializeInputsaddress=0;/Wait100nsforglobalresettofinish#100;address=0;#100;address=4;#100;address=8;#100;address=12;#100;address=16;#100;address=20;#100;a
45、ddress=24;#100;address=28;/AddstimulushereENDENDMODULE然后进行仿真,仿真结果如图: 9) DataMem模块的设计与实现对于实验而言,32个32位单元的数据存储器已满足需求(实际情况应该是以字节编址)。由于需要保存并写入数据,所以应设置32个reg型变量,要求初始化0、1、2号单元的内容为2、3、5。在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:data_mem然后输入其实现代码:moduledat_amem(Addr,Read,Write
46、,DataIn,Clock,DataOut);input31:0Addr;inputRead,Write;input31:0DataIn;inputClock;output31:0DataOut;reg31:0ram0:31;assignDataOut=Read?ramAddr6:2:32'hxxxxxxxx;always(posedgeClock)beginramAddr6:2=Write?DataIn:32'hxxxxxxx;xENDintegeri;INITIALBEGINfor(i=0;i<32;i=i+1)rami=i;ENDENDMODULE在ISE集成开发环
47、境中,对模块data_mem进行综合(Synthesize),综合结果如图: 10) 10)MainBoard模块的设计与实现在ISE集成开发环境中,在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择NewSource命令,创建一个VerilogModule模块,名称为:MainBoard,然后输入其实现代码:moduleMainBoard(inputClock,Reset,output31:0Inst,output31:0Pc,output31:0Aluout,output31:0B_data);wire31:0addr_FtI;wire31:0Data_DtF;wireMemWrite,MemRead;wire31:0Result;wire31:0NextPC;Data_FlowU0(Reset,Clock,Inst,Data_DtF,MemWrite,MemRead,Result,B_data,NextPC);Inst_ROMU1(NextPC,Inst);Data_MEMU2(Clock,Data_DtF,B_data,Result,MemWrite,MemRead);assignPc=N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 诊断学考试试题及参考答案大全(三)
- 诊断学基础知识练习题库与答案
- 浙江国企招聘2025年台州市椒江区属国有企业招聘22人笔试参考题库附带答案详解
- 浙江国企招聘2025丽水龙泉市属国有企业招聘4人笔试参考题库附带答案详解
- 川南煤业泸州古叙煤电有限公司公开招聘工作人员(200人)笔试参考题库附带答案详解
- 2025河北石家庄建筑行业大型国有企业招聘43人笔试参考题库附带答案详解
- 2025河南国有资本运营集团有限公司招聘5人笔试参考题库附带答案详解
- 2025江苏信创连精密电子有限公司招聘产品设计工程师等岗位24人笔试参考题库附带答案详解
- 网络安全法律法规及网络安全管理测试卷
- 漳州市龙文区第二幼儿园招聘笔试真题2024
- 血液净化护理质量控制
- 2022-2023学年上海市徐汇中学七年级(下)期中语文试卷
- 《促进儿童个性发展之策略研究》17000字(论文)
- 创伤失血性休克中国急诊专家共识(2023)解读课件
- 咨询实施顾问能力素质模型
- 2024年铁路线路工(高级技师)技能鉴定理论考试题库(含答案)
- 工程造价预算书
- TGDNAS 043-2024 成人静脉中等长度导管置管技术
- 安徽省江淮十校2023-2024学年高一下学期6月期末测试语文试题(解析版)
- (新湘科版)六年级下册科学知识点
- 小学道德与法治小课题研究课题
评论
0/150
提交评论