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

下载本文档

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

文档简介

1、计算机组成原理实习报告 姓 名 学 号 200 班 级 信0801-2 指导教师 实习日期 2011年 4 月 2日一 、实习目的1融会贯通计算机组成原理课程和计算机系统结构课程的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对硬布线控制器的认识。2学习运用ISP技术进行设计和调试的基本步骤和方法,熟悉集成开发软件中设计、模拟调试工具的使用,体会ISP技术相对于传统开发技术的优点。3. 培养科学研究的独立工作能力,取得工程设计和组装调试的实验经验。二、实验要求1 . 在微程序控制器实验的基础上,设计一台微程序控制的指令级标量模型计算机。2 . 根据设计的图纸

2、,在通用实验台上进行vhdl语言实现。二 、实验设备及原理实验设备: TEC-4计算机组成原理实验系统一台。PC机 QuartusII软件工具实验原理:1. 在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在硬布线控制下自动产生各部件单元控制信号,实现特定的功能。2. 实验选择了MIPS体系结构中比较典型的指令,使用QuartusII软件工具,通过原理图以及VHDL语言设计CPU的逻辑电路来实现这些指令。另外还用MIPS汇编语言编写了用于CPU测试的简单程序,对所设计的CPU逻辑电路进行功能仿真模拟,以验证CPU逻辑电路的正确性图1 单周期CPU逻辑电路图3. 在FPGA中

