EDA技术实践七人表决器报告完美版_09级

合集下载

七人表决器实验报告

七人表决器实验报告

竭诚为您提供优质文档/双击可除七人表决器实验报告篇一:哈工大电工学新技术实践实验报告-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端输入单脉冲,记录输出端状态。

七人多路表决器实验总结

七人多路表决器实验总结

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人以上通过则亮绿灯,否则亮红灯。

7人表决器设计设计任务书

7人表决器设计设计任务书
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技术实践七人表决器报告完美版_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 .了解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.书写课题报告时要结构合理,层次分明,在分析叙述时注意语言的流畅。

实验2七人表决器概要

实验2七人表决器概要
实验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亮。

广工eda课程设计-七人表决器

广工eda课程设计-七人表决器

课程设计课程名称硬件描述语言与EDA技术课程设计题目名称学生学院材料与能源学院专业班级学号学生姓名指导教师陈先朝2017年6 月10日目录一、设计目的 (1)二、设计内容 (1)三、设计思路 (1)四、Verilog源程序 (1)五、管脚分配 (3)六、总结设计与体会 (3)七、参考文献 (4)七人表决器设计一、设计目的1.熟悉Quartus II软件的使用。

2..熟悉七人表决器的工作原理3.熟悉EDA开发的基本流程。

二、设计内容基础功能:设计一个七人表决器,当赞成人数大于等于四时显示表决通过,同时分别将投票中赞成人数和反对人数在数码管显示出来。

新加:清零键和通过时蜂鸣器响。

三、设计思路(1)使用一个模块完成所有功能。

(2)用alawys语句检测赞同和反对人数信号(A和B),再用两个独立共阴极数码管显示人数0到7。

(3)用if语句判断总人数是否超出7人(s)(4)用另一个clk实现蜂鸣器,因为原来的clk信号频率过低。

四、Verilog源程序module biaojue(clk_1,clk_2,yes,no,clear,buzz,A,B,result);input clk_1,clk_2,yes,no,clear;reg [4:0] s1,s2,s;output reg [7:0] A,B;output reg result,buzz;always @(posedge clk_1)begins=s1+s2;if(clear) begin s1=0; s2=0; result=0; endelse if (s>4'b0111) begin s1=0; s2=0; result=0; endelse if (yes) s1=s1+1;else if (no) s2=s2+1;else if (s1>=4'b0100) begin result=1 ; endelse begin s1=s1; s2=s2; result=result; endendalways @(clk_2)begin if (result) buzz=~clk_2;endalways @(s1)begincase(s1)4'b0000:A=8'h3f;4'b0001:A=8'h06;4'b0010:A=8'h5b;4'b0011:A=8'h4f;4'b0100:A=8'h66;4'b0101:A=8'h6d;4'b0110:A=8'h7d;4'b0111:A=8'h07;default:A=8'h00;endcaseendalways @(s2)begincase(s2)4'b0000:B=8'h3f;4'b0001:B=8'h06;4'b0010:B=8'h5b;4'b0011:B=8'h4f;4'b0100:B=8'h66;4'b0101:B=8'h6d;4'b0110:B=8'h7d;4'b0111:B=8'h07;default:B=8'h00;endcaseendendmodule五、管脚分配错误!六、总结设计与体会七、参考文献(1)自编指导书;(2)Verilog与EDA相关教程:a)王金明等编著,EDA技术与Verilog HDL设计,电子工业出版社,2013年;b)艾明晶编著,EDA技术实验教程,清华大学出版社,2014年;c)潘松等编著,EDA技术与Verilog HDL ,清华大学出版社,2013年;d)张春晶等编著,现代数字电子技术及Verilog设计,清华大学出版社,2014年;e)刘靳等编著,Verilog程序设计与EDA ,西安电子科技大学出版社,2012年;f)刘福奇主编,Verilog HDL 应用程序设计实例精讲,电子工业出版社,2012年;g)周润景等主编,基于Quartus Ⅱ的数字系统Verilog HDL设计实例详解,电子工业出版社,2010年。

实验一七人表决器实验指导书

实验一七人表决器实验指导书

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。

七人表决器实验报告

七人表决器实验报告

七人表决器实验报告七人表决器实验报告引言:在日常生活中,我们经常会遇到需要做决策的情况。

而在集体决策中,如何快速、公正地达成共识成为了一个重要的问题。

为了解决这一问题,我们进行了七人表决器的实验。

本实验旨在探索七人表决器在集体决策中的效果和影响因素。

实验设计:我们邀请了七位志愿者参与实验,每个人都具有不同的背景和观点。

在实验开始前,我们向每位参与者提供了相同的决策问题,并要求他们独立思考并给出自己的答案。

然后,我们将七人表决器放置在桌面上,并告知参与者如何使用。

