⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 五任多数表决器
💻
字号:

五人多数表决器
一,设计目的:
1,学习使用EDA开发工具MAX+plusII。
2,学习使用VHDL语言设计五人多数表决器。
3,熟悉五人多数表决的原理。
二,设计任务:
设计一个五人多数表决器。
三,设计要求:
1)  五人多数表决逻辑:多数通过;
2)  在主持人控制下,10秒内表决有效;
3)  采用数码管显示表决10秒倒计时;
4)  表决结束后用发光二极管及数码管显示表决结果,数码管显示结果形式:通过,不通过;
5) 设主持人控制键,复位键:
        控制键:启动表决;
        复位键:系统复位。
6) 自制实验方案,完成设计任务。
四,设计思路:
五人多数表决,只要在规定时间内,赞成人数大于或等于三,则表决通过。因此,只需将每位表决人的结果相加,判断结果值。设五个开关作为表决器的五个输入变量,输入变量为逻辑“1”时,表示表决者“赞成”;输入变量为“0”时,表示表决者“不赞成”。输出逻辑“1”时,表示表决“通过”;输出逻辑“0”时,表示表决“不通过”。当表决器的五个输入变量中有3个以上(含3个)为“1”时。则表决器输出为“1”;否则为“0”。
五,管脚说明:
FF:一维数组FF用来表示五位表决者;
QQ:表决最终是否通过(‘1’为“通过”,‘0’为“未通过”);
QALL:表决通过的人数;
SHIJIAN:用来显示倒计时;
FUWEI:主持人复位键,用来系统复位;
KAISHI:主持人控制键,用来启动表决;
CLK:系统时钟。
六,源程序:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_ARITH.all;
use ieee.std_logic_UNSIGNED.all;
ENTITY BIAOJUE IS
  PORT(     FF:IN STD_LOGIC_VECTOR(1 TO 5);
            QQ:OUT BIT;
       QALL: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(FF,CLK,KAISHI,FUWEI)
     VARIABLE SUO:BOOLEAN;
     VARIABLE SUM:STD_LOGIC_VECTOR(1 TO 3);
     BEGIN
       IF (FUWEI='0') THEN
        QQ<='0';
        SHIJIAN<="1010";
        SUO:=FALSE;
        SUM:="000";
        QALL<="000";
       ELSIF (CLK'EVENT AND CLK='1') THEN
           IF (KAISHI='1') THEN
             IF (NOT SUO) THEN
              IF SHIJIAN="0000" THEN
                 SUO:=TRUE;
                FOR N IN 1 TO 5 LOOP
                  SUM:=FF(N)+SUM;
                END LOOP;
              ELSE
                SHIJIAN<=SHIJIAN-1;
              END IF;
             END IF;
 
             QALL<=SUM;
             IF (SUM >= 3) THEN
               QQ<='1';
             ELSE
               QQ<='0';
             END IF; 
           END IF;
       END IF;
  END PROCESS;
  END FUNG;
七,实验验证:
建立文本文件,选择File/New/Text Editor File,输入源程序。保存(保存名为:biaojue.vhd),编译。编译通过后建立模拟文件来仿真.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -