我是靠谱客的博主 阳光柜子,最近开发中收集的这篇文章主要介绍基于VHDL语言的多人表决器的设计,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

基于VHDL语言的多人表决器设计

实验原理

​ 用七个开关作为表决器的7个输入变量,输入变量为逻辑“1”时表示表决者“赞同”;输入变量为逻辑“0”时,表示表决者“不赞同”。输出逻辑“1”时,表示表决“通过”;输出逻辑“0”时,表示表决“不通过”。当表决器的七个输入变量中有4个以上(含4个)为“1”时,则表决器输出为“1”;否则为“0”。

​ 七人表决器设计方案很多,比如用多个全加器采用组合电路实现。用VHDL语言设计七人表决器时,也有多种选择。我们可以用结构描述的方式用多个全加器来实现电路,也可以用行为描述。采用行为描述时,可用一变量来表示选举通过的总人数。当选举人大于或等于4时为通过,绿灯亮;反之不通过时,黄灯亮。描述时,只须检查每一个输入的状态(通过为“1”,不通过为“0”),并将这些状态值相加,判断状态值和即可选择输出。

设计思路:

本设计采用多个全加器实现组合电路,用七个开关作为表决器的七个输入变量,逻辑“1”时表示“赞同”,逻辑“0”时表示“不赞同”,用发光二极管作为输出指令,输出逻辑“1”表示“通过”;输出逻辑“0”时表示“不通过”。当表决器的七个输入变量中的4个以上(包含4个)为“1”时,则表决器输出为“1” ,绿灯亮;否则为“0”绿灯不亮。

软件说明:ModelSimSetup-13.1.0.162,QuartusSetup-13.1.0.162。

建立工程:

第一步:打开Quartus软件。

第二步:点击New Project Wizard -> next.

第三步:选择工程文件的存放位置,输入工程名 -> next -> next。

第四步:在family栏选择芯片型号-Cyclone IV E,在Name栏选择EP4CE115F29C7,选择完之后点击next。(如果不进行硬件调试时,此处默认即可)

第五步:检查工程有没有建错,点击完成。如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UuKyv8Ep-1592036608456)(G:研究生FPGA课程笔记文档rec20161122122950778.png)]

程序设计:

表决器顶层文件设计:

library ieee;
use ieee.std_logic_1164.all;
entity bjq is
port( 
          a:in std_logic_vector(6 downto 0); --7个人
          num:buffer integer range 0 to 7; --表决通过人数
co:out std_logic); --是否通过信号
end bjq;
architecture art of bjq is
    Begin
       process(a)
           variable b:integer range 0 to 7; --定义变量b
begin
    b:=0;
    for n in 0 to 6 loop
         if a(n)='1' then      
               b:=b+1; --统计通过人数
         end if;
    end loop;
     num<=b;
    if(b>=4)then co<='1';
    else co<='0';
    end if;
end process;
end art;

文件仿真(这里采用modelsim仿真波形):

  1. 选择File-> New -> Verification/Debugging Files ->University Program VWF。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q4BcH7UK-1592036608462)(G:研究生FPGA课程笔记文档recQQ截图20200423165155.png)]

2.打开测试文件。(右键点击添加端口,对输入信号初始化,赋值。)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YwuH6iBY-1592036608466)(G:研究生FPGA课程笔记文档rec截图20200613161531.png)]

3.仿真结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5OpNBfHE-1592036608472)(G:研究生FPGA课程笔记文档rec截图20200613162144.png)]

逻辑电路图:

显示编译成功后,选择菜单栏 Tools –>Netlist Viewers –>RTL Viewer 显示逻辑电路图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-txsDO3NF-1592036608475)(G:研究生FPGA课程笔记文档rec截图20200613161726.png)]

最后

以上就是阳光柜子为你收集整理的基于VHDL语言的多人表决器的设计的全部内容,希望文章能够帮你解决基于VHDL语言的多人表决器的设计所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部