南理工EDAII优秀实验报告课件.docx

上传人:b****4 文档编号:3014088 上传时间:2022-11-17 格式:DOCX 页数:25 大小:289.53KB
下载 相关 举报
南理工EDAII优秀实验报告课件.docx_第1页
第1页 / 共25页
南理工EDAII优秀实验报告课件.docx_第2页
第2页 / 共25页
南理工EDAII优秀实验报告课件.docx_第3页
第3页 / 共25页
南理工EDAII优秀实验报告课件.docx_第4页
第4页 / 共25页
南理工EDAII优秀实验报告课件.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

南理工EDAII优秀实验报告课件.docx

《南理工EDAII优秀实验报告课件.docx》由会员分享,可在线阅读,更多相关《南理工EDAII优秀实验报告课件.docx(25页珍藏版)》请在冰豆网上搜索。

南理工EDAII优秀实验报告课件.docx

南理工EDAII优秀实验报告课件

南京理工大学

EDA设计(II)

实验报告

 

作者:

耿乐

学号:

913000710013

学院(系):

教育实验学院

专业:

测控技术与仪器

指导老师:

姜萍

实验日期:

2016.03

摘要

本次实验课题是基于QuartusII软件、SmartSOPC实验系统硬件而理论设计并验证的一个多功能数字钟。

该数字钟完全采用verilog语言描述,实现了计时、校时、校分、复位、保持和整点报时等基本功能,并在此基础上添加了模式切换、秒表计时、闹钟、彩铃等附加功能。

最后下载到SmartSOPC实验系统中进行调试和验证以确保工程设计的正确性。

本实验设计采用Top-down及模块化设计思想,独立设计出各功能电路,并进行整合,最终得到性能完善的数字钟系统。

关键词:

verilog,多功能数字钟,多模式切换,Top-down

Abstract

ThisprojectistousethesoftwareQuartusIItodesignamulti-functiondigitalclockanduseSmartSOPCexperimentsystemtoverifyit.Thedigitalclockcompletewithveriloglanguagedescription.Itincludestimekeeping,hour-devision,minute-division,reset,maintainandhourlychimeandotherbasicfunctions.Moreover,onthebasisoftheabovefunctions,additionalfeaturessuchasthemodeswitching,stopwatch,alarm,bellandsoonareadded.Finally,thewholeprojectisdownloadedtoSmartSOPCexperimentsystemtodebugandtesttoensurethecorrectnessoftheengineeringdesign.TheexperimentaldesignusingTop-downandmodulardesign,theindependentdesignofeachfunctionalcircuit,andintegration,andultimatelyimprovetheperformanceoftheobtaineddigitalclocksystem.

Keywords:

verilog,Multi-functiondigitalclock,mode-switch,Top-down

目录

一、设计要求1

1.题目简介1

2.设计基本要求1

3.设计提高部分1

二、整体方案2

三、基础模块设计2

1.分频模块2

2.基本计时模块4

a.秒模块4

b.分模块6

c.时模块7

d.保持模块8

e.校时校分模块9

3.整点报时模块9

4.闹钟及彩铃模块10

a.闹钟设置模块10

b.比较模块11

c.彩铃模块11

5.秒表模块12

6.动态显示13

a.64选4模块13

b.BCD译码器16

7.消颤模块16

8.顶层模块17

四、下载与调试19

1.编译19

2.管脚分配19

3.下载验证19

五、实验中遇到的问题及解决方法19

六、设计收获与感受20

七、参考文献21

多功能数字时钟设计

1、设计要求

1.题目简介

设计一个数字钟,可以完成00:

00:

00到23:

59:

59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能。

2.设计基本要求

1)能进行正常的时、分、秒计时功能;

2)分别由六个数码管显示时分秒的计时,从左到右分别为时十位、时个位、分十位、分个位、秒十位、秒个位;

3)K1是系统的使能开关(K1=0正常工作,K1=1时钟保持不变);

4)K2是系统的清零开关(K2=0正常工作,K2=1时钟清零);

5)K3是系统的校分开关(K3=0正常工作,K3=1可以快速校分);

6)K4是系统的校时开关(K4=0正常工作,K4=1可以快速校时);

3.设计提高部分

7)使系统具有整点报时功能(当时钟计到59’53”时开始报时,在59’53”,59’55”,59’57”时报时频率为512Hz,59’59”时报时频率为1kHz);

8)闹表设定功能;

9)彩铃功能:

当闹钟打开时,时钟走到闹钟的电路时,响起《友谊天长地久》的音乐。

10)秒表功能;

11)静音功能;

12)开关的分配(实验板只有8个开关),实验中对其他开关的分配如下:

