七人表决器hdl.docx

上传人:b****4 文档编号:24807487 上传时间:2023-06-01 格式:DOCX 页数:28 大小:192.86KB
下载 相关 举报
七人表决器hdl.docx_第1页
第1页 / 共28页
七人表决器hdl.docx_第2页
第2页 / 共28页
七人表决器hdl.docx_第3页
第3页 / 共28页
七人表决器hdl.docx_第4页
第4页 / 共28页
七人表决器hdl.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

七人表决器hdl.docx

《七人表决器hdl.docx》由会员分享,可在线阅读,更多相关《七人表决器hdl.docx(28页珍藏版)》请在冰豆网上搜索。

七人表决器hdl.docx

七人表决器hdl

**

 

※※※※※※※※※

2010级EDA

课程设计

※※※※※※※※※

 

EDA课程设计报告书

 

课题名称

七人表决器设计

韩正风

201009110113

信息学院

通信工程一班

指导教师

李岩

**

 

2012年12月

 

目录--------------------------------------------

 

报告内容----------------------------------------

 

一、设计目的---------------------------------

 

二、设计要求---------------------------------

 

三、使用说明---------------------------------

 

四、流程图设计-------------------------------

 

五、程序设计---------------------------------

 

六、实验过程及截图---------------------------

 

七、设计总结---------------------------------

 

八、实验心得---------------------------------

 

九、参考文献---------------------------------

**

 

七人表决器设计

 

一、设计目的

 

1.熟悉QuartusII软件的使用。

 

2.熟悉七人表决器的工作原理

 

3.熟悉EDA开发的基本流程。

**

 

二、设计要求

 

表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此

 

行为可行;否则如果否决的票数过半,则认为此行为无效。

 

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

 

意;反之,当否决的票数大于或者等于4人时,则认为不同意。

实验中用7个

 

拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否

 

则若拨挡开关输入为‘0’时,则表示此人反对。

表决的结果用一个LED表示,

 

若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED

 

不会被点亮。

同时用七段显示数码管来显示同意的人数。

 

完成7人表决电路设计,LED灯表示通过、否决。

 

(1)开关表示赞成与否,1~8编号(1赞成);

 

(2)LED显示表决的结果;

 

(3)数码管分别显示赞成、否决的人数;

 

(4)工作时钟100Hz即可;

 

(5)完成全部流程:

设计规范文档、模块设计、代码输入、功能仿真、约束与

 

综合、布局布线、时序仿真、下载验证等。

 

三、使用说明

**

 

本设计就是利用CPLD/FPGA+实验箱中的按钮开关模块和LED模块来实现一个简单的

 

七人表决器的功能。

按钮开关模块中的K1~K7表示七个人,当按钮开关按下表示输入为‘1’

 

时,表示对应的人投同意票,否则当按钮开关输入为‘0’时,表示对应的人投反对票;LED

 

模块中D8表示七人表决的结果,当同意数大于3人的时候,D8点亮表示一致同意,否则

 

D8熄灭表示一致反对,同时使用试验台的数码管分别显示同意的人数及不同意的人数。

 

四、流程图设计

 

七个人开始投票表决

 

统计同意的人数j

 

N

 

判断j是否大于3

 

Y

 

D8点亮D8熄灭

 

大板显示统计结果中同意的人数

 

五、程序设计:

 

该程序设计使用VHDL语言编写来实现工程的仿真运行:

 

libraryieee;

**

 

useieee.std_logic_1164.all;

 

useieee.std_logic_unsigned.all;

 

entityfengis

 

port(reset:

instd_logic;

 

xin:

instd_logic_vector(6downto0);

 

sel:

outstd_logic;

 

xout:

outstd_logic_vector(3downto0)

 

xout0

outstdlogicvector

(3downto0

);

 

endentity;

 

architecturebevoffengis

 

begin

 

process(xin)

 

variablej:

integer:

=0;

 

begin

 

j:

=0;

 

foriin0to6loop

 

ifxin(i)='1'then

 

j:

=j+1;

 

endif;

 

endloop;

 

casejis

**

 

when0=>

xout<="0000";

when1=>

xout<="0001";

when2=>

xout<="0010";

when3=>

xout<="0011";

when4=>

xout<="0100";

when5=>

xout<="0101";

when6=>

xout<="0110";

when7=>

xout<="0111";

whenothers=>

null;

 

endcase;

 

casejis

when7=>

xout<="0000";

when6=>

xout<="0001";

when5=>

xout<="0010";

when4=>

xout<="0011";

when3=>

xout<="0100";

when2=>

xout<="0101";

when1

=>

xout<="0110";

when0

=>

xout<="0111";

whenothers=>

null;

endcase;

**

 

ifj>3then

 

sel<='1';

 

elsesel<='0';

 

endif;

 

endprocess;

 

endarchitecturebev;

 

六、实验过程及截图

 

1、打开QuartusII软件

 

2、创建工程

**

 

3、运行程序

 

4、选择器原理图

**

 

5、仿真调试

 

6、引脚绑定

**

 

七、设计总结:

 

在设计的过程中,我熟悉了QuartusII的基本使用方法,熟悉了

EDA程序

的运行环境,对各个运行器件及操作按钮有了新的认识和了解,熟悉了

VHDL

语言,能够利用VHDL语言实现简单基本的程序,同时也了解了试验台上大板

和小板的数码管的极性。

在对按键K1-K7进行统计时,采用了按位统计的方法,

利用简单的FOR循环。

通过这次EDA的课程设计,我进一步的了解了

EDA的

 

编程技术及其应用。

EDA作为现在电子行业的热门技术之一,有着较强的专业

 

性和实用性,而此次的EDA小学期给我们接触EDA技术的机会,同时为以后

 

的就业提供了很好的演练平台。

 

八、实验心得

 

通过这段时间的EDA课程设计,我更加熟练的掌握了EDA开发的基本流程,

 

熟练地使用QuartusII软件进行编程,在老师和同学的帮助下,顺利完成了七

**

 

人表决器的相关设计,在此表示感谢。

此外,我还在课程设计的过程中,发现自

 

身的许多不足之处,在今后的学习中还需要更加的努力,加强这些方面的学习和

 

锻炼。

 

九、参考文献:

 

[1]延明,张亦化.《数字电路EDA技术入门》.北京:

邮电大学出版社,2006

 

[2]徐惠民,安德宁《.数字逻辑设计与VHDL描述》.北京:

机械工程出版社,2002

 

[3]潘松,王国栋.《VHDL实用教程》.成都:

电子科技大学出版社,2001

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1