刘增辉-vhdl实验报告-实验2--五人表决器_第1页
刘增辉-vhdl实验报告-实验2--五人表决器_第2页
刘增辉-vhdl实验报告-实验2--五人表决器_第3页
刘增辉-vhdl实验报告-实验2--五人表决器_第4页
刘增辉-vhdl实验报告-实验2--五人表决器_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

长安大学电子科技系刘增辉学生实验报告实验室类名:VHDL硬件说明语言实验项目名称:5的系数专业名称:电子科学和技术类:学号:学生名称:刘增辉教师姓名:程洪梁_2010_年_11_月_6_日group _ _ _ _ _ _ _ _ _ _ _ _ _ _ _相同的group同学_ _黄宏涛_实验日期:2010年11月6日实验室名称_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _一、实验名称:五人结晶机二、实验目的和要求:实验目的:(1)设计5人潜水员,掌握异步清洗和闩锁操作机制、QuartusII软件使用方法以及GW48 SOPC开发平台的输入和输出模式配置方法。实验要求:2)通过VHDL编程,需要5个投票输入端、1个清端、1个锁定端、1个投票结果显示端,如下图所示。首先在QuartusII中执行功能和计时模拟,然后通过设备及其端口配置下载到SOPC开发平台。硬件实施要求:V_in:投票信号输入,高水平赞成,低水平反对;锁定:判决锁定信号,上升沿投票结束,锁定投票输入信号,计算输出投票信息。Clr:清零信号,高水平有效,进入新的投票过程;V_over:投票结束信号,高层次有效,清除信号有效,此信号为低层次。Num _ agr: BCD代码输出显示投票结果中赞成的人数。Num _ opp: BCD代码输出显示投票结果中反对的人数。V_out:对应于显示每个投票信号的状态。Led_agr:判决结果在赞成时有效。Led_opp:判决结果在相反的情况下有效。1.作为实验平台的拨号开关,5人投票输入信号(v_in):最右侧需要5个开关。2.使用实验平台的键击实现0 (clr)和lock (lock)信号:模式4输入,0 (clr)的键7,锁定(lock)的键6。3.实验平台上的数字管显示赞成和反对的人数:数字管6使用要求赞成投票数显示,数字管5显示反对投票数。4.使用实验平台的LED发光阵列实现投票结果和人均投票信号:LED1显示“批准判决”(led_agr)信号,LED8显示“反对判决”(led_opp)信号。LED3、LED4和LED5还显示终止判决的信号。LED10、LED11、LED12、LED13和LED14显示5个投票信号。六、源代码:功能要求:系统启动后,数字管5、6分别显示单词“FF”,所有使用的数字管关闭,投票开始。此时,用户可以通过拨号开关输入5个投票意见,并通过led10至led 14单独显示,用户按lock键(6键)后,led10至led 14的状态将锁定,LED3、LED4和LED5将同时打开,投票意见le D10至led 14的状态将保持不变。赞成和反对的人数分别计算为数字5,6,赞成和反对者的大小关系计算,最终判决的投票结果显示为LED1和LED8(判决赞成:le D1;相反的判断:LED8。用户按清除键clr(按7次)后,系统返回到刚刚启动的状态。三、实验内容:实验步骤如下:1.打开QuartusII软件以创建新项目。1)菜单FileNew Project Wizard .2)输入项目的路径、项目名称和顶层实体名称。3)在没有现有文件的情况下,单击Next按钮,然后单击Next继续。4)设置设备信息:5)单击“下一步”指定第三方工具。此处不指定第三方EDA工具,单击“下一步”结束工程构建。2.创建VHDL文档:1)单击FileNew菜单项,在弹出窗口中选择VHDL文件项,然后单击OK按钮打开空的VHDL文件。2)在“编辑”窗口中输入并保存VHDL源文件。实体名称、文件名必须与创建项目时设置的顶级实体名称相同。3)编译项目,然后单击ProcessingStart Compilation开始编译。3.生成向量波形文件1)单击FileNew命令,然后从弹出对话框的Other Files页面中选择Vector Waveform File项目,打开“编辑矢量波形文件”(edit Vector wave form File)窗口2)双击窗口左侧的空白区域以打开“Insert Node or Bus(插入节点或总线)”对话框3)节点查找器.单击按钮打开下一个对话框,从Filter下拉列表中选择Pins:all,然后单击List列出所有端口。通过按钮将端口添加到右侧窗格,然后单击OK完成端口添加。4)返回到“编辑波形”窗口,通过左侧工具栏或在右键单击信号的弹出菜单中完成操作后,为可能上次保存二次波形文件的所有输入端口设置输入波形。4.执行功能模拟1) AssignmentsSettings .单击将Simulation mode设置为计时模拟Timing。指定模拟波形文件后,单击OK完成设置。2)对于功能模拟网络表,单击processing generate functional simulation netlist。6.下载设备1)指定设备针脚:单击“AssignmentsAssignment Editor”以打开“接点指定”编辑框。您可以通过开发平台中每个I/O设备附近的I/O编号在映射表中查找相应的端号名称,并在端号指定过程中参考开发系统提供的I/O端口映射表,来填充显示的对话框。2)连接下载行如果USB设备驱动程序位于QuartusII安装目录的 drivers USB-blaster中,则在使用USB设备下载电缆连接PC并开发开发开发平台时,系统将提示您在操作系统中安装驱动程序。3)单击ToolProgrammer打开下载窗口。通过对话框中的“Hardware Setup(硬件设置)”按钮选择“USB-Blaster(下载设备)”,然后单击“Start(开始)”完成下载。四、实验条件:1.WindowsXP操作系统Quartus ii EDA开发系统杭州钢芯SOPC硬件开发平台五、实验原理:1)利用实验平台的拨号开关,5人输入信号(v_in):此时,可以通过直接拨号5个开关的位置来更改输入信号,开关向上指示输入为高水平“1”,开关向下指示为低水平“0”。2)使用实验平台的密钥实现0 (clr)和lock (lock)信号:模式4输入要求使用密钥7进行0 (clr)、lock (lock)。用实验平台的数字管表示赞成和反对的人数:使用数字管6表示赞成投票数,使用数字管5表示反对投票数,用实验平台的LED发光阵列表示投票结果和人均投票信号,所有键通过键的放置实现高或低水平的切换。通过LED1显示“批准判决”(led_agr)信号,LED8显示“反对判决”(led_opp)信号。LED4、LED5和LED6还显示终止判决的信号。LED10、LED11、LED12、LED13和LED14显示5个投票信号。指示灯的原理如下:LED输出的信号级别高时,LED正常发光,反之,LED不发光。3)系统启动后,数字管5、6分别显示“FF”字样,所有使用的数字管关闭,投票开始。此时,用户可以通过拨号开关输入5个投票意见,并通过led10至led 14单独显示,用户按lock键(6键)后,led10至led 14的状态将锁定,LED4、LED5和LED6将同时打开,投票意见le D10至led 14的状态将保持不变。赞成和反对的人数分别计算为数字5,6,赞成和反对者的大小关系计算,最终判决的投票结果显示为LED1和LED8(判决赞成:le D1;相反的判断:LED8。用户按清除键clr(按7次)后,系统返回到刚刚启动的状态。这样,第五人称设备的功能在测试平台上实现和验证。根据该原理,可以得到以下算法流程图。六、源代码:库IEEEuse IEEE . STD _ logic _ 1164 . all;use IEEE . STD _ logic _ unsigned . all;实体vote 5 isport(lock : in STD _ logic;Clr:in std _ logicv _ in : in STD _ logic _ vector(4 down to 0);v _ out : out STD _ logic _ vector(4 down to 0);v _ over 3360 out STD _ logic _ vector(2 down to 0);Num _ agr,num _ opp 3360 out STD _ logic _ vector(3 down to 0);Led _ agr,led _ opp : out STD _ logic);End entity vote5Architecture struct of vote5 issignal out _ temp : STD _ logic _ vector(4 down to 0):= 0000 ;BeginProcess(lock,clr,v_in)variable lock _ state : STD _ logic :=0;Variableagr _ temp,opp _ temp : STD _ logic _ vector(3 down to 0):= 0000 ;BeginIf(clr=1)thenlock _ state :=0;Out _ temp= 00000led _ agr=0;led _ opp=0;Num _ agr= 1111Num _ opp= 1111Agr _ temp:= 0000Opp _ temp:= 0000V _ over= 000Elsif(lock_state=0)thenOut _ temp=v _ inIf(锁定和锁定=1)thenlock _ state :=1;V _ over= 111For I in 0 to 4 loopIf(out_temp(i)=1)thenagr _ temp :=agr _ temp 1;End ifIf(out_temp(i)=0)thenopp _ temp :=opp _ temp 1;End ifEnd loopIf(agr_tempopp_temp)thenled _ agr=1;led _ opp=0;Elseled _ agr=0;led _ opp=1;End ifNum _ agr=agr _ tempNum _ opp=opp _ tempEnd ifEnd ifEnd processV _ out=out _ tempEnd architecture struct七、实验结果和分析:生成的波形文件,功能模拟执行计时模拟实验照片在初始状态下,分别显示同意和反对投票数的数字管6和数字管5输出“FF”,意味着新的投票操作是可能的。拨号交换机有两个高级别(同意),LED14、LED13亮起。按下锁按钮后,分别显示同意和反对票的数字管6和数字管5输出“23”被2人同意,3人反对,LED8打开后,表决结果为“反对”按下按钮0后,数字管6和数字管5输出FF,如图所示。八、对问题和经验的讨论和回答:一、五人制量角器设计在这个实验中,我们定义了很多信号和变量类型的数据,这两种数据的使用有很大的差异。信号是电子电路内部硬件连接的抽象。通常在结构、包集合和实体中描述。信号是可用于在进程之间进行通信的全局变量。在VHDL语言中,向信号分配值通常是按模拟时间执行的。信号值的变化也要按照模拟时间的时间表移动。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论