1 / 8
文档名称:

五人多数表决器VHDL.doc

格式:doc   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

五人多数表决器VHDL.doc

上传人:drp539606 2015/6/4 文件大小:0 KB

下载得到文件列表

五人多数表决器VHDL.doc

文档介绍

文档介绍:五人多数表决器的VHDL设计
1 设计要求
(1)五人多数表决逻辑:多数通过;
(2 )在主持人控制下,10秒内表决有效;
(3)设主持人控制键,复位键:
 控制键:启动表决;
 复位键:系统复位。
2 设计说明
在脉冲作用下,使用减法计数器,在初值为10秒的时候,主持人按控制键启动表决后,开始计时。每来一个脉冲计数器就减少1。一直这样下去,直到计数器变为0。计数器为0时投票无效。最后统计投票人数通过同意人数决定表决结果,当投票人不小于3人时,投票通过。在主持人按下复位键时,计数回到10,重新进行减法计数器。直到为0。
3 设计结果
电路原理图
图1 原理图
信号表
voter:一维数组voter用来表示五位表决者;
pass:表决最终是否通过(‘1’为“通过”,‘0’为“未通过”);
total:表决通过的人数;
count:用来显示倒计时;
reset:主持人复位键,用来系统复位;
start:主持人控制键,用来启动表决;
clk:系统时钟;
图2 信号图
仿真结果
当处于复位状态时,外界的输入对结果没有影响。故时间仍为10秒,输出统计人数为0。仿真波形如图3所示。
图3 复位时的模拟结果
在非复位状态下,主持人按下开始键。表决开始。在没有人投票的情况下。时间变为0。表决结束。仿真波形如图4所示。
图4 无人赞成时的模拟结果
在非复位状态下,主持人按下开始键。表决开始。当超出表决时间时才进行表决,此表决无效。仿真波形如图5所示。
图5  规定时间外的模拟结果
在非复位状态下,主持人按下开始键。表决开始。在规定时间内只有两人赞同,仿真波形如图6所示。
图6 两人赞成时的结果
在非复位状态下,主持人按下开始键。表决开始。在规定时间内只有三人赞同,仿真波形如图7所示。
图7 三人赞成时的结果
在非复位状态下,主持人按下开始键。表决开始。在规定时间内只有四人赞同,仿真波形如图8所示。
图7 四人赞成时的结果
该实验是一个具有计时功能的五人表决器,时间限制为10秒,主持人控制复位,开始。输出结果为表决通过的人数和最后表决是否通过。
电路图
图8 电路图
程序清单
LIBRARY IEEE;
USE ;
USE ;
USE ;
ENTITY vote5 IS
PORT(voter:IN STD_LOGIC_VECTOR(1 TO 5);
pass:OUT BIT;
total:OUT STD_LOGIC_VECTOR(3 DOWNTO 1);
count:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);
reset,start,clk:IN STD_LOGIC);
END vote5;

ARCHITECTURE one OF vote5 IS
BEGIN
PROCESS(voter,clk,start,reset)
VARIABLE suo:BOOLEAN;
VARIABLE sum:STD_LOGIC_VECTOR(1