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

    VHDL实验 双向移位寄存器(完整版).doc

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

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

    VHDL实验 双向移位寄存器(完整版).doc

    学生实验报告实验课名称:VHDL硬件描述语言实验项目名称:双向移位寄存器专业名称:电子科学与技术班级:电科二班学号:*学生姓名:*教师姓名:*_2010_年_11_月_14_日组别_同组同学_实验日期_年_月_日 实验室名称_成绩_一、实验名称:双向移位寄存器二、实验目的与要求:实验目的:设计一个双向移位寄存器,理解移位寄存器的工作原理,掌握串入并出端口控制的描述方法。实验要求:通过VHDL编程,实现双向移位寄存器,要求有1个方向控制端、1个时钟脉冲输入、1个异步清零端、1个数据输入端以及8位的并行数据输出端,具体接口说明如下图所示。 首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。在硬件实现中,要求: 1. 用实验平台的按键实现时钟控制(clk)、方向控制(dir)、清零(clr)以及数据输入(din):端口名 按键名 功能 clk 键7 时钟控制 din 键8 数据输入 clr 键1 异步清零 dir 键5 方向控制 clk:移位寄存器时钟脉冲输入,上升沿有效; din:串行数据输入端; clr:异步清零信号,高电平有效; dir:方向控制端,要求低电平左移,高电平右移; dout7.0:8位数据并行输出端;2. 用实验平台的LED发光阵列的LED1LED8显示并行数据的输出。三、实验内容:u 新建工程:1、打开Quartus,新建工程,选择好路径,工程顶层名为d_reg ;2、新建工程,如果包含已编好的文件则可以添加,如果无则可以略过 ;3、选择我们的器件信息:型号为:EP2C36F484C84、单击Next>,指定第三方工具,这里我们不指定第三方EDA工具,单击Next>后结束工程建立。u 建立编译VHDL文件:1单击FileNew菜单项,选择弹出窗口中的VHDL File项,单击OK按钮以建立打开空的VHDL文件,并以工程顶层文件名保存。2、输入源代码完后单击ProcessingStart Compilation开始编译,并修改其中的错误直到没有为止。的错误直到没有为止。u 建立矢量波形文件1、单击FileNew命令,选择其中的Vector Waveform File项,点击OK建立空的波形文件,打开矢量波形文件编辑窗口;2双击窗口左边空白区域,打开Insert Node or Bus对话框;1、 单击Node Finder按钮,打开以下对话框,选择Filter下拉列表中的Pins:all,并点击List按酒以列出所有的端口,通过>>按钮把这些端口加入到右面的窗口中,单击OK完成端口的添加;2、 回到波形编辑窗口,对所有输入端口设置输入波形,具体可以通过左边的工具栏,或通过对信号单击鼠标右键的弹出式菜单中完成操作,最后保存次波形文件。u 进行仿真:1、单击AssignmentsSettings ,Simulation mode设置为Functional,即功能仿真。指定仿真波形文件后单击OK完成设置;2、单击ProcessingGenerate Functional Simulation Netlist以获得功能仿真网络表;3、单击ProcessingStart Simulation完成功能仿真。4、如果功能仿真无误后进行时序仿真:单击AssignmentsSettings,在弹出对话框中Simulation mode设置为Timing,即时序仿真。指定仿真波形文件后单击OK完成设置。5、单击ProcessingStart Simulation,完成时序仿真。6、 如果时序仿真也没错即可下载工作了。四、实验条件:1. WindowsXP操作系统2. QuartusII EDA开发系统3. 杭州康芯SOPC硬件开发平台五、实验原理:本实验依然带有异步清零功能,所以用if实现优先级最高,当clr为高电平时异步清零,当clr为低电平时实现移位功能;此时利用if的嵌套功能,用dir端控制移位的方向,当dir为低电平时左移,高电平时右移。关于移位可以运用&级联这个运算符,这样程序可以显得简洁,就不用其他像循环之类的方法了。开始实现清零功能clr=1?非循环右移dir=0?非循环左移六、源代码:library ieee;use ieee.std_logic_1164.all;entity d_reg isport(clk,din,clr,dir:in std_logic;dout:buffer std_logic_vector(7 downto 0);end entity;architecture wen of d_reg isbegin process(clk,din,clr,dir)begin if(clr=1)thendout<="00000000"elsif(clkevent and clk=1)thenif(dir=0)thendout<=dout(6 downto 0)&din;elsedout<=din&dout(7 downto 1);end if;end if;end process;end architecture;七、实验结果与分析:1、功能仿真:2、时序仿真: 仿真结果显示,当dir 为0时,数据串行左移,dir为1时数据串行右移,clr为0时数据移位,为1时,清零置位。3、下载后实物操作:a:输入端为1,左移状态,串行输入; b:输入为1,右移状态,串行输入; C:按下复位键后全部清零。八、讨论和回答问题及体会:1、实验的过程步骤还是一如既往,从建立工程到仿真到下载后实物的仿真,现在已经感觉比较熟练了,包括以前根本不知道的功能仿真,以前没有生成功能仿真列表,所以老是不成功;2、感觉试验中练习的最多的就是if语句了,相反的其他的语句练习的比较少;3、相比之下,这个程序应该是比较简单的,所以作起来也不算太难,在这种情况下,就显得自己纠错的能力比较弱了,本来程序书写完后都会在浏览一遍的,但很少能看出错误,很少能一遍成功,在这方面我感到亟待提高。

    注意事项

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

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




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

    三一文库
    收起
    展开