计算机组成原理课程设计_第1页
计算机组成原理课程设计_第2页
计算机组成原理课程设计_第3页
计算机组成原理课程设计_第4页
计算机组成原理课程设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本文格式为Word版,下载可任意编辑 计算机组成原理课程设计 武汉工业学院 计算机与信息工程系 计算机组成原理课程设计报告 专业:网络工程 班级:0805101 学号:080510116 姓名:王小飞 指导老师:蒋丽华 2022年12月20日 一、试验目的 1深入理解基本模型计算机的功能、组成知识; 2深入学习计算机各类典型指令的执行流程; 3学习硬布线操纵器的设计过程和相关技术; 4在把握部件单元电路试验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机; 5定义20条MIPS指令集的典型指令,并编写相应的汇编程序,能在模型机上调试,把握计算机整机概念; 6通过熟悉较完整的计算机的设

2、计,全面了解并把握硬布线操纵方式计算机的设计方法,真正理解利用软件进行硬件设计的方法和技巧。 二、试验原理 1. 在部件试验过程中,各部件单元的操纵信号是人为模拟产生的,而本实 验将能在硬布线操纵下自动产生各部件单元操纵信号,实现特定的功 能。 2. 试验选择了MIPS体系结构中对比典型的指令,使用QuartusII软件工具, 通过原理图以及VHDL语言设计CPU的规律电路来实现这些指令。另 外还用MIPS汇编语言编写了用于CPU测试的简单程序,对所设计的 CPU规律电路进行功能仿真模拟,以验证CPU规律电路的正确性。 图1 单周期CPU规律电路图 3.在FPGA中利用嵌入式阵列块EAB可以构

3、成数据存储器,lpm_ram_dq 的结构如图2。数据从ram_dp0的左边D31.0输入,从右边Q31.0输出,R/W 为读/写操纵信号端。数据的写入:当输入数据和地址准备好以后,在inclock 和outclock 是地址锁存时钟,当信号上升沿到来时,地址被锁存,数据写入存储单元。 数据的读出:从A4.0输入存储单元地址,在CLK 信号上升沿到来时,该单元数据从Q31.0输出。 R/W 读/写操纵端,低电平日进行读操作,高电平日进行写操作; CLK 读/写时钟脉冲; DATA31.0RAM_dq0的32位数据输入端; A4.0RAM 的读出和写入地址; Q31.0RAM_dq0的32位数据

4、输出端。 图2 lpm_ram_dq 的结构 三、 试验步骤 1设计数据寄放器的步骤: a. 依照图3所示代码用初始化存储器编辑窗口编辑lpm_ram_dq0 配置文件(文件名.mif ),并将文件名设为 sc_datamem.mif 。如图4所示 图3 数据寄放器的代码 图4 lpm_ram_dq0配置文件 b. 根据试验原理,得出数据寄放器的原理图,如图5示: 图5 数据寄放器原理图 数据寄放器的VHDL设计语言如下: LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY work; ENTITY sc_datamem IS port ( W

5、E : IN STD_LOGIC; CLK : IN STD_LOGIC; MEMCLK : IN STD_LOGIC; A : IN STD_LOGIC_VECTOR(31 downto 0); D1 : IN STD_LOGIC_VECTOR(31 downto 0); DO : OUT STD_LOGIC_VECTOR(31 downto 0) ); END sc_datamem; ARCHITECTURE bdf_type OF sc_datamem IS component lpm_ram_dq0 PORT(wren : IN STD_LOGIC; inclock : IN STD_

6、LOGIC; outclock : IN STD_LOGIC; address : IN STD_LOGIC_VECTOR(4 downto 0); data : IN STD_LOGIC_VECTOR(31 downto 0); q : OUT STD_LOGIC_VECTOR(31 downto 0) ); end component; signal SYNTHESIZED_WIRE_0 : STD_LOGIC; signal SYNTHESIZED_WIRE_1 : STD_LOGIC; BEGIN b2v_inst : lpm_ram_dq0 PORT MAP(wren = SYNTH

7、ESIZED_WIRE_0, inclock = MEMCLK, outclock = MEMCLK, address = A(6 downto 2), data = D1, q = DO); SYNTHESIZED_WIRE_0 CLOCK, RESETN = RESETN, INSTR = SYNTHESIZED_WIRE_0, MEM = SYNTHESIZED_WIRE_1, WMEM = SYNTHESIZED_WIRE_3, ALU = ALUOUT_ALTERA_SYNTHESIZED, DATA = SYNTHESIZED_WIRE_4, PC = SYNTHESIZED_WI

8、RE_2); b2v_inst1 : sc_instmem PORT MAP(CLK = INSTCLOCK, A = SYNTHESIZED_WIRE_2, DO = SYNTHESIZED_WIRE_0); b2v_inst3 : sc_datamem PORT MAP(WE = SYNTHESIZED_WIRE_3, CLK = CLOCK, MEMCLK = MEMCLK, A = ALUOUT_ALTERA_SYNTHESIZED, D1 = SYNTHESIZED_WIRE_4, DO = SYNTHESIZED_WIRE_1); ALUOUT = ALUOUT_ALTERA_SY

9、NTHESIZED; END; b. 编译原理图,成功后封装成元器件,如图9所示: c. 进行功能仿真,仿真波形图如图10所示: 运算结果如下所示: 该CPU还可以运行以下乘法程序,其代码、仿真结果与及运算结果如下所示: 根据代码得出配置文件sc_instmem_multi.mif,如下图所示: 根据代码得出配置文件sc_datamem_multi.mif,如下图所示: 仿真结果如下: 运行结果如下: 四、试验结论 1.通过试验的综合训练,培养了我们的分析问题和解决问题的能力, 使我们把握整机概念,同时进行计算机系统部件的EDA设计,即借 助于EDA工具软件QuartusII完成系统部件规律设

10、计,以帮助我们 系统的把握计算机组成原理这门课程的主要内容,为以后进一步学 习计算机体系结构打下一个良好的基础。 2.通过学习,我们可以深入理解基本模型计算机的功能、组成知识, 深入学习计算机各类典型指令的执行流程,学习硬布线操纵器的设 计过程和相关技术,把握LPM_ROM的配置方法,在把握部件单元 电路试验的基础上,进一步将单元电路组成系统,构造一台基本模 型计算机;定义20条MIPS指令集的典型指令,并编写相应的汇编 程序,能在模型机上调试,把握计算机整机概念;通过熟悉较完整 的计算机的设计,全面了解并把握硬布线操纵方式计算机的设计方 法,真正理解利用软件进行硬件设计的方法和技巧。 3.在计算机组成原理课程设计基本运算模型机,同时引入EDA计算机 辅助设计技术是一个十分有益的尝试。它使以往望而生畏的计算机 组成原理课变得轻松和有吸引力,俭约了资金,缩短了设计的时间 周期;给我们提供了极大的创造空间,激发和培养了我们的创新思 维能力;使我们设计的作品质量和难度系数都得到了提高。 4.通过QuartusII软件在计算机上进行计算机系统部件设计,我们可以 采用不同的设计方案,选用软件库中的一般器件或者自行设计的专 用器件,而这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论