32位移双向位寄存器的设计.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  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文档。上传文档
查看更多
EDA课程设计报告 题目:32位移位寄存器设计 专业班级:电气工程及其自动化101 姓  名: 完成日期:2012年月 日 设计要求:完成以下功能特性的双向32 位移位寄存器。同 时要求有使能端,用1602 显示。 LOAD LEFT_RIGHT CLK D Q 1 X X D 异步置数Q=D 0 0 ↑ D 循环右移 0 1 ↑ D 循环左移 32位移位寄存器设计 摘 要:移位寄存器是基本的同步时序电路,基本的移位寄存器可以实现数据的串行/并行或并行/串行的转换、数值运算以及其他数据处理功能。在本设计中使用硬件描述语言Verilog,在EDA工具QuartussII中,设计32位双向移位寄存器硬件电路,根据设计语言进行功能时序仿真,验证设计的正确性与可行性。 关键词:Verilog QuartusII 移位寄存器 1 引言 随着社会的发展,科学技术也在不断的进步。特别是计算机产业,可以说是日新月异,移位寄存器作为计算机的一个重要部件,从先前的只能做简单的左移或右移功能的寄存器到现在广泛应用的具有寄存代码、实现数据的串行-并行转换、数据运算和数据处理功能的移位寄存器。移位寄存器正在向着功能强,体积小,重量轻等方向不断发展,本设计主要介绍的是一个基于超高速硬件描述语言Verilog对移位寄存器进行编程实现。现在各种装饰用的流水灯、广告彩灯、宣传画越来越多的出现在人民的生活当中,这些装饰控制设备多数要用移位寄存器来实现。在计算机中常要求寄存器有移位功能。如在进行乘法时,要求将部分积右移;在将并行传送的数转换成串行数时也需要移位。因此,移位寄存器的设计是必要的。 2 总体设计方案 移位寄存器的功能即是对每一个上升沿到来时,并且寄存器使能是时,对输入按照移位模式控制信号的要求实现输出的左移和右移。首先,要完成双向的32位移位寄存器,就首先必须要实现8位移位寄存器作为基础。其次,在4个8个移位寄存器的基础上达到32位移位寄存器的功能。第一要有模式控制输入,来控制移位寄存器的移位方向;第二,有使能端,即在什么情况下移位寄存器才可以正常工作,才可以实现模式控制,什么时候置数,什么时候移位,是左移还是右移,这就要求使能是模式控制输入的前提;然后是脉冲控制信号,由要求可知,移位寄存器是在上升沿触发的,即在每一次上升沿到来时,移位寄存器使输入按照模式控制的要求向左或向右移一位;最后输入和输出,都要用到32位并行输入和输出。 本设计用一个8位移位寄存器,再增加一些电路,如4个8位锁存器等,设计成为一个能为32位二进制数进行不同方式移位的移位寄存器。先建立底层模块,再自底向上进行实验调试仿真。 2.1 设计思路 2.1.1 8位移位寄存器功能的实现 移位寄存器是基本的同步时序电路,基本的移位寄存器可以实现数据的串行/并行或并行/串行的转换、数值运算以及其他数据处理功能。在本设计中定义移位寄存器中的数据从低位触发器移向高位为右移,移向低位为左移。由设计要求可知,要实现8位的双向移位寄存器,并且还有使能端。我们可令CLK为移位时钟信号,D为8位并行预置数据端口,CO为进位输入,CN为进位输出,LOAD为并行数据预置使能信号,Q为串行输出端口,LEFT_RIGHT为左/右移控制数。此移位寄存器的工作方式是:当CLK得上升沿到来时,过程被启动,如果这时预置使能端LOAD为低电平,且移位模式控制数LEFT_RIGHT为1时,则进位输入CO被移入最低位,最高位被移入寄存器中,进而移到进位输出CN,低7位依次左移1位;如果移位模式控制数LEFT_RIGHT为0时,则CO被移入最高位,最低位被移入寄存器中,进而移到进位输出CN,高7位依次右移1位。但如果这时预置使能端LOAD为高电平时,则将预置端口D中数据并行送往移位寄存器。最后在8位的基础上来实现32位的更高功能。模块程序见附录。所生成的RTL图如下图1,仿真图如图2。 图1 图2 2.1.2 8位锁存器功能的实现 通过8位锁存器实现数据输入缓存,连通数据输入与分配到四个八位寄存器。其RTL图如图3,仿真图如图4。 图3 图4 2.1.3 32位移位寄存器功能的实现 一个Verilog模块对应一个硬件电路功能实体器件。如果要将这些实体器件连接起来构成一个完整的系统,就需要一个总的模块将所有涉及的子模块连接起来,这个总的模块所对应的Verilog设计文件就成为顶层文件,或顶层模块。为了达到连接底层文件达到更高层次的电路设计结构,文件中使用了例化语句,用wire定义了网线型变量,用作底层文件的连线。Verilog中元件例化的语句结构比较简单,一般格式如下: 模块文件名 例化文件名 ( . 例化元件端口(例化元件外接端口名),…)SUOCU

文档评论(0)

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

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

1亿VIP精品文档

相关文档