电子设计自动化.docx

上传人:b****4 文档编号:11398192 上传时间:2023-05-31 格式:DOCX 页数:15 大小:968.65KB
下载 相关 举报
电子设计自动化.docx_第1页
第1页 / 共15页
电子设计自动化.docx_第2页
第2页 / 共15页
电子设计自动化.docx_第3页
第3页 / 共15页
电子设计自动化.docx_第4页
第4页 / 共15页
电子设计自动化.docx_第5页
第5页 / 共15页
电子设计自动化.docx_第6页
第6页 / 共15页
电子设计自动化.docx_第7页
第7页 / 共15页
电子设计自动化.docx_第8页
第8页 / 共15页
电子设计自动化.docx_第9页
第9页 / 共15页
电子设计自动化.docx_第10页
第10页 / 共15页
电子设计自动化.docx_第11页
第11页 / 共15页
电子设计自动化.docx_第12页
第12页 / 共15页
电子设计自动化.docx_第13页
第13页 / 共15页
电子设计自动化.docx_第14页
第14页 / 共15页
电子设计自动化.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

电子设计自动化.docx

《电子设计自动化.docx》由会员分享,可在线阅读,更多相关《电子设计自动化.docx(15页珍藏版)》请在冰点文库上搜索。

电子设计自动化.docx

电子设计自动化

电子设计自动化

电子设计自动化

实习报告

实习题目:

多人表决器设计

实习时间:

2015年3月30日至2015年4月5日

班级学号:

电子信息科学与技术12级2班

姓名:

李明

指导老师:

赵玉刚董胜

 

一.…………………………设计题目与指标要求

二.…………………………………设计平台及器件

三.…………………………………………….设计方案

四.………………………………………………..实验步骤

五.………………………………………………………..结论

六.………………………………….................心得体会

 

一.设计题目与指标要求

(1)、设计题目:

多人表决器的设计(设计9人表决器)。

(2)、指标要求:

9人投票表决,如果同意人数过半,LED灯亮,表示通过;否则,小灯不亮,行为无效。

将两次表决结果相应的支持和反对人数同时用数码管显示,行为的有无有效性用LED灯的亮灭来显示。

可以进行多个议案表决(题目中:

2个议案)。

使用液晶显示多人表决器题目字母,可以实现通过开关选择A或B议案(选择时,对应A或B的LED亮红灯),通过9秒倒计时对表决结果进行锁存,通过复位清零。

二、设计平台及器件

(1)、设计平台:

QuartusII软件、DE2-70实验板;

(2)、实验器件:

5个数码显示管(2位输出A议案,2位输出B议案,1个9秒计时),14个拉动开关键(9个输入表决结果开关,2个复位开关、1个信号选择开关、1个倒计时使能)4个led小灯(2个信号选择显示灯——red、2个议案通过显示灯——green)。

三.设计方案:

(1)设计分析图:

(2)通过以上设计分析对多人表决器进行代码编写,以下是模拟工作原理图:

打开复位开关,通过1个议案选择开关对议案进行选择(被选者对应LED灯亮红灯),打开计时使能开关进行9秒到计时,在此期间进行投票(超过半数对应LED灯亮绿灯,表示议案通过,否则不亮灯,表示议案被否决)。

10秒过后,投票结束,结果被锁存,通过重新复位给使能信号对结果清零。

通过此图可以看出本方案以两位数码管显示一个议案,共表示两个议案结果

四.实验步骤:

(1)程序代码:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYZHUTIIS

PORT(

SEL:

INSTD_LOGIC;

VOTE:

INSTD_LOGIC_VECTOR(8DOWNTO0);

RESET_A:

INSTD_LOGIC;

RESET_B:

INSTD_LOGIC;

LED_APPROVE1_A:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_APPROVE2_A:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_OBJECT1_A:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_OBJECT2_A:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_APPROVE1_B:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_APPROVE2_B:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_OBJECT1_B:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_OBJECT2_B:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_PASS_A:

OUTSTD_LOGIC;

LED_PASS_B:

OUTSTD_LOGIC;

LED_A:

OUTSTD_LOGIC;

LED_B:

OUTSTD_LOGIC

);

ENDENTITYZHUTI;

ARCHITECTUREbhvOFZHUTIIS

COMPONENTbjq

