用七个开关作为表决器的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。(如果不进行硬件调试时,此处默认即可) 第五步:检查工程有没有建错,点击完成。如下图: 全加器顶层文件设计: 2.打开测试文件。(右键点击添加端口,对输入信号初始化,赋值。) 3.仿真结果: 显示编译成功后,选择菜单栏 Tools –>Netlist Viewers –>RTL Viewer 显示逻辑电路图
基于VHDL语言的多人表决器设计
实验原理
设计思路:
建立工程:
程序设计:
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仿真波形):
逻辑电路图:
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算