南通大学计算机科学与技术学院
计算机组成原理****实验报告
实 验 名 称简单数据通路的组成与故障分析实验
班 级
学 号
姓 名 jontyy
指 导 教 师
日 期
**一、**实验目的
**二、**实验用软件、器件等
**三、**实验内容
**四、**电路原理图
**五、**实验过程及数据记录
**六、**实验数据分析与小结
**七、**实验心得体会
一、实验目的
1、将运算器模块与存储器模块进行连接;
2、进一步熟悉计算机的数据通路;
3、练分析问题与解决问题的能力,学会在出现故障的情况下,独立分析故障现象并排除故障。
二、实验用软件、器件等
1、软件:QUARTUS 2.0、WPS文字、Visio 2013
2、器件:lpm_rom0、lpm_ram_dq0、addition8、NOT、AND2、74273b、74374b、74244b、input、output
三、实验内容
1、设计一实验电路图,把前面进行的运算器实验模块与存储器实验模块两部分电路连接在一起。RAM和ROM的输出应能送至寄存器DR1和DR2作为运算器的输入,而运算器的结果应既可以送入R0暂存,又可以送入RAM的指定单元。整个电路总线结构的形式自行设计。
2、排除实验电路中的故障,正确连线。
3、给ROM的02H单元和09H单元分别置入初始数据12H和19H,把31H写入RAM的81H单元,然后完成以下运算:
(02H)+(81H)→(81H)12H+31H=43H
(81H)-(09H)→(81H)43H-19H=2AH
验证运算结果和存储器单元的内容是否正确。
四、电路原理图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cw7iEynU-1576743852596)(file:////Users/muyi/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image002.jpg)]
图1.1 实验电路原理图
**五、**实验过程及数据记录
1、设计一实验电路图,把前面进行的运算器实验模块与存储器实验模块两部分电路连接在一起。RAM和ROM的输出应能送至寄存器DR1和DR2作为运算器的输入,而运算器的结果应既可以送入R0暂存,又可以送入RAM的指定单元。整个电路总线结构的形式自行设计。实验电路图如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-86TSgZPN-1576743852597)(file:////Users/muyi/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image004.jpg)]
图1.2 实验电路图
2、排除实验电路中的故障,正确连线。
在实验过程中,遇到了类似于“** instantiates undefined entity”的问题,导致无法进行编译,经过查找资料了解到在运用前面实验的封装芯片时,需要将相应芯片的原运行文件(.bdf)连接到当前工程中,才能使用。
3、给ROM的02H单元和09H单元分别置入初始数据12H和19H,把31H写入RAM的81H单元,然后完成以下运算:
(02H)+(81H)→(81H)12H+31H=43H
(81H)-(09H)→(81H)43H-19H=2AH
验证运算结果和存储器单元的内容是否正确。
初始化存储器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-opoEOkxu-1576743852597)(file:////Users/muyi/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image005.jpg)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JSuqXBQN-1576743852597)(file:////Users/muyi/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image006.jpg)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m4h1MdPx-1576743852598)(file:////Users/muyi/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image008.jpg)]
图1.3 02H单元和09H单元初始化数据
因为ROM为只读存储器,所以运用.mif文件对存储单元进行数据初始化。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YvC8jUsp-1576743852598)(file:////Users/muyi/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image010.jpg)]
图1.4 81H单元初始化数据
前两个周期nSW-BUS保持低电平,输入数据有效;第一个周期输入81H,给LDAR一个上升沿,81H输入到地址寄存器;
第二个周期输入31H,此时保持WE为高电平,表示RAM进行写操作,然后给cs_ram1一个上升沿,数据存入RAM;
下一个周期保持ramgn为低电平,表示将RAM中的数据输出到DBUS上,然后给ram_out一个上升沿,数据31H输出成功。最后存储成功。
计算(02H)+(81H)→(81H)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3VUrGV2Z-1576743852598)(file:////Users/muyi/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image012.jpg)]
图1.5 计算结果
首先进行运算:
第一个周期,nSW-BUS保持低电平,表示输入数据有效,然后输入02H,给LDAR一个上升沿,02H进入地址缓冲器;
第二周期,nSW-BUS保持高电平,romgn保持低电平,给cs_rom1一个上升沿,地址输入ROM,之后给rom_out一个上升沿,同时给LDR1一个上升沿,02H中的数据输出到DBUS,同时进入到DR1;
第三个周期,nSW-BUS保持低电平,表示输入数据有效,然后输入81H,给LDAR一个上升沿,81H进入地址缓冲器;
在此之后,nSW-BUS保持高电平,romgn保持低电平,给cs_ram1一个上升沿,地址输入RAM,之后给ram_out一个上升沿,同时给LDR2一个上升沿,81H中的数据输出到DBUS,同时进入到DR2;在此过程中M保持低电平,运算器进行加法运算,最后nALU-BUS保持低电平,运算结果43H通过输出缓冲器输入到DBUS;
下面将运算结果存入到81H:
第一个周期,nSW-BUS保持低电平,表示输入数据有效,然后输入81H,给LDAR一个上升沿,81H进入地址缓冲器;
下面nSW-BUS保持高电平,WE保持高电平,表示RAM进行写操作,nALU-BUS保持低电平,运算结果43H通过输出缓冲器输入到DBUS,给cs_ram1一个上升沿,地址和DBUS上的数据输入RAM,ramgn保持低电平,81H中得到数据43H输出到DBUS,存入成功。
计算(81H)-(09H)→(81H)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZRMaSfuC-1576743852599)(file:////Users/muyi/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image014.jpg)]
图1.6 计算结果
首先进行运算:
第一个周期,nSW-BUS保持低电平,表示输入数据有效,然后输入81H,给LDAR一个上升沿,81H进入地址缓冲器;
第二周期,nSW-BUS保持高电平,ramgn保持低电平,给cs_ram1一个上升沿,地址输入RAM,之后给ram_out一个上升沿,同时给LDR1一个上升沿,81H中的数据输出到DBUS,同时进入到DR1;
第三个周期,nSW-BUS保持低电平,表示输入数据有效,然后输入09H,给LDAR一个上升沿,09H进入地址缓冲器;
在此之后,nSW-BUS保持高电平,romgn保持低电平,给cs_rom1一个上升沿,地址输入RAM,之后给rom_out一个上升沿,同时给LDR2一个上升沿,81H中的数据输出到DBUS,同时进入到DR2;在此过程中M保持低电平,运算器进行加法运算;
下一个周期,nSW-BUS保持低电平,表示输入数据有效,然后输入81H,给LDAR一个上升沿,81H进入地址缓冲器以及ABUS;
下面nSW-BUS保持高电平,WE保持高电平,表示RAM进行写操作,nALU-BUS保持低电平,运算结果2AH通过输出缓冲器输入到DBUS,给cs_ram1一个上升沿,地址和DBUS上的数据输入RAM,ramgn保持低电平,81H中得到数据2AH输出到DBUS,存入成功。
六、实验心得体会
通过本次实验,进一步熟悉了计算机的数据通路;练习了分析问题与解决问题的能力,学会在出现故障的情况下,独立分析故障现象并排除故障。在实验过程中就遇到很多问题。
1、遇到了类似于“** instantiates undefined entity”的问题,导致无法进行编译,经过查找资料了解到在运用前面实验的封装芯片时,需要将相应芯片的原运行文件(.bdf)连接到当前工程中,才能使用。
2、对于如何将运算结果存入到指定地址单元中的信号设定存在一定的问题。在过程中发现无法将正确结果存入,后来经过思考以及与同学交流发现同一周期内信号的设定存在问题,地址的存入时机也存在问题,经过调整,问题得到正确解决。
git下载地址https://gitee.com/jontyy/jontyy-Composition-principle.git