16位循环移位寄存器的设计并扩展循环移位、逻辑移位、算术移位_-vlsi超大发规模集成电路设计.docVIP

16位循环移位寄存器的设计并扩展循环移位、逻辑移位、算术移位_-vlsi超大发规模集成电路设计.doc

  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文档。上传文档
查看更多
VLSI课程设计报告及设计文档 PAGE11 / NUMPAGES12 姓名 学号 设计题目要求 已知一个16-bit循环移位(右移)电路的功能表如右。信号S是移位数,A是移位前的并行输入,Y是移位后的并行输出。(1)完成该电路的硬件设计。要求估算电路占用的资源大小及电路的速度。(2)以该移位电路为核心,扩展设计一个能完成算术左移、算术右移、逻辑左移、逻辑右移、循环左移、循环右移。 设计工具及版本 Altera MAX+PLUS Ⅱ Version 10.2.07/10/2002 设计原理及结构方案 本文设计的循环移位寄存器主要是以2输入4路复用器为基本单元,通过对2输入4路复用器74x157进行扩展实现可控制型16位多路复用移位。通过调整74x157输入端的输入数据,实现1bit、2bit、4bit、8bit移位,再通过这几种移位的组合实现1-16bit移位。左右移位也是通过增加74x157组,控制输入端数据实现。逻辑、算术左移需要在最低位补零,这通过在移位前加入赋零选择电路。几种移位的选择也由2路、2路、4路选择器实现。 本设计的结构方案是首先设计循环右移电路,在此基础上扩展出循环左移、逻辑移位、算术移位。其中循环右移电路决定了该设计的总体框架,它包括四个大的模块:移1bit模块、移2bit模块、移4bit模块和移8bit模块。在每个模块中分别先后加入左移模块、逻辑移位模块、算术移位模块就可实现全部功能。 电路设计描述 循环右移一位的设计: 如图,74x157功能是2输入4位多路复用器,一片74x157的AB输入端分别输入DI[15:12]和DI[14:11]即可通过S0的控制实现右移一位或保持。 实际电路图如下: 循环右移多位的设计: 原理如上图,类似循环右移一位的设计可以设计出循环右移2位、4位、8位的电路。将这几种移位给以串联即可实现1到15位的任意位数的循环右移。S[3:0]来控制位数,该电路还有节省器件的优点但延迟较大。 将循环右移1位、2位、4位、8位的电路做成电路模块shiftr1、 shiftr2、 shiftr4、 shiftr8并进行串联得总的循环右移电路图如下: 循环左移的实现: 在每个右移模块中加入左右选择电路,即可实现左移与右移输出,其中sel控制左移与右移,具体实现电路如下: 在此电路后再加入选择复用电路即可实现左移、右移、保持三种功能如下图: 此即一位左移、右移、保持电路,2bit、4bit移位类似,两个控制端是S1、S0,其中S1用来控制左移还是右移,S0用来控制移动或者保持。 8bit移位比较特殊,因为左移8位与右移8位结果相同,因此可以有相对简单的电路,可以省略左移右移选择功能,电路图如下: 4个模块的循环左右移均已实现,只需将4个模块串联即可实现1到15位的循环左移右移。 逻辑移位的设计: 逻辑移位要求:逻辑左移时,低位移向高位,最低位补“0”;逻辑右移时,高位移向低位,最高位移入“1”。因为还是涉及到移位并且左右移动和循环移位有很大共同处,因此逻辑移位的设计是以循环移位为基础。以循环移动一位为例,在此加入逻辑移位功能。因为只移动一位,因此右移时将最高位赋值“1”,左移时最低位补“0”。这都是在循环移位模块的输入端进行处理。当然逻辑移位功能的加入不能去掉循环移位的功能,另外还有算术移位的功能,因此本设计采用三选一选择器来加以控制: 低位的处理与高位的类似。对于2位逻辑移位,则需要修改最高两位和最低两位的值,需要分别加二选一选择器。移动四位时如果直接用与非门搭会比较繁琐,因此本设计采用2输入4位多路复用器74x157,前后两个74x157的sel端可以控制逻辑移位、算术移位、循环移位三种功能 移动8位时与移动四位时类似,只不过这时要变成八位的选择与更改,需要的74x157个数翻番。 算术移位的设计: 算术移位要求:逻辑左移时,低位移向高位,最低位补“0”;逻辑右移时,高位移向低位,最高位维持原值不变。该功能与逻辑功能基本类似,只需右移时将最高位赋予DI15即可。由于8位循环移位的特殊性,增加逻辑算术移位时也会比较特殊。后端74x157中输入短的输入会有差别,这时的左右移位和循环移位时也会产生差别,因此必须加入左右移动控制端S1.S1为1时右移,S1为0时左移,需要用非门、与门加以控制。最后得出总的具有全部功能的8位移动模块电路,如下图: 整体程序的设计: 最终的1bit模块、2bit模块、4bit模块、8bit模块分别命名为logic1、 logic2、 logic4、 logic8,将他们进行串联,用XH、LO、MA、LR分别控制循环移位、逻辑移位、算术移位、左右移位功能,用S[3:0]来控制位数。最后整体电路如下: 控制的优化设计: 因为XH、LO、MA分别实现循环移

文档评论(0)

134****9291 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档