实验一七人表决器实验指导书
七人表决器
1.设计任务 2.设计分析 3.系统框图 4.模块说明 5.编程,下载,测试
任务:实用表决系统设计
要求:在实用表决器系统中,每个表决者 都有三种选择:分别是同意、反对和弃权。 将所有表决结果进行累计,得出同意、反 对和弃权票的总数,当同意票数大于反对 票数,表决通过,否则不通过,同时在数 码管上显示同意、反对和弃权票的总数。
开始
按键输入表决器
绿色LED亮 Y 同意数>反对数 N 红色LED亮
LED显示同意 LED显示反
人数
对人数
LED显示弃权 人数
模块说明
• 扫描是将投票结果统计出来,根据结果分别
驱动电路是数码管显示数字
• 判断模块用来比较同意与不同意人数,根据
判断,使相应的LED亮
1.VHDL语言(略)
2.测试:K9~K15为ON时,表 示同意,K17~K23为ON时,表示反对。当同 意票数大于反对票数,表决通过,实验箱输出 指示OUT1亮;当反对票大于同意票数,表决
设计分析
• 实用表决器系统设计,首先要判断表决者是投的
同意票、反对票还是弃权票,然后累计表决结果 (同意、反对和弃权票的总数),接下来比较同 意票数和反对票数的大小,当同意票数大于半数, 表决通过,否则不通过,因此需要一个判断并累 计表决的子系统。又因为任务还要求在数码管上 显示同意、反对和弃权票的总数,因此,需要动 态扫描子系统和7段-BCD译码子系统。最后得出实 用表决系统(7人)的结构框图E END
7人表决器设计设计任务书
引导文3
7人表决器设计任务书
姓名
页 数:
一、项目描述
1、项目工作要求(任务书)
请根据要求设计7人表决器,要求如下:
(1)七人表决器,当同意的票数大于或者等于4时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个拨动开关来表示七个人,当对应的拨动开关输入为‘1’时,表示此人同意;否则若拨动开关输入为‘0’,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。同时,数码管上显示通过的票数。
(2)要求在Quartus II5.1软件平台上用VHDL设计七人表决器电路,并通过编译及仿真检查设计结果。
图1七人表决器仿真结果
2、已具备资料
(1)七人表决器仿真结果
(2)Quartus II5.1软件的使用教程
(3)Quartus II5.1软件操作PPT
(4)SOPC-IIIEDA实验指导书
二、项目资讯
4、整理相关资料,列表说明项目资料及资料来源,注明存档情况。
项目名称
项目资料名称
资料来源
存档备注
5、成品上交资料备注。
项目名称
上交资料名称
七、备注(需要注明的内容)
指导老师评语:
项目完成人签字: 日期: 年 月 日
指导老师签字: 日期: 年 月 日
辅助设备
备注
四、项目决策
1、分小组讨论,分析阐述各自的设计方案和设计电路。
2、老师指导确定最终设计方案和设计电路。
3、每组选派一位成员阐述设计方案。
五、项目实施
1、设计前的准备工作具体有哪些?
2、Quartus IIVHDL设计时要注意哪些事项?
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开发的基本流程。
数电—七人多路表决器
(1)电路状态转换图:(4)七人表决器电路设计:六.设计源程序与电路图绘制(1)或门的设计源程序:--or2_1.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2_1 ISPORT(A,B:IN STD_LOGIC;C:OUT STD_LOGIC);END ENTITY or2_1; ARCHITECTURE art1 OF or2_1 IS BEGINC<=A Or B;END ARCHITECTURE art1;(2)半加器的设计源程序:--h_adder.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder ISPORT(A,B:IN STD_LOGIC;SO,CO:OUT STD_LOGIC); END ENTITY h_adder; ARCHITECTURE art2 OF h_adder IS BEGINSO<=NOT(A XOR(NOT B));CO<=A AND B;END ARCHITECTURE art2;电路图:(3)全加器的设计源代码:--f_adder.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.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 IS COMPONENT 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;电路图:(4)七人表决器设计电路:七.电路仿真仿真波形图:引脚锁定:。
七人表决器实验报告
七人表决器实验报告七人表决器实验报告引言:在日常生活中,我们经常会遇到需要做决策的情况。
而在集体决策中,如何快速、公正地达成共识成为了一个重要的问题。
为了解决这一问题,我们进行了七人表决器的实验。
本实验旨在探索七人表决器在集体决策中的效果和影响因素。
实验设计:我们邀请了七位志愿者参与实验,每个人都具有不同的背景和观点。
在实验开始前,我们向每位参与者提供了相同的决策问题,并要求他们独立思考并给出自己的答案。
然后,我们将七人表决器放置在桌面上,并告知参与者如何使用。
在每次决策中,参与者需要将自己的决策结果输入到表决器中,然后等待其他人完成决策。
当所有参与者完成决策后,表决器会自动计算出最终的决策结果。
实验结果:通过观察实验过程和分析实验数据,我们得出了以下结论:1. 影响决策结果的因素:参与者的个人观点、决策顺序以及决策权重等因素都可能影响最终的决策结果。
在实验中,我们发现当个人观点相差较大时,决策结果往往会偏向于多数人的意见。
而当个人观点相似或相同时,决策结果则更容易达成一致。
2. 决策效率的提升:相比于传统的集体讨论和投票方式,七人表决器在决策效率上具有明显的优势。
参与者只需输入自己的决策结果,无需进行冗长的讨论和辩论过程,从而节省了时间和精力。
3. 决策公正性的保障:七人表决器在一定程度上保障了决策的公正性。
由于每个参与者的决策权重相等,没有任何一方能够主导决策结果。
这种平等的决策机制能够避免个别参与者的意见被忽视或压制,从而提高了决策的公正性。
讨论:尽管七人表决器在决策效率和公正性方面具有优势,但仍存在一些潜在的问题和限制。
首先,由于每个参与者只能输入一个决策结果,可能无法充分体现个体的多样性和复杂性。
其次,决策结果可能受到决策顺序的影响,先行决策者的意见可能会对后续决策者产生影响。
此外,表决器本身的设计和算法也可能存在一定的偏差,需要进一步优化和改进。
结论:通过本次实验,我们初步探索了七人表决器在集体决策中的应用。
七人表决器——精选推荐
七人表决器一:实验目的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与数字系统设计》。
七人表决器的设计
硬件课程设计课题名称:七人多数表决电路的设计七人多数表决电路的设计课题:题目:七人多数表决电路的设计要求:用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个全加器实现七人表决器的设计。
七人表决器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;五、波形图仿真波形图六、下载操作七、实物演示。
sopc实验指导书(1)
CON目录第一章实验箱简介 (2)第二章EDA实验单元 (5)实验一七人表决器 (5)实验二格雷码变换 (13)实验三BCD码加法器 (15)实验四四位全加器 (17)实验五四人抢答器 (19)实验六四位并行乘法器 (20)实验七设计基本触发器 (21)实验八设计74LS169计数器功能模块 (25)实验九步长可变的加减计数器 (27)实验十可控脉冲发生器 (28)实验十一正负脉宽数控调制信号发生器 (30)实验十二序列检测器 (32)实验十三四位并行流水乘法器 (34)实验十四出租车计费器 (37)实验十五多功能数字钟 (39)实验十六数字秒表 (41)实验十七频率计 (43)实验十八交通灯控制器 (45)实验十九数码锁 (47)实验二十VGA彩条发生器 (49)附录 (51)第一章实验箱简介EDA/SOPC实验箱是集EDA和SOPC开发为一体的综合性实验箱,它不仅可以独立完成几乎所有的EDA设计,也可以完成大多数的SOPC开发。
采用Altera公司的Cyclone系列的12万门FPGA为核心,整个系统采用模块化设计,各个模块之间可以自由组合,使得该实验箱的灵活性大大提高。
同时实验箱还提供了丰富的接口模块,供人机交互,从而大大增加了实验开发者开发的乐趣,满足了普通高等院校、科研人员等的需求。
开发工程师可以使用VHDL语言、Verilog HDL语言、原理图输入等多种方式,利用Altera公司提供的Quartus II及Nios软件进行编译,下载,并通过EDA/SOPC实验箱进行结果验证。
实验箱提供多种人机交互方式,如键盘阵列、按键、拨挡开关输入;七段码管、大屏幕图形点阵LCD显示;串口通信;VGA接口、PS2接口、USB接口、Ethernet接口等,利用Altera 公司提供的一些IP资源和Nios 32位处理器,用户可以在该实验箱上完成不同的SOPC设计。
EDA/SOPC实验箱提供的资源有:●Altera公司的EP1C6Q240C8,12万门级FPGA,另外可选配更高资源的FPGA●FPGA配置芯片采用可在线变成的EPC2,通过JTAG口和简单的跳线即可完成设计的固化●1个数字时钟源,提供48MHz、12MHz、1MHz、100KHz、10KHz、1KHz、100Hz、10Hz、2Hz和1Hz等多个时钟●1个模拟信号源,提供频率和幅度可调的正弦波、三角波和方波●两个串行接口,一个用于SOPC开发时的调试,另一个可以完成其它的通信●1个VGA接口●1个PS2接口,可以接键盘或鼠标●1个USB接口,利用PDIUSBD12芯片实现USB协议转换●1个Ethernet接口,利用RTL8019芯片实现TCP/IP协议转换●基于SPI接口的音频CODEC模块●1个输入、输出探测模块,供数字信号的观察●16个LED显示●8个拨挡开关输入●8个按键输入●1个4X4键盘阵列●8个七段码管显示●1个扬声器模块●1个交通灯模块●1个直流电机模块●1个高速AD和1个高速DA●240×128大屏幕图形点阵LCD显示●存储器模块提供256K×32Bit的SRAM和2M×8Bit的FLASHROM实验箱基本布局如下图1-1所示:图1-1 EDA/SOPC 试验箱系统布局下面就部分模块做简要介绍。
7人投票表决器VHDL设计实验报告
实验二7人投票表决器VHDL设计一、实验目的1、设计7人投票表决器;2、学习组合电路的设计方法;3、学习设计的多种描述风格;4、学习仿真工具的使用,激励信号波形的生成(生成输入信号的所有可能的组合);二、实验环境QuartusII 、PC机、GW-PK2 EDA实验箱三、实验原理给出原理图,说明结构描述方式和行为描述方式设计7人投票表决器的原理。
(1)结构描述7人投票表决器由四个全加器组成,a,b,c,d,e,f,g代表7个投票人,pass表示是否通过。
7人投票表决器的结构体功能是利用component元件例化语句将四个全加器实体描述的独立器件,按照7人投票表决器内部逻辑原理图中的接线方式连接起来。
(2)行为描述用一个长度为7的数组作为输入,在结构体中定义一个中间变量来计算7位数组中“1”的个数,最后判断此变量是否大于等于4,如果是,则通过,否则不通过。
四、实验内容及要求利用QuartusII完成7人投票表决器的VHDL设计及仿真测试,给出仿真波形,进行引脚锁定,并在实验箱上进行硬件验证。
五、实验步骤(1)用文本方式输入设计文件并存盘①创建工程,利用“New Preject Wizard”创建此设计工程。
选择菜单“File” “New Preject Wizard”,点击Next,即可弹出工程设置对话框点击此框最上一栏右侧的按钮“…”,设置工程路径,找到文件夹D:\Quartus8\vhdl_code\two,填写工程名和顶层文件名称后,点击Next 按钮进行下一步。
②将全加器设计文件加入③选择目标芯片。
首先在“Family”栏选芯片系列,在此选“ACEX1K”系列,选择此系列的具体芯片:EP1K30TC144-3。
④选择仿真器和综合器类型。
点击上图的Next按钮,这时弹出的窗口是选择仿真器和综合器类型的,如果都是选默认的“NONE”,表示都选QuartusII中自带的仿真器和综合器,因此,在此都选默认项“NONE”。
七人表决器
七人表决器徐浩杰通信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硬件描述语言做电路综合设计方法。
七人表决器实验报告doc
七人表决器实验报告篇一:哈工大电工学新技术实践实验报告-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端输入单脉冲,记录输出端状态。
EDA实验七人表决器的操作步骤
写出了综合设计的第一个实验的详细步骤,主要是介绍用QuartusII软件设计由多个模块构成的数字系统的主要步骤,及注意事项。
希望对前几个实验未能完全掌握的同学有所帮助。
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)选择芯片二、建立文件1.建立投票计数模块。
(1)新建VHDL文件(2)编辑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个输出由上式决定。
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为标准逻辑输出。
eda实验七人表决器
拨挡开关K1~K7以及LED1_1与FPGA的引脚连接请查看附录一。
五 实验步骤
完成七人表决器的实验步骤如下:
1.选择开始>程序>Altera>QuartusII7.1,运行 QUARTUSII 软件。或者双击桌面上的 QUARTUSII 的图标运行 QUARTUSII 软件,出现如图 1-3 所示,如果是第 一次打开 QUARTUSII 软件可能会有其它的提示信息,使用者可以根据自己的实际 情况进行设定后进入图 1-3 所示
第二章 EDA实验单元
实验一 七人表决器
பைடு நூலகம்
一 实验目的
1. 熟悉Quartus II软件的使用。
2. 熟悉EDA/SOPC实验箱。
3. 熟悉EDA开发的基本流程。
二 硬件需求
1.EDA/SOPC实验箱一台。
三 实验原理
所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
四 实验内容
本实验就是利用EDA/SOPC实验箱中的拨挡开关模块和LED模块来实现一个简单的七人表决器的功能。拨挡开关模块中的K1~K7表示七个人,当拨挡开关输入为‘1’时,表示对应的人投同意票,否则当拨挡开关输入为‘0’时,表示对应的人投反对票;LED模块中LED1_1表示七人表决的结果,当LED1_1点亮时,表示一致同意,否则当LED1_1熄灭时,表示一致反对。
单片机七人表决器
一.方案设计1.设计题目:七人表决器。
2.实训要求利用AT89S51单片机设计并制作会议表决计票器电路。
具体要求如下:1、可供57个人进行表决,每个人有一个“同意”和一个“反对”按键,表决时两个键先按下的一个有效,若再按另一个键将清楚前一次按键的效能;每次表决每个按键只能是第一次按的有效,多按的次数无效,除非前一次按键的效能已被清楚或没有生效。
2、会议主持人可利用按键控制表决开始和结束;开始表决后,点亮黄色指示灯,表示可以进行表决,同时清楚原来的表决结果;结束表决后显示表决结果;“同意”多于“反对”点亮绿色指示灯,反之点亮红色指示灯。
3、在实现上述功能的基础上增加“同意”数和“反对”数的显示。
二.硬件电路设计和原理。
1.硬件设计思路:设计题目为5—7人表决器,题目选为七人表决器,七个按键表示同意,七个按键表示反对,各按键与单片机的输入端口相连,因此可选用单片机的四个I/O口,因为在单片机内部P1和P2都有上啦电阻,而P0没有上啦电阻,要在外部加上一个上拉电阻,为了简化电路,把P1和P2口选为按键同意和反对的输入端,因为表决考试和结束要利用主持人按键来控制,我采用外部中断0和外部中断一来控制其开始和结束;设计要求中需要四张灯,分别为2个红灯,一个黄灯,一个绿灯,其中三个灯用于输出显示,可用单片机的I/O口,另外一个红灯作为电源灯来显示,判断是否通电,因为P1口和P2口用做按键的同意和反对,把P2剩余的I/O口与三个灯连接,分别连接在P2.3,P2.4,P2.5口,因为P0口是低电平有效所以我的P0口与LED现实器相连用于显示反对与同意的人数的多少,采用动态显示的方式,为了保证两个显示器不再相同时间显示相同的数字,所以LED显示器的公共端受另外一组信号的控制,采用延时的方式让它们分别显示出来。
2.元件参数确定:设计中需要四盏灯,分别为两个红灯,一个绿灯,一个黄灯,P0口的输出端输出高电平一般为5伏左右,最大电流为五毫安,因此必须加上限流电阻,我选用的是470欧的电阻,然后将单片机的最小系统加入此次的电路中。
电工新技术实践 七人表决器(数电)带仿真哈工大
总成绩:
一、设计任务
①有七人参与表决,显示赞同者个数。
②当赞同者达到及超过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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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。
2.按照图形输入的原理,编辑表决器原理图。
3.对编好的表决器进行编译并仿真。
4.仿真无误后,对表决器对应的FPGA引脚进行管脚锁定,然后再重新编译一次。
5.用下载电缆通过JTAG接口将对应的sof文件下载到FPGA中。
6.观察表决器的工作是否满足实验要求。
实验接线:不用连线直接使用LED1、LED2、SW1-SW7资源。
实验原理电路图
实验对应管脚
◆ LED对应管脚
◆电路模式:0001
◆SW对应管脚
具体实验操作:
1.建立工程
首先,在E盘建立新的文件夹,命名为voter7,打开QuartusII 13.0,点击file,选择New Project Wizard,打开的界面点击next,出现如图4所示对话框:
图4新工程向导
第一个对话框选择刚才新建的voter7文件夹,第二个对话框填写voter7,相应的第三个对话框也会出现voter7。
注意:这里文件名和模块名,针对原理图输入可以不一致,如果是文本输入,必须一致。
点击结束。
2.建立原理图输入文件
1)半加器的设计
点击file-->new,出现如图8所示的对话框,选择Block Diagram/Schematic File ,点击OK , 点击file,另存为half_adder.bdf文件,首先建立半加器原理图如图1所示。
双击新建文件的空白区域,出现如图9的对话框,在对话框里面输入and2,点击OK,就把这个两输入与门添加进来了,同理,添加not、xnor、2个input 和2个output,最后连接各个器件,重命名input和output的名字如图10所示。
图8 原理图文件的建立图9 器件的添加
图10 half_adder 的设计
设计完成之后点击左侧中间的files,鼠标左键点击half_adder.bdf文件选中,点击鼠标右键出现下拉菜单中点击set as Top-level Entity,设置为顶层文件,然后点击processing下的Start compilation进行编译,待编译通过之后对半加器设计进行封装,点击file下的
Create/Update,选择里面的Create Symbol files for current file,保存为half_adder.bsf文件。
2)全加器的设计
点击file-->new,出现如图8所示的对话框,选择Block Diagram/Schematic File ,点击OK , 点击file,另存为f_adder.bdf文件,首先建立全加器原理图如图2所示。
双击新建文件的空白区域,出现如图9的对话框,在对话框里面输入or2,点击OK,就把这个两输入或门添加进来了,接着点击空白区域,找到project下的half_adder,双击就添加进来了,按照图2的形式连接各个器件,重命名input和output的名字如图11所示。
图11 全加器设计
设计完成之后点击右侧中间的files,鼠标左键点击f_adder.bdf文件选中,点击鼠标右键出现下拉菜单中点击set as Top-level Entity,设置为顶层文件,然后点击processing下的Start compilation进行编译,待编译通过之后对半加器设计进行封装,点击file下的
Create/Update,选择里面的Create Symbol files for current file,保存为f_adder.bsf文件。
3)七人表决器的设计
点击file-->new,出现如图8所示的对话框,选择Block Diagram/Schematic File ,点击OK , 点击file,另存为voter7.bdf文件,首先建立七人表决器原理图如图3所示。
双击新建文件的空白区域,出现如图9的对话框,在对话框里面输入not,点击OK,就把这个非门添加进来了,接着点击空白区域,找到project下的f_adder,双击就添加进来了,按照图3的形式连接各个器件,重命名input和output的名字如图12所示。
图12 七人表决器设计
设计完成之后点击右侧中间的files,鼠标左键点击voter7.bdf文件选中,点击鼠标右键出现下拉菜单中点击set as Top-level Entity,设置为顶层文件,然后点击processing下的Start compilation进行编译。
3. 仿真
点击file->new, 点击University Program VWF,新建波形文件如图13所示。
图13 波形文件建立
另存为voter7.vwf文件,双击左侧的白色区域,弹出如图14对话框,点击Node Finder…,弹出如图15的对话框,点击List,然后点击》符号,将所有信号添加进来,然后点击
OK, 再点击图14中的OK,设置所得信号如图16所示。
图14 添加仿真信号图15 选择仿真信号
图 16 波形文件
点击Edit,选择Set End Time…,设置为1us,然后点击保存。
点击simulation,选择Run Functional Simulation,仿真波形如图17所示。
图 17 功能仿真波形
时序仿真
4.引脚分配
点击Assignments下的pin planner,打开的设置引脚如图18所示:
图 18 引脚分配
设置完成之后点击Ctrl+L,进行全编译,待完成之后,点击Assignments下的Device…,在打开的对话框的中间部分有个Device and pin options…,点击打开,找到unused pins,把未使用的引脚设置为高阻态,选择As input tri-stated,具体设置如图19.
图19 未使用引脚设为高阻态
3.综合编译
执行完上述所有操作之后,点击Ctrl+L进行综合编译
4.程序下载
点击Tools下的programmer,点击左侧的Add File,在弹出的对话框中打开output_files,选择voter7.sof文件,点击programmer的左上角的Hardware setup…,在弹出的对话框中选择USB-Blaster[USB-0], 如图20
图20 下载设置
图21 成功下载
全部设置完成之后,点击Start进行下载,下载成功的界面如图21所示,然后操作硬件
观察验证实验结果。
注意截取相关实验结果图片附到实验报告上。