EDA课程设计八路呼叫器.docx

上传人:b****6 文档编号:5382895 上传时间:2022-12-15 格式:DOCX 页数:14 大小:96.05KB
下载 相关 举报
EDA课程设计八路呼叫器.docx_第1页
第1页 / 共14页
EDA课程设计八路呼叫器.docx_第2页
第2页 / 共14页
EDA课程设计八路呼叫器.docx_第3页
第3页 / 共14页
EDA课程设计八路呼叫器.docx_第4页
第4页 / 共14页
EDA课程设计八路呼叫器.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

EDA课程设计八路呼叫器.docx

《EDA课程设计八路呼叫器.docx》由会员分享,可在线阅读,更多相关《EDA课程设计八路呼叫器.docx(14页珍藏版)》请在冰豆网上搜索。

EDA课程设计八路呼叫器.docx

EDA课程设计八路呼叫器

目录

一、设计任务与要求1

二、总体框图1

总体框图1

三.选择器件1

四.功能模块2

1.编码器2

1.1逻辑符号2

1.2逻辑功能表2

1.3逻辑功能2

1.4VHDL程序3

1.5仿真及解析3

2.寄存器3

2.1逻辑符号4

2.2逻辑功能表4

2.3逻辑功能4

2.4VHDL程序4

2.5仿真及解析5

3.译码器5

3.1逻辑符号5

3.2逻辑功能5

3.3VHDL程序6

3.4仿真及解析6

4.显示电路:

选用七段数码管7

4.1逻辑功能表7

4.2逻辑功能7

五、总体设计电路8

总体电路原理图8

管脚分配8

仿真波形及解析9

六、心得体会9

 

八路呼叫器

一、设计任务与要求

1.当某一路呼叫时,能显示该路的编号,编号开关与呼叫位置一一对应

2.如有一路优先呼叫了,其他路不受影响,其他路还能继续呼叫

二、总体框图

总体框图

本设计的主要功能就是呼叫时显示对应的呼叫编号。

例如:

当呼叫时,00000001代表第一路呼叫,则经过3-8编码器,进行二进制转换,变为001,经过寄存器对其进行存储,然后通过译码显示电路,并且要用七段数码管来显示对应的呼叫编号,则001就为01100000.即数码管显示数字1.呼叫成功。

根据以上分析,可将整个设计分为三大主要模块:

呼叫编码模块,数据存储模块,呼叫信息译码驱动模块。

将呼叫编号的译码器和存储的内设,而将显示哪路呼叫编号的七段数码管外接。

组成的总体框图如图1所示:

图1总体框图

根据设计要求所知,输入信号:

八路呼叫信号,系统时钟信号CLK。

设计的输出信号:

八路呼叫成功与否的七段数码显示电路。

本设计具有的功能:

呼叫功能,存储功能,数字译码功能,数字显示功能。

如果某一路有呼叫请求,则该信号被送入编码器进行编码,编码输出经寄存器后,送入显示电路,显示这一路的编号。

三.选择器件

八路呼叫器中所用到的器件为:

1、装有QuartusⅡ软件的计算机一台

2、一位八段数码显示管

3、芯片:

使用Altera公司生产的Cyclone系列芯片,如EP1C12Q240C8芯片

4、EDA实验箱一个

5、下载接口是数字芯片的下载接口(JTAG),主要用于FPGA芯片的数据下载

6、拨键开关

7、时钟源

四.功能模块

1.编码器

将某一信息(输入)变换为某一特定的代码(输出),把二进制码,按一定的规律编排,例如8421码,格雷码等,使每组代码具有特定的含义(代表某个数或控制信号)称为编码,具有编码功能的逻辑电路称为编码器。

编码器有若干个输入,在某一时刻只有一个输入信号被转换为二进制码,例如8线-3线编码器,有8个输入,3位二进制码输出。

由于有八路呼叫编号,则选用3-8编码器

1.1逻辑符号

图23-8编码器的符号

1.2逻辑功能表

输入

输出

I0

I1

I2

I3

I4

I5

I6

I7

Y2

Y1

Y0

1

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1

0

0

1

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

1

1

0

0

0

0

1

0

0

0

1

0

0

0

0

0

0

0

1

0

0

1

0

1

0

0

0

0

0

0

1

0

1

1

0

0

0

0

0

0

0

0

1

1

1

1

图33-8编码器的逻辑功能表

1.3逻辑功能

由图知,使用4输入与非门74LS20组成3-8线普通编码器,其输入接8位逻辑开关,输出Y2,Y1,Y0接寄存器的输入端。

每个输入信号以高电平为有效信号。

1.4VHDL程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYbm8_3IS

PORT(I:

INSTD_LOGIC_VECTOR(7DOWNTO0);

y:

OUTSTD_LOGIC_VECTOR(2DOWNTO0));

ENDbm8_3;

ARCHITECTURErt1OFbm8_3IS

BEGIN

PROCESS(I)

BEGIN

CASEIIS

WHEN"00000001"=>y<="000";

WHEN"00000010"=>y<="001";

WHEN"00000100"=>y<="010";

WHEN"00001000"=>y<="011";

WHEN"00010000"=>y<="100";

WHEN"00100000"=>y<="101";

WHEN"01000000"=>y<="110";

WHEN"10000000"=>y<="111";

WHENothers=>y<="000";

ENDCASE;

ENDPROCESS;

ENDrt1;

1.5仿真及解析

图43-8编码器的仿真波形

2.寄存器

常用来暂时存放指令,参与运算的数据或运算结果等,其主要组成部分是具有记忆功能的双稳态触发器,一个触发器可存储一位二进制代码,要存储N位二进制代码,就得有N个触发器。