在每次决策中,参与者需要将自己的决策结果输入到表决器中,然后等待其他人完成决策。

当所有参与者完成决策后,表决器会自动计算出最终的决策结果。

实验结果:通过观察实验过程和分析实验数据,我们得出了以下结论: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与数字系统设计》。

7人表决控制电路

7人表决控制电路

摘要7人表决控制电路是一简单的输入信号检测与处理、产生输出控制信号的逻辑电路。

本文详细介绍了依据功能要求进行控制电路方案设计的过程,并在此基础上将整体电路分为输入信号处理模块,计时模块,译码模块,比较模块,显示模块等主要功能模块。

实现中采用Verilog HDL描述、ModelSim进行功能仿真、ISE进行逻辑综合和适配下载,最后在Altera的CycloneⅡ芯片EP2C8Q208C8上实现并完成测试。

在此过程中,完整地建立了测试平台,完成了功能和时序仿真,从而保证了设计的功能与时序的正确性。

关键词Verilog HDL;FPGA;仿真;综合;动态扫描目录引言 (1)1 总体电路结构设计 (2)1.1电路功能与性能 (2)1.2主要调度算法 (2)1.3电路接口 (3)1.4电路功能框图 (4)1.5验证方案 (5)2 模块设计 (6)2.1输入信号处理模块设计 (6)2.2计时模块设计 (8)2.3译码模块设计 (8)2.4比较模块设计 (9)2.5显示模块设计 (10)3 设计仿真与测试 (11)3.1仿真与测试的功能列表 (11)3.2仿真平台构建和仿真结果 (11)3.2.1 顶层仿真平台与激励 (11)3.2.2 电路功能仿真结果 (12)3.2.3 电路后仿真结果 (13)3.3测试环境的搭建与测试结果 (13)3.3.1 测试环境模拟 (13)3.3.2 电路测试结果 (14)4 电路约束与综合实现 ........................................................................ 错误!未定义书签。

4.1时序约束 (15)4.2引脚锁定约束 (16)4.3电路综合报告 (17)4.4设计实现与下载 (17)结论 (21)参考文献 (22)引言随着可编程器件FPGA/CPLD成本的逐渐降低,以及开发测试技术的日益普及,FPGA/CPLD以其较好的集成度和稳定性、可编程实现与升级的特点,在电子设计领域得到了越来越多的应用。

七人表决器

七人表决器

实验三七人表决器的设计一、实验目的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语言进行编程并仿真,然后下载程序到试验箱。

七人表决器VHDL语言代码(EDA设计实验)

七人表决器VHDL语言代码(EDA设计实验)

七人表决器VHDL语言代码大连海事大学信息工程学院EDA课程设计实验模块一【BCD译码器】:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY BCDDECODER ISPORT(BCD :IN STD_LOGIC_VECTOR(3 DOWNTO 0);SEGOUT :OUT STD_LOGIC_VECTOR(0 TO 6));END BCDDECODER;ARCHITECTURE a OF BCDDECODER 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;模块二【7人表决器】:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity biaojue isport(a:in std_logic_vector(6 downto 0);b:out std_logic;p1:out std_logic_vector(3 downto 0));end biaojue;architecture one of biaojue isbeginprocess(a)variable i: std_logic_vector(2 downto 0); begini:="000";for j in 0 to 6 loopif(a(j)='1') then i:=i+1;else i:=i+0;end if;end loop;if i>3 then b<='1';else b<='0';end if;case i iswhen "000"=>p1<="0000";when "001"=>p1<="0001";when "010"=>p1<="0010";when "011"=>p1<="0011";when "100"=>p1<="0100";when "101"=>p1<="0101";when "110"=>p1<="0110";when "111"=>p1<="0111";when others=>null;end case;end process;end one;注:水平有限,有错难免,多包涵。

七人表决器

七人表决器

七人表决器徐浩杰通信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硬件描述语言做电路综合设计方法。

EDA实验七人表决器的操作步骤

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。

(完整word版)EDA实验报告完整版

(完整word版)EDA实验报告完整版

数字系统设计基础实验报告实验名称: 1.组合电路设计___2.失序电路设计___3.计数器的设计___4.原理图设计加法器学号: ___ ********__ ____**: ___ **_______班级: __ 计科09-1班_____老师: __ ______中国矿业大学计算机学院2011年10月27日一.实验一: 组合电路的设计二.实验目的三.熟悉QuartusⅡ的VHDL文本设计流程全过程, 学习简单组合电路的设计、仿真和硬件测试。

四.实验任务任务1: 利用QuartusⅡ完成2选1多路选择器的文本编辑输入和仿真测试等步骤, 得出仿真波形。

最后在试验系统上进行硬件测试, 验证本项设计的功能。