PORT(

RESET:

INSTD_LOGIC;

VOTE_X:

INSTD_LOGIC_VECTOR(8DOWNTO0);

LED_PASS:

OUTSTD_LOGIC;

LED_APPROVE1:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_APPROVE2:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_OBJECT1:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_OBJECT2:

OUTSTD_LOGIC_VECTOR(7DOWNTO0)

);

ENDCOMPONENT;

COMPONENTMUX21

PORT(

VOTE:

INSTD_LOGIC_VECTOR(8DOWNTO0);

SEL:

INSTD_LOGIC;

VOTE_1:

OUTSTD_LOGIC_VECTOR(8DOWNTO0);

VOTE_2:

OUTSTD_LOGIC_VECTOR(8DOWNTO0);

LED_1:

OUTSTD_LOGIC;

LED_2:

OUTSTD_LOGIC

);

ENDCOMPONENT;

SIGNALNET1,NET2:

STD_LOGIC_VECTOR(8DOWNTO0);

BEGIN

U1:

MUX21PORTMAP(VOTE=>VOTE,SEL=>SEL,VOTE_1=>NET1,VOTE_2=>NET2,LED_1=>LED_A,LED_2=>LED_B);

U2:

bjqPORTMAP(RESET=>RESET_A,VOTE_X=>NET1,LED_PASS=>LED_PASS_A,LED_APPROVE1=>LED_APPROVE1_A,LED_APPROVE2=>LED_APPROVE2_A,LED_OBJECT1=>LED_OBJECT1_A,LED_OBJECT2=>LED_OBJECT2_A);

U3:

bjqPORTMAP(RESET=>RESET_B,VOTE_X=>NET2,LED_PASS=>LED_PASS_B,LED_APPROVE1=>LED_APPROVE1_B,LED_APPROVE2=>LED_APPROVE2_B,LED_OBJECT1=>LED_OBJECT1_B,LED_OBJECT2=>LED_OBJECT2_B);

ENDARCHITECTUREbhv;

=====================================================================

--表决功能实现

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYbjqIS

PORT(

RESET:

INSTD_LOGIC;

VOTE_X:

INSTD_LOGIC_VECTOR(8DOWNTO0);

LED_PASS:

OUTSTD_LOGIC;

LED_APPROVE1:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_APPROVE2:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_OBJECT1:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

LED_OBJECT2:

OUTSTD_LOGIC_VECTOR(7DOWNTO0)

);

ENDENTITYbjq;

ARCHITECTUREbhvOFbjqIS

SIGNALq:

STD_LOGIC;

SIGNALq1:

STD_LOGIC_VECTOR(7DOWNTO0);

SIGNALq2:

STD_LOGIC_VECTOR(7DOWNTO0);

SIGNALq3:

STD_LOGIC_VECTOR(7DOWNTO0);

SIGNALq4:

STD_LOGIC_VECTOR(7DOWNTO0);

BEGIN

PROCESS(RESET,VOTE_X)

VARIABLEA:

INTEGER;

BEGIN

A:

=0;

IFRESET='0'THEN

q<='0';

q1<="11000000";

q2<="11000000";

q3<="11000000";

q4<="11000000";

ELSE

IFVOTE_X(0)='1'THENA:

=A+1;ENDIF;

IFVOTE_X

(1)='1'THENA:

=A+1;ENDIF;

IFVOTE_X

(2)='1'THENA:

=A+1;ENDIF;

IFVOTE_X(3)='1'THENA:

=A+1;ENDIF;

IFVOTE_X(4)='1'THENA:

=A+1;ENDIF;

IFVOTE_X(5)='1'THENA:

=A+1;ENDIF;

IFVOTE_X(6)='1'THENA:

=A+1;ENDIF;

IFVOTE_X(7)='1'THENA:

=A+1;ENDIF;

IFVOTE_X(8)='1'THENA:

=A+1;ENDIF;

CASEAIS

WHEN0=>q<='0';q1<="11000000";q2<="11000000";q3<="10010000";q4<="11000000";

WHEN1=>q<='0';q1<="11111001";q2<="11000000";q3<="10000000";q4<="11000000";

WHEN2=>q<='0';q1<="10100100";q2<="11000000";q3<="11111000";q4<="11000000";

WHEN3=>q<='0';q1<="10110000";q2<="11000000";q3<="10000010";q4<="11000000";

WHEN4=>q<='0';q1<="10011001";q2<="11000000";q3<="10010010";q4<="11000000";

WHEN5=>q<='1';q1<="10010010";q2<="11000000";q3<="10011001";q4<="11000000";

