七人表决器实验报告
七人表决器
学院名称电子技术基础课程设计报告七人表决器电路设计报告学生姓名__ _____ 学号专业指导教师系别__ _年月日一、评语(根据学生答辩情况及其报告质量综合评定)。
二、评分指导教师签字:年月日摘要本次设计的七人表决器,是投票系统中的客户端,是一种代表投票或举手表决的表决装置。
表决时,与会的有关人员只要按动各自表决器上“赞成”“反对”“弃权”的某一按钮,相应灯的明亮即显示出表决结果。
在七人表决器中七个人分别用手指拨动开关 SW1、SW2、SW3、SW4、SW5、SW6、SW7 来表示自己的意愿,如果对某决议同意,各人就把自己的指拨开关拨到高电平(上方)不同意就把自己的指拨开关拨到低电平(下方)。
表决结果用 LED(高电平亮)显示,如果决议通过那么发光二极管会发亮;如果不通过那么发光二极管就不亮;如果对某个决议有任意四到七人同意,那么此决议通过,发光二极管就会发亮;如果对某个决议只有一个人或没人同意,那么此决议不通过,发光二极管就不会亮。
根据设计与制作的主要内容按照设计题目,以及所学的组合逻辑所学的知识及数字电路和嵌入式的知识完成七人表决器的设计,使之能够满足表决时少数服从多数的表决规则,根据逻辑真值表和逻辑表达式完成表决功能。
首先根据七人多数表决电路列出真值表,进行化简,写出逻辑表达式,画出逻辑图。
目录1 概述 (1)2 系统总体方案及硬件设计 (2)2.1电路的总体原理框图 (2)2.2元件选择 (2)3 各模块设计 (3)3.1投票按键部分电路设计 (3)3.2输入转换部分及控制电路 (3)3.3票数统计部分及控制电路 (4)3.4票据分析与结果显示分 (5)3.5总体电路 (7)4 软件仿真 (8)5 课程设计体会 (9)参考文献(按照标准格式) (10)数字电子技术课程设计1 概述1.1 七名表决人编号为:1,2,3,4, 5, 6, 7。
1.2七人根据自己的意愿进行表决,七人均可同意否决与弃权。
七人表决器设计设计报告
七人表决器设计一.设计要求1. 能够完成七人表决的功能,并且直观的显示结果:决议通过显示字母P,否则显示字母E;2.能够选择显示表决双方的人数,有控制开关与显示指示灯,并且能够实时的显示反对与赞成的人数;3.能够选择是否记名,并有指示灯显示。
当选择记名时,与表决参与者相对应的指示灯亮起;4.不设置弃权的状况,超过三人同意则表示决议通过。
二.设计思路1.使用Altera的Cyclone II器件,FPGA型号为EP2C35F672C6N;开发平台为Quartus II 8.02.使用6个拨动开关用以进行表决,开关闭合时表示同意,断开时表示不同意;3.使用6个LED用以显示表决的个人结果,用以显示记名时的情况。
LED亮起表示表决人同意,否则表示不同意;4.使用一个七段数码管用以显示表决结果,通过显示P,否则显示E;另外使用两个数码管用以分别显示同意与不同意的人数;5.使用两个拨动开关控制是否记名,是否显示表决的人数结果;6.其他电路按需要搭建。
三.硬件系统组成框图注释:set:选择是否记名set1:选择是否显示投票人数及比例xin[0:6]:表决输入,分别是七个拨动开关sel:输出指示是否记名投票sel1:输出指示是否显示投票人数及比例xout[0:6]:译码用数码管输出表决是否通过xout0[0:6]:译码用数码管输出同意的人数(set1=1)xout1[0:6]:译码用数码管输出不同意同意的人数(set1=1)xout2[0:6]:译码用七个LED输出记名结果设计HDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity biao isport (set, set1: in std_logic ; ----控制按键xin: in std_logic_vector ( 6 downto 0 ); ----按键输入表决sel,sel2: out std_logic; -------控制指示灯xout,xout0,xout1,xout2 : out std_logic_vector ( 6 downto 0 )); ----xout显示结果,xout0显示否决的人数,xout1赞成的人数,xout2 LED输出end entity ;architecture bev of biao isbeginprocess ( xin ,set,set1)variable j: integer :=0;beginj:=0;for i in 0 to 6 loop ------统计同意的个数if xin(i)='1' thenj:=j+1;end if;end loop;if (set='1') then -------是否记名投票sel<='1';xout2<=xin; -------记名投票elsesel<='0';xout2<="0000000";end if;if j>3 then ------判决是否表决通过并输出结果xout<="0001100"; ----数码管显示Pelse xout<="0000110"; -----数码管显示Eend if;if set1='1' then ------是否显示表决比例sel2<='1'; ------显示指示灯亮并且译码输出同意与不同意的数目case j is ------显示赞成的人数when 0 =>xout1<="1000000";when 1 =>xout1<="1111001";when 2 =>xout1<="0100100";when 3 =>xout1<="0110000";when 4 =>xout1<="0011001";when 5 =>xout1<="0010010";when 6 =>xout1<="0000010";when 7 =>xout1<="1111000";when others =>xout1<="XXXXXXX";end case;case j is ------显示不赞成的人数when 7 =>xout0<="1000000";when 6 =>xout0<="1111001";when 5 =>xout0<="0100100";when 4 =>xout0<="0110000";when 3 =>xout0<="0011001";when 2 =>xout0<="0010010";when 1 =>xout0<="0000010";when 0 =>xout0<="1111000";when others =>xout0<="XXXXXXX";end case;else ------不显示表决比例sel2<='0';xout0<="1111111"; ----不显示数字xout1<="1111111";end if;end process;end architecture bev;四.DE2平台仿真1.在Quartus中打开已经建好的工程文件;2.按要求选择设备并且分配管脚,重新编译,连接实验板的电源线与下载线,下载程序文件3.分别拨动开关sw0到sw6,看是否能够满足基本要求;在分别拨动sw16,sw17,看是否能够按要求显示表决人数结果与对应的LED灯是否正常亮与灭。
EDA技术实践七人表决器报告完美版_09级
课程设计课程名称硬件描述语言与EDA技术题目名称硬件描述语言与EDA技术实践学生学院材料与能源专业班级 09微电子学(1)班学号 68 学生姓名钟万友指导教师陈先朝2011年 12月 9日广东工业大学课程设计任务书题目名称硬件描述语言与EDA技术实践学生学院材料与能源学院专业班级09微电子学(1)班姓名钟万友学号68一、课程设计的内容1.系统功能分析;2.实现系统功能的方案设计;3.编写各功能模块VHDL语言程序;4.对各功能模块进行编译、综合、仿真和验证;5.顶层文件设计;6.整个系统进行编译、综合、仿真和验证;7.在CPLD/FPGA实验开发系统试验箱上进行硬件验证。
二、课程设计的要求与数据1.按所布置的题目要求,每一位学生独立完成全过程;2.分模块层次化设计;3.各功能模块的底层文件必须用VHDL语言设计,顶层文件可用VHDL语言设计,也可以用原理图设计。
三、课程设计应完成的工作1.所要求设计内容的全部工作;2.按设计指导书要求提交一份报告书;3.提交电子版的设计全部内容:工程目录文件夹中的全部内容,报告书四、课程设计进程安排五、应收集的资料及主要参考文献1.陈先朝,硬件描述语言与EDA技术实践指导书,2011年11月2.曹昕燕等编著,EDA技术实验与课程设计,清华大学出版社,2006年5月3.刘欲晓等编著,EDA技术与VHDL电路开发应用实践,电子工业出版社,2009年4月4.刘昌华等编著,数字逻辑EDA设计与实践:MAX+plusⅡ与QuartusⅡ双剑合璧,国防工业出版社,2009年5.刘江海主编,EDA技术课程设计,华中科技大学出版社,2009年1月发出任务书日期: 2011年12月 5日指导教师签名:计划完成日期: 2011年12月 9日基层教学单位责任人签章:主管院长签章:七人表决器设计一、设计目的1.熟悉Quartus II软件的使用。
2.熟悉七人表决器的工作原理3.熟悉EDA开发的基本流程。
实验2七人表决器概要
1
ZY11EDA13BE实验箱简介
2
1. 实验箱俯视图
3
本实验箱采用先进的主板+适配板+扩展板的灵活 结构,并采用ALTERA公司ACEX系列3万门的 FPGA器件EP1K30QC208-2为核心处理芯片。提 供1968个寄存器,24576个存储位,30000个典型门 ,因此EP1K30非常适合于构建复杂逻辑功能和存 储功能。
8
电源的打开顺序是:先打开交流开关,再打开直流开关, 最后打开各个模块的控制开关。电源关掉的顺序刚 好相反。
9
4用配置/编程模块,可以使 用本模块对ALTERA、LATTICE、XILINX等国际著名P LD公司的几乎所有isp器件或FPGA/CPLD器件进行编程 下载并且能自动识别目标器件。
43
3)锁定后重新编译;
引脚重新定义后必须再通过编译器 “Compile”对文件重新进行编译,以 便将引脚信息编入下载文件中。此时 回到原来的设计文件“7vote.gdf”上 的输入输出信号旁都标有其对应的管 脚号。
44
编程下载
1)将25针下载电缆线一端插入LPT1(打印 机口即并行口),另一端连接到实验箱主板 系统的通用编程模块DB25接口,再用十针连 接线一端插入该模块JTAG下载接口固定不变, 另一端连接到主板系统的配置模块中目标芯 片的下载接口,打开系统主板电源。
4
2. 核心芯片俯视图
5
EP1K30包含一个嵌入式阵列来完成存储功能, 一个逻辑阵列来完成通用逻辑功能和众多的引 脚从而使其可以作为接口与系统组件有效连接。 做实验时切记不要用手触摸核心芯片A,静电可 能会损坏此贴片芯片。
6
3. 电源模块
7
电源模块包括3个开关,7个电压输出插孔。其 中交流开关用于打开从220V交流电源接入的内部 变压器,为实验箱提供基本工作电源。打开交流 开关,电源指示灯PL0亮,实验箱进入待机状态。 按钮开关APW1用于打开主板中模块工作电源,按 下APW1后,电源指示灯PL1亮,实验箱进入工作 状态,为系统提供+5V,+3.3V,+2.5V,+1.8V电源 。 按钮开关APW2用于打开+12V,-12V电源,按 下APW2后,电源指示灯PL2、PL3亮。
七人表决器实验报告
七人表决器实验报告七人表决器实验报告引言:在日常生活中,我们经常会遇到需要做决策的情况。
而在集体决策中,如何快速、公正地达成共识成为了一个重要的问题。
为了解决这一问题,我们进行了七人表决器的实验。
本实验旨在探索七人表决器在集体决策中的效果和影响因素。
实验设计:我们邀请了七位志愿者参与实验,每个人都具有不同的背景和观点。
在实验开始前,我们向每位参与者提供了相同的决策问题,并要求他们独立思考并给出自己的答案。
然后,我们将七人表决器放置在桌面上,并告知参与者如何使用。
在每次决策中,参与者需要将自己的决策结果输入到表决器中,然后等待其他人完成决策。
当所有参与者完成决策后,表决器会自动计算出最终的决策结果。
实验结果:通过观察实验过程和分析实验数据,我们得出了以下结论:1. 影响决策结果的因素:参与者的个人观点、决策顺序以及决策权重等因素都可能影响最终的决策结果。
在实验中,我们发现当个人观点相差较大时,决策结果往往会偏向于多数人的意见。
而当个人观点相似或相同时,决策结果则更容易达成一致。
2. 决策效率的提升:相比于传统的集体讨论和投票方式,七人表决器在决策效率上具有明显的优势。
参与者只需输入自己的决策结果,无需进行冗长的讨论和辩论过程,从而节省了时间和精力。
3. 决策公正性的保障:七人表决器在一定程度上保障了决策的公正性。
由于每个参与者的决策权重相等,没有任何一方能够主导决策结果。
这种平等的决策机制能够避免个别参与者的意见被忽视或压制,从而提高了决策的公正性。
讨论:尽管七人表决器在决策效率和公正性方面具有优势,但仍存在一些潜在的问题和限制。
首先,由于每个参与者只能输入一个决策结果,可能无法充分体现个体的多样性和复杂性。
其次,决策结果可能受到决策顺序的影响,先行决策者的意见可能会对后续决策者产生影响。
此外,表决器本身的设计和算法也可能存在一定的偏差,需要进一步优化和改进。
结论:通过本次实验,我们初步探索了七人表决器在集体决策中的应用。
七人表决器课程设计报告
课程设计课程名称硬件描述语言与EDA技术题目名称硬件描述语言与EDA技术实践学生学院材料与能源专业班级 11微电子学(1)班学号学生XX指导教师2021年 6月 27日XX工业大学课程设计任务书题目名称硬件描述语言与EDA技术实践学生学院材料与能源学院专业班级11微电子学(1)班姓名学号一、课程设计的内容与要求1.系统功能分析,分模块层次化设计;2.实现系统功能的方案设计;3.编写各功能模块VHDL语言程序;4.对各功能模块进展编译、综合、仿真和验证;5.顶层文件设计,可用VHDL语言设计,也可以用原理图设计;6.整个系统进展编译、综合、仿真和验证;7.在CPLD/FPGA实验开发系统试验箱上进展硬件验证;8.按所布置的题目要求,每一位学生独立完成全过程。
二、课程设计应完成的工作1.所要求设计内容的全部工作;2.按设计指导书要求提交一份报告书;3.提交电子版的设计全部内容:工程目录文件夹中的全部内容,报告书三、课程设计进程安排四、应收集的资料及主要参考文献1.陈先朝,硬件描述语言与EDA技术实践指导书,2021年3月2.曹昕燕等编著,EDA技术实验与课程设计,清华大学,2006年5月3.X欲晓等编著,EDA技术与VHDL电路开发应用实践,电子工业,2021年4月4.X昌华等编著,数字逻辑EDA设计与实践:MAX+plusⅡ与QuartusⅡ双剑合璧,国防工业,2021年5.X江海主编,EDA技术课程设计,华中科技大学,2021年1月发出任务书日期: 2021年6月 23日指导教师签名:方案完成日期: 2021年6月 27日基层教学单位责任人签章:主管院长签章:七人表决器1.设计目的(1)学习和掌握Quartus II软件的根本操作;(2)通过设计七人表决器,掌握基于可编程器件的VHDL硬件描述语言的设计方法;(3)学习用CPLD/FPGA 实践系统硬件验证电路设计的正确性2.设计题目及要求(1)题目:表决器(2)要求:设计一个七人表决器,当赞成人数大于等于四时显示表决通过,同时分别将投票中赞成的人数和反对的人数在数码管上显示出来。
七人表决器——精选推荐
七人表决器一:实验目的1.掌握用VHDL硬件描述语言做数字电路综合和设计的方法。
2.熟练掌握程序的编译,仿真,生成模块及引脚号码锁定方法并下载到目标芯片。
二:实验仪器ZY11EDA12BE三:实验要求设计一个七人表决电路,当参与表决的7人中有4人或4人以上赞同时,表决器输出“1”表示通过,否则输出“0”表示不通过。
实验时,可用7个电平开关作为表决器的7个输入变量,输入“1”表示表决者“赞同”输入“0”表示表决者“不赞同”。
可在上述电路的基础上,增加数码管显示功能,显示赞同和不赞同的票数。
四:实验原理根据设计任务要求,实验电路如上图,其中key表示七个输入cp为输入脉冲,result为表决结果显示,seg[6。
0]为送数码管显示结果,sel为选择要显示的数码管其vhdl语言编写后连接,程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity biaojue isport (cp:in std_logic;key_in:in std_logic_vector(6 downto 0);result:out std_logic;seg_out:out std_logic_vector(6 downto 0);sel:out std_logic_vector(2 downto 0));end biaojue;architecture arc of biaojue issignal sum:std_logic_vector(3 downto 0);signal seg1,seg0:std_logic_vector(6 downto 0);signal sel1: std_logic_vector(2 downto 0);beginprocessvariable sum1:std_logic_vector(3 downto 0);beginsum1:="0000";for i in 0 to 6 loopif key_in(i)='1' thensum1:=sum1+"0001";elsesum1:=sum1;end if;end loop;sum<=sum1;if sum(2)='1' thenresult<='1';elseresult<='0';end if;case sum iswhen "0000"=>seg1<="0111111";seg0<="0000111";when "0001"=>seg1<="0000110";seg0<="1111101";when "0010"=>seg1<="1011011";seg0<="1101101";when "0011"=>seg1<="1001111";seg0<="1100110";when "0100"=>seg1<="1100110";seg0<="1001111";when "0101"=>seg1<="1101101";seg0<="1011011";when "0110"=>seg1<="1111101";seg0<="0000110";when"0111"=> seg1<="0000111";seg0<="0111111";when others=>seg1<="0000000";seg0<="0000000"; end case;end process;process(cp)beginif(cp'event and cp='1') thenif sel1<="001"thensel1<="000";else sel1<=sel1+"001";end if;end if;end process;sel<=sel1;process(cp)beginif(cp'event and cp='1')then--sel<=sel1;if sel1="001"thenseg_out<=seg0;--sel<=sel1;elsif sel1="000" thenseg_out<=seg1;--sel<=sel1;end if;end if;end process;end arc;五:管脚锁定输入:1.掌握了用vhdl语言常用的设计方法,原理图和vhdl语言硬件描述法2.理解动态扫描电路的基本原理并实现七:参考资料《EDA技术习题与实践》《EDA与数字系统设计》。
可编程逻辑器件实验EDA-七人表决器
实验一七人表决器一、实验目的1、熟悉MAX+PLUSⅡ、QUARTUSⅡ软件的使用;2、熟悉EDA/SOPC实验箱;3、熟悉EDA开发的基本流程。
二、硬件需求EDA/SOPC实验箱一台。
三、实验原理所谓表决器就是对于一件事,由多个人投票,如果同意的票数过半,就认为此事可行;否则如果否决的票数过半,则认为此事不行。
七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。
实验中用7个按键来表示七个人,当对应的按键按下时,输入为“1”,表示此人同意;否则若按键输入为‘0’,则表示此人反对。
表决的结果用一个LED表示,若表决的结果为同意,则输出‘0’,LED被点亮;否则,如果表决的结果为反对,则输出‘1’,LED不会被点亮。
四、实验内容本实验就是利用EDA/SOPC实验箱中的按键开关模块和LED模块来实现一个简单的七人表决器功能。
按键F1~F7表示七个人,当按键按下输入为‘1’时,表示对应的人投同意票,否则当按键输入为‘0’时,表示对应的人投反对票;LED模块中led0表示七人表决的结果,当led0点亮时,表示一致同意,否则当led0熄灭时,表示一致反对。
五、实验步骤(1)实验程序(2)仿真结果(3)仿真结果分析通过仿真的波形图可以看出在people[i]的输入少于四个高电平(即:少于4个人表决同意)时,输出结果result为0,相反,输出结果为1(红色框出)。
仿真结果符合项目设计要求。
(4)管脚配置(5)下载实操结果未按时按下4个按键由于SOPC 实验箱中LED 为共阳极,所以实际结果和项目要求结果应相反。
七人表决器EDA
实验四一、实验目的学习表决电路的设计方法,并且体会使用HDL进行设计的方法和优点。
二、实验器材与仪器1.EDA开发软件一套2.微机一台3.实验开发系统一套4.打印机一台5.其他器材与材料若干三、实验说明本实验要求设计一个七人表决器,从理论上讲可以采用真值表、布尔方程或原理图实现,但因为输入信号为7个,要列出真值表很复杂,本实验以采用HDL语言实现最为简单,七人表决器有七个人来投票,当同意的票数大于等于4人时,则认为同意,否则认为反对。
实验中用七个开关来表示七个人,并且用1表示同意,0表示反对。
表决的结果用LED来表示,如果表决的结果为同意,LED亮,否则灭。
同时用数码管显示同意和反对的人的个数。
四、实验原理(注意这个实验的名称是UG,所以设置时要设置名称为UG,同时要用两个数码管来显示同意盒反对的人数各为多少!数码管是hex)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY UG ISPORT(clk:IN STD_LOGIC;am:IN STD_LOGIC_VECTOR(6 DOWNTO 0);y:OUT STD_LOGIC;y1,y2:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY UG;ARCHITECTURE one OF UG ISSIGNAL q:STD_LOGIC;SIGNAL q1,q2:STD_LOGIC_VECTOR(6 DOWNTO 0);BEGINPROCESS(am)VARIABLE shu:INTEGER;BEGINshu:=0;IF clk'EVENT AND clk='1' THENIF am(0)='1' THEN shu:=shu+1;END IF;IF am(1)='1' THEN shu:=shu+1;END IF;IF am(2)='1' THEN shu:=shu+1;END IF;IF am(3)='1' THEN shu:=shu+1;END IF;IF am(4)='1' THEN shu:=shu+1;END IF;IF am(5)='1' THEN shu:=shu+1;END IF;IF am(6)='1' THEN shu:=shu+1;END IF;CASE shu ISWHEN 0=> q<='0';q1<="1111110";q2<="1110000";WHEN 1=> q<='0';q1<="0110000";q2<="1011111";WHEN 2=> q<='0';q1<="1101101";q2<="1011011";WHEN 3=> q<='0';q1<="1111001";q2<="0110011";WHEN 4=> q<='1';q1<="0110011";q2<="1111001";WHEN 5=> q<='1';q1<="1011011";q2<="1101101";WHEN 6=> q<='1';q1<="1011111";q2<="0110000";WHEN 7=> q<='1';q1<="1110000";q2<="1111110";WHEN OTHERS => q<='Z';q1<="ZZZZZZZ";q2<="ZZZZZZZ";END CASE;y<=q;y1<=q1;y2<=q2;END IF;END PROCESS;END ARCHITECTURE one;五、波形图仿真波形图六、下载操作七、实物演示。
实验三+七人表决器设计
3.3实验三七人表决器设计3.3.1实验目的1、掌握用QuartusII软件设计基本数字系统流程及注意事项。
2、进一步熟练掌握程序的编译、仿真、生成模块及芯片引脚号码锁定方法。
3、掌握分层设计的方法和注意事项3.3.2实验内容基于QuartusII软件及VHDL语言实现七人表决器。
当参与表决的7人中有4个或4个以上赞同时,表决器输出“1”表示通过,否则输出“0”表示不通过,并显示赞成和反对的人数。
用7个开关作为表决器的7个输入变量,数码管显示人数,LED灯显示是否通过。
本实验4学时。
3.3.3实验仪器ZY11EDA13BE型实验箱。
3.3.4实验原理分析实验要求,七人表决器系统主要由两个模块构成:投票计数模块和数码管显示模块。
一、建立项目(1)新建文件夹。
路径及文件名中不可出现汉字。
(2)新建项目。
一个数字系统可以由多个模块构成,使所有模块连接在一起的总文件叫做顶层文件,只有顶层文件名可以且必须与项目名相同。
项目取名为bjq7。
(3)选择芯片二、建立文件首先,建立各个VHDL功能模块。
1.投票计数模块。
(1)新建VHDL文件编辑VHDL程序。
投票计数模块输入为七个电平开关input,输出为同意的人数agree,反对的人数disagree,是否通过指示灯y,程序清单如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity BJQ isport(input:in std_logic_vector(6downto0);七个输入开关agree:out std_logic_vector(3downto0);同意的人数disagree:out std_logic_vector(3downto0);不同意的人数y:out std_logic);是否通过标志end;architecture one of BJQ isbeginprocess(input)variable cnt:integer range0to7;variable cnt0:integer range0to7;begincnt:=0;for i in6downto0loopif input(i)='1'thencnt:=cnt+1;end if;end loop;cnt0:=7-cnt;if cnt>3then y<='1';else y<='0';end if;case cnt iswhen0=>agree<="0000";when1=>agree<="0001";when2=>agree<="0010";when3=>agree<="0011";when4=>agree<="0100";when5=>agree<="0101";when6=>agree<="0110";when7=>agree<="0111";when others=>agree<="0000";end case;case cnt0iswhen0=>disagree<="0000";when1=>disagree<="0001";when2=>disagree<="0010";when3=>disagree<="0011";when4=>disagree<="0100";when5=>disagree<="0101";when6=>disagree<="0110";when7=>disagree<="0111";when others=>disagree<="0000";end case;end process;end;程序输入完成后进行保存,名字与实体名一致BJQ。
实验一七人表决器(1)
第三章数字电路与数字系统设计实验实验一七人表决器一、实验目的1 .初步了解VHDL语言。
2 .学会用行为描述方式来设计电路。
二、实验原理用七个开关作为表决器的7个输入变量,输入变量为逻辑“1”时表示表决者“赞同”;输入变量为“0”时,表示表决者“不赞同”。
输出逻辑“1”时,表示表决“通过”;输出逻辑“0”时,表示表决“不通过”。
当表决器的七个输入变量中有4个以上(含4个)为“1”时,则表决器输出为“1”;否则为“0”。
七人表决器设计方案很多,比如用多个全加器采用组合电路实现。
用VHDL语言设计七人表决器时,也有多种选择。
常见的VHDL语言描述方式有行为描述、寄存器传输(RTL)描述、结构描述以及这几种描述在一起的混合描述。
我们可以用结构描述的方式用多个全加器来实现电路,也可以用行为描述。
采用行为描述时,可用一变量来表示选举通过的总人数。
当选举人大于或等于4时为通过,绿灯亮;反之不通过时,黄灯亮。
描述时,只须检查每一个输入的状态(通过为“1”不通过为“0”)并将这些状态值相加,判断状态值和即可选择输出。
三、实验内容1.用VHDL语言设计上述电路。
2.下载并验证结果。
四、设计提示1.初次接触VHDL语言应注意语言程序的基本结构,数据类型及运算操作符。
2.了解变量和信号的区别。
3.了解进程内部顺序执行语句及进程外部并行执行语句的区别。
五、实验报告要求1.写出七人表决器的VHDL语言设计源程序。
2.书写实验报告时要结构合理,层次分明,在分析叙述时注意语言的流畅。
实验二格雷码变换电路一、实验目的1.用组合电路设计4位格雷码/二进制变换电路。
2.了解进程内部CASE语句的使用及用VHDL语言设计门级电路的方法。
二、实验原理用VHDL语言描述4位格雷码/二进制码变换电路有两种设计方法,即方程输入、状态选择方程。
1)方程输入法4位格雷码/二进制码的转换表如下表所示。
由此转换表(真值表)可以求得每个输出方程为:B3=G3;B2=!G3G2+G3!G2;B1=!G3!G2G1+!G3G2!G1+G3!G2!G1;B0=!G3!G2!G1G0+!G3!G2G1!G0+!G3G2G1G0+!G3G2!G1!G0+G3G2!G1G0+G3G2G1!G0+G3!G2G1G0+G3!G2!G1!G0;考虑实验时观察方便,每个输出均受一个EN信号控制;EN=0时,4个输出为0;EN=1时,4个输出由上式决定。
七人表决器实验报告
七人表决器一.实验目的1.掌握Quartus II软件安装,熟悉Quartus II操作环境。
2.初步了解VHDL语言。
3.学习使用行为级描述方法设计电路。
二.实验原理七人表决器使用7个电平开关作为表决器的7个输入变量,输入为电平“1”时表示表决者“赞同”,输入为电平“0”时表示表决者“不赞同”。
当表决器的7个输入变量中有不少于4个输入变量输入“1”,那么表决结果输出逻辑高电平,表示表决“通过”,否则,输出逻辑低电平,表示表决“不通过”。
七人表决器的可选设计方案非常多,可以采用使用全加器的组合逻辑。
使用VHDL 进行设计的时候,可以选择行为级描述、寄存器级描述,结等方法。
当采用行为级描述的时候,采用一个变量记载选举通过的总人数。
当这个变量的数值大于等于4时,表决通过,绿灯亮;否则表决不通过,黄灯亮。
因此,设计时,需要检查每一个输入的电平,并且将逻辑高电平的输入数目进行相加,并且进行判断,从而决定表决是否通过。
二.实验内容1.安装Quartus II软件,熟悉Quartus II操作环境。
2.使用VHDL实现上述描述。
3.波形仿真。
4.生成元件以及RTL四.设计提示1.初次接触VHDL应该注意程序的框架结构,数据类型和运算操作符。
2.了解变量和信号的区别。
3.了解进程内外语句的顺序和并行执行的区别。
4.设计文本的端口可如下:设计文本:LIBRARY IEEE;library ieee;USE vote7 ISPORT(men:in std_logic_vector(6 downto 0);LedPass,LedFail:OUT std_logic);END vote7;ARCHITECTURE behave OF vote7 ISsignal pass:std_logic;BEGINPROCESS(men)variable temp:std_logic_vector(2 downto 0);BEGINtemp:="000";for i in 0 to 6 loop--结束if(men(i)='1')thentemp:=temp+1;elsetemp:=temp+0;end if;end loop;pass<=temp(2);END PROCESS;LedPass<='1' WHEN pass='1'ELSE '0';LedFail<='1' WHEN pass='0'ELSE '0';--库和程序包--实体--结构体五.实验报告要求1.记录仿真波形。
vhdl7人表决器
一、实验目的1、掌握VHDL设计流程2、熟悉应用型电路设计方法二、实验内容设计七人表决器电路,系统有七个输入,每个输入端输入‘1’为通过,‘0’为不通过,七个输入中通过者超过半数输出为‘1’。
三、实验设备1、硬件:PC机一台2、软件:Maxplus2环境四、实验设计程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DFF1 ISPORT (A1,A2,A3,A4,A5,A6,A7:IN STD_LOGIC;Y:OUT STD_LOGIC);END;ARCHITECTURE bhv OF DFF1 ISBEGINPROCESS(A1,A2,A3,A4,A5,A6,A7)VARIABLE SUM:INTEGER RANGE 0 TO 7;BEGINSUM:=0;IF A1='1'THEN SUM:=SUM+1;END IF;IF A2='1'THEN SUM:=SUM+1;END IF;IF A3='1'THEN SUM:=SUM+1;END IF;IF A4='1'THEN SUM:=SUM+1;END IF;IF A5='1'THEN SUM:=SUM+1;END IF;IF A6='1'THEN SUM:=SUM+1;END IF;IF A7='1'THEN SUM:=SUM+1;END IF;IF SUM>3 THEN Y<='1';ELSE Y<='0';END IF;END PROCESS;END;实验思路分析:在实体H_7中定义端口A1,A2,A3,A4,A5,A6,A7 和GAIN,其中A1,A2,A3,A4,A5,A6,A7为七位标准逻辑向量,用于表示七个人,GAIN为标准逻辑输出。
电工新技术实践 七人表决器(数电)带仿真哈工大
总成绩:
一、设计任务
①有七人参与表决,显示赞同者个数。
②当赞同者达到及超过4人时,绿灯显示表示通过。
二、设计条件
本设计基于学校实验室的环境,根据实验室提供的实验条件来完成设计任务。
三、设计要求
①熟悉74LS161,74LS151,数码管的工作原理。
②设计相应的电路图,标注元件参数,并进行仿真验证。
四、设计内容
1.电路原理图(含管脚接线)
本实验主要用74LS161、74LS151实现。
74LS161管脚及功能表如下图所示:
74LS161芯片管脚功能图
74LS161功能表如下:
74LS151的管脚分布及功能表如下图所示:
七人表决器的表决信息作为74LS151的输入信号。
当第一个计数器从1计到7,数据选择器分别吧7路输入输出给第二个计数器,以统计同意的人的个数,若大于等于4人,则绿灯发亮,同时第二个计数器输出端接数码管以显示统一的人数。
下图为表决器电路原理图:
2.电路仿真
调试流程
4.
5.设计和使用说明
七个人对应七个开关,当七人表决结束后,闭合控制开关key,,电路将其人表决信息统计,结果输出在法光二极管及数码管中。
断开key开关进行清零,进行下一轮的投票。
六、设计参考资料
(1)杨世彦《电工学(中册)电子技术(第二版)》机械工业出版社2008.5
(2)吴建强《电工学新技术实践(第二版)》机械工业出版社2009.8。
七人表决器实验报告
竭诚为您提供优质文档/双击可除七人表决器实验报告篇一:哈工大电工学新技术实践实验报告-7人表决器总成绩:一、设计任务1、有七人参与表决,显示赞同者个数。
2当赞同者达到及超过4人时,绿灯显示表示通过。
二、设计条件本设计基于软件multisim10.0.1进行仿真,在电机楼实验室20XX5进行验证。
三、设计要求1、熟悉74Ls161,74Ls151,数码管的工作原理。
2、设计相应的电路图,标注元件参数,并进行仿真验证。
四、设计内容1.电路原理图(含管脚接线)电路原理图如图1所示图1电路原理图2.计算与仿真分析仿真结果如图2、3、4所示图2仿真结果图4仿真结果4.调试流程调试流程如图5所示图5调试流程5.设计和使用说明74Ls151芯片为互补输出的8选1数据选择器,引脚排列如图6所示,功能见表1。
选择控制端(地址端)为c~A,按二进制译码,从8个输入数据D0~D7中,选择一个需要的数据送到输出端Y,g为使能端,低电平有效。
(1)使能端g=1时,不论c~A状态如何,均无输出(Y=0,w=1),多路开关被禁止。
(2)使能端g=0时,多路开关正常工作,根据地址码c、b、A的状态选择D0~D7中某一个通道的数据输送到输出端Y。
如:cbA=000,则选择D0数据到输出端,即Y=D0。
如:cbA=001,则选择D1数据到输出端,即Y=D1,其余类推。
图674Ls151引脚排列表174Ls151功能表74Ls161功能:(1)异步置“0”功能:接好电源和地,将清除端接低电平无论其他各输入端的状态如何,测试计数器的输出端,如果操作无误Q3~Q0均为0。
(2)预置数功能:将清除端接高电平,预置控制端接低电平,数据输入端D3~D0置0011,在cp的上升沿作用后,测试输出端Q3~Q0的电平。
如果操作准确,D3~D0的数据为0011,说明D3~D0的数据已预置到Q3~Q0端。
(3)计数和进位功能:将LD、cr、ceT、cep端均接高电平,cLK端输入单脉冲,记录输出端状态。
七人表决器的设计
硬件课程设计课题名称:七人多数表决电路的设计七人多数表决电路的设计课题:题目:七人多数表决电路的设计要求:用VHDL文本输入法设计一个7人多数表决电路难度:10分摘要:所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。
实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。
表决的结果用一个LED灯表示,若表决的结果为同意,则LED灯亮;否则,如果表决的结果为反对,则LED不会亮。
关键词:七人,多数,表决器,全加器,半加器。
设计要求(1)根据设计要求,绘制出电路状态转换图,实现七人四票制表决。
(2)根据电路状态转换图,用门电路设计出七人表决器。
(3)运用半加器,全加器,实现表决器的设计。
(4)逻辑设计要求:用七个开关作为表决器的七个输入变量,逻辑“1”时表示“赞同”,逻辑“0”时表示“不赞同”,用发光二极管作为输出指令,输出逻辑“1”表示“通过”;输出逻辑“0”时表示“不通过”。
当表决器的七个输入变量中的4个以上(包含4个)为“1”时,则表决器输出为“1”;否则为“0”。
设计步骤:表决结果与多数人意见相同。
设A1,A1,A2,A3,A4,A5,A6,A7为七个人(输入逻辑变量),赞成为1,不赞成为0;green和red为表决结果(输出逻辑变量),多数赞成green为1,red为0,否则,green为0,red为1,. 其真值表如表(1)所示。
(1)电路状态转换图:表(1)从真值表发现,A1 A2 A3 A4 A5 A6 A7中有四个或四个以上表示赞同,则绿灯亮,否则红灯亮。
根据电路状态转换图设计电路,用一个半加器实现设计一个全加器,运用4个全加器实现七人表决器的设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
七人表决器
一.实验目的
1.掌握Quartus II软件安装,熟悉Quartus II操作环境。
2.初步了解VHDL语言。
3.学习使用行为级描述方法设计电路。
二.实验原理
七人表决器
使用7个电平开关作为表决器的7个输入变量,输入为电平“1”时表示表决者“赞同”,输入为电平“0”时表示表决者“不赞同”。
当表决器的7个输入变量中有不少于4个输入变量输入“1”,那么表决结果输出逻辑高电平,表示表决“通过”,否则,输出逻辑低电平,表示表决“不通过”。
七人表决器的可选设计方案非常多,可以采用使用全加器的组合逻辑。
使用VHDL 进行设计的时候,可以选择行为级描述、寄存器级描述,结等方法。
当采用行为级描述的时候,采用一个变量记载选举通过的总人数。
当这个变量的数值大于等于4时,表决通过,绿灯亮;否则表决不通过,黄灯亮。
因此,设计时,需要检查每一个输入的电平,并且将逻辑高电平的输入数目进行相加,并且进行判断,从而决定表决是否通过。
二.实验内容
1.安装Quartus II软件,熟悉Quartus II操作环境。
2.使用VHDL实现上述描述。
3.波形仿真。
4.生成元件以及RTL
四.设计提示
1.初次接触VHDL应该注意程序的框架结构,数据类型和运算操作符。
2.了解变量和信号的区别。
3.了解进程内外语句的顺序和并行执行的区别。
4.设计文本的端口可如下:
《VHDL 语言与数字逻辑电路设计》实验指导书
- 2 –
设计文本: LIBRARY IEEE; library ieee;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_unsigned.ALL; ENTITY vote7 IS PORT(
men:in std_logic_vector(6 downto 0); LedPass,LedFail:OUT std_logic );
END vote7;
ARCHITECTURE behave OF vote7 IS signal pass:std_logic; BEGIN
PROCESS(men)
variable temp:std_logic_vector(2 downto 0); BEGIN
temp:="000"; for i in 0 to 6 loop if(men(i)='1')then temp:=temp+1; else
temp:=temp+0; end if; end loop;
pass<=temp(2); END PROCESS;
LedPass<='1' WHEN pass='1'ELSE '0'; LedFail<='1' WHEN pass='0'ELSE '0';
--库和程序包
--实体
--结构体
--结束
《VHDL 语言与数字逻辑电路设计》实验指导书
- 3 –
五.实验报告要求
1.记录仿真波形。
2.保存生成的元件以及
RTL
3.书写实验报告时要结构合理,层次分明,在分析描述的时候,注意语言的流畅。