七人表决器课程设计报告

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

课程设计

课程名称硬件描述语言与EDA技术

题目名称硬件描述语言与EDA技术实践学生学院材料与能源

专业班级 11微电子学(1)班

学号

学生姓名

指导教师

2014年6月27日

广东工业大学课程设计任务书

题目名称硬件描述语言与EDA技术实践

学生学院材料与能源学院

专业班级11微电子学(1)班

姓名

学号

一、课程设计的内容与要求

1.系统功能分析,分模块层次化设计;

2.实现系统功能的方案设计;

3.编写各功能模块VHDL语言程序;

4.对各功能模块进行编译、综合、仿真和验证;

5.顶层文件设计,可用VHDL语言设计,也可以用原理图设计;

6.整个系统进行编译、综合、仿真和验证;

7.在CPLD/FPGA实验开发系统试验箱上进行硬件验证;

8.按所布置的题目要求,每一位学生独立完成全过程。

二、课程设计应完成的工作

1.所要求设计内容的全部工作;

2.按设计指导书要求提交一份报告书;

3.提交电子版的设计全部内容:工程目录文件夹中的全部内容,报告书

三、课程设计进程安排

四、应收集的资料及主要参考文献

1.陈先朝,硬件描述语言与EDA技术实践指导书,2014年3月

2.曹昕燕等编著,EDA技术实验与课程设计,清华大学出版社,2006年5

3.刘欲晓等编著,EDA技术与VHDL电路开发应用实践,电子工业出版社,

2009年4月

4.刘昌华等编著,数字逻辑EDA设计与实践:MAX+plusⅡ与QuartusⅡ双

剑合璧,国防工业出版社,2009年

5.刘江海主编,EDA技术课程设计,华中科技大学出版社,2009年1月

发出任务书日期: 2014年6月 23日指导教师签名:

计划完成日期: 2014年6月 27日基层教学单位责任人签章:

主管院长签章:

七人表决器

1.设计目的

(1)学习和掌握Quartus II软件的基本操作;

(2)通过设计七人表决器,掌握基于可编程器件的VHDL硬件描述语言的设计方法;

(3)学习用CPLD/FPGA 实践系统硬件验证电路设计的正确性

2.设计题目及要求

(1)题目:表决器

(2)要求:设计一个七人表决器,当赞成人数大于等于四时显示表决通过,同时分别将投票中赞成的人数和反对的人数在数码管上显示出来。

3.设计方案:

表决器的功能是将所投票者的结果综合起来,超过半数赞成则表示结果通过,反之则不通过。而七人表决器由七个人来投票,当赞成的票数大于或者等于4人,则认为通过;当反对的票数大于或者等于4人时,则认为不通过。所以这次设计中我将用7个数据开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮,;否则,如果表决的结果为反对,则LED不会被点亮。同时用七段显示数码管来显示赞成的人数和反对的人数。

4.实验箱使用说明

本次使用的实验箱为KHF-3型CPLD/FPGA实践开发系统

所用芯片:ACEX1K系列的EP1K30QC208-3,引脚为208个,5980逻辑单元。数据开关SW1至SW7分别代表7人。当数据开关按下时输出为高电平‘1’,代表该投票者赞成,反之输出为低电平‘0’,代表该投票者反对。

数码管SEG1为赞成者人数,数码管SEG4为反对者人数

LED灯SEG5对应的P190为结果通过指示灯,当灯点亮,则代表投票结果为通过,反之熄灭时代表投票结果不通过。

5.设计流程图

开始

6.VHDL程序设计

LIBRARY IEEE; --库的说明

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY bjq IS --定义实体bjq PORT --端口说明( clk:IN STD_LOGIC; --时钟输入端口vote:IN STD_LOGIC_VECTOR(6 DOWNTO 0); --七人投票端

LED_pass:OUT STD_LOGIC; --结果LED灯

LED_approve,LED_object:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

--赞成人数及反对人数显示数码管END ENTITY bjq;

ARCHITECTURE bhv OF bjq IS --结构体说明SIGNAL q:STD_LOGIC; --内部信号说明SIGNAL q1,q2:STD_LOGIC_VECTOR(6 DOWNTO 0);

BEGIN

PROCESS(vote)

V ARIABLE A:INTEGER; --定义变量A用于统计赞成人数BEGIN

A:=0;

IF clk'EVENT AND clk='1' THEN

IF vote(0)='1' THEN A:=A+1;END IF;

IF vote(1)='1' THEN A:=A+1;END IF;

IF vote(2)='1' THEN A:=A+1;END IF;

IF vote(3)='1' THEN A:=A+1;END IF;

IF vote(4)='1' THEN A:=A+1;END IF;

IF vote(5)='1' THEN A:=A+1;END IF;

IF vote(6)='1' THEN A:=A+1;END IF;

CASE A IS --通过CASE语句选择不同赞成人数下LED数码管的显示内容

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;

LED_pass<=q; --将结果送到LED灯及数码管

LED_approve<=q1;

LED_object<=q2;

END IF;

END PROCESS;

END ARCHITECTURE bhv;

相关文档
最新文档