vhdl五人表决器实验.doc_第1页
vhdl五人表决器实验.doc_第2页
vhdl五人表决器实验.doc_第3页
vhdl五人表决器实验.doc_第4页
vhdl五人表决器实验.doc_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

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

文档简介

学生实验报告实验课名称:VHDL硬件描述语言实验项目名称:五人表决器专业名称:电子科学与技术班级:*学号:*学生姓名:*教师姓名:*_2010_年_11_月_06_日组别_同组同学_实验日期_年_月_日 实验室名称_成绩_一、实验名称:五人表决器二、实验目的与要求:实验目的:设计一个五人表决器,掌握异步清零以及锁存器的工作机制,掌握QuartusII软件的使用方法以及GW48型SOPC开发平台中的输入输出模式配置方法。实验要求:通过VHDL编程,实现一个五人表决器,要求有5个表决输入端、1个清零端、1个锁存端、表决结果显示端,具体接口说明如下图所示:v_in:表决信号输入端,高电平为赞成,低电平为反对; lock:判决锁存信号,上升沿表决结束,锁存表决输入信号,并计算输出表决信息; clr:清零信号,高电平有效,进入新的一次表决过程; v_over:表决结束信号,高电平有效,清零信号有效后,此信号为低电平。num_agr:BCD码输出显示表决结果中赞成的人数;num_opp:BCD码输出显示表决结果中反对的人数; v_out:对应显示每个表决信号的状态; led_agr:判决结果为赞成时有效; led_opp:判决结果为反对时有效;首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。在硬件实现中,要求: 1. 用实验平台的拨动开关实现5人表决的输入信号(v_in): 注:要求使用最右面5个开关。2. 用实验平台的按键实现清零(clr)和锁存(lock)信号: 注:采用模式4的输入方式,要求使用键7实现清零(clr)、键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人的表决意见通过LED10LED14分别显示,当按下lock按键后,LED1014的状态被锁存,LED3、4、5同时点亮,此时无论如何输入表决意见LED1014的状态都不变,同时计算出来赞成的和反对的人数,并分别用数码管5、6显示出来,通过LED1和LED8显示出来最终判决的表决结果(判决赞成:LED1亮;判决反对:LED8亮)。此时用户按下清除键clr(按键7)后,系统又恢复成为刚启动状态。三、实验内容:u 新建工程:1、打开Quartus,新建工程,选择好路径,工程顶层名为vote5 ;2、新建工程,如果包含已编好的文件则可以添加,如果无则可以略过 ;3、选择我们的器件信息:4、单击Next,指定第三方工具,这里我们不指定第三方EDA工具,单击Next后结束工程建立。u 建立编译VHDL文件:1单击FileNew菜单项,选择弹出窗口中的VHDL File项,单击OK按钮以建立打开空的VHDL文件,并以工程顶层文件名保存。型号为:EP2C36F484C82、输入源代码完后单击ProcessingStart Compilation开始编译,并修改其中的错误直到没有为止。u 建立矢量波形文件1、 单击FileNew命令,选择其中的Vector Waveform File项,点击OK建立空的波形文件,打开矢量波形文件编辑窗口;2、 双击窗口左边空白区域,打开Insert Node or Bus对话框;3、 单击Node Finder按钮,打开以下对话框,选择Filter下拉列表中的Pins:all,并点击List按酒以列出所有的端口,通过按钮把这些端口加入到右面的窗口中,单击OK完成端口的添加;4、 回到波形编辑窗口,对所有输入端口设置输入波形,具体可以通过左边的工具栏,或通过对信号单击鼠标右键的弹出式菜单中完成操作,最后保存次波形文件。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硬件开发平台五、实验原理:开始对各个变量进行初始化Clr=1 ?对各个变量初始化,进行归为Lock锁定?不进行计算等对输出进行锁定,并且计算各个输出的值结束YYNN本实验重点是锁存的概念。六、源代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity vote5 isport(clr,lock:in std_logic; v_in:in std_logic_vector(4 downto 0); led_opp,led_agr:out std_logic; v_over:out std_logic_vector(2 downto 0);num_agr,num_opp:out std_logic_vector(3 downto 0); v_out:out std_logic_vector(4 downto 0);end entity;architecture wen of vote5 issignal count_temp:std_logic_vector(4 downto 0);beginprocess(clr,lock,v_in)isvariable c1,c2:integer:=0;begincount_temp=v_in;if(clr=1)then-初始化-v_over=000;led_opp=0;led_agr=0;num_agr=1111;num_opp=1111;v_over=000;v_out=00000;c1:=0;c2:=0;elseif(lockevent and lock=1)then-锁存模块-v_over=111;v_outc2)thenled_agr=1;led_opp=0;else led_agr=0;led_opp=1;end if;num_agr=conv_std_logic_vector(c1,4);num_opp=conv_std_logic_vector(c2,4);end if;end if;end process;end architecture wen;七、实验结果与分析:1、功能仿真:2、时序仿真:总结分析:经功能仿真,波形符合要求,然后经过时序仿真,虽有些噪声,但结果还是符合要求的,所以可以下载到芯片里进行实物仿真验证了。3、下载后实物操作:实验1现象实验2现象:八、讨论和回答问题及体会:1、 这个程序的编写有点难度,所以写的时候错误百出,但我们是要有耐心的;2、 关于锁存的概念比较模糊,在书写表达时出了些问题,老是达不到效果;3、 后来求助于老师,经老师指点,

温馨提示

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

评论

0/150

提交评论