VHDL设计七人表决器.docx

上传人:b****5 文档编号:4430833 上传时间:2022-12-01 格式:DOCX 页数:9 大小:77.52KB
下载 相关 举报
VHDL设计七人表决器.docx_第1页
第1页 / 共9页
VHDL设计七人表决器.docx_第2页
第2页 / 共9页
VHDL设计七人表决器.docx_第3页
第3页 / 共9页
VHDL设计七人表决器.docx_第4页
第4页 / 共9页
VHDL设计七人表决器.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

VHDL设计七人表决器.docx

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

VHDL设计七人表决器.docx

VHDL设计七人表决器

《FPGA系统设计与开发》

目:

七人表决器

业:

电子信息工程专业

号:

10

名:

杨彪

指导老师:

聂小燕

 

、实验目的

1、熟悉VHDL的编程。

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

3、进一步了解实验系统的硬件结构

二、实验原理

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

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

实验中用7个拨动开关来表示七个人,分别用7个LED等来反应每个人的决定,当对应的拨动开关输入为‘1'时,表示此人同意,LED灯点亮;否则若拨动开关输入为‘0;则表示此人反对,LED灯不亮。

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

同时,数码管上显示通过的票数。

三、实验内容

本实验就是利用实验系统中的拨动开关模块和LED模块以及数码管模块来实现一个简单的七人表决器的功能。

拨动开关模块中的K1〜K7表示七个人,当

拨动开关输入为‘1'时,表示对应的人投同意票,对应的LED灯亮;否则当拨动开关输入为‘0'时,表示对应的人投反对票,对应的LED灯不亮;LED模块中LED1表示七人表决的结果,当LED1点亮时,表示此行为通过表决;否则当LED1熄灭时,表示此行为未通过表决。

同时通过的票数在数码管上显示出来。

四、实验步骤

1、打开QUARTUSII软件,新建一个工程。

2、建完工程之后,再新建一个VHDLFile,打开VHDL编辑器对话框。

3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序。

4、编写完VHDL程序后,保存起来,并建立工程。

5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。

6编译仿真无误后,依照拨动开关、LED、数码管与FPGA的管脚连接表或参照附录进行管脚分配。

表1是示例程序的管脚分配表。

分配完成后,再进行全编译一次,以使管脚分配生效。

7、下载程序到试验箱验证实验的正确性,观察现象,对错误的地方进行改正。

表1程序的管脚分配表

端口名

使用模块信号

对应FPGA管脚

说明

CLK

时钟

C13

CLR

复位

P25

低电平有效

K1

拨动开关K1

H8

七位投票人的表决器

K2

拨动开关K2

J8

K3

拨动开关K3

J9

K4

拨动开关K4

A4

K5

拨动开关K5

B4

K6

拨动开关K6

A5

K7

拨动开关K7

B5

Result

LED模块LED1

G13

表决结果亮为通过

LED0

LED模块LED2

G15

每个人投票的结果

LED1

LED模块LED3

G14

LED2

LED模块LED4

H12

LED3

LED模块LED5

H11

LED4

LED模块LED6

J10

LED5

LED模块LED7

L9

LED6

LED模块LED8

H10

LEDAG0

数码管模块A段

F13

表决通过的票数

LEDAG1

数码管模块B段

F14

LEDAG2

数码管模块C段

F15

LEDAG3

数码管模块D段

E15

LEDAG4

数码管模块E段

F16

LEDAG5

数码管模块F段

F17

LEDAG6

数码管模块G段

E18

、七人表决器VHDL程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYBJQIS

