六十四位子字并行整数比较器.docxVIP

  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文档。上传文档
查看更多
六十四位子字并行整数比较器姓名:胡玉龙学号:U200713928班级:自动化0704班同组人姓名:李飞斌杨枕目录1原理与系统设计12模块设计53综合后的整体电路图164源码与注释195结论及完成情况316心得体会与建议31原理与系统设计子字并行指的是对于一个64位的二进制数据来说它可以同时表示1个64位数据或者2个32位数据或者4个16位数据或者8个8位数据。两个64位的数据进行比较需要将这两个数据所对应的1个64位数或者2个32位数或者4个16位数或者8个8位数分别进行比较,比较结果为64位的数据,用64位数据的最低8位来表示相应的比较结果即64位数比较结果为最低1位、32位数据比较结果为最低2位、16位数据比较结果为最低4位、8位数据比较结果为最低8位,相应的高位全部置零。比较操作是以指令的形式来执行的,指令请求信号request,电路收到指令后进行译码以决定进行什么操作,我们的操作有:(1)向SRAM单独存操作数;(2)从SRAM单独取操作数;(3)取操作数并进行比较,且将结果送到SRAM;以上操作都是以下面的指令编码格式进行的1.进行存操作的编码格式如下:79---72存储数的存储的地址71---70无效位69---67操作标志位(010表示写操作)66存储数符号标志位65---64无效位63----0存储数据指令运行方式:当69到67位表示的二进制数为010时,指令就把63到0位的数据存到79到72所表示的地址中,66位表示存的是有符号数还是无符号数。2.进行读取操作的编码格式如下:79---72无效位71---70无效位69---67操作标志位(001表示读操作)66无效位65---64无效位63---8无效位7----0读取数的存储的地址指令运行方式:当69到67表示的二进制数为001时,就把7到0位表示的地址中的数取出。(在程序中定义了取出数的值赋给哪个变量)3.进行比较操作的编码格式如下:79-72无效位71-70无效位69---67操作标志位(011---111分别表示,,=,=,=等操作)66无效位65---64比较方式(00—11分别表示64,32,16,8位比较63---24无效位23---16比较结果存入的地址15---8比较的第二个数的存储地址7----0比较的第一个数的存储地址指令运行方式:当69到67位二进制数为011到111时,分别对7到0和15到8表示的地址中的数进行读操作,再把两个数进行大于,小于,等于,不小于,不大于等比较,65到64位决定进行的是64或32或16或8位子字并行比较,比较结果存储到23到16表示的地址中。我们总体模块设计如下图:各模块间整体运作方式:测试模块首先对inst(80位数据)变量进行赋值,前两个时钟周期用存操作的编码格式进行赋值,调用顶层模块(模块名为top)将要比较的数存到SRAM中;第三个时钟周期用比较操作的编码格式进行赋值,调用顶层模块,顶层模块从SRAM中取出数据,并调用比较主模块(模块名为compare),进行比较操作,比较主模块根据inst中比较方式位的比较方式,决定调用子模块(64位数比较模块(模块名为compare64),32位数比较模块(模块名为compare32),16位数比较模块(模块名为compare16),8位数比较模块(模块名为compare8))中的哪一个.比较结果再传回比较主模块,再由主模块传回顶层模块,最后有顶层模块存储到SRAM中并输出。模块设计2.1系统模块8位比较器模块:输入:str1,str2,它们均为8位二进制数据,作为比较操作的两个操作数; si,符号标志位,用于识别进行比较的两个数是有符号数还是无符号数(si=1表示为有符号,si=0表示为无符号)输出:big,str1和str2进行大于比较的结果(如str1str2则big=1,否则big=0); eq,str1和str2进行等于比较的结果(如str1=str2则eq=1,否则eq=0),它与输出big一起,便能准确的判断两个数的大小关系;16,32,64位比较器模块:输入:str1,str2,它们均为16,32,64位二进制数据,也都是操作数; Si:同8位比较器模块;输出:big,eq,同8位比较器;比较器主模块:输入:str1,str2,都是64位二进制数据,用于作为比较的操作数; str,操作码,为8位二进制数,str=inst[71:64],即str[1:0]用于判断str1和str2进行多少位的比较,str[2]用于判断str1和str2为有无符号数,str[5:3]用于判断str1和str2是用, , =, =,=?中的哪一个进行比较;输出:answer,64位二进制数据,其中63到8位无实际意义,仅7到0

文档评论(0)

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

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

1亿VIP精品文档

相关文档