簡单计算机系统基本模块设计实验报告.docxVIP

簡单计算机系统基本模块设计实验报告.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
簡单计算机系统基本模块设计实验报告

简单计算机系统基本模块设计实验报告实验目的1. 掌握简单计算机系统的指令系统 2. 掌握简单计算机基本模块设计的方法 3. 巩固EDA电路仿真和调试方法 4. 掌握执行R型、I型、J型指令的数据通道 5. 掌握ALU运算单元模块的设计方法 6. 掌握简单控制单元模块的设计方法 设计思路简单的计算机系统的基本组成如下图1所示。整个系统由寄存器组、ALU、控制单元、ROM、RAM、输入设备、输出设备以及输入/输出设备接口组成,各部分通过总线连接起来,总线内部包括地址、数据、和控制等信号。图1计算机系统从输入设备(如键盘)输入参加运算的操作数及加、减等运算符,并通过输入设备接口将这些操作数和运算符存放在寄存器或存储系统中,然后通过执行存放在存储系统中的程序,实现运算,并将运算的结果通过输出设备(如数码管)显示出来。整个过程的实现是通过存储在ROM中的程序来进行控制的。整个系统的设计思路是根据计算机系统的组成,分别设计出相应的模块,最终在将各个模块连接起来,组成整个系统。模块说明寄存器组模块根据指令的特点,在R型指令中有两个操作数来自寄存器组,作为算术逻辑单元ALU的输入,另一个操作数是ALU的输出,需要写回寄存器组。所以寄存器模块需要两个读通道,1个写通道,至少需要3个寄存器。本次实验设计的寄存器组中共含有4个寄存器,因此,需要读写通道各需要两位输入,用N1,N2,ND分别输入读通道1,读通道2,写通道的寄存器号,信号为“00” “01” “10” “11”分别对应寄存器R0,R1,R2,R3。为了能够控制寄存器的读写,需要设置一个写允许信号,当该信号为1时,在CLK的上升沿将输入数据DI写入ND对应的寄存器,为0时禁止对寄存器进行写操作,只能进行读操作,将N1对应的寄存器中的内容从Q1输出,将N2对应的寄存器的内容从Q2输出。寄存器组模块由1个2-4译码器,2个8位4选1数据选择器和4个寄存器组成,这三个基本单位可以由QuartusII的Mega Wizard生成。 其中寄存器(reg)还有一个异步清零端和一个使能端,将写通道的输入ND作为2-4译码器的输入信号, 译出的4个信号分别与输入REG_WE相与作为reg的enable信号,N1,N2信号分别作为两个数据选择器的sel信号,4个寄存器的输出作为数据选择器的数据输入,两个数据选择器的输出分别为Q1,Q2。按照上述逻辑构成的寄存器组电路如下:封装后如下图所示:寄存器组模块信号说明: 输入信号: N1[1..0]:读通道1的寄存器号 N2[1..0]:读通道2的寄存器号 ND[1..0]:写通道的寄存器号 DI[7..0]:写通道的输入数据 CLK:时钟脉冲信号,上升沿有效 REG_WE:写允许,为1时,在CLK上升沿,将数据DI写入ND指定的寄存器; 为“0”时,禁止对寄存器阵列进行写操作。 RST: 异步复位信号,清空所有寄存器的内容 输出信号: Q1[7..0]:输出N1[1..0]指定寄存器的内容 Q2[7..0]:输出N2[1..0]指定寄存器的内容仿真结果:仿真完成的操作是先向R0写入数据18后读出,然后再向R2写入数据8后读出,最后执行了一个清零操作RAM数据存储系统模块RAM数据存储系统容量为256X8,即有256个存储单元,地址编码顺序为0x00~0xFF,每个单元可以存放8位二进制信息,利用QuartusII生成相应的模块如下:RAM模块信号说明如下: 输入信号: address[7..0]:需要进行读/写操作RAM 单元的地址 data[7..0]:待写入RAM 中的数据 wren:写允许信号,为1 时写;为0 则读 clock:时钟脉冲信号,上升沿将数据写入或读出 aclr: 异步复位信号,对q[7..0]进行清0 输出信号: q[7..0]:输出address [7..0]指定的RAM 单元的内容仿真结果如下:波形完成的操作是先向地址1写入14,然后读出地址1里的数,又向地址6写入数据8,然后读出地址6里的数据,最后执行了一个清零操作。I/O端口及其映射模块I/O端口是输入/输出接口电路中用来存放输入输出设备的数据缓冲器。计算机系统通过读写I/O端口的数据,实现与外部设备的数据传送。为了实现I/O的双向读写,需要设计基本的三态门单元。指令系统中没有直接对I/O端口的操作指令,为了实现用指令对I/O的控制,需要设计一个映射模块,将指令系统中对RAM存储单元0x00~0x07的读写转换成为对I/O对应地址的读写。还需要一个数据选择器将8个I/O端口的输入选择输出。三态门由QuartusII生成,如下图所示:8位8选1数据选择器也由QuartusII生成,如下图所示:映射模块用VHDL语言写成,代码如下:LIBRARY IEEE;USE IEEE.STD_

文档评论(0)

df9v4fzI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档