WHEN6=>q<='1';q1<="10000010";q2<="11000000";q3<="10110000";q4<="11000000";

WHEN7=>q<='1';q1<="11111000";q2<="11000000";q3<="10100100";q4<="11000000";

WHEN8=>q<='1';q1<="10000000";q2<="11000000";q3<="11111001";q4<="11000000";

WHEN9=>q<='1';q1<="10010000";q2<="11000000";q3<="11000000";q4<="11000000";

WHENOTHERS=>q<='Z';q1<="ZZZZZZZZ";q2<="ZZZZZZZZ";q3<="ZZZZZZZZ";q4<="ZZZZZZZZ";

ENDCASE;

ENDIF;

LED_APPROVE1<=q1;

LED_APPROVE2<=q2;

LED_OBJECT1<=q3;

LED_OBJECT2<=q4;

LED_PASS<=q;

ENDPROCESS;

ENDARCHITECTUREbhv;

=============================================================

--输入信号选择

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYMUX21IS

PORT(

VOTE:

INSTD_LOGIC_VECTOR(8DOWNTO0);

SEL:

INSTD_LOGIC;

VOTE_1:

OUTSTD_LOGIC_VECTOR(8DOWNTO0);

VOTE_2:

OUTSTD_LOGIC_VECTOR(8DOWNTO0);

LED_1:

OUTSTD_LOGIC;

LED_2:

OUTSTD_LOGIC

);

ENDENTITY;

ARCHITECTUREbhvOFMUX21IS

BEGIN

PROCESS(SEL)

BEGIN

IFSEL='0'THEN

VOTE_1<=VOTE;

LED_1<='1';LED_2<='0';

ELSE

VOTE_2<=VOTE;

LED_2<='1';LED_1<='0';ENDIF;

ENDPROCESS;

ENDARCHITECTUREbhv;

(2)编译仿真:

部分波形

选择信号仿真:

通过sel信号的高低,选择该信号输出端为哪一通道。

可以看出复位开关输入0有效,对程序复位,程序清零,显示输入1时,对程序进行选择方案有效。

表决单个议案仿真:

9人投票,5人赞成,绿灯亮通过,输出数码码序。

对数码管输入0有效数码亮,为1不亮,为共阴。

 

说明:

9人投票,5人赞成。

当sel=1时选通B议案决议,将b复位端置1,进行表决。

当sel=0时选通A议案决议,a复位端置1,进行表决。

相应得出信号选通灯的亮灭、LED显示码型和表决结果的亮灭情况。

 

显示赞成超过半数LED_pass亮,表示通过,显示不赞成未超过半数LED_pass不亮。

(3)综合生成的RLT图:

(4)锁定引脚:

以上仿真确认无误,则可设计编程锁定到目标芯片引脚下,做进一步的引脚测试,以便了解程序最终正确性。

(5)硬件测试:

经过检查没有错误后下载到实验开发板上,按照方案要求进行测试,如下图:

 

五.结论

 

经过,对多人表决器的实习,实现了对两个议案九人投票表决功能的实显。

如上图所示通过左边第一位数码管实现了九秒倒计锁存时,由左起第四个开关控制。

第3,4位数码管表示议案A;第7,8位数码管表示议案B,由左起2,3开关控制A与B投票。

Wh1至10表示参与投票人(不包括Wh7,未使用),左起第一开关,总复位。

通过本次实习,使得我对VHDL语言有了更进一步的了解。

 

六.实习心得

这次实习感触颇多,收获颇深。

大三的我,在这次的实习中学到了许多东西。

虽然,我最后成绩并不高,但是,这是我第一次认真的去融入是实习去,这使我对实习使用的的软件有了跟进一步的了解。

我与同组同学们一起查资料,一起改程序,对VHDL有了跟深刻的理解,对自己的VHDL重修有了很大的帮助.在学习期间,不断的学习和总结经验,巩固了所学的知识,提高了对实际问题的处理能力,并且经过辅导老师组织的实习答辩,为毕业设计总结了经验。

本次实习不仅培养了我们的动手能力,也让我们对课本上的知识有了跟灵活的应用,理论联系实际,独立自主进行设计,这不仅仅是一个好的学习方法,跟让我们了解了我们的缺陷在哪,从而查漏补缺,进一步完善自己,让学生学以致用。

通过这次的实习,也让我积累了一些经验,对以后从事相关工作有了一定的帮助。

在这里,非常感谢我的辅导老师赵老师和董老师对我的帮助和指导。

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

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2