电气EDA课程设计基于VHDL电子秒表设计Word下载.docx

上传人:b****3 文档编号:18412086 上传时间:2022-12-16 格式:DOCX 页数:18 大小:285.26KB
下载 相关 举报
电气EDA课程设计基于VHDL电子秒表设计Word下载.docx_第1页
第1页 / 共18页
电气EDA课程设计基于VHDL电子秒表设计Word下载.docx_第2页
第2页 / 共18页
电气EDA课程设计基于VHDL电子秒表设计Word下载.docx_第3页
第3页 / 共18页
电气EDA课程设计基于VHDL电子秒表设计Word下载.docx_第4页
第4页 / 共18页
电气EDA课程设计基于VHDL电子秒表设计Word下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

电气EDA课程设计基于VHDL电子秒表设计Word下载.docx

《电气EDA课程设计基于VHDL电子秒表设计Word下载.docx》由会员分享,可在线阅读,更多相关《电气EDA课程设计基于VHDL电子秒表设计Word下载.docx(18页珍藏版)》请在冰豆网上搜索。

电气EDA课程设计基于VHDL电子秒表设计Word下载.docx

(4)LED显示模块

LED有着显示亮度高,响应速度快的特点,最常用的是七段式LED显示器,又称数码管。

七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。

LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码(段码),如显示”0”,字形码为3fh。

图5LED数码管结构图

数码管的接口有静态接口和动态接口。

动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。

将二十四进制计数器和2个六十进制计数器的输出作为LEDA显示模块的输入,在时钟信号的控制下通过此模块完成6个LED数码管的显示,输出信号为WEI[2…0]和LED[6…0],分别为位选信号和段码输出。

图6LED显示示意图

四、要求的设计成果

答辩时需调通各个模块的程序;

各部分模块完成后,用Quartus对程序编译、仿真;

得出系统仿真波形,包括各模块仿真波形及顶层仿真波形。

课程设计报告中需完成系统的设计要求,软件部分需要给出具体的代码,调试的部分要求撰写心得体会。

五、进程安排

序号

课程设计内容

学时分配

集中学生学习课程设计关键理论、明确设计任务及设计要求、指导学生分组、安排设计进度

0.5天

2

查阅、收集资料,拟定控制方案

3

计数器程序编写及仿真调试

4

分频器程序编写及仿真调试

5

系统整体仿真调试

6

按规范要求撰写课程设计说明书

2天

7

提交设计作品及设计说明书、答辩

合计

5天

六、主要参考资料

[1]杨晖.大规模可编程逻辑器件与数字系统设计.北京:

北京航空航天大学出版社,2010.

[2]任爱锋.基于FPGA的嵌入式系统设计.西安:

西安电子科技大学出版社,2011.

[3]杨恒.FPGA/CPLD最新实用技术指南.北京:

清华大学出版社,2010.

[4]王锁萍.电子设计自动化(EDA)教程.成都:

电子科技大学出版社,2009.

[5]路而红.电子设计自动化应用技术.北京:

北京希望电子出版社,2009.

[6]潘松.VHDL实用教程.成都:

电子科技大学出版社,2010.

指导教师(签名):

20年月日

《EDA技术及应用》

课程设计报告

题目:

基于VHDL的电子秒表的设计

院(系):

机电与自动化学院

专业班级:

电气工程及其自动化1204

学生姓名:

学号:

指导教师:

2015年1月5日至2015年1月9日

华中科技大学武昌分校制

目录

1.课程设计题目…………………………………………………………………………………2

2.课程设计目的…………………………………………………………………………………2

3.课程设计主要内容……………………………………………………………………………2

4.具体设计………………………………………………………………………………………2

4.1系统总体框图………………………………………………………………………………2

4.2系统模块功能设计及仿真…………………………………………………………………3

4.2.1六十进制计数器模块……………………………………………………………………3

4.2.2二十四进制计数器模块…………………………………………………………………5

4.2.3分频器模块………………………………………………………………………………6

4.2.4LED显示模块……………………………………………………………………………8

5.课程设计总结………………………………………………………………………………11

6.参考文献……………………………………………………………………………………12

1.课程设计题目

基于VHDL的电子秒表的设计

2.课程设计目的

(1)熟悉并理解VHDL程序,掌握VHDL的格式和语法规则。

(2)掌握相关的EDA知识。

(3)了解数字秒表的设计原理。

(4)熟悉掌握程序设计思路及运用VHDL语言控制。

(5)加深对数字系统自顶向下的模块化设计思想的理解。

