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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

西安交通大学组成原理课内实验.docx

1、西安交通大学组成原理课内实验 计算机组成原理课内实验报告 实验二学生姓名 高君宇 专业班级 计算机15 学 号 2110505112 所在学院 电信学院 提交日期 2014年1月18日 实验二1. 实验目的(1)理解计算机主存储器的分类及作用(2)掌握ROM、RAM的读写方法2. 实验要求1)实验设计目标设计一个能够对实验台上的存储器读写的部件,满足以下目标:(1)一个16位的存储器地址寄存器。该寄存器在reset为低电平时清零,在时钟clk的上升沿加1,地址寄存器在超过ox000f后下一个时钟上升沿回到0。(2)一个标志寄存器,在reset为低电平时复位为0,当存储器地址寄存器等于0x000

2、f后,下一个时钟clk的上升沿标志寄存器翻转。(3)在标志寄存器为0时执行存储器存数功能,从存储器的0单元开始存16个16位数。按动一次单脉冲按钮,存一次数,存的数由内部产生,不由实验台开关输入。(4)当标志寄存器为1时,执行从存储器的0单元开始的读数功能。按动一次单脉冲按钮,读一次数,一直读16个数。读出的数据送入一个16位信号R15.0暂存。提示:当需要从存储器读取数据时,首先将ZZZZZZZZZZZZZZZZ赋值给数据总线,然后才能读取存储器中的数据。2)顶层设计实体的引脚要求引脚要求对应关系如下:(1)clk对应实验台上的时钟(单脉冲)。(2)reset对应实验台上的CPU复位信号CP

3、U_RST。(3)存储器地址总线A15.0对应实验台上的指示灯A15A0。(4)存储器数据总线D15.0对应实验台上的数据指示灯D15D0。(5)16位信号R15.0对应实验台上的指示灯R15R0。(6)存储器读写信号FWR对应实验台上的FWR。3. 实验原理存储器按存取方式分,可分为随机存储器和顺序存储器。如果存储器中的任何存储单元的内容都可随机存取,称为随机存储器,计算机中的主存储器都是随机存储器。如果存储器只能按某种顺序存取,则称为顺序存储器,磁带是顺序存储器,磁盘是半顺序存储器,它们的特点是存储容量大,存取速度慢,一般作为外部存储器使用。如果按存储器的读写功能分,有些存储器的内容是固定

4、不变的,即只能读出不能写入,这种存储器称为只读存储器(ROM);既能读出又能写入的存储器,称为随机读写存储器(RAM)。实际上真正的ROM基本上不用了,用的是光可擦除可编程的ROM(EPROM)和电可擦除可编程的ROM(EEPROM)。EEPROM用的越来越多,有取代EPROM之势,比如容量很大的闪存(FLASH)现在用的就很广泛,常说的U盘就是用FLASH做的。按信息的可保存性分,存储器可分为非永久性记忆存储器和永久性记忆存储器。ROM、EPROM、EEPROM都是永久记忆存储器,它们断电后存储内容可保存。RAM则是非永久性记忆存储器,断电后存储器中存储的内容丢失。TEC-CA实验台上HM6

5、116的使用在TEC-CA开放式CPU实验教学系统实验台上,有2片静态存储器器件HM6116。HM6116有8位数据总线和11位地址总线。2片HM6116构成了2k X 16bits的静态存储器,与FPGA-CPU一起构成了能够运行测试程序的计算机。图6-41是FPGA-CPU和2片HM6116连接示意图。图6-41 FPGA-CPU和2片HM6116连接示意图对于FPGA-CPU来说,实验台上的2片HM6116的CS是接地的,因此不需要对它们的CS进行控制。FPGA-CPU产生的16位存储器地址A15A0只有11位地址A10A0送往2片HM6116,其余5位地址A15A11没有使用。FPGA

6、-CPU的16位存储器数据总线D15D0和2片HM6116相连,1片HM6116的I/O7I/O0接D7D0,另1片HM6116的I/O7I/O0接D15D8。FPGA-CPU输出的存储器控制信号FWR直接送2片HM6116的WE;FWR在实验台经过一个反相器反相后送2片HM6116的OE。因此FPGA-CPU只要在存储器地址总线A10A0设置好地址,在数据总线D15D0上送出被写数据,然后在FWR上产生一个负脉冲,就能将数据写入指定的存储器单元;只要在存储器地址总线A10A0设置好地址,然后使FWR为高电平,就能在数据总线D15D0上接收到从指定的存储器单元读出的数据。4.设计思路与源代码l

7、ibrary IEEE;use ieee.std_logic_1164.all;use ieee.std_logic_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 downt

8、o 0)- 寄存器 );end memory; architecture behav of memory issignal 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)begin if reset = 0

