七人表决器实验报告
七人表决器实验
![七人表决器实验](https://img.taocdn.com/s3/m/facc22c40242a8956aece41b.png)
3.3实验三七人表决器设计3.3.1实验目的1、掌握用QuartusII软件设计基本数字系统流程及注意事项。
2、进一步熟练掌握程序的编译、仿真、生成模块及芯片引脚号码锁定方法。
3、掌握分层设计的方法和注意事项4、在实验报告中,总结数字系统设计步骤及注意事项。
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<='0';else y<='1';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。
七人表决器
![七人表决器](https://img.taocdn.com/s3/m/7683200a16fc700abb68fcc7.png)
学院名称电子技术基础课程设计报告七人表决器电路设计报告学生姓名__ _____ 学号专业指导教师系别__ _年月日一、评语(根据学生答辩情况及其报告质量综合评定)。
二、评分指导教师签字:年月日摘要本次设计的七人表决器,是投票系统中的客户端,是一种代表投票或举手表决的表决装置。
表决时,与会的有关人员只要按动各自表决器上“赞成”“反对”“弃权”的某一按钮,相应灯的明亮即显示出表决结果。
在七人表决器中七个人分别用手指拨动开关 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七人根据自己的意愿进行表决,七人均可同意否决与弃权。
七人表决器设计设计报告
![七人表决器设计设计报告](https://img.taocdn.com/s3/m/9213aa7101f69e3143329411.png)
七人表决器设计一.设计要求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灯是否正常亮与灭。
七人表决器实验报告doc
![七人表决器实验报告doc](https://img.taocdn.com/s3/m/956573be856a561252d36f9f.png)
七人表决器实验报告篇一:哈工大电工学新技术实践实验报告-7人表决器总成绩:一、设计任务1、有七人参与表决,显示赞同者个数。
2当赞同者达到及超过4人时,绿灯显示表示通过。
二、设计条件本设计基于软件Multisim10.0.1进行仿真,在电机楼实验室XX5进行验证。
三、设计要求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,其余类推。
图6 74LS151引脚排列表1 74LS151功能表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端输入单脉冲,记录输出端状态。
实验2七人表决器概要
![实验2七人表决器概要](https://img.taocdn.com/s3/m/8119695984868762cbaed537.png)
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亮。
实验一七人表决器实验指导书
![实验一七人表决器实验指导书](https://img.taocdn.com/s3/m/d5908494b9d528ea81c779ee.png)
EDA实验指导书(EL-SOPC4000实验箱)指导老师:姚晓通电工电子实验中心七人表决器一、实验目的1.了解表决器的原理。
2.熟悉QuartusII软件建立工程,图形输入法进行设计。
3.熟悉整个开发的流程,初步使用EL-SOPC4000实验箱。
二、实验原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。
实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。
表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。
根据电路状态转换表→设计数值输出→运用门电路设计电路图→仿真运行→实现七人多数表决器的设计。
电路状态转换图:根据电路状态转换图设计电路,用一个半加器实现设计一个全加器,运用4个全加器实现七人表决器的设计。
(2)半加器电路设计:图 1 半加器的原理图(3)全加器电路设计:图 2 全加器的原理图(4)七人表决器电路设计:图3 七人表决器的原理图三、实验内容(1)根据设计要求,绘制出电路状态转换图,实现七人四票制表决。
(2)根据电路状态转换图,用门电路设计出七人表决器。
(3)运用半加器,全加器,实现表决器的设计。
(4)逻辑设计要求:用七个开关作为表决器的七个输入变量,逻辑“1”时表示“赞同”,逻辑“0”时表示“不赞同”,用发光二极管作为输出指令,输出逻辑“1”表示“通过”;输出逻辑“0”时表示“不通过”。
当表决器的七个输入变量中的4个以上(包含4个)为“1”时,则表决器输出为“1”;否则为“0”。
通过状态用LED1表示,未通过用LED2表示。
四、实验步骤1.首先打开QuartusII软件,新建工程voter7。
七人表决器实验报告
![七人表决器实验报告](https://img.taocdn.com/s3/m/63d5e6534531b90d6c85ec3a87c24028905f8543.png)
七人表决器实验报告七人表决器实验报告引言:在日常生活中,我们经常会遇到需要做决策的情况。
而在集体决策中,如何快速、公正地达成共识成为了一个重要的问题。
为了解决这一问题,我们进行了七人表决器的实验。
本实验旨在探索七人表决器在集体决策中的效果和影响因素。
实验设计:我们邀请了七位志愿者参与实验,每个人都具有不同的背景和观点。
在实验开始前,我们向每位参与者提供了相同的决策问题,并要求他们独立思考并给出自己的答案。
然后,我们将七人表决器放置在桌面上,并告知参与者如何使用。
在每次决策中,参与者需要将自己的决策结果输入到表决器中,然后等待其他人完成决策。
当所有参与者完成决策后,表决器会自动计算出最终的决策结果。
实验结果:通过观察实验过程和分析实验数据,我们得出了以下结论:1. 影响决策结果的因素:参与者的个人观点、决策顺序以及决策权重等因素都可能影响最终的决策结果。
在实验中,我们发现当个人观点相差较大时,决策结果往往会偏向于多数人的意见。
而当个人观点相似或相同时,决策结果则更容易达成一致。
2. 决策效率的提升:相比于传统的集体讨论和投票方式,七人表决器在决策效率上具有明显的优势。
参与者只需输入自己的决策结果,无需进行冗长的讨论和辩论过程,从而节省了时间和精力。
3. 决策公正性的保障:七人表决器在一定程度上保障了决策的公正性。
由于每个参与者的决策权重相等,没有任何一方能够主导决策结果。
这种平等的决策机制能够避免个别参与者的意见被忽视或压制,从而提高了决策的公正性。
讨论:尽管七人表决器在决策效率和公正性方面具有优势,但仍存在一些潜在的问题和限制。
首先,由于每个参与者只能输入一个决策结果,可能无法充分体现个体的多样性和复杂性。
其次,决策结果可能受到决策顺序的影响,先行决策者的意见可能会对后续决策者产生影响。
此外,表决器本身的设计和算法也可能存在一定的偏差,需要进一步优化和改进。
结论:通过本次实验,我们初步探索了七人表决器在集体决策中的应用。
七人表决器课程设计报告
![七人表决器课程设计报告](https://img.taocdn.com/s3/m/93e189d277eeaeaad1f34693daef5ef7ba0d124c.png)
课程设计课程名称硬件描述语言与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)要求:设计一个七人表决器,当赞成人数大于等于四时显示表决通过,同时分别将投票中赞成的人数和反对的人数在数码管上显示出来。
七人表决器——精选推荐
![七人表决器——精选推荐](https://img.taocdn.com/s3/m/0f5d9835182e453610661ed9ad51f01dc28157c0.png)
七人表决器一:实验目的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与数字系统设计》。
七人表决器
![七人表决器](https://img.taocdn.com/s3/m/0910d920a76e58fafbb00323.png)
实验三七人表决器的设计一、实验目的1、初步了解VHDL语言。
2、学会用行为描述方式来设计电路。
二、实验原理用七个开关作为表决器的7个输入变量,输入变量为逻辑“1”时表示表决者“赞同”;输入变量为逻辑“0”时,表示表决者“不赞同”。
输出逻辑“1”时,表示表决“通过”;输出逻辑“0”时,表示表决“不通过”。
当表决器的七个输入变量中有4个以上(含4个)为“1”时,则表决器输出为“1”;否则为“0”。
七人表决器设计方案很多,比如用多个全加器采用组合电路实现。
用VHDL语言设计七人表决器时,也有多种选择。
我们可以用结构描述的方式用多个全加器来实现电路,也可以用行为描述。
采用行为描述时,可用一变量来表示选举通过的总人数。
当选举人大于或等于4时为通过,绿灯亮;反之不通过时,黄灯亮。
描述时,只须检查每一个输入的状态(通过为“1”,不通过为“0”),并将这些状态值相加,判断状态值和即可选择输出。
三、实验内容1、用VHDL语言设计上述电路。
2、下载并验证结果。
四、设计提示1、初次接触VHDL语言应注意语言程序的基本结构,数据类型及运算操作符。
2、了解变量和信号的区别。
3、了解进程内部顺序执行语句及进程外部并行执行语句的区别。
五、实验报告要求1、写出七人表决器的VHDL语言设计源程序。
2、书写实验报告时要结构合理,层次分明,在分析叙述时注意语言的流畅。
设计思路:本设计采用多个全加器实现组合电路,用七个开关作为表决器的七个输入变量,逻辑“1”时表示“赞同”,逻辑“0”时表示“不赞同”,用发光二极管作为输出指令,输出逻辑“1”表示“通过”;输出逻辑“0”时表示“不通过”。
当表决器的七个输入变量中的4个以上(包含4个)为“1”时,则表决器输出为“1”,绿灯亮;否则为“0”绿灯不亮。
源程序及电路图绘制:1.二输入或门1)VHDL源代码LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_unsigned.ALL;ENTITY or2_1 ISPORT(A,B : IN STD_LOGIC;C : OUT STD_LOGIC);END ENTITY or2_1;ARCHITECTURE art1 OF or2_1 ISBEGINC<= A OR B;END ARCHITECTURE art1;2.半加器1)VHDL源代码LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_unsigned.ALL;ENTITY h_adder ISPORT(A,B : IN STD_LOGIC;SO,CO : OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE art2 OF h_adder ISBEGINSO<=NOT( A XOR (NOT B));CO<=A AND B;END ARCHITECTURE art2;2)原理图3.全加器1)VHDL源代码LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_unsigned.ALL;ENTITY f_adder ISPORT(AIN,BIN,CIN : IN STD_LOGIC;SUM,COUT : OUT STD_LOGIC);END ENTITY f_adder;ARCHITECTURE art3 OF f_adder ISCOMPONENT h_adder ISPORT(A, B : IN STD_LOGIC;SO,CO : OUT STD_LOGIC);END COMPONENT h_adder;COMPONENT or2_1 ISPORT(A, B : IN STD_LOGIC;C : OUT STD_LOGIC);END COMPONENT or2_1;SIGNAL S1,S2,S3:STD_LOGIC;BEGINU1:h_adder PORT MAP(A=>AIN,B=>BIN,CO=>S1,SO=>S2);U2:h_adder PORT MAP(A=>S2,B=>CIN,CO=>S3,SO=>SUM);U3:or2_1 PORT MAP(A=>S1,B=>S3,C=>COUT);END ARCHITECTURE art3;2)原理图4.七人表决器1)VHDL源代码LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_unsigned.ALL;ENTITY 7 ISPORT(A1,A2,A3,A4,A5,A6,A7 : IN STD_LOGIC;GREEN : OUT STD_LOGIC);END ENTITY 7;ARCHITECTURE art4 OF 7 ISCOMPONENT f_adder ISPORT(AIN, BIN, CIN : IN STD_LOGIC;SUM, COUT : OUT STD_LOGIC);END COMPONENT f_adder;SIGNAL S1,S2,S3,S4,S5 :STD_LOGIC;BEGINU1:f_adder PORT MAP(AIN=>A1,BIN=>A2,CIN=>A3,SUM=>S1,COUT=>S2);U2:f_adder PORT MAP(AIN=>A4,BIN=>A5,CIN=>A6,SUM=>S3,COUT=>S4);U3:f_adder PORT MAP(AIN=>S1,BIN=>S3,CIN=>A7,COUT=>S5);U4:f_adder PORT MAP(AIN=>S2,BIN=>S4,CIN=>S5,COUT=>GREEN);END ARCHITECTURE art4;2)原理图仿真与实验:1.仿真波形2.引脚锁定:实验小结及心得体会:按以上方案及过程,通过muxplus2用VHDL语言进行编程并仿真,然后下载程序到试验箱。
七人表决器
![七人表决器](https://img.taocdn.com/s3/m/9f91444d852458fb770b564c.png)
七人表决器徐浩杰通信09-1 2220091708一、实验目的:1.掌握用VHDL硬件描述语言做电路综合设计方法。
2.熟悉掌握程序的编译、仿真、生成模块及芯片引脚号码锁定方法并下载到目标芯片。
二、实验仪器:ZY11EDA13BE型实验箱三、实验内容及要求:1.设计一个数字时钟,要求能为24h制,要求能显示时、分、秒,并可手动调整时和分。
四:实验程序:七人表决器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity svm isport (input:in std_logic_vector(6 downto 0);ledz :out std_logic_vector(3 downto 0);ledf :out std_logic_vector(3 downto 0);co :out std_logic);end svm;architecture a of svm isbeginprocess(input)variable cont:integer range 0 to 7;begin cont:=0;for i in 6 downto 0 loopif input(i)='1'thencont:=cont+1;end if;end loop;if cont>3 thenco<='1';elseco<='0';end if;case cont iswhen 0=>ledz<="0000";when 1=>ledz<="0001";when 2=>ledz<="0010";when 3=>ledz<="0011";when 4=>ledz<="0100";when 5=>ledz<="0101";when 6=>ledz<="0110";when 7=>ledz<="0111";when others=>ledz<="1111";end case;end process;end a;显示管译码器==================================================== library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity bcdcoder isport (bcd :in std_logic_vector(3 downto 0);segout :out std_logic_vector(0 to 6));end bcdcoder;architecture a of bcdcoder isbeginprocess (bcd)begincase bcd iswhen"0000"=>segout<="1111110";when"0001"=>segout<="0110000";when"0010"=>segout<="1101101";when"0011"=>segout<="1111001";when"0100"=>segout<="0110011";when"0101"=>segout<="1011011";when"0110"=>segout<="1011111";when"0111"=>segout<="1110000";when"1000"=>segout<="1111111";when"1001"=>segout<="1111011";when others=>segout<="0000000";end case;end process;end a;五、实验总结通过本次实验,我们更加了解了VHDL语言,掌握了VHDL硬件描述语言做电路综合设计方法。
七人表决器
![七人表决器](https://img.taocdn.com/s3/m/9a6d54bcfd0a79563c1e72b0.png)
七人表决器一:实验目的1.进一步熟悉和掌握MAXplus的操作步骤和相关工具的使用方法;2.了解和逐步掌握一般组合逻辑的设计方法。
二:实验设备计算机、MAXplus2软件三:实验内容:建立VHDL文件:1)单击File\New菜单项,选择弹出窗口中的VHDL File 项,单击OK按钮以建立打开空的VHDL文件。
2) 在编辑窗口中输入VHDL源文件并保存,注意实体名、文件名必须和建立工程时所设定的顶层实体名相同。
3) 编译工程,单击Processing\Start Compilation开始编译。
3. 建立矢量波形文件1) 单击File\New命令,在弹出的对话框中选择Other Files 页面中的Vector Waveform File项,打开矢量波形文件编辑窗口。
2) 双击窗口左边空白区域,打开Insert Node or Bus对话框3) 单击Node Finder…按钮,打开以下对话框,选择Filter 下拉列表中的Pins:all,并点击List按酒以列出所有的端口,通过>>按钮把这些端口加入到右面的窗口中,单击OK完成端口的添加。
4) 回到波形编辑窗口,对所有输入端口设置输入波形,通过左边的工具栏,或通过对信号单击鼠标右键的弹出式菜单中完成操作,最后保存次波形文件。
4. 进行功能仿真1) 单击Assignments\Settings…将Simulation mode设置为Timing,即时序仿真。
指定仿真波形文件后单击OK完成设置。
四:试验程序及波形LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;entity bjq7PORT(BJ:IN STD_LOGIC_VECTOR(3 DOWNTO 0);SEGOUT:OUT STD_LOGIC_VECTOR(0 TO 6));END bjq7;ARCHITECTURE BEHA VIOR OF BIAOJUEQI ISbeginPROCESS(bjq)begincase bjq ISWHEN "0000"=>SEGOUT<="1111110";WHEN "0010"=>SEGOUT<="0110000";WHEN "0011"=>SEGOUT<="1101101";WHEN "0100"=>SEGOUT<="1111001";WHEN "0101"=>SEGOUT<="0110011";WHEN "0110"=>SEGOUT<="1011011";WHEN "0111"=>SEGOUT<="1110000";WHEN "1000"=>SEGOUT<="1111111";WHEN "1001"=>SEGOUT<="1111011";WHEN OTHERS=>SEGOUT<="0000000";END case;END PROCESS;END BEHA VIOR;00—99计数器一:实验代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;ENTITY jishuqi ISPORT(AB ,CLK:IN STD_LOGIC;GA: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);GB: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);ABG: OUT STD_LOGIC);END jishuqi;ARCHITECTURE a OF JISHUQI ISBEGINPROCESS(CLK,AB)VARIABLE SA: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE SB: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF CLK'EVENT AND CLK='1'THENIF AB='1'THENABG<=SA(0) AND SB(3)AND SA(0)AND SA(3)AND AB; IF SA="1001" THEN SB:="0000";IF SB="1001" THEN SB:="0000";ELSE SB:=SB+1;END IF;ELSE SA:=SA+1;END IF;END IF;END IF;GA<=SA;GB<=SB;END PROCESS;END a;00—99计数部分代码:LIBRARY IEEE;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY jishuqi2 is --00 –99显示port(enable,clock: in std_logic; --使能,时钟numbera:out std_logic_vector(6 downto 0);--个位输出numberb:out std_logic_vector(6 downto 0); --十位输出number_count: out std_logic --进位输出);END jishuqi2;architecture behave of jishuqi2 iscomponent counter99 ---计数器原件port(en,clk:IN STD_LOGIC; GA: out STD_LOGIC_VECTOR(3 DOWNTO 0); --个位数计数GB: out STD_LOGIC_VECTOR(3 DOWNTO 0); --十数计数GAB: OUT STD_LOGIC --计数进位);END component;COMPONENT decoder7s ---7段共阳译码器原件PORT ( a: in std_logic_vector(3 downto 0); --译码器输入led7s: OUT STD_LOGIC_VECtOR( 6 DOWNTO 0) --译码器输出);END COMPONENT;signal qma,qmb:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINu0:counter99portmap(en=>enable,clk=>clock,rco=>number_count,qa=>qma,qb= >qmb);u1:decoder7sport map(a=>qma,led7s=>numbera);u2:decoder7sport map(a=>qmb,led7s=>numberb);END behave;感言:通过这次试验,不仅了解了计数器和表决器的工作原理的同时,还掌握了MAXplus的用法,并且意识到作为二十一世纪的跨世界电子通讯专业人才,这些软硬件的操作是必不可少的。
七人表决器实验报告
![七人表决器实验报告](https://img.taocdn.com/s3/m/f0c1541b767f5acfa0c7cd28.png)
七人表决器一.实验目的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人表决器
![vhdl7人表决器](https://img.taocdn.com/s3/m/8cf58b4cbf23482fb4daa58da0116c175f0e1e12.png)
一、实验目的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为标准逻辑输出。
电工新技术实践 七人表决器(数电)带仿真哈工大
![电工新技术实践 七人表决器(数电)带仿真哈工大](https://img.taocdn.com/s3/m/76e9af240066f5335a812139.png)
总成绩:
一、设计任务
①有七人参与表决,显示赞同者个数。
②当赞同者达到及超过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。
EDA技术实验报告七人表决器完美版
![EDA技术实验报告七人表决器完美版](https://img.taocdn.com/s3/m/f833a6faa300a6c30d229f47.png)
广东工业大学课程设计任务书一、课程设计的内容1. 系统功能分析;2. 实现系统功能的方案设计;3. 编写各功能模块VHDL语言程序;4. 对各功能模块进行编译、综合、仿真和验证;5. 顶层文件设计;6. 整个系统进行编译、综合、仿真和验证;二、课程设计的要求与数据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开发的基本流程。
二、设计要求表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
七人表决器由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。
实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。
七人多路表决器实验总结
![七人多路表决器实验总结](https://img.taocdn.com/s3/m/7dd5c35ebe23482fb4da4c14.png)
Eda与数字系统课程设计课题名称:用VHDL文本输入法设计一个7人多数表决电路班级:09电科四班学号:2220091497姓名:楚惠一.课题题目:多数表决电路的设计之二要求:用VHDL文本输入法设计一个7人多数表决电路二.实验内容所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。
实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。
表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。
三.设计步骤1、表决器主控电路代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity biao isport (xin: in std_logic_vector ( 6 downto 0 );xout,xout0,xout1,xout2 : out std_logic_vector ( 6 downto 0 ));end entity ;architecture bev of biao isbeginprocess ( xin )variable j: integer :=0;beginj:=0;for i in 0 to 6 loopif xin(i)='1' thenj:=j+1;end if;end loop;if j>3 thenxout<="0110000";else xout<="1111110";end if;case j iswhen 0 =>xout1<="1111110";when 1 =>xout1<="0110000";when 2 =>xout1<="1101101";when 3 =>xout1<="1111001";when 4 =>xout1<="0110011";when 5 =>xout1<="1011011";when 6 =>xout1<="1011111";when 7 =>xout1<="1110000";when others =>xout1<="XXXXXXX";end case;case j iswhen 7 =>xout0<="1111110";when 6 =>xout0<="0110000";when 5 =>xout0<="1101101";when 4 =>xout0<="1111001";when 3 =>xout0<="1011011";when 2 =>xout0<="0010010";when 1 =>xout0<="1011111";when 0 =>xout0<="1110000";when others =>xout0<="XXXXXXX";end case;end process;end architecture bev;2、输出显示部分数码管扫描用到的六进制计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt6a isport(cp,reset : in std_logic;sel :out std_logic_vector(2 downto 0));end cnt6a;architecture behave of cnt6a issignal sec :std_logic_vector (2 downto 0);beginprocess(reset,cp)beginif (reset='0')thensec<="000";elsif (cp'event and cp='1')thenif(sec="101") thensec<="000";elsesec<=sec+1;end if;end if;end process;sel<=sec;end behave;数码管的七段输出library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mux6 isport (cnthh,cnthl,cntmh,cntml,cntsh,cntsl :in std_logic_vector(6 downto 0);sel :in std_logic_vector(2 downto 0);cntout :out std_logic_vector(6 downto 0));end mux6;architecture behav of mux6 isbeginprocess(sel)begincase sel iswhen"000"=>cntout<=cntsl(6 downto 0);when"001"=>cntout<=cntsh(6 downto 0);when"010"=>cntout<=cntml(6 downto 0);when"011"=>cntout<=cntmh(6 downto 0);when"100"=>cntout<=cnthl(6 downto 0);when"101"=>cntout<=cnthh(6 downto 0);when others=>cntout<="0000000";end case;end process;end behav;顶层原理图:八.实验结果通过muxplus2对七人表决器进行设计,完成实验要求,得到实验结果,实现了七人表决的效果,4人或4人以上通过则亮绿灯,否则亮红灯。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除七人表决器实验报告
篇一:哈工大电工学新技术实践实验报告-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端输入单脉冲,记录输出端状态。
如果操作准确,每输入一个cp
脉冲,计数器就进行一
篇二:课程设计报告---七人表决器设计
电子综合设计
题目
学院
专业
班级学生姓名指导教师
七人抢答器设计计信学院电子信息工程
20XX年6月18日
一、设计原理
所谓表决器就是对于一个行为,由多个人投票,如果同
意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。
二、分析讨论
七人表决器这一功能可以用c语言、汇编语言或VhDL 编程后下载到单片机上实现,不过用VhDL编程不仅技术含量高而且能让我们更熟练的掌握和使用quartus软件的步骤和方法。
所以我们是采用VhDL编程来实现的。
三、设计准备
根据七人表决器的原理,我们的准备过程如下:
1、使用Altera的cycloneII器件,所用的芯片为
ep2c35F672c8,开发平台为quartusII。
2、使用七个拨动开关(K1~K7)作为输入变量来表示七个投票人,当拨动开关输入为‘1’时,表示对应的人投同意票,否则当拨动开关输入为‘0’时,表示对应的人投反对票。
3、使用一个七段数码管来显示同意的票数。
4、使用七个LeD(LeD2~LeD8)用来分别记录投票人的个人投票结果,当LeD亮起时就表示对应的投票人同意,否则就表示不同意。
5、使用一个LeD(LeD1)来表示最终的投票结果,当
LeD1亮起时表示表决通过,不亮时就表示表决不通过。
6、使用一个拨动开关(K8)来达到复位要求,即需要复位时能够达到同时清零数码管的显示结果和LeD的显示情况。
7、软件仿真成功后,通过专用的连接线再用硬件进行测试,并将硬件测试的结果以照片的形式做记录。
四、设计思路
根据程序设计的一般步骤,我们首先设计出七人表决器的系统框图,也就是说先要确定一个大的设计方向;然后再根据设计要求并结合系统框图来设计程序流程图;由程序流程图来编写VhDL程序,并画出表决器的外围引脚图;再将程序
用软件仿真,软件仿真成功后进行硬件测试。
1、系统框图如下:
2、程序流程图如下:
3、外围管脚图如下:
LeD1LeDAg[0:6]LeD[0:6]注释:
cLK:系统时钟
cLR:复位引脚,当需要复位时,按下该管脚对应的开关就可以复位。
K[0:6]:表决输入,分别是七个拨动开关。
LeD1:表示最终的投票结果,当LeD1亮起时表示表决。