K5

闹钟分调整/秒表启动停止

K6

闹钟时调整/秒表清零

K7K8

00

时钟模式

01

静音模式

10

闹钟模式

11

秒表模式

表1.1

2、整体方案

整个系统采用Top-down及模块化设计思想,独立设计出各功能电路,并进行整合,最终得到性能完善的数字钟系统。

具体示意图如下:

图2.1

3、基础模块设计

4.分频模块

数字计时器基本功能是计时,因此首先需要获得具有精确振荡时间的脉振信号,以此作为计时电路的时序基础,实验中可以使用的振荡频率源为48MHz,通过分频获得所需脉冲频率(1Hz,2Hz,10Hz,100Hz,512Hz,1kHz)。

其中,1Hz用于驱动时钟,2Hz用于快速校时校分,10Hz用于消颤电路,100Hz用于驱动秒表,512Hz用于低频闹铃,1kHz用于高频闹铃和动态扫描显示。

Verilog程序如下:

moduledivider(out_1hz,out_2hz,out_10hz,out_100hz,out_512hz,out_1khz,clk_48mhz,clr);

outputout_1hz,out_2hz,out_10hz,out_100hz,out_512hz,out_1khz;

inputclk_48mhz,clr;

regout_1hz,out_2hz,out_10hz,out_100hz,out_512hz,out_1khz;

reg[31:

0]count_1hz,count_2hz,count_10hz,count_100hz,count_512hz,count_1khz;

parameterN_1hz=48000000,N_2hz=24000000,N_10hz=4800000,

N_100hz=480000,N_512hz=93750,N_1khz=48000;

always@(posedgeclk_48mhz)

begin

if(clr)

begin

count_1hz<=32'b0;

out_1hz=0;

end

elseif(count_1hz

begin

count_1hz<=count_1hz+1'b1;

end

else

begin

count_1hz<=32'b0;

out_1hz=~out_1hz;

end

end

·

·

·

endmodule

其各引脚定义如下:

引脚名

引脚类型

功能

clk_48mhz

input

系统时钟输入

clr

input

系统清零

out_1hz

output

1Hz输出

out_2hz

output

2Hz输出

out_10hz

output

10Hz输出

out_100hz

output

100Hz输出

out_512hz

output

512Hz输出

out_1khz

output

1kHz输出

表3.1

5.基本计时模块

24小时计时电路分为秒、分、时三个模块,依次进位。

其中,秒、分模块均采用模60计数器,时模块采用模24计数器。

时分秒的高低位分别采用BCD码。

设计思路框架图如下:

a.秒模块

Verilog程序如下:

moduleseccount(clkin,clr,sec_out,sec_flag1,sec_flag2,sec_carry);

inputclkin,clr;

output[7:

0]sec_out;

outputsec_flag1,sec_flag2,sec_carry;

reg[7:

0]sec_out;

regsec_flag1,sec_flag2,sec_carry;

always@(posedgeclkin,posedgeclr)//clk上升沿时刻计数

begin

if(clr)

sec_out<=0;

else

begin

case(sec_out)

8'h09:

sec_out<=8'h10;

8'h19:

sec_out<=8'h20;

8'h29:

sec_out<=8'h30;

8'h39:

sec_out<=8'h40;

8'h49:

sec_out<=8'h50;

8'h59:

sec_out<=8'h00;

default:

sec_out<=sec_out+8'b1;

endcase

End

case(sec_out)

8'h53:

sec_flag1<=1'b1;

8'h55:

sec_flag1<=1'b1;

8'h57:

sec_flag1<=1'b1;

default:

sec_flag1<=1'b0;

endcase

case(sec_out)

8'h59:

sec_flag2<=1'b1;

default:

sec_flag2<=1'b0;

Endcase

casez(sec_out)

8'h5z:

sec_carry<=1'b0;

default:

sec_carry<=1'b1;

endcase

end

endmodule

其各引脚定义如下:

引脚名

引脚类型

功能

clk_in

input

1Hz频率输入

clr

input

系统清零

sec_out

output

秒输出

sec_flag1

output

用于整点报时,在53,55,57秒时为高电平

sec_flag2

output

用于整点报时,在59秒时为高电平

sec_carry

output

进位标志,在5x秒时为低电平

表3.2

其仿真波形如下:

图3.1

b.分模块

Verilog程序如下:

modulemincount(clkin,clr,min_out,min_flag,min_carry);

inputclkin,clr;

output[7:

0]min_out;

outputmin_flag,min_carry;

reg[7:

0]

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

当前位置:首页 > 农林牧渔 > 林学

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

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