欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    双向移位寄存器.doc

    • 资源ID:10970648       资源大小:86.50KB        全文页数:5页
    • 资源格式: DOC        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    双向移位寄存器.doc

    一、课程设计的目的与要求1设计目的l 熟悉MAXPLUS2/Quartus II软件,掌握软件的VHDL程序输入、程序编译和程序仿真操作;l 学习利用VHDL语言设计双向移位寄存器电路程序。2设计要求根据设计正文提出的双向移位寄存器功能设置,实现电路设计。二、设计正文l 双向移位寄存器有三种输入方式:4位并行输入、1位左移串行输入、1位右移串行输入;l 双向移位寄存器有一种输出方式:4位并行输出。双向移位寄存器工作过程如下:l 当1位数据从左移串行输入端输入时,首先进入内部寄存器最高位,并在并行输出口最高位输出,后由同步时钟的上跳沿触发向左移位。l 当1位数据从右移串行输入端输入时,首先进入内部寄存器最低位,并在并行输出口的最低位输出,后由同步时钟的上跳沿触发向右移位。双向移位寄存器的输入、输出端口如下:CLR:异步清零输入端;SRSI:串行右移输入端;SLSI:串行左移输入端;A、B、C、D:4位并行输入端;QA、QB、QC、QD:4位并行输出端;S0,S1:两位控制码输入端。双向移位寄存器的端口功能如下:当CLR0时,4位输出端清0;当CLK0时,4位输出端保持原来状态不变;当S00时,4位输出端保持原来的状态不变;当S01时,允许串行右移输入1位数据;当S10时,允许串行左移输入1位数据;当S11时,允许4位数据从并行端口输入。VHDL源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; 包含库和程序包entity double_dir_regt is 定义实体为double_dir_regtport ( s: in std_logic_vector(1 downto 0); clr,clk,srsi,slsi,a,b,c,d:in std_logic; result: out std_logic_vector(3 downto 0);设置端口参数输入控制信号s,时钟clk,并行输入abcd,end double_dir_regt;输出resultARCHITECTURE rtl of double_dir_regt issignal result1: std_logic_vector(3 downto 0);设置信号result1使result能作为 输入使用begin result<=result1;process (clk,clr) 敏感信号为时钟和清零信号beginif (clr=0)then result1<="0000"elsif (clkevent and clk=1)then case s is when "00"=>控制信号为00时实现保持功能 result1(0)<=result1(0); result1(1)<=result1(1);result1(2)<=result1(2);result1(3)<=result1(3); when"01"=> 控制信号为01时实现右移功能result1(3)<=srsi;result1(2)<=result1(3);result1(1)<=result1(2);result1(0)<=result1(1); when"10"=>控制信号为10时实现左移功能result1(0)<=slsi;result1(1)<=result1(0);result1(2)<=result1(1);result1(3)<=result1(2); when"11"=>控制信号为11时实现并行输入功能result1(0)<=a;result1(1)<=b;result1(2)<=c;result1(3)<=d; end case;end if; 程序结束end process;end rtl;三、课程设计总结1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 图表 1双向移位寄存器右移仿真波形图由上图1看出当s0s1=01时,寄存器执行右移功能,并可看出srsi=1100110011001100,输出结果result依次由初始状态0000,逐渐右移左端输入端口输入srsi=1100110011001100,此时result依次会出现1000:移入1;1100:移入两个1;0110:移入两个1一个0;再有以后出现的结果0011,1001,1100,0110,0011,1001,1100.此结果符合真值表要求的右移功能。11 0 0 1 1 0011 00 1 1图表 2双向移位寄存器左移仿真波形图 由上图2看出当s0s1=10时,寄存器执行左移功能,并可看出slsi=1100110011001100,输出结果result依次由初始状态0000,逐渐右移左端输入端口输入slsi=1100110011001100,此时result依次会出现0001:移入1;0011:移入两个1;0110:移入两个1一个0;再有以后出现的结果1100,1001, 0011,0110, 1100,1001, 0011.此结果符合真值表要求的左移功能。0 1 1 0控制信号s0s1=11 图表3双向移位寄存器并行输入仿真波形图如图3中控制信号s0s1=11,寄存器执行四位并行输入功能,输入端为图中a,b,c,d=0110,当时钟脉冲到来后,寄存器输出端result输出结果应为并行输入数据abcd=0110,根据仿真波形图可知,输出结果result先出现0000的初始结果,经过一段时间的延迟,输出result=0110,为并行输入数据,实现了并行输入的功能。 控制信号s0s1=00 输出结果图表4 双向移位寄存器保持仿真波形图由图4中当控制信号s0s1=10时实现左移功能,得到0000,0001,0011,0110的输出结果,当s0s1=00时,输出result一直保持0110不变,实现保持功能,根据仿真波形图可知,寄存器实现了保持的功能。综合以上四波形图,寄存器实现了实验要求的保持,右移,左移,并行输入的功能。

    注意事项

    本文(双向移位寄存器.doc)为本站会员(啊飒飒)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开