本设计选用数码寄存器

2.1逻辑符号

图5寄存器的符号

2.2逻辑功能表

输入

输出

CLK

D

Q

X

D1

D2

Q1

Q1

图6寄存器的逻辑功能表

2.3逻辑功能

数码寄存器用于寄存一组二进制信号。

寄存器常用多个锁存器或触发器组成,寄存器只能寄存数字0或1。

数据端D,用来输入被寄存的二进制信号;

脉冲端CLK,在脉冲的上升沿到来时,输出端Q随D变化。

2.4VHDL程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYjicunqiIS

PORT(D:

INSTD_LOGIC_VECTOR(2DOWNTO0);

CLK:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC_VECTOR(2DOWNTO0));

ENDENTITYjicunqi;

ARCHITECTUREARTOFjicunqiIS

BEGIN

PROCESS(CLK)IS

BEGIN

IF(CLK'EVENTANDCLK='1')THEN

Q<=D;

ENDIF;

ENDPROCESS;

ENDARCHITECTUREART;

2.5仿真及解析

图73-8编码器的仿真波形

3.译码器

译码是编码的逆过程,在编码时,每一种二进制代码,都赋予特定的含义,即都表示了一个确定的信号或者对象,把代码状态的特定含义“翻译”出来的过程叫做译码,实现译码操作的电路叫做译码器。

其可以将输入二进制代码的状态翻译成输出信号,以表示其原来的电路。

本设计选用3-8译码器

3.1逻辑符号

图83—8译码器的符号

3.2逻辑功能

1当G1=1,同时G2A+G2B=0时,每一个输出端的输出函数Yi=mi;

2当G1=1,同时G2A+G2B=0的条件不满足时,不进行译码,所有输出都是高电平。

3.3VHDL程序

 

LIBRARYieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

ENTITYSEG6IS

PORT(NUM:

INstd_logic_vector(2downto0);

A:

OUTstd_logic;

B:

OUTstd_logic;

C:

OUTstd_logic;

D:

OUTstd_logic;

E:

OUTstd_logic;

F:

OUTstd_logic;

G:

OUTstd_logic;

DP:

OUTstd_logic

);

ENDSEG6;

ARCHITECTUREfunOFSEG6IS

signalled:

std_logic_vector(6downto0);

BEGIN

A<=led(6);

B<=led(5);

C<=led(4);

D<=led(3);

E<=led

(2);

F<=led

(1);

G<=led(0);

DP<='0';

led<=

"0110000"whennum="001"else

"1101101"whennum="010"else

"1111001"whennum="011"else

"0110011"whennum="100"else

"1011011"whennum="101"else

"1011111"whennum="110"else

"1110000"whennum="111"else

"1111111";

ENDfun;

 

3.4仿真及解析

图93-8译码器的仿真波形

4.显示电路:

选用七段数码管

4.1逻辑功能表

十进制或功能

输入

输入输出

输出

D

C

B

A

BI/RBO

a

b

c

d

e

f

g

显示

0

1

2

3

4

5

6

7

8

0

0

0

0

0

1

on

on

on

on

on

on

off

1

0

0

0

1

1

off

on

on

off

off

off

off

2

0

0

1

0

1

on

on

off

on

on

off

on

3

0

0

1

1

1

on

on

on

on

off

off

on

4

0

1

0

0

1

off

on

on

off

off

on

on

5

0

1

0

1

1

on

off

on

on

off

on

on

6

0

1

1

0

1

on

off

on

on

on

on

on

7

0

1

1

1

1

on

on

on

off

off

off

off

8

1

0

0

0

1

on

on

on

on

on

on

on

图10七段数码管的逻辑功能表

4.2逻辑功能

七段数码管由发光二极管组成,又根据发光二极管的连接方式分为共阳数码管和共阴数码管。

常用LED数码管可以显示的数字和字符是0、1、2、3、4、5、6、7、8。

On表示亮,off表示不亮。

例如,当输入端DCBA分为001时,则a为off,b为on,c为on,d为off,e为off,f为off,g为off,七段数码管显示1。

 

五、总体设计电路

总体电路原理图

图11总体电路原理图

由图10所示,如果某一路有呼叫请求,则该信号被送入3-8编码器进行编码,编码输出经寄存器后,送入3-8译码显示电路,显示这一路的编号。

例如

,当输入信号编码器的输入端I[7..0]输入00000001,代表第一路呼叫时,先经过3-8编码器,进行二进制转换成001,经过寄存器对其进行存储,然后通过3-7译码显示电路,并且要用七段数码管来显示对应的呼叫编号,则001就为01100000.即数码管显示数字1.表示呼叫成功。

管脚分配

图12管脚分配

本设计在实验箱上验证时,要用到EDA-VI底板的资源,又由于本设计要使用数码管,则图10中的功能选择位VGA[3..0]为0010,对应E-PLAY-SOPU,CPU板上FPGA芯片EP1C12的功能选择位;实验箱上部的8个数码管,低8位为7位段加小数点选取位,选取数码管为0,则发送总线值为11111110,即为图10中右上方的数码选取位Q[7..0];呼叫编号为八路,对应实验箱右下方的八个拨键开关,键拨上表示为1,拨下表示为0。

输出信号用数码管段信号表示,以获得数字显示。

仿真波形及解析

图133-8译码器的仿真波形

六、心得体会

这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。

特别是当每一个子模块编写调试成功时,心里特别的开心。

但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。

在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示:

但是经过老师和同学们的帮助最终解决了问题。

其次,在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

总的来说,这次设计的数字秒表还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。

最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

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

当前位置:首页 > 高等教育 > 其它

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

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