9、 then counter = x0000; elsif clkevent and clk = 1 then - 计数 if (start = 1) and (counter /= x000f) then counter = counter + 1; elsif (start = 1) and (counter = x000f) then counter = x0000; end if; end if;end process;process(reset,clk)begin if reset = 0 then start = 0; elsif clkevent and clk = 1 then

10、start = 1; end if;end process;process(reset,counter,clk)begin if reset = 0 then flag = 0; elsif clkevent and clk = 1 then if counter = x000f then flag = not flag; end if; end if;end process; process(reset,counter,clk,start,flag,wdata,D)begin if reset = 0 then FWR = 1; elsif start = 1 then if flag =

11、0 then D = wdata; FWR = clk; else D = ZZZZZZZZZZZZZZZZ; FWR = 1; R = D; end if; end if;end process; -增加flag引出信号,观察他的变化。end behav; 5.实验步骤(1)实验台设置成FPGA-CPU附加外部RAM运行模式“011”。该调试模式要能够实现模拟FPGA-CPU对实验台存储器的存数、取数功能。即REGSEL = 0、CLKSEL = 1、FDSEL = 1。使用实验台上的单脉冲,即STEP_CLK短路子短接,短路子RUN_CLK断开。由于当FDSEL=0时,指示灯D15D0显示

12、的是开关SD15SD0的值,因此开关FDSEL必须为1。这种方式除了FPGA-CPU的时钟是单脉冲外,其余都与单片机控制FPGA-CPU调试模式完全一样。(2)将设计在Quartus 下输入,编译后下载到TEC-CA上的FPGA中。首先按实验台上的CPU复位按钮,使存储器地址寄存器复位为0,然后不断观察实验台上的指示灯,察看结果与预想的是否一致。6、实验现象:reset信号使整个运行过程复位, clk脉冲有效是存入16个16位数,标志位变为1,按clk开始读存储器,此时可以通过观察指示灯的亮灭情况得到输出结果。7、实验小结本次实验中使我对Quartus有了更加充分的认识,在实验过程中,仿真的时

13、候波形不正确,其中一开始是仿真过程不熟悉导致,后来解决时通过调整延长了地址有效时间,读取稳定。 这说明成功是需要不断尝试的! 计算机组成原理课内实验报告实验三学生姓名 高君宇 专业班级 计算机15 学 号 2110505112 所在学院 电信学院 提交日期 2014年1月18日 实验三1、 实验目的 (1)了解通用寄存器组的用途及对CPU的重要性。 (2)掌握通用寄存器组的设计方法。(3)掌握VHDL中层次结构的设计特点和方法;学习和掌握component语句和port map语句。(4)进一步学习和掌握case语句及其他语句的用法,完成各种寄存器、译码器及选择 器的设计和实现。2、实验要求1

14、)实验设计目标 设计一个通用寄存器组,满足以下要求:(1) 通用寄存器组中有4个16位的寄存器。(2) 当复位信号reset = 0时,将通用寄存器组中的4个寄存器清零。2)顶层设计实体的引脚要求 引脚要求对应关系如下:(1)clk对应实验台上的时钟(单脉冲)。(2)reset对应实验台上的CPU复位信号CPU_RST。(3)SR1.0对应实验台开关SA1、SA0。(4)DR1.0对应实验台开关SA3、SA2。(5)DRWr对应实验台开关SA5。(6)目的操作数用实验台上的指示灯A15A0显示,源操作数用实验台上的指示灯R15R0显示。3.实验原理通用寄存器组是CPU的重要组成部分。从存储器取

15、来的数据要放在通用寄存器中;从外部设备取来的数据除DMA方式外,要放在通用寄存器中。向存储器输出的数据也是从通用寄存器中取出的;向外部设备输出的数据除DMA方式外也是从通用寄存器中取出的。由于从通用寄存器组中取数据比从存储器或者外部设备取数据速度快得多,因此参加算术运算和逻辑运算的数据一般是从通用寄存器组中取出的,它向算术逻辑单元ALU提供了进行算术运算和逻辑运算所需要的2个操作数,同时又是运算结果的暂存地。通用寄存器组内寄存器的数目与CPU性能有关,CPU性能越高,通用寄存器组内的寄存器数目越多。由于算术逻辑运算需要2个操作数,因此通用寄存器组有2个读端口,负责提供进行算术逻辑单元需要的源操

16、作数和目的操作数。通用寄存器组有1个写端口,负责将运算结果保存到指定的寄存器内。根据通用寄存器组的功能要求,一个只有4个16位寄存器的通用寄存器组的框图如图所示。6)4选1多路选择器:*多路选择器1从4个寄存器R0、R1、R2和R3的输出Q15.0选择1路送到DR_data1.0,给算术逻辑单元提供目的操作数;选择信号sel1.0接DR1.0。*多路选择器2从4个寄存器R0、R1、R2和R3的输出Q15.0选择1路送到SR_data1.0,给算术逻辑单元提供源操作数;选择信号sel1.0接SR1.0。4、设计思路与源代码设计思路:主要运用层次结构设计的方法,首先设计了底层的3个实体:16位寄存

