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

下载本文档

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

文档简介

湖南人文科技学院课程设计报告课程名称:VHDL语言与EDA课程设计设计题目: 五人多数表决器 系 别: 通信与控制工程系 专 业: 电子信息工程 班 级: 09级电信1班 学生姓名: 学 号: 09409147 09409146 起止日期: 2012年6月10日2012年6月22日 指导教师: 田汉平 岳舟 教研室主任: 侯海良 指导教师评语: 指导教师签名: 年 月 日成绩评定项 目权重成绩1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩 教研室审核意见:教研室主任签字: 年 月 日教学系审核意见: 主任签字: 年 月 日 摘 要在电子设计与制造技术的发展中,核心就是电子设计自动化(EDA,Electronic Design Automation)技术。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。本次设计实验就是基于EDA技术和EP1C6Q240C8芯片(FPGA),及其外围电路,实现了五人多数表决器的设计。设计模块主要包括:控制单元、计数单元、显示单元。从而实现了用人数多于或等于3来判决是否通过,从而达到设计要求。关键词:EDA、VHDL、显示单元、控制单元 目录 设计要求1前言11方案论证11.1方案一11.2方案二21.3方案对比与选择32 基本功能模块设计与说明32.1十秒倒计时模块说明32.2数码管机二极管显示模块说明32.3电路原理图43 软件设计44 管脚说明55 仿真现象66 实验结论97 实验总结10致谢11参考文献12附录13 五人多数表决器设计要求1 五人多数表决逻辑:多数通过;2 在主持人控制下,10秒内表决有效;3 采用数码管显示表决10秒倒计时;4 表决结束后用发光二极管及数码管显示表决结果,数码管显示结果形式:通过,不通过;5 设主持人控制键,复位键: 控制键:启动表决; 复位键:系统复位。前言本课程设计是一个基于EDA技术的五人多数表决器,通过时间的限制,主持人的控制,共同决定通过与不通过。当投票的人数大于等于三个时,表明通过,否则不通过。该设计可以应用到简单的表决竞赛中。下过很好。当时间超过规定,以后的投票都视为无效。从而实现表决功能。1方案论证1.1方案一五人多数表决,只要在规定时间内,赞成人数大于或等于三,则表决通过。因此,只需将每位表决人的结果相加,判断结果值。设五个开关作为表决器的五个输入变量,输入变量为逻辑“1”时,表示表决者“赞成”;输入变量为“0”时,表示表决者“不赞成”。输出逻辑“1”时,表示表决“通过”;输出逻辑“0”时,表示表决“不通过”。当表决器的五个输入变量中有3个以上(含3个)为“1”时。则表决器输出为“1”;否则为“0”。图1 五人多数表决器系统框图1.2方案二1要实现供5人的表决器,由于是用于单片机表决器,而单片机的硬件电路与软件设计相结合的一种电路设计,因此在引硬件电路只能实按键的按下与释放,不能智能的实现检测按键被按下几次,因此该部分克用软件的汇编来实现其功能。2主持人通过按键来控制表决的开始与复位,可有两个外部中断来实现,按下外部中断0 的按键式表示表决开始,黄灯亮,按下外部中断1是表示表决结束;当表决结束后统计“同意”和“反对”的票数,“同意”的票数大于 “反对”的票数时,绿灯被点亮。在扩展时加上了同意数和剩余时间数的显示,可以通过两个数码管。图2 五人多数表决器系统框图1.3方案对比与选择 方案一通过FPGA芯片实现功能。方案二则改用STC89C52实现表决。二者都能很好地实现。由于实用单片机,程序较复杂,需考虑多方面的东西,并且需要自己另外制作电路板,必然增加成本。故综合考虑。本设计选用方案一。2 基本功能模块设计与说明2.1十秒倒计时模块说明 在脉冲作用下,使用减法计数器,在初值为10秒的时候,开始计时。每来一个脉冲计数器就减少1.一直这样下去,直到计数器变为0。在主持人按下复位键时,计数回到10,重新进行减法计数器。直到为0。2.2数码管机二极管显示模块说明 FPGA/CPLD端口PI/O3128(即PI/O31、PI/O30、PI/O29、PI/O28)、PI/O2724、PI/O2320和PI/O1916 ,共4组4位二进制I/O端口分别通过一个全译码型7段译码器输向系统板的7段数码管。这样,如果有数据从上述任一组四位输出,就能在数码管上显示出相应的数值,其数值对应范围为:表1 数码管变化范围FPGA/CPLD输出0000000100101100110111101111数 码 管 显 示012CDEF端口I/O3239分别与8个发光二极管D8D1相连,可作输出显示,高电平亮。还可分别通过键8和键7,发出高低电平输出信号进入端口I/049和48 ;键控输出的高低电平由键前方的发光二极管D16和D15显示,高电平输出为亮。此外,可通过按动键4至键1,分别向FPGA/CPLD的PIO0PIO15输入4位16进制码。每按一次键将递增1,其序列为1,2,9,A,F。 2.3电路原理图 此电路图可实现表决器的控制与显示。键8到键2分别为五位投票者和复位,开始键。通过数码管显示投票人数,和剩余时间。二极管D8显示通过与不通过。图3 电路原理图3 软件设计当主持人按下开始键,投票开始表决,统计同意的人数,当人数大于或等于三个时。D1点亮并且数码管显示时间变为0,当人数小于三个时,D1熄灭数码管显示时间为0.最后统计投票人数通过同意人数决定表决结果。图4 程序流程图4 管脚说明AA:一维数组AA用来表示五位表决者;PASS:表决最终是否通过(1为“通过”,0为“未通过”);TOTAL:表决通过的人数;SHIJIAN:用来显示倒计时;FUWEI:主持人复位键,用来系统复位;KAISHI:主持人控制键,用来启动表决;CLK:系统时钟。表2 引脚锁定表5 仿真现象当处于复位状态时,外界的输入对结果没有影响。故时间仍为10秒,输出统计人数为0。仿真波形如图5所示。图5 复位时的模拟结果在非复位状态下,主持人按下开始键。表决开始。在没有人投票的情况下。时间变为0。表决结束。仿真波形如图6所示。图6 无人赞成时的模拟结果在非复位状态下,主持人按下开始键。表决开始。当超出表决时间时才进行表决,此表决无效。仿真波形如图7所示。图7 规定时间外的模拟结果在非复位状态下,主持人按下开始键。表决开始。在规定时间内只有两人赞同,仿真波形如图8所示。图8 两人赞成时的结果在非复位状态下,主持人按下开始键。表决开始。在规定时间内只有三人赞同,仿真波形如图9所示。图9 三人赞成时的结果在非复位状态下,主持人按下开始键。表决开始。在规定时间内只有四人赞同,仿真波形如图10所示。图10 四人赞成时的结果在非复位状态下,主持人按下开始键。表决开始。在规定时间内只有无五人赞同,仿真波形如图11所示。图11 四人赞成时的结果管脚锁定之后再次编译,再下载到实验箱进行再次验证。KD2复位信号;KD3开始信号;KD4KD8为五个人;LED1显示通过与不通过;静态数码管8显示倒计时和数码管7通过的人数。分别拨动相应的开关即显示相应的结果。(1)当KD2=0时,LED1不亮,数码管8显示A,数码管7显示为0。(2)当KD2=1,KD3=1时,AA1AA5都为0时,LED1熄灭,数码管7显示为0,数码管8显示倒计时A.9.8.7.6.5.4.3.2.1。(3)当KD2=1,KD3=1时,AA1AA5在倒计时时间外赋值。数码管8倒计时,数码管7显示为0。(4)当KD2=1,KD3=1时,AA5=1,AA4=1.其它为0时,LED1熄灭,数码管7显示为2,数码管8显示倒计时A.9.8.7.6.5.4.3.2.1。(5)当KD2=1,KD3=1时,AA5=1,AA4=1.AA3=1, 其它为0时,LED1亮,数码管7显示为3,数码管8显示倒计时A.9.8.7.6.5.4.3.2.1。6 实验结论该实验是一个具有计时功能的五人表决器,时间限制为10秒,主持人控制复位,开始。输出结果为表决通过的人数和最后表决是否通过。7 实验总结该实验的关键是统计表决通过的人数和时间的限制,即怎样将通过的人数加起来,并且应该在什么时候统计!通过实验知道:应该在倒计时完成之后统计。因为不管你是在第几秒赞成,但只要你赞成,就意味在倒计时结束时也是赞成的,所以应该在此时统计。并且在倒计时之外,表决无效。通过一星期的紧张工作,最后完成了我的设计任务五人多数表决器的设计。通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。希望学校以后多安排一些类似的实践环节,让同学们学以致用。在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。在应用VHDL的过程中让我真正领会到了其并行运行与其他软件顺序执行的差别及其在电路设计上的优越性。用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。致谢本次课程设计主要由我们两人共同完成,其间当然老师也同样是付出了大量的时间和精力来帮助我们。不论结果怎样,我们都会欣然接受,因为我们努力过了。同时我们也要衷心地感谢我们所有的老师,以及帮助我们的同学,要是没你们的帮助我们是不能这么好的完成这次课程设计的。参考文献1 延明,张亦化.数字电路EDA技术入门M.北京:邮电大学出版社,2006.2 徐惠民,安德宁.数字逻辑设计与VHDL描述M.北京:机械工程出版社,2002.3 潘松 ,王国栋.VHDL实用教程M.成都:电子科技大学出版社,2001.4边计年,薛宏熙译.用VHDL设计电子线路M. 北京:清华大学出版社,2000.88-89.5黄正谨,徐坚等.CPLD系统设计技术入门与应用M.北京:电子工业出版社,2002.6蒋璇,蔵春华.数学系统设计与PLD应用技术M. 北京:电子工业出版社,2001.7李宗伯,王蓉晖译.VHDL设计表示和综合M. 北京:机械工业出版社,2002.8潘松,黄继业,王国栋. 现代DSP技术M. 西安:西安电子科技大学出版社,2003. 附录源程序:LIBRARY IEEEUSE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY BIAOJUE IS PORT( AA:IN STD_LOGIC_VECTOR(1 TO 5); PASS:OUT BIT;TOTAL:OUT STD_LOGIC_VECTOR(3 DOWNTO 1); SHIJIAN:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); FUWEI,KAISHI,CLK:IN STD_LOGIC);END BIAOJUE;ARCHITECTURE FUNG OF BIAOJUE IS BEGIN PROCESS(AA,CLK,KAISHI,FUWEI) VARIABLE SUO:BOOLEAN; VARIABLE SUM:STD_LOGIC_VECTOR(1 TO 3); BEGIN IF (FUWEI=0) THENPASS=0; SHIJIAN=1010; SUO:=FALSE; SUM:=000;TOTAL=000; ELSI

温馨提示

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

评论

0/150

提交评论