基于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课程\笔记文档\rec\20161122122950778.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课程\笔记文档\rec\QQ截图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)]

  • 31
    点赞
  • 193
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泸州月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值