PORT(CLK,CLR:

INSTD_LOGIC;----CLK为系统时钟,CLR为复位按

K:

INSTD_LOGIC_VECTOR(6DOWNTO0);----拨动开关输入表决

Result:

OUTSTD_LOGIC;----显示表决是否通过

LEDAG,LED:

OUTSTD_LOGIC_VECTOR(OWNTO);----LEDAG为七段数码管,

CASEshuiS----指示灯显示投票结果,数码管显示同意人数

WHEN0=>Result<='0';

LEDAG<="0111111";

LED<=K;

WHEN1=>Result<='0';

LEDAG<="0000110";

LED<=K;

WHEN2=>Result<='0';

LEDAG<="1011011";

LED<=K;

WHEN3=>Result<='0';

LEDAG<="1001111";

LED<=K;

WHEN4=>Result<='1';

LEDAG<="1100110";

LED<=K;

WHEN5=>Result<='1';

LEDAG<="1101101";

LED<=K;

WHEN6=>Result<='1';

LEDAG<="1111101";

LED<=K;

WHEN7=>Result<='1';

LEDAG<="0100111";

LED<=K;

WHENothers=>Result<='0';

LEDAG<="0000000";

LED<=K;

ENDCASE;

ENDIF;

ELSE-----启动复位功能,同时复位指示灯和数码管

Result<='0';

LEDAG<="0111111";

LED<="0000000";

ENDIF;

ENDPROCESS;

ENDARCHITECTUREone;

六、对VHDL程序进行编译仿真的图形

命畑Tne陆

MQDn$

11

4722na

Sial

Ent

I)x20.(1mV].Om

毗DI一1

呦』邱ICn.OnsISJ.Oib

iii

HD.Om360Ou0u尬10血

iiii

Heu

WC

CU

E'

rLrLrn

L_n_rL_n_r-L_r_rL_r_-L_r__L_r__L_rL__L_n

CLB

B

r

BIN啊皿即汕(MJffl册期LDmjjmOiniJfOmiMOjjniLMlKOCLlMDBfflimjTOLliaipfMllDLKOmillDKJmillLKMMroOQWranUMOfflmlDWmiL灿DOWOjMOmL他DOdLOjOLll即皿M»[

3w

E血丽颐丽诃i顽丽顾iW阿阿厂

OttWOO

^KllllL頫IHBOMMILJtlMO;JIOB1LglBIM)训血皿血的1jplOOL11批匕邂

B|

r

J

■JL3

...4[0]

B

-j

11

•上[|]

B

-J;;i—

伸2】

H

111

_

曲澄

…础]

B

r

~L

曲23

.上[4]

B|

-TL_

l_

|

nii

•耶】

B|

r

...1

L

-4[6]

B

J

r

七、管脚分配表

NodeName

Direction

Locatieri

I/OBank

VREFGroup

1

OK

Input

PtN^Cl3

3

B3_N0

2

SLR

Input

PINP25

6

B6NO

3

KI®

Inpct

PIN^BS

3

B3_N1

4

1>

Input

P£N_AS

3

B3_N1

5

K[4]

Input

PINB4

3

B3N1

6

K罔

Input

PTN.A4

3

B3N1

7

L>

Input

PINJ5

3

B3_NL

a

K[l]

Input

PINJ8

2

B2_N0

9

K[0]

Input

PDN_H&

3

E3_N1

10

LH洞

Output

PINH1O

3

B3N1

ii

LH5[5]

Output

PIN_L9

2

B2_N1

12

LED闫

Output

P[hJJO

3

B3.N0

13

LH?

[3]

Output

PIN.H111

3

B3_NO

14

D

LW[2【

Output

PINJH12

3

珀』。

15

a

區⑴

Output

PtN^14

4

B4_N1

16

a

LED[0]

Output

PINJ515

S4N1

17

■£>

LEDAG[6]

Ougt

PIN_E1B

4

B4_N0

18

<>

LED加国

Output

PEN_F17

4

B4_N0

19

a

LE)AG[^|

Output

PINF16

B4N1

20

a

LED恥⑶

Output

PIN_E15

4

B4_N1

21

LffiAG[2]

Output

PIN_F15

4

B4_N1

22

a

LEDAGfl]

Output

PINF14

4

B4_N1

23

o

LBX[0]

Output

PtN_F13

4

B4_N1

24

3

Result

Output

PING13

B4N1

八、实验结果与现象

当设计文件加载到试验箱后,拨动实验系统中的拨动开关模块的K0-K7七位拨动开关,如果拨动开关的值为“1”即拨动开关的开关置于上端,表示此人通过表决,对应的LED(LED2到LED8显示每个人投票的结果)等被点亮,反之不然。

当LED被点亮的个数大于或等于四时LED模块的LED1被点亮,否则LED1不被点亮。

同时数码管上显示通过表决的人数。

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

当前位置:首页 > 高中教育 > 数学

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

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