五.任务2: 将此多路选择器看成是一个元件mux21a, 利用元件例化语句描述电路图, 并将此文件放在同一目录中。

六.对于任务中的例子分别进行编译、综合、仿真, 并对其仿真波形作出分析说明。

七.实验过程1.新建一个文件夹, 取名CNT10。

2.输入源程序。

3.文件存盘, 文件名为cnt10, 扩展名为.vhd。

八.创建工程, 按照老师要求对软件进行设置。

九.进行失序仿真, 得到仿真图形。

十.实验程序任务1:entity CNT10 ISport (a,b,s:in bit;y:out bit);end entity CNT10;architecture one of CNT10 isbeginprocess (a,b,s)if s='0' then y<=a; else y<=b;end if;end process;end architecture one;任务2:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUXK ISPORT (s0,s1: in STD_LOGIC;a1,a2,a3: in STD_LOGIC;outy: out STD_LOGIC );END ENTITY MUXK;ARCHITECTURE double OF MUXK ISSIGNAL tmpout,tmp:STD_LOGIC;BEGINu1: PROCESS(s0,a2,a3,tmp)BEGINIF s0='0' then tmp<=a2;else tmp<=a3;END IF ;END PROCESS u1 ;u2: PROCESS(s1,a1,tmp,tmpout)BEGINIF s1='0' then tmpout<=a1;else tmpout<=tmp; END IF ;END PROCESS u2 ;outy<=tmpout;END ARCHITECTURE double;十一.实验结果任务1:任务2:十二.实验体会在课堂上对于“EDA与VHDL”这门课的用处及用法一直一知半解, 课上对于一些编程也是学的很模糊, 因为学习过模拟电路与数字电路, 所以总认为器件仿真要用电脑模拟器件或者直接用实物, 但是通过本次实验对QuartusⅡ的初步接触, 了解了其功能的强大。

七路抢答器EDA设计报告

七路抢答器EDA设计报告

课程设计报告课题名称:基于VHDL的六路抢答器成绩:指导教师:系(院) 名:电控系班级:电子班学号:200700303 学生姓名:最后之舞1)设计任务:1.抢答器同时供七名选手或七个代表队比赛,分别用七个按钮Ren(0)~ Ren(6)表示。

2.设置一个系统清除即抢答控制开关CLR,该开关由主持人控制。

3.抢答器具有锁存与显示功能。

即只要有选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时相应编号的LCD灯,即LD(0)~LD(6)点亮提示,并且全局警报灯LCD也点亮。

选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。

4.抢答器具有定时抢答功能。

当主持人启动“开始”(LCR)键后,定时器进行减计时,同时数码管显示时间变动情况。

5.如果定时时间已到,无人抢答,本次抢答无效,系统报警灯LCD亮并禁止抢答,定时显示器上显示00。

主持人再次按下“开始”(CLR)键后即可进行下一轮的抢答。

2)工作原理:1.原理框图:2.各部分工作原理:①抢答器计时模块:这个模块的输入端有时钟信号MIAO、系统复位信号CLR和一个H输入信号;输出端有秒时间状态显示信号SEC和无人抢答和计时中止警报信号LCD。

这个模块中主要实现抢答过程中的计时功能,在抢答开始后进行15秒的倒计时,并且在15 秒倒计时后无人抢答的情况下显示超时并输出信号至LCD报警,或者只要15秒内有人抢答,时间也即刻停止计时,系统输出一个信号经LCD传至“抢答系统”,并显示优先抢答者的抢答时刻。

②抢答控制系统模块:在这个模块输入端有LCD输入(以时间控制系统的LCD输出信号为信号源)、一个和“时间控制系统”公用的CLR端、七人抢答输入信号端Ren和有一个时钟信号端CLK,这个时钟信号是个高频信号,用以扫描Ren是否有信号输入。

输出端有对应于Ren编号的7个指示灯LD和4线2进制输出端Who(用于以数字的形式显示优先抢答者的编号),还有一个H端用于指示Ren按钮状态。

EDA课程设计报告书

EDA课程设计报告书

信息工程学院EDA课程设计报告书题目: 七人表决器专业:电子信息科学与技术_班级: 0309410学号: 030941008学生姓名:罗勋义指导教师:袁老师2012 年 05月 10日信息工程学院课程设计任务书学生姓名罗勋义学号030941008 成绩设计题目七人表决器设计内容1.编程实现表决器功能。

2.编程实现对16X16点阵的控制,点阵循环显示输出结果。

设计要求1.用拨动开关模块中的K1~K7表示七个人2.用LED模块中LED1的亮灭表示投票结果,同时点阵循环显示输出结果。

3.用一位数码管显示赞成票数目。

4.设定投票的有效时间,错过时间投票无效,无效时间内,结果清零,准备下一轮投票。