(6)熟悉QuartusⅡ软件的使用方法,重点掌握编译和仿真的操作。

3.课程设计主要内容

设计一个电子秒表,给定时钟信号为256HZ,要求系统达到以下功能:

(1)用6个数码管分别显示时、分、秒,计时范围为:

(2)计时精度是1s。

(3)具有启/停开关,复位开关,可以在任何情况下使用。

4.具体设计

电子秒表的基本工作原理就是不断输出连续脉冲给加法计数器,加法计数器通过译码器来显示它所记忆的脉冲周期个数。

4.1系统总体框图

根据系统设计要求,系统的底层设计主要由六十进制计数器模块、二十四进制计数器模块、分频模块、LED显示模块组成。

系统顶层设计图如图1所示。

图1中左边为三个输入信号en,clk,reset,分别为启动/停止开关,时钟信号和复位开关。

右边是clock1和输出信号wei[3..0],led[6.0]。

4.2模块功能设计及仿真

本系统由六十进制计数器模块、二十四进制计数器模块、分频模块执行计时功能,输入信号是256Hz,通过分频后为1hz,时钟信号是1Hz作为秒表的秒输入,秒为60进制计数器,分也为60进制计数器,小时采用二十四进制计数器,各级进位作为高位的使能控制。

4.2.1六十进制计数器模块

功能:

实现在计时脉冲的作用下逢六十进一,从而完成对秒部分和分部分进行计数的功能。

图2六十进制示意图

图2为一个八位的六十进制计数器模块,输入信号为en、reset、clk,分别为使能、复位和时钟信号,输出信号为qa[3…0]、qb[3…0]、rco,分别为低4位输出、高4位输出和进位位。

设计思路:

qb、qa端口输出分别为数的十位个位,qb输出端口取值范围为0-5,qa输出端口取值范围为0-9,rco端口输出进位信号。

在时钟(计时)信号上升沿同步下,Reset端口输入复位信号对qa,qb端口的输出进行同步的清零,低电平有效;

在时钟(计时)信号上升沿同步下,en使能端为高电平时,当qb=5,qa=9,rco=0,那么rco产生进位信号,qa清零,qb清零;

当qa和qb为其他值时,qa进行加1计数,直到值为9时,qa清零,qb加1。

模块源程序:

LIBRARYieee;

USEieee.std_logic_1164.ALL;

USEieee.std_logic_unsigned.ALL;

ENTITYcount60IS

PORT(en,Reset,clk:

inSTD_LOGIC;

qa:

outSTD_LOGIC_VECTOR(3DOWNTO0);

qb:

rco:

OUTSTD_LOGIC);

ENDcount60;

ARCHITECTUREaOFcount60IS

BEGIN

process(clk)

variabletma:

STD_LOGIC_VECTOR(3DOWNTO0);

variabletmb:

begin

IfReset='

0'

thentma:

="

0000"

;

tmb:

elsifclk'

eventandclk='

1'

then

ifen='

rco<

=tmb

(2)andtmb(0)andtma(3)andtma(0);

iftma="

1001"

thentma:

iftmb="

0101"

thentmb:

elsetmb:

=tmb+1;

endif;

elsetma:

=tma+1;

endif;

qa<

=tma;

qb<

=tmb;

endprocess;

ENDa;

图3六十进制仿真波形图

4.2.2二十四进制计数器模块

实现在计时脉冲的作用下逢二十四进一,从而完成对小时部分进行计数的功能。

图4二十四进制计数器示意图

图4为一个八位的二十四进制计数器模块,输入信号为en、reset、clk,分别为使能、复位和时钟信号,输出信号为qa[3…0]、qb[3…0],分别为低4位输出、高4位输出。

qb、qa端口输出分别为数的十位个位,qb输出端口取值范围为0-2,qa输出端口取值范围为0-9。

在时钟(计时)信号上升沿同步下,en使能端为高电平时,当qb=2,qa=3,那么qb清零,qa清零;

ENTITYcount24IS

qa,qb:

ENDcount24;

ARCHITECTUREa1OFcount24IS

IfReset='

else

ifclk'

tmb:

elsiftmb="

0010"

andtma="

0011"

then

tma:

endif;

ENDa1;

图5二十四进制仿真波形图

4.2.3分频器模块

将输入256HZ的时钟信号分频为1HZ的时钟(计时)信号作为秒表的秒输入。

图6分频器示意图

图6为一个分频器,输入信号为clk和rst,分别为时钟信号和复位信号,输出信号为clk_out,为分频器1HZ的时钟信号输出。

设计思路:

