VHDL_设计七人表决器_第1页
VHDL_设计七人表决器_第2页
VHDL_设计七人表决器_第3页
VHDL_设计七人表决器_第4页
VHDL_设计七人表决器_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FPG廖统设计与开发课程设计报告题目:七人表决器专业:电子信息工程专业学号:1340820410姓名:杨彪指导老师:聂小燕、实验目的1、熟悉VHDL的编程。2、熟悉七人表决器的工作原理。3、进一步了解实验系统的硬件结构二、实验原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个拨动开关来表示七个人,分别用7个LE/来反应每个人的决定,当对应的拨动开关输入为1'时,表示此人同

2、意,LEDT点亮;否则若拨动开关输入为'0;则表示此人反对,LED丁不亮。表决的结果也用一个LEDg示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。同时,数码管上显示通过的票数。三、实验内容本实验就是利用实验系统中的拨动开关模块和LED奠块以及数码管模块来实现一个简单的七人表决器的功能。拨动开关模块中的K1K裱示七个人,当拨动开关输入为1'时,表示对应的人投同意票,对应的LED丁亮;否则当拨动开关输入为0'时,表示对应的人投反对票,对应的LED丁不亮;LED模块中LED1表示七人表决的结果,当LED1点亮时,表示此行为通过表决;否

3、则当LED1熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出来。四、实验步骤1、打开QJARTUSI软件,新建一个工程。2、建完工程之后,再新建一个VHDLFile,打开VHDL编辑器对话框。3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序。4、编写完VHDL程序后,保存起来,并建立工程。5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。6、编译仿真无误后,依照拨动开关、LED数码管与FPGA勺管脚连接表或参照附录进行管脚分配。表1是示例程序的管脚分配表。分配完成后,再进行全编译一次,以使管脚分配生效。7、下载程序到试验箱验证实验的正确性,观察现象,

4、对错误的地方进行改正。表1程序的管脚分配表端口名使用模块信号对应FPGA管脚说明CLK时钟C13CLR复位P25低电平后效K1拨动开关K1H8七位投票人的表决器K2拨动开关K2J8K3拨动开关K3J9K4拨动开关K4A4K5拨动开关K5B4K6拨动开关K6A5K7拨动开关K7B5ResultLED模块LED1G13表决结果亮为通过LED0LED模块LED2G15每个人投票的结果LED1LED模块LED3G14LED2LED模块LED4H12LED3LED模块LED5H11LED4LED模块LED6J10LED5LED模块LED7L9LED6LED模块LED8H10LEDAG0数码管模块A段F1

5、3表决通过的票数LEDAG1数码管模块B段F14LEDAG2数码管模块C段F15LEDAG3数码管模块D段E15LEDAG4数码管模块E段F16LEDAG5数码管模块F段F17LEDAG6数码管模块G段E18五、七人表决器VHDLS序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYBJQISPORT(CLK,CLR:INSTD_LOGIC;-CLK为系统时钟,CLR为复位按K:INSTD_LOGIC_VECTOR(6DOWNTO0);-拨动开关输入表决Result:OUTSTD_LOGIC;

6、-显示表决是否通过LEDAG,LED:OUTSTD_LOGIC_VECTOR(OWNTO);LEDAG为七段数码管,用来显示同意的人数;LED为七个指示灯,END ENTITY BJQ;ARCHITECTURE one OF BJQ ISBEGINPROCESS(K) VARIABLE shu:INTEGER; BEGINIF (CLR='1') THEN一LED<=K;shu:=0; IF CLK'EVENT AND CLK='1' THENIF K(0)='1' THEN shu:=shu+1;END IF;IF K(1)=&#

7、39;1' THEN shu:=shu+1;END IF;IF K(2)='1' THEN shu:=shu+1;END IF;IF K(3)='1' THEN shu:=shu+1;END IF;IF K(4)='1' THEN shu:=shu+1;END IF;IF K(5)='1' THEN shu:=shu+1;END IF;IF K(6)='1' THEN shu:=shu+1;END IF;用来指示投票人的个人投票结果。定义变量shu来统计同意的个数不复位,即正常工作将指示灯和投票人对应,即记

8、名投票CASEshuiS-指示灯显示投票结果,数码管显示同意人数WHEN0=>Result<='0'LEDAG<="011111T'LED<=K;WHEN1=>Result<='0'LEDAG<="0000110”;LED<=K;WHEN2=>Result<='0'LEDAG<="101101T'LED<=K;WHEN3=>Result<='0'LEDAG<="100111T'L

9、ED<=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<="010011T'LED<=K;WHENothers=>Resul

10、t<='0'LEDAG<="0000000”;LED<=K;ENDCASE;ENDIF;ELSE-启动复位功能,同时复位指示灯和数码管Result<='0'LEDAG<="0111111”;LED<="0000000”;ENDIF;ENDPROCESS;ENDARCHITECTUREone;六、对VHDL程序进行编译仿真的图形5c 口 m JjRiilaE?Efe旧向4722 k R - _T"L"rL_rLTLrLnLrL_L_rL_rLrLrLnLri_rL_rL_rLrL_rmQI 1D 1 -府 府-广丁 ,1片厂而可,河而iyFjil :jT可方 刀诵:"T :而7飞产寸鹏仆而二1|1所:干市,河-卞:而 丁 丁;TI-犷可g lid 皿破m山印0155工“:陶川亚】联门心期, icc?嘉-m眼川:顽帆u如而pyiuuiu ;加IT;画®:方u物机厂匚口以i七、管脚分配表八、实验结果与现象当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论