EDA 课程设计报告 基于VHDL的电子秒表的设计Word格式文档下载.docx
- 文档编号:17632161
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:14
- 大小:166.48KB
EDA 课程设计报告 基于VHDL的电子秒表的设计Word格式文档下载.docx
《EDA 课程设计报告 基于VHDL的电子秒表的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《EDA 课程设计报告 基于VHDL的电子秒表的设计Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
⑵学习用原理图+VHDL语言设计逻辑电路
⑶学习数字电路模块层次设计
⑷掌握QuartusII软件
2.课程设计主要内容
2.1设计实验说明
设计一个电子秒表,给定时钟信号为256HZ,要求系统达到以下功能:
(1)用6个数码管分别显示时、分、秒,计时范围为00:
00:
00~23:
59:
59;
(2)计时精度是1s;
(3)具有启/停开关,复位开关,可以在任何情况下使用。
2.2数字秒表组成及实现功能
电子秒表的基本工作原理就是不断输出连续脉冲给加法计数器,加法计数器通过译码器来显示它所记忆的脉冲周期个数。
2.3系统总体框图
根据系统设计要求,系统的底层设计主要由六十进制计数器模块、二十四进制计数器模块、分频模块、LED显示模块组成。
系统顶层设计图如图2-1所示
图2-1系统顶层设计图
图2-1中左边为三个输入信号en,clk,reset,分别为启动/停止开关,时钟信号和复位开关。
中间从上至下依次为count24,count60,count60,fenpinqi。
右边是clock1和输出信号wei[3..0],led[6.0]。
3.各模块的设计及仿真
本系统由六十进制计数器模块、二十四进制计数器模块、分频模块执行计时功能,输入信号是256Hz,通过分频后为1hz,时钟信号是1Hz作为秒表的秒输入,秒为60进制计数器,分也为60进制计数器,小时采用二十四进制计数器,各级进位作为高位的使能控制。
3.1二十四进制计数器模块设计和仿真
设计一个八位的二十四进制计数器模块,输入信号为en、reset、clk,分别为使能、复位和时钟信号,输出信号为qa[3…0]、qb[3…0],分别为低4位输出、高4位输出。
图3-1二十四进制计数器示意图
该模块部分VHDL源程序如下:
LIBRARYieee;
USEieee.std_logic_1164.ALL;
USEieee.std_logic_unsigned.ALL;
ENTITYcount24IS
PORT(en,Reset,clk:
inSTD_LOGIC;
qa:
outSTD_LOGIC_VECTOR(3DOWNTO0);
qb:
outSTD_LOGIC_VECTOR(3DOWNTO0));
ENDcount24;
ARCHITECTUREa1OFcount24IS
BEGIN
process(clk)
variabletma:
STD_LOGIC_VECTOR(3DOWNTO0);
variabletmb:
begin
IfReset='
0'
thentma:
="
0000"
;
tmb:
else
ifclk'
eventandclk='
1'
then
ifen='
iftma="
1001"
thentma:
tmb:
=tmb+1;
elsiftmb="
0010"
andtma="
0011"
then
tma:
elsetma:
=tma+1;
endif;
endif;
qa<
=tma;
qb<
=tmb;
endprocess;
ENDa1;
二十四进制计数器模块仿真
图3-2二十四进制计数器模块仿真
图3-3二十四进制计数器模块仿真
图3-2,图3-3均为二十四进制计数器仿真波形图
CLK:
时钟信号
RST:
复位信号低电平清零
En:
置数端低电平不让它继续计数
qb、qa:
输出的四位二进制数,分别对于要输出数的十位个位
3.2六十进制计数器模块设计和仿真
设计一个八位的六十进制计数器模块,输入信号为en、reset、clk,分别为使能、复位和时钟信号,输出信号为qa[3…0]、qb[3…0]、rco,分别为低4位输出、高4位输出和进位位。
图3-4六十进制计数器示意图
ENTITYcount60IS
qa:
rco:
OUTSTD_LOGIC);
ENDcount60;
ARCHITECTUREaOFcount60IS
IfReset='
elsifclk'
ifen='
rco<
=tmb
(2)andtmb(0)andtma(3)andtma(0);
iftmb="
0101"
thentmb:
elsetmb:
endif;
ENDa;
六十进制计数器模块仿真
图3-5六十进制计数器模块仿真
图3-6六十进制计数器模块仿真
图3-5、图3-6均为六十进制计数器仿真波形图
分别为输出数的十位个位,qb取值范围为0-5,qa取值范围为0-9
rco:
进位信号,当qb=5,qa=0,rco=0时,clk上升沿来到后,qb=0,qa=0,rco=1;
当qb=5,qa=0,rco=1时,clk上升沿来到后,qb=0,qa=0,rco=0
3.3分频器模块设计和仿真
设计一个分频器,要求将输入256HZ的时钟信号分频为1HZ的时钟信号作为秒表的秒输入。
输入信号为clk和rst,分别为时钟信号和复位信号,输出信号为clk_out,为分频器1HZ的时钟信号输出。
图3-7分频器示意图
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityfpis
port(RST,CLK:
instd_logic;
CLK_OUT:
outstd_logic);
endentityfp;
architectureartoffpis
constantdivide_period:
integer:
=256;
begin
process(CLK,RST)is
variablecnt:
integerrange0to255;
if(RST='
)then
cnt:
=0;
CLK_OUT<
='
elsifCLK'
eventandCLK='
then
if(cnt<
(divide_period/2))then
=cnt+1;
elsif(cnt<
(divide_period-1))then
CLK_OUT<
else
endprocess;
endarchitectureart;
分频器模块仿真
因时钟脉冲(为256hz)通过分频器256分频后频率(为1hz),仿真波形显示前一小段,不能看出输出规律,所以做仿真是用3分频后的波形,真正在实验箱上是256分频。
图3-8分频器模块仿真
输入分频前的时钟信号
复位信号低电平清零
Clkout:
输出分频后的时钟信号
3.4LED显示模块设计和仿真
LED有着显示亮度高,响应速度快的特点,最常用的是七段式LED显示器,又称数码管。
七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合成字符。
LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码(段码),如显示”0”,字形码为3fh。
图3-9LED数码管结构图
数码管的接口有静态接口和动态接口。
动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。
将二十四进制计数器和2个六十进制计数器的输出作为LEDA显示模块的输入,在时钟信号的控制下通过此模块完成6个LED数码管的显示,输出信号为WEI[2…0]和LED[6…0],分别为位选信号和段码输出。
图3-10LED显示示意图
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
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
SIGNALCNT6:
INTEGERRANGE0TO5:
=0;
SIGNALSHUJU:
BEGIN
PRO1:
PROCESS(CLK)
BEGIN
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;
CNT6<
WHENOTHERS=>
NULL;
ENDCASE;
ENDIF;
ENDPROCESS;
PRO2:
PROCESS(SHUJU)
CASESHUJUIS
WHEN"
=>
LED<
"
;
0001"
0100"
0110"
0111"
1000"
WHENothers=>
ENDCASE;
END;
LED显示模块仿真
图3-11LED显示模块仿真
Clk:
时钟信号
s1,s2,s3,s4,s5,s6:
输入的的四位二进制数
led:
输出的七位二进制数,对应数码管脚的输出gfedcba
wei:
输出的三位而进制数(输出范围为000-101),控制led输出,
当wei=000时,led输出s1对应的十进制数的数码管脚gfedcba
当wei=001时,led输出s2对应的十进制数的数码管脚gfedcba
当wei=010时,led输出s3对应的十进制数的数码管脚gfedcba
当wei=011时,led输出s4对应的十进制数的数码管脚gfedcba
当wei=100时,led输出s5对应的十进制数的数码管脚gfedcba
当wei=101时,led输出s6对应的十进制数的数码管脚gfedcba
3.5顶层仿真
因时钟脉冲(为256hz)通过分频器256分频后频率(为1hz),仿真波形显示前一小段,不能看出输出规律,所以做仿真是用3分频后的波形,真正在实验箱上验证是再改。
图3-12顶层仿真
当wei=000时,led输出对于秒钟的个位
当wei=001时,led输出对于秒钟的十位
当wei=010时,led输出对于分钟的个位
当wei=011时,led输出对于分钟的十位
当wei=100时,led输出对于时钟的个位
当wei=101时,led输出对应时钟的十位
4.心得体会
通过这次设计我学到了不少EDA在实际中的应用,我们把课堂上学习的硬件描述语言应用到了实际,巩固了已经学到的东西,并对它有了更深层次的理解。
这个实验设计虽然是一个简单的,但是我在具体的实验操作中还是遇到了重重困难,好多问题都是同学帮我解决的,在一些实际的操作中大家的相互协作很重要。
通过对数字秒表的设计,进行理论与实际的结合,提高了我们与计算机有关设计的能力,提高了分析、解决计算机技术实际问题的能力。
实际操作让我了解一个电子系统的实际开发过程,这就是学到了实际操作方面的东西,体会到了模块化设计法的优势。
5.主要参考资料
[1]杨晖.大规模可编程逻辑器件与数字系统设计.北京:
北京航空航天大学出版社,2010.
[2]任爱锋.基于FPGA的嵌入式系统设计.西安:
西安电子科技大学出版社,2011.
[3]杨恒.FPGA/CPLD最新实用技术指南.北京:
清华大学出版社,2010.
[4]王锁萍.电子设计自动化(EDA)教程.成都:
电子科技大学出版社,2009.
[5]路而红.电子设计自动化应用技术.北京:
北京希望电子出版社,2009.
[6]潘松.VHDL实用教程.成都:
电子科技大学出版社,2010.
[7]阎石主编.数字电子技术基础.第五版.高等教育出版社,2010年:
167—325
[8]王辉殷颖陈婷俞一鸣.MAX+plusⅡ和QuartusⅡ应用与开发技巧.机械工业出版社,2007.1
课程设计成绩评定表
成
绩
评
定
项目
比例
得分
平时成绩(百分制记分)
30%
业务考核成绩(百分制记分)
70%
总评成绩(百分制记分)
100%
评定等级
优良中及格不及格
指导教师(签名):
20年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计报告 基于VHDL的电子秒表的设计 课程设计 报告 基于 VHDL 电子 秒表 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)