将CLK端口输入的时钟信号经分频后送给CLK_OUT端口;

当RST端口输入信号有效(低电平)时,CLK_OUT端口输出信号清零。

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYfenpinqiIS

PORT(CLK,RST:

instd_logic;

CLK_OUT:

outstd_logic);

ENDfenpinqi;

ARCHITECTUREbehavOFfenpinqiIS

signalclk_data:

std_logic;

SIGNALCNT6:

INTEGER:

=0;

PROCESS(CLK)

IFRST='

THENCNT6<

=0;

ELSIFCLK'

EVENTANDCLK='

THEN

IFCNT6=255THENclk_data<

=NOTclk_data;

CNT6<

=0;

ELSECNT6<

=CNT6+1;

ENDIF;

CLK_OUT<

=clk_data;

ENDPROCESS;

ENDbehav;

图7分频器仿真波形图

4.2.4LED显示模块

功能:

6个数码管分别显示时、分、秒。

LED显示原理:

图8LED数码管结构图

数码管的接口有静态接口和动态接口。

动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。

图9LED显示示意图

图9将二十四进制计数器和2个六十进制计数器的输出作为LEDA显示模块的输入信号,在时钟信号的控制下通过此模块完成6个LED数码管的显示,输出信号为WEI[2…0]和LED[6…0],分别为位选信号和段码输出。

ENTITYclock1IS

PORT(CLK:

INSTD_LOGIC;

S1,S2,S3,S4,S5,S6:

INSTD_LOGIC_VECTOR(3DOWNTO0);

WEI:

OUTSTD_LOGIC_VECTOR(2DOWNTO0);

LED:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

ENDENTITY;

ARCHITECTUREbehaveOFclock1IS

INTEGERRANGE0TO5:

SIGNALSHUJU:

BEGIN

PRO1:

PROCESS(CLK)

IFCLK'

EVENTANDCLK='

THEN

CNT6<

=CNT6+1;

CASECNT6IS

WHEN0=>

WEI<

="

000"

SHUJU<

=S1;

WHEN1=>

001"

=S2;

WHEN2=>

010"

=S3;

WHEN3=>

011"

=S4;

WHEN4=>

100"

=S5;

WHEN5=>

101"

=S6;

WHENOTHERS=>

NULL;

ENDCASE;

ENDIF;

PRO2:

PROCESS(SHUJU)

CASESHUJUIS

WHEN"

=>

LED<

1111110"

;

0001"

0110000"

1101101"

1111001"

0100"

0110011"

1011011"

0110"

1011111"

0111"

1110000"

1000"

1111111"

1111011"

WHENothers=>

0000000"

ENDCASE;

ENDbehave;

图10LED显示模块仿真波形图

5.课程设计总结

首先,通过本课程设计的学习,不但巩固了课堂上所学的VHDL的基本语法规则和注意事项,以及VHDL程序的基本结构,多种语句的使用等,而且纠正了我在理论学习上的盲点和漏洞。

其次,了解了数字秒表的设计原理,以及设计思路。

体会到自顶向下的模块化设计方法的优越性,使用这种方法,能够将一个大的数字系统分解为各个子系统和模块,具有符合常规的思维习惯、减小了设计的难度、以及易于在各种集成电路或可编程器件之间移植等优点。

然后,进一步熟悉了QuartusⅡ软件的使用方法,以及编译、仿真等的具体操作步骤,实际操作中所用到的是功能仿真,仿真过程为添加波形文件,设计输入,观察输出,检查自己的设计是否达到和完成要求的逻辑功能。

在上机操作的过程中,由于想快点完成任务,从而忽略了一些关键的地方,如顶层文件的设置、仿真时功能仿真网络表的生成等,导致仿真结果迟迟没有出来,这让我体会到了做什么事都不能急功近利,要有耐心,稳扎稳打才是应有的做事的态度。

上机实践的过程让我对EDA技术的涵义和特点有了更深的体会,尤其是EDA技术以软件的方式设计硬件的特点。

最后,我要感谢同学和指导老师对我的帮助,让我能够更快更好地完成课程设计的任务。

总而言之,这次课程设计,让我收获颇丰,不仅巩固和提升了我的理论知识,还提升了我的动手实践能力以及分析和解决问题的能力。

6、主要参考资料

课程设计成绩评定表

项目

比例

得分

平时成绩(百分制记分)

30%

业务考核成绩(百分制记分)

70%

总评成绩(百分制记分)

100%

评定等级

优良中及格不及格

20年月日

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

当前位置:首页 > 工作范文 > 其它

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

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