参考资料1.顾斌.数字电路EDA设计.西安电子科技大学出版社,2004.2.李国洪,等.可编程器件EDA设计与实践,机械工业出版社,2004.3.潘松,等.EDA技术及其应用,清华大学出版社,2007.4.王振红,等.VHDL数字电路设计与应用实践教程(第二版),机械工业出版社,2005.5.赵明富,等.EDA技术基础,北京大学出版社.摘要所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。

实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。

表决的结果用一个LED和点阵显示表示,若表决的结果为同意,则LED被点亮,点阵显示“通过”;否则,如果表决的结果为反对,则LED不会被点亮,点阵显示“失败”。

关键词:七人,表决器,点阵目录1 任务提出与设计思路 (5)1.1 设计要求 (5)1.2设计思路 (5)2 总体设计 (6)3 详细设计及仿真 (7)3.1点阵原理 (7)3.2 电路组成与管脚分配 (8)3.3 VHDL源程序 (10)3.4 EP3C40平台仿真 (14)4 总结 (15)参考文献 (16)1 任务提出与设计思路近十年由于超大规模集成电路和软件技术的快速发展,使数字系统集成到一片集成电路内成为可能,在小规模数字集成电路就要淘汰的今天,作为一个电子技术工程技术人员不懂VHDL语言和CPLD、FPGA器件设计就象在计算机时代不会使用计算机一样可怕。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计
课程名称硬件描述语言与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开发的基本流程。

二、设计要求
表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

七人表决器由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。

实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。

表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮,;否则,如果表决的结果为反对,则LED不会被点亮。

同时用七段显示数码管来显示赞成的人数和反对的人数。

三、电路及连线设计
管脚分配:
实验符号对应附录符号管脚
K1K1PIN_28
K2K2PIN_29
K3K3PIN_30
K4K4PIN_31
K5K5PIN_38
K6K6PIN_39
K7K7PIN_40
A A PIN_141
B B PIN_142
C C PIN_143
D D PIN_144
E E PIN_147
F F PIN_148
G G PIN_149
m_Result SEG5PIN_190
A A PIN_157
B B PIN_158
C C PIN_159
D D PIN_160
E E PIN_170
F F PIN_172
G G PIN_173
四、使用说明
本设计就是利用芯片ACEX1K系列的EP1K30QC208-3,拨挡开关模块和LED模块来实现一个简单的七人表决器的功能。

拨挡开关模块中的sw1~sw7表示七个人,当拨挡开关输入为‘1’时,表示对应的人投同意票,否则当拨挡开关输入为‘0’时,表示对应的人投反对票;LED模块中SEG5表示七人表决的结果,当SEG5
点亮时,表示一致同意,否则当SEG5熄灭时,表示一致反对。

然后数码管SEG1和SEG2分别显示赞成,反对的人数。

五、流程图设计
六、程序设计如下:
LIBRARY IEEE;
USE UG IS
PORT(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 IS
SIGNAL q:STD_LOGIC;
SIGNAL q1,q2:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN
PROCESS(am)
VARIABLE shu:INTEGER;
BEGIN
shu:=0;
IF clk'EVENT AND clk='1' THEN
IF 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 IS
WHEN 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;
七、波形时序仿真
八、波形分析
当七个人am(6)、am(5)、am(4)、am(3)、am(2)、am(1)、am(0)投票结果为“1101111“,则数码管SEG1的结果是“1011111”即显示数字“6”,数码管SEG2结果是“0110000”,显示数字“1”,此时LED灯亮,投票通过;当七个人投票结果是“0111000”,SEG1显示“3”,SEG2显示“4”,LED灯不亮,投票不通过。

以此类推。

九、管脚分配
十、设计问题与解决方法
在本程序中因为是多路输出,输出存在时序差,产生竞争冒险现象,导致在时序仿真的时候输出波形中产生“毛刺”,为了去除这些“毛刺”,加入一个时钟信号CLK,其周期设置为20ns.十一、设计总结:
通过这段时间的EDA课程设计,我更加熟练的掌握了EDA开发的基本流程,熟练的使用Quartus II软件进行编程,在大家的努力之下,我们完成了七人表决器的相关设计,在此我要感谢我的组员和在EDA设计中给于我们很多帮助的老师们。

同时,我发现了自己的编程思路还不是很清晰,需要在以后的学习中加强锻炼。

十二、参考文献:
[1] 延明,张亦化.数字电路EDA技术入门.北京:邮电大学出版社,2006
[2] 徐惠民,安德宁.数字逻辑设计与VHDL描述.北京:机械工程出版社,2002
[3]潘松,王国栋.VHDL实用教程.成都:电子科技大学出版社,2001。

相关文档
最新文档