杭电计算机组成实验
文章平均质量分 61
XdpCs
https://github.com/XdpCs
展开
-
杭电计算机组成实验汇总
杭电计算机组成实验1(一)全加器设计实验杭电计算机组成实验2(二)超前进位加法器设计实验杭电计算机组成实验3(三)多功能ALU设计实验杭电计算机组成实验4(四)寄存器堆设计实验杭电计算机组成实验5(五)存储器设计实验杭电计算机组成实验6(六)MIPS汇编器与模拟器实验杭电计算机组成实验7(七)取指令与指令译码实验杭电计算机组成实验8(八)实现R型指令的CPU设计实验杭电计算机组成实验9(九)实现R-I型指令的CPU设计实验杭电计算机组成实验10(十)实现R-I-J型指令的CPU设计实验原创 2020-12-26 22:36:54 · 10686 阅读 · 0 评论 -
杭电计算机组成实验10(十)实现R-I-J型指令的CPU设计实验
实验内容1. 掌握MIPS R型、I型和J型指令的综合数据通路设计,掌握各种转移类指令的控制流和指令流的多路选通控制方法2. 掌握J型、I型和R型转移指令的指令格式和寻址方式,学习转移地址的产生方法,掌握无条件转移指令和条件转移指令的实现方法3. 编程实现MIPS的部分J型、I型和R型转移指令的功能解决方法1. 分析MIPS J型指令的特点,由6位OP字段和26位的address字段构成2. 分析转移指令的数据通路,转移地址的产生有三种方式,转移地址产生后,要送入PC,才能完成跳转3. R型指原创 2020-12-26 22:28:04 · 6393 阅读 · 6 评论 -
杭电计算机组成实验9(九)实现R-I型指令的CPU设计实验
实验内容1. 掌握MIPS R型和I型指令的综合数据通路设计,掌握数据流的多路选通控制方法2. 掌握取数指令lw和存数指令sw的寻址方式及其有效地址产生的方法3. 实现MIPS的部分I型和 R型指令的功能解决方法1. 分析MIPS I型指令的特点,与R型指令有明显的不同:没有rd寄存器,使用rt作为目的寄存器;源操作数中有一个为立即数,位于指令的低16位2. 在寄存器堆模块的写地址输入端口设置二选一选择器,由于R型和I型的目的寄存器不同,由rd_rt_s控制3. 16位的立即数imm需要经过扩原创 2020-12-25 00:22:04 · 5381 阅读 · 1 评论 -
杭电计算机组成实验8(八)实现R型指令的CPU设计实验
实验内容1. 掌握MIPS R型指令的数据通路设计,掌握指令流和数据流的控制方法2. 掌握完整的单周期CPU顶层模块的设计方法3. 实现MIPS R型指令的功能解决方法1. 分析MIPS R型指令的特点,OP均为000000b,可作为判断R型指令的依据2. 两个源操作数分别在rs和rt字段所指定的寄存器中,而目的操作数则是在rd字段所指定的寄存器3. 分析数据通路是从指令存储器取出的指令经过初级译码,将分解出的源寄存器rs、rt直接与寄存器堆的两个读端口A和B的寄存器地址连接,而将目的寄存器r原创 2020-12-23 23:19:13 · 9834 阅读 · 9 评论 -
杭电计算机组成实验7(七)取指令与指令译码实验
实验内容1. 学习指令存储器的设计2. 掌握CPU取指令操作与指令译码的方法和过程解决方法1. 本次实验设计采用哈佛结构设计存储器模块,需要设计一个只读存储器作为指令存储器,采用Memory IP核实现(不会用Memory IP核,可以看我这个博文存储器实验2. 程序计数器PC与PC自增加法器组合成一个模块,由于指令存储器只有64个32位单元,所以PC的32位指令地址的高24位可直接在设计中清零3. 需要注意在指令周期clk的上升沿执行取指令操作,在clk下降沿更新PC值4. 代码展示:顶层原创 2020-12-22 22:54:01 · 7594 阅读 · 1 评论 -
杭电计算机组成实验6(六)MIPS汇编器与模拟器实验
实验内容1. 学习 MIPS指令系统,熟悉 MIPS指令格式及其汇编指令助记符,掌握机器指令编码方法2. 学习 MIPS汇编程序设计,学会使用 MIPS 汇编器将汇编语言程序翻译成二进制文件3. 了解使用 MIPS教学系统模拟器运行程序的方法解决方法下载 PCSpim 软件给大家按照书上的要求,在文本编辑器中输入汇编程序,然后装入PCSpim左侧内为指令地址,中间是十六进制的指令编码,右侧是相应的标准汇编指令,主要注意的是第二个程序,必须在裸机执行方式核心 结果展示:...原创 2020-12-22 22:43:27 · 3511 阅读 · 0 评论 -
杭电计算机组成实验5(五)存储器设计实验
实验内容1. 掌握灵活运用 V erilog HDL 进行各种描述与建模的技巧和方法2. 学习在 I SE 中设计生成 M emory IP 核的方法3. 学习存储器的结构及读写原理,掌握存储器的设计方法解决方法1. 分析一个 256x8 位的物理存储器,具有读 写功能,按字节编址,按字访问,即 64x32 位。2. 首先,给出的 8 位存储器地址,只按照高 6 位访问存储器,而低 2 位必须为003. 我采用了两种方法进行设计存储器,首先是 MemoryIP 核4. MemoryIP核原创 2020-12-22 22:09:28 · 14473 阅读 · 3 评论 -
杭电计算机组成实验4(四)寄存器堆设计实验
实验内容1. 学习使用Verilog HDL 进行时序电路的设计方法2. 掌握灵活运用Verilog HDL进行各种描述与建模的技巧和方法3. 学习寄存器堆的数据传送与读/写工作原理,掌握寄存器堆的设计方法解决方法1. 分析一个32x32位的寄存器堆,即含有32个寄存器,每个寄存器32位。该寄存器堆有2个读端口、1个写端口,即能够同时读出2个寄存器的值,写入1个寄存器2. 首先,分析出两个端口读入是5位的地址,读出的数据是32位的两个,该寄存器堆只有一个写端口,还要配合控制信号Write_Reg原创 2020-12-21 16:07:16 · 9109 阅读 · 11 评论 -
杭电计算机组成实验3(三)多功能ALU设计实验
实验内容1. 学习多功能ALU的工作原理,掌握运算器的设计方法2. 掌握运用Verilog HDL 进行行为描述与建模的技巧和方法解决方法1. 分析一个具有8种运算功能的32位ALU,并能够产生运算结果的标志:结果位零标志(ZF)和溢出标志(OF)2. 首先,分析出ZF只会在加减运算中出现溢出情况,然后分析出ALU 8种计算如何表达,如果使用“-”,就不用考虑如何减法3. 代码展示:顶层模块:module ALU(AB_SW,ALU_OP,F_LED_SW,LED);input[2:0]A原创 2020-12-21 15:58:31 · 10301 阅读 · 7 评论 -
杭电计算机组成实验2(二)超前进位加法器设计实验
实验内容1. 掌握运用Verilog HDL进行数据流描述与建模的技巧和方法,掌握模块调用与实例引用的方法2. 掌握超前进位加法器的原理与设计方法解决方法1. 分析4位的二进制全加器的输入输出,内部为超前进位逻辑2. 首先,要知道超前进位逻辑与行波进位加法器的区别3. 行波进位加法器需要像链子一样,等第一位算完,再算第二位,而超前进位加法器是四位同时,第二位包括了第一位的计算部分,从而达到消除依赖的关系4. 代码展示:module second_experiment_first(A,B,F,原创 2020-12-21 15:42:01 · 4740 阅读 · 4 评论 -
杭电计算机组成实验1(一)全加器设计实验
杭电计算机组成实验1(一)实验内容1. 学习ISE工具软件的使用及仿真方法2. 学习FPGA程序的下载方式3. 熟悉Nexys3实验板4. 掌握运用Verilog HDL 进行结构描述与建模的技术和方法5. 掌握二进制全加器的原理与设计解决方法1. 分析二进制全加器的输入输出,然后得出两个输出端口的门电路。2. 使用ISE内部门级电路进行组合,最后实现实验所需的效果module First_Experiment_Add(A,B,Ci,F,C);input A,B,Ci;output原创 2020-12-21 15:38:35 · 7053 阅读 · 2 评论