计算机硬件系统设计PPT课件(共58单元)—32位ALU设计实验.pptxVIP

计算机硬件系统设计PPT课件(共58单元)—32位ALU设计实验.pptx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
32位ALU设计实验实验目的掌握定点数加减法溢出检测方法理解算术逻辑运算单元ALU的基本构成熟悉Logisim中各种运算组件逻辑运算部件算术运算组件熟悉多路选择器的使用设计32位简单ALU利用已完成的32位加法器、其他运算组件构造禁止使用Logisim中内置的加法器,减法器32位算术逻辑运算单元ALU引脚输入/输出位宽功能描述X输入32操作数XY输入32操作数YS输入4运算操作码 ALU_OPR输出32ALU运算结果R2输出32ALU结果第二部分,用于乘法运算结果高位或除法运算的余数位,其它运算时值为零OF输出1有符号加减运算溢出标记,其他运算为0UOF输出1无符号加减运算溢出标记,其它运算为0Equal输出1Equal=(x==y)?1:0, 对所有运算均有效运算操作码ALU_OPALU_OP十进制运算功能00000R = X << Y逻辑左移 (Y取低五位) R2=000011R = X >> Y算术右移 (Y取低五位) R2=000102R = X >> Y逻辑右移 (Y取低五位) R2=000113R = (X * Y)[31:0] R2 = (X * Y)[63:32] 无符号乘法01004R = X/Y R2 = X%Y 无符号除法01015R = X + Y (Set OF/UOF)01106R = X - Y (Set OF/UOF)01117R = X & Y按位与10008R = X | Y按位或10019R = X⊕Y按位异或101010R = ~(X |Y)按位或非101111R = (X < Y) ? 1 : 0 有符号比较110012R = (X < Y) ? 1 : 0 无符号比较32位ALU电路框架ALU自动测试电路自动测试自动评分故障定位自动测试结果本实验的目的是帮助大家掌握定点数加减法的溢出检测方法。帮助大家理解算术逻辑运算单元ALU的基本构成,通过这次实验帮助大家尽快熟悉Logisim中的各种常用运算组件的使用方法,比如常用的与或非逻辑运算组件,移位器,还有乘法器、除法器等算术运算组件。要求大家熟悉多路选择器的使用,最终能够设计32位的简单的算术逻辑运算单元,注意在实验的过程中禁止使用Logisim中内置的加法器和减法器,要求大家用在前面实验中完成了32位快速加法器实现相应的功能最终完成的alu子电路的封装如左图所示其中左侧的x引脚为32位的操作数,Y也是一个32位操作数,运算操作符为S,位宽为4位,4位组合可以提供16种运算运算的结果存放在32位的R引脚中,另外呢对于乘法以及除法的部分结果呢会存放在第二个引脚R2中运算的过程中会产生一些相应的标志位比如我们的OF位,有符号运算的溢出检测,UOF为无符号溢出检测这里的等号表示运算的两个数X,Y相等,高电平有效。运算操作码可以提供16种不同的运算大家可以按照这个表中给出的具体的要求进行相应电路的设计,比较常用的运算加法减法的运算选择符分别是5,6,实验子电路为算术逻辑运算单元ALU,在这个位置,请大家按照前面给出的要求实现对应的电路,大家可以按照给定的32位输入的引脚,x,y以及相应的隧道标签,构造最终的32位的电路,输出为两个32位的result,result1,以及三个标志位注意最终完成了的子电路的封装那么就是这个黄色的这样一个梯形的形式完成该电路以后,我们就可以在ALU自动测试子电路中,对这样一个黄色封装的电路进行自动的测试。本实验专门设计了ALU电路的自动测试电路,该电路可以实现黄色ALU子电路的自动测试,甚至可以自动评分,对未能通过的检测还能自动进行故障记录,方便同学们进行故障定位。这里蓝色电路是trace电路,有兴趣可以右键点击查看这个子电路内部结构,会发现内部实际封装了若干存储器,用于存放alu测试用例,就是一组数据和运算符序列,测试电路的基本原理是将设计好的测试用例和标准输出从存储器中逐一取出,将测试用例的输入送待测电路,这里trace的输出分别是x,y,和alu_OP送入到待测ALU部件电路对应端口,然后将trace取出的标准结果R1_standard,R2_Standard,还有标志位flag_standard与 alu实际运行结果进行进行比较,根据测试用例通过率进行统计评分。 当比较结果不相同时,表明测试未通过,对应的测试用例会存储在下方的ROM中,利用Ctrl+k或Command+k快捷键可以驱动该电路进行自动测试,我们来看看运行效果,测试完毕后这里的LED指示灯会显示为绿色,右侧LED数码管会显示最终的分数,最下方的故障指示会给出出错原因,根据错误的测试用例以及故障原因可以很快找到alu设计中存在的问题,大大方便了实验调试和检查。相应电路存在的故障会在底部这样一个显示区

您可能关注的文档

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档