ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:291.57KB ,
资源ID:7190239      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7190239.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(西安交通大学计算机组成原理实验报告Word格式.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

西安交通大学计算机组成原理实验报告Word格式.docx

1、图6-37 SRAM结构框图动态随机存储器动态随机存储器(DRAM)和SRAM一样,也是由许多基本存储电路按照行和列来组成的。DRAM是以MOS管栅极和衬底间电容上的电荷来存储信息的。由于MOS管栅极上的电荷会因漏电而泄放,故存储单元中的信息只能保持若干秒,为此DRAM必须附加刷新逻辑电路。另外,DRAM将地址分为行地址和列地址,并分时复用以减少引脚数目。常见的4164芯片即是DRAM。三、实验要求1、实验设计目标设计一个能够对实验台上的存储器读写的部件,满足以下目标:(1)、一个16位的存储器地址寄存器(MAR)。该寄存器在reset为低电平时清零,在时钟clk的上升沿加1,地址寄存器在超过

2、ox000f后下一个时钟上升沿回到0。一个标志寄存器(flag),在reset为低电平时复位为0,当存储器地址寄存器等于0x000f后,下一个时钟clk的上升沿标志寄存器翻转。(2)、在标志寄存器为0时执行存储器存数功能,从存储器的0单元开始存16个16位数。按动一次单脉冲按钮,存一次数,存的数由内部产生,不由实验台开关输入。(3)、当标志寄存器为1时,执行从存储器的0单元开始的读数功能。按动一次单脉冲按钮,读一次数,一直读16个数。读出的数据送入一个16位信号R15.0暂存。提示:当需要从存储器读取数据时,首先将ZZZZZZZZZZZZZZZZ赋值给数据总线,然后才能读取存储器中的数据。2、

3、顶层设计实体的引脚要求引脚要求对应关系如下:(1)clk对应实验台上的时钟(单脉冲)。(2)reset对应实验台上的CPU复位信号CPU_RST。(3)存储器地址总线A15.0对应实验台上的指示灯A15A0。(4)存储器数据总线D15.0对应实验台上的数据指示灯D15D0。(5)16位信号R15.0对应实验台上的指示灯R15R0。(6)存储器读写信号FWR对应实验台上的FWR。(7)四、实验步骤实验台设置成FPGA-CPU附加外部RAM运行模式“011”。该调试模式要能够实现模拟FPGA-CPU对实验台存储器的存数、取数功能。即REGSEL = 0、CLKSEL = 1、FDSEL = 1。使

4、用实验台上的单脉冲,即STEP_CLK短路子短接,短路子RUN_CLK断开。由于当FDSEL=0时,指示灯D15D0显示的是开关SD15SD0的值,因此开关FDSEL必须为1。这种方式除了FPGA-CPU的时钟是单脉冲外,其余都与单片机控制FPGA-CPU调试模式完全一样。将设计在Quartus 下输入,编译后下载到TEC-CA上的FPGA中。首先按实验台上的CPU复位按钮,使存储器地址寄存器复位为0,然后不断观察实验台上的指示灯,察看结果与预想的是否一致。1、实验思路:2、源代码library IEEE;use ieee.std_logic_1164.all;use ieee.std_log

5、ic_arith.all;use ieee.std_logic_unsigned.all;entity memory is port(reset,clk: in std_logic; -复位、时钟 FWR: out std_logic; -RAM的读写 D: inout std_logic_vector(15 downto 0);-数据 A: out std_logic_vector(15 downto 0); -地址 R: out std_logic_vector(15 downto 0)- 寄存器 );end memory; architecture behav of memory iss

6、ignal counter: std_logic_vector(15 downto 0);signal wdata: std_logic_vector(15 downto 0);signal start, flag : std_logic; -开始计数(读写)、结束(状态)beginA = counter;wdata = 00000000001 & counter(4 downto 0);- 数据16bit的形成process(reset,clk) if reset = 0 then counter = x0000; elsif clkevent and clk = 1 then - 计数 i

7、f (start = ) and (counter /= x000f) then= counter + elsif (start = ) and (counter = x counter end if; end if;end process; start = process(reset,counter,clk) flag if counter = x flag = not flag; process(reset,counter,clk,start,flag,wdata,D) FWR elsif start = if flag = D = wdata; FWR = clk; else R a(0

8、), b = b(0), CarryIn = cin, Sum = sum(0), CarryOut = carry(1)f1: a(1), b(1), carry(1), sum(1), carry(2) f2: a(2), b(2), carry(2), sum(2), carry(3)f3: a(3), b(3), carry(3), sum(3), carry(4)f4: a(4), b(4), carry(4), sum(4), carry(5)f5: a(5), b(5), carry(5), sum(5), carry(6)f6: a(6), b(6), carry(6), su

9、m(6), carry(7)f7: a = a(7), b = b(7), CarryIn = carry(7), Sum = sum(7), CarryOut = coutEND ripple;六、实验结果加法器设计:第一操作数opr17.0对应于实验台上开关SD7SD0;第二操作数opr2 7.0对应实验台上开关SD15SD8;运算结果result 15.0对应实验台上指示灯A7A0。通过开关SD7SD0表示第一操作数,开关SD15SD8表示第二操作数,相加在指示灯A7A0上即可得到结果。通过这次实验,我对基本的算术运算和逻辑运算的运算规则和实现方法的掌握加深了。除此之外,通过实验,我基本

10、掌握运算器的工作原理,我还学习了如何用运算器实现信息传送通路。这次实验我们主要学习了加法器的设计与实现。起初大家都还不熟悉,所以从一位加法器开始做起,慢慢地熟悉起来之后,可以做到八位了。在此,我很感谢姜老师在实验过程中对我的帮助,因为有老师的帮助我才可以在规定时间里完成实验,并收获了不少知识!实验三 指令译码器(硬连线控制器)的设计与实现1、理解指令译码器的作用和重要性;2、理解控制器中指令与微操作的关系;3、学习设计指令译码器。指令译码器是计算机控制器中最重要的部分。所谓组合逻辑控制器就是指指令译码电路是由组合逻辑实现的。组合逻辑控制器又称硬连线控制器,是早期设计计算机的一种方法。这种控制器

11、中的控制信号直接由各种类型的逻辑门和触发器等组合产生。这样,一旦控制部件构成后,除非重新设计和物理上对它重新连线,否则要想增加新的功能是不可能的。结构上的这种缺陷使得硬连线控制器的设计和调试变得非常复杂而且代价很大。所以,硬连线控制器曾一度被微程序控制器所取代。但是随着新一代机器及VLSI技术的发展,这种控制器又得到了重视,如RISC机广泛使用这种控制器。. 图1 组合逻辑控制器的结构方框图图1是组合逻辑控制器的结构方框图。逻辑网络的输入信号来源有三个:(1)指令操作码译码器的输出In;(2)来自时序发生器的节拍电位信号Tk;(3)来自执行部件的反馈信号Bj。逻辑网络的输出信号就是微操作控制信

12、号,用来对执行部件进行控制。组合逻辑控制器的基本原理,可描述为:某一微操作控制信号Cm是指令操作码译码器的输出In、时序信号(节拍电位信号Tk)和状态条件信号Bj的逻辑函数。即Cmf(In,Tk,Bj)用这种方法设计控制器,需要根据每条指令的要求,让节拍电位和时序脉冲有步骤地去控制机器的各有关部分,一步一步地执行指令所规定的微操作,从而在一个指令周期内完成一条指令所规定的全部操作。一般来说,组合逻辑控制器的设计步骤如下。(1)绘制指令流程图为了确定指令执行过程所需的基本步骤,通常是以指令为线索,按指令类型分类,将每条指令归纳成若干微操作,然后根据操作的先后次序画出流程图。(2)安排指令操作时间

13、表指令流程图的进一步具体化,把每一条指令的微操作序列分配到各个机器周期的各个时序节拍信号上。要求尽量多的安排公共操作,避免出现互斥。(3)安排微命令表以指令流程图为依据,表示出在哪个机器周期的哪个节拍有哪些指令要求哪些微命令。(4)进行微操作逻辑综合根据微操作时间表,将执行某一微操作的所有条件(哪条指令、哪个机器周期、哪个节拍和脉冲等)都考虑在内,加以分类组合,列出各微操作产生的逻辑表达式,并加以简化。(5)实现电路根据上面所得逻辑表达式,用逻辑门电路的组合或大规模集成电路来实现。三、实验内容1、设计目标根据提供的指令集(附件1),设计CPU的指令译码器,本实验指令译码器的设计相对简单,因为节

14、拍(t1、t2和t3)信号只在存储器读写时需要对存储器地址分时使用时需要考虑,所以这里暂不考虑节拍脉冲t,也就是说微操作控制信号只是指令操作码In和Bj的函数: Cm = f(In,Bj) 式中的In主要代表指令操作码IR15.12,还有辅助操作码(如算术逻辑指令时的IR2.0,我们这里要求只考虑指令操作码IR15.12。Bj代表进位标志C和结果为0标志Z。要求产生的微操作控制信号如下: op_code 控制ALU进行8种运算操作的3位编码。 c_z_j_flag 为1表示需要条件转移。 lj_instruct 为1表示本条指令是条“JMP ADR”指令。 DRWr 为1表示在t3的下降沿将本

15、条指令的执行结果写入目的寄存器。 Mem_Write 为1表示本条指令有存储器写操作,存储器的地址是目的寄存器的内容。 DW_intruct 为1表示本条指令是双字指令。 change_z 为1表示本条指令可能改变z(结果为0)标志。 change_c 为1表示本条指令可能改变c(进位)标志。 sel_memdata 为1表示本条指令写入目的寄存器的值来自读存储器。引脚要求的对应关系如下:(1)指令IR15.12对应实验台开关SD3SD0 进位C对应实验台开关SD4 结果为0标志Z对应实验台开关SD5(2)控制信号对应如下: op_code2.0 指示灯R2、R1、R0 c_z_j_flag

16、指示灯R3 lj_instruct 指示灯R4 DRWr 指示灯R5 Mem_Write 指示灯R6 DW_intruct 指示灯R7 change_z 指示灯R8 change_c 指示灯R9 sel_memdata 指示灯R10四、实验源程序及注释指令译码器:library ieee;-实体的定义部分entity instruction_decoder is port (IRH: in std_logic_vector(3 downto 0); /指令操作码IR15.12 c,z: in std_logic; /c表示进位标志,z表示结果为0标志 op_code: out std_logic_vector(2 downto 0); /控制ALU进行8种运算操作的3位编码 c_z_j_flag: out std_logic; /为1表示需要操作转移 lj_instruct: out

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2