17、器,具有复位功能和允许写功能;一个2-4译码器,对应寄存器写选择;一个4选1多路开关,负责1) then if sel = 1 and write = 1 then q_output = d_input; end if; end if; end process;end a;2设计实体decoder2_to_4 library ieee;use ieee.std_logic_1164.all;entity decoder2_to_4 is port ( sel : in std_logic_vector(1 downto 0); sel00 : out std_logic; sel01 : ou

18、t std_logic; sel02 : out std_logic; sel03 : out std_logic );end decoder2_to_4;architecture behavioral of decoder2_to_4 isbegin sel00 = (not sel(1) and (not sel(0); sel01 = (not sel(1) and sel(0) ; sel02 = sel(1) and (not sel(0); sel03 out_put out_put out_put out_put reset, -该语句将底层芯片的引脚reset与顶层的 端口信号

19、reset连接起来了; d_input = data, -顶层设计实体的外部输入信号data clk = clk, -顶层设计实体的外部输入信号clk write = wen, -顶层设计实体的外部输入信号wen sel = sel00, q_output = reg00 );Areg01: register_16 port map( -16位寄存器R1 reset = reset, -顶层设计实体的外部输入信号reset d_input = data, -顶层设计实体的外部输入信号data clk = clk , -顶层设计实体的外部输入信号clk write = wen, -顶层设计实体的

20、外部输入信号wen sel = sel01, q_output = reg01 );Areg02: reggister_16 port map ( -16位寄存器R2 reset = reset, -顶层设计实体的外部输入信号reset d_input = data, -顶层设计实体的外部输入信号data clk = clk, -顶层设计实体的外部输入信号clk write = wen , -顶层设计实体的外部输入信号wen sel = sel02, q_output = reg02);Areg03: reggister_16 port map( -16位寄存器R3 reset = reset

21、, -顶层设计实体的外部输入信号reset d_input = data, -顶层设计实体的外部输入信号data clk = clk, -顶层设计实体的外部输入信号clkwrite = wen, -顶层设计实体的外部输入信号wren sel = sel03, q_output = reg sel03 = sel03 );mux: mux_4_to_1 port map( -4选1多路器 input0 = reg00, input1 = reg01, input2 = reg02, input3 = reg03, sel = rd_port, -顶层设计实体的外部输入信号rd_port out_

22、put = data_out -顶层设计实体的输出信号q_out );end struct;5、实验现象 在实验台指示灯A15A0和R15R0上观察各寄存器的值如下所示。A15A0R15R0R0R1R2R3R0R1R2R3 (1)reset后00000000000000000000000000000000(2)R0写入0x3333后33330000000000003333000000000000(3)R1写入0x5555后33335555000000003333555500000000(4)R2写入0xAAAA后33335555AAAA000033335555AAAA0000(5)R3写入0x

23、FFFF后FFFFFFFF 可以看到实验结果实现了寄存器的传递数据的功能。6、实验总结 本次的实验让我对VHDL语言有了更加深刻的理解,软件和硬件的逻辑等价性在这种语言的描述中发挥的淋漓尽致!同时也使得我对于寄存器有了更加深刻的了解和认识,对于寄存器的传递数据的功能,与cpu进行直接的数据传输等功能了解更加深刻,在实验过程中自己对于寄存器的结构以及作用有了一个很好地掌握!计算机组成原理课内实验报告实验四学生姓名 高君宇 专业班级 计算机15 学 号 2110505112 所在学院 电信学院 提交日期 2014年1月18日 实验四:指令译码器一实验目的 (1)理解指令译码器的作用和重要性。 (2

24、)学习设计指令译码器。二 实验要求1)实验设计目标本实验要求根据实验CPU中使用的指令系统设计指令译码器,本实验指令译码器的设计相对比较简单,节拍(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

25、_flag 为1表示需要条件转移。 lj_instruct 为1表示本条指令是条“JMP ADR”指令。 DRWr 为1表示在t3的下降沿将本条指令的执行结果写入目的寄存器。 Mem_Write 为1表示本条指令有存储器写操作,存储器的地址是目的寄存器的内容。 DW_intruct 为1表示本条指令是双字指令。 change_z 为1表示本条指令可能改变z(结果为0)标志。 change_c 为1表示本条指令可能改变c(进位)标志。 sel_memdata 为1表示本条指令写入目的寄存器的值来自读存储器。2)顶层设计实体的引脚要求引脚要求的对应关系如下:(1)指令IR15.12对应实验台开关SD3SD0 进位C对应实验台开关SD4 结果为0标志Z对应实验台开关SD5(2)控制信号对应如下: op_code2.0 指示灯R2、R1、R

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1