3、利用嵌入式阵列块EAB可以构成数据存储器,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(WE : IN STD_LOGI

5、C;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_dq0PORT(wren : IN STD_LOGIC; inclock : IN STD_LOGIC; outclock : IN STD_

6、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;signalSYNTHESIZED_WIRE_0 : STD_LOGIC;signalSYNTHESIZED_WIRE_1 : STD_LOGIC;BEGIN b2v_inst : lpm_ram_dq0PORT MAP(wren = SYNTHESIZED_WIRE_0, inclock = MEMCLK, o

7、utclock = MEMCLK, address = A(6 downto 2), data = D1, q = DO);SYNTHESIZED_WIRE_0 = SYNTHESIZED_WIRE_1 AND WE;SYNTHESIZED_WIRE_1 = NOT(CLK);END;c. 编译原理图文件,成功后封装成元器件,如图6所示: d. 编辑波形,并进行功能仿真,其仿真结果如图7所示;2.设计单周期CPU的步骤:a. 根据原理,得到CPU的设计原理图,如图8所示:用VHDL语言设计如下:LIBRARY ieee;USE ieee.std_logic_1164.all; LIBRARY

8、work;ENTITY sc_comp IS port(CLOCK : IN STD_LOGIC;MEMCLK : IN STD_LOGIC;INSTCLOCK : IN STD_LOGIC;RESETN : IN STD_LOGIC;ALUOUT : OUT STD_LOGIC_VECTOR(31 downto 0);INSTR : OUT STD_LOGIC_VECTOR(31 downto 0);MEMOUT : OUT STD_LOGIC_VECTOR(31 downto 0);PC : OUT STD_LOGIC_VECTOR(31 downto 0);END sc_comp;ARC

9、HITECTURE bdf_type OF sc_comp IS component sc_cpuPORT(CLOCK : IN STD_LOGIC; RESETN : IN STD_LOGIC; INSTR : IN STD_LOGIC_VECTOR(31 downto 0); MEM : IN STD_LOGIC_VECTOR(31 downto 0); WMEM : OUT STD_LOGIC; ALU : OUT STD_LOGIC_VECTOR(31 downto 0); DATA : OUT STD_LOGIC_VECTOR(31 downto 0); PC : OUT STD_L

10、OGIC_VECTOR(31 downto 0);end component;component sc_instmemPORT(CLK : IN STD_LOGIC; A : IN STD_LOGIC_VECTOR(31 downto 0); DO : OUT STD_LOGIC_VECTOR(31 downto 0);end component;component sc_datamemPORT(WE : IN STD_LOGIC; CLK : IN STD_LOGIC; MEMCLK : IN STD_LOGIC; A : IN STD_LOGIC_VECTOR(31 downto 0);

11、D1 : IN STD_LOGIC_VECTOR(31 downto 0); DO : OUT STD_LOGIC_VECTOR(31 downto 0);end component;signalALUOUT_ALTERA_SYNTHESIZED : STD_LOGIC_VECTOR(31 downto 0);signalSYNTHESIZED_WIRE_0 : STD_LOGIC_VECTOR(31 downto 0);signalSYNTHESIZED_WIRE_1 : STD_LOGIC_VECTOR(31 downto 0);signalSYNTHESIZED_WIRE_2 : STD

12、_LOGIC_VECTOR(31 downto 0);signalSYNTHESIZED_WIRE_3 : STD_LOGIC;signalSYNTHESIZED_WIRE_4 : STD_LOGIC_VECTOR(31 downto 0);BEGIN INSTR = SYNTHESIZED_WIRE_0;MEMOUT = SYNTHESIZED_WIRE_1;PC CLOCK, RESETN = RESETN, INSTR = SYNTHESIZED_WIRE_0, MEM = SYNTHESIZED_WIRE_1, WMEM = SYNTHESIZED_WIRE_3, ALU = ALUO

13、UT_ALTERA_SYNTHESIZED, DATA = SYNTHESIZED_WIRE_4, PC = SYNTHESIZED_WIRE_2);b2v_inst1 : sc_instmemPORT MAP(CLK = INSTCLOCK, A = SYNTHESIZED_WIRE_2, DO = SYNTHESIZED_WIRE_0);b2v_inst3 : sc_datamemPORT MAP(WE = SYNTHESIZED_WIRE_3, CLK = CLOCK, MEMCLK = MEMCLK, A = ALUOUT_ALTERA_SYNTHESIZED, D1 = SYNTHE

14、SIZED_WIRE_4, DO = SYNTHESIZED_WIRE_1);ALUOUT = ALUOUT_ALTERA_SYNTHESIZED;END;b. 编译原理图,成功后封装成元器件,如图9所示: c. 进行功能仿真,仿真波形图如图10所示:运算结果如下所示:该CPU还可以运行以下乘法程序,其代码、仿真结果与及运算结果如下所示:根据代码得出配置文件sc_instmem_multi.mif,如下图所示:根据代码得出配置文件sc_datamem_multi.mif,如下图所示:仿真结果如下:运行结果如下:四 、实验结论1. 通过实验的综合训练,培养了我们的分析问题和解决问题的能力,使我们

15、掌握整机概念,同时进行计算机系统部件的EDA设计,即借助于EDA工具软件QuartusII完成系统部件逻辑设计,以帮助我们系统的掌握计算机组成原理这门课程的主要内容,为以后进一步学习计算机体系结构打下一个良好的基础。通过学习,我们可以深入理解基本模型计算机的功能、组成知识,深入学习计算机各类典型指令的执行流程,学习硬布线控制器的设计过程和相关技术,掌握LPM_ROM的配置方法,在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机;定义20条MIPS指令集的典型指令,并编写相应的汇编程序,能在模型机上调试,掌握计算机整机概念;通过熟悉较完整的计算机的设计,全面了解并掌

16、握硬布线控制方式计算机的设计方法,真正理解利用软件进行硬件设计的方法和技巧。2. 在计算机组成原理课程设计基本运算模型机,同时引入EDA计算机辅助设计技术是一个非常有益的尝试。它使以往望而生畏的计算机组成原理课变得轻松和有吸引力,节约了资金,缩短了设计的时间周期;给我们提供了极大的创造空间,激发和培养了我们的创新思维能力;使我们设计的作品质量和难度系数都得到了提高。3. 通过QuartusII软件在计算机上进行计算机系统部件设计,我们可以采用不同的设计方案,选用软件库中的一般器件或者自行设计的专用器件,而这些器件实验室往往又无法提供,通过计算机仿真的课程设计结果使我们学会从不同角度思考同一个问题,提出不同的解决方案,从而提高我们思考实际问题的能力。利用计算机组成原理课程实验中的各个部件单元实验,结合EDA技术,运用原理图或VHDL语言设计完整的单周期中央处理器CPU,再构建计算机整机,能运行所给的汇编程序,在存储器对应单元中看到相应结果。4. 在

温馨提示

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

评论

0/150

提交评论