五人多数表决器.docx

上传人:b****7 文档编号:8713444 上传时间:2023-02-01 格式:DOCX 页数:13 大小:318.49KB
下载 相关 举报
五人多数表决器.docx_第1页
第1页 / 共13页
五人多数表决器.docx_第2页
第2页 / 共13页
五人多数表决器.docx_第3页
第3页 / 共13页
五人多数表决器.docx_第4页
第4页 / 共13页
五人多数表决器.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

五人多数表决器.docx

《五人多数表决器.docx》由会员分享,可在线阅读,更多相关《五人多数表决器.docx(13页珍藏版)》请在冰豆网上搜索。

五人多数表决器.docx

五人多数表决器

广西大学行健文理学院

FPGA课程设计

 

题目:

五人多数表决器

学部:

电气信息学部

专业:

电子科学与技术

班级:

2012级1班

学号:

**********

*******

*******

 

二〇一五年一月

 

摘要

在电子设计与制造技术的发展中,核心就是电子设计自动化(EDA,ElectronicDesignAutomation)技术。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。

本次设计实验就是基于EDA技术和EP1C6Q240C8芯片(FPGA),及其外围电路,实现了五人多数表决器的设计。

设计模块主要包括:

控制单元、计数单元、显示单元。

从而实现了用人数多于或等于3来判决是否通过,从而达到设计要求。

关键词:

EDA、VHDL、显示单元、控制单元

 

 

 

五人多数表决器

设计要求

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/O31~28(即PI/O31、PI/O30、PI/O29、PI/O28)、PI/O27~24、PI/O23~20和PI/O19~16,共4组4位二进制I/O端口分别通过一个全译码型7段译码器输向系统板的7段数码管。

这样,如果有数据从上述任一组四位输出,就能在数码管上显示出相应的数值,其数值对应范围为:

表1数码管变化范围

FPGA/CPLD输出

0000

0001

0010

1100

1101

1110

1111

数码管显示

0

1

2

C

D

E

F

端口I/O32~39分别与8个发光二极管D8~D1相连,可作输出显示,高电平亮。

还可分别通过键8和键7,发出高低电平输出信号进入端口I/049和48;键控输出的高低电平由键前方的发光二极管D16和D15显示,高电平输出为亮。

此外,可通过按动键4至键1,分别向FPGA/CPLD的PIO0~PIO15输入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开始信号;KD4~KD8为五个人;LED1显示通过与不通过;静态数码管8显示倒计时和数码管7通过的人数。

分别拨动相应的开关即显示相应的结果。

(1)当KD2=0时,LED1不亮,数码管8显示A,数码管7显示为0。

(2)当KD2=1,KD3=1时,AA1~AA5都为0时,LED1熄灭,数码管7显示为0,数码管8显示倒计时A.9.8.7.6.5.4.3.2.1。

(3)当KD2=1,KD3=1时,AA1~AA5在倒计时时间外赋值。

数码管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.

 

附录

源程序:

LIBRARYIEEE

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_ARITH.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYBIAOJUEIS

 PORT(    AA:

INSTD_LOGIC_VECTOR(1TO5);

           PASS:

OUTBIT;

    TOTAL:

OUTSTD_LOGIC_VECTOR(3DOWNTO1);

      SHIJIAN:

BUFFERSTD_LOGIC_VECTOR(3DOWNTO0);

      FUWEI,KAISHI,CLK:

INSTD_LOGIC);

ENDBIAOJUE;

 

ARCHITECTUREFUNGOFBIAOJUEIS

 BEGIN

   PROCESS(AA,CLK,KAISHI,FUWEI)

    VARIABLESUO:

BOOLEAN;

    VARIABLESUM:

STD_LOGIC_VECTOR(1TO3);

    BEGIN

      IF(FUWEI='0')THEN

       PASS<='0';

       SHIJIAN<="1010";

       SUO:

=FALSE;

       SUM:

="000";

       TOTAL<="000";

      ELSIF(CLK'EVENTANDCLK='1')THEN

          IF(KAISHI='1')THEN

            IF(NOTSUO)THEN

             IFSHIJIAN="0000"THEN

                SUO:

=TRUE;

               FORNIN1TO5LOOP

                 SUM:

=AA(N)+SUM;

               ENDLOOP;

             ELSE

               SHIJIAN<=SHIJIAN-1;

             ENDIF;

            ENDIF;

            TOTAL<=SUM;

            IF(SUM>=3)THEN

              PASS<='1';

            ELSE

             PASS<='0';

            ENDIF; 

          ENDIF;

      ENDIF;

 ENDPROCESS;

 ENDFUNG;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1