数字电路与逻辑设计实验报告,基于FPGA的数字电子钟的设计与实现
用fpga简易数字钟电路设计实验报告 概述及解释说明

用fpga简易数字钟电路设计实验报告概述及解释说明1. 引言1.1 概述本实验报告旨在介绍使用FPGA(可编程门阵列)设计的简易数字钟电路。
数字钟是一种可以显示时间的时钟装置,广泛应用于日常生活和工业领域。
本文将详细讲解数字钟的设计原理、硬件要求、设计步骤以及实验的实现过程。
1.2 文章结构本文共分为五个部分,即引言、FPGA简易数字钟电路设计、实验实现过程、实验结果分析和结论与总结。
下面将对每个部分进行具体说明。
1.3 目的该实验旨在通过学习和操作FPGA,深入理解数字电路设计的基本原理和方法,并通过设计一个简易的数字钟电路来巩固所学知识。
通过本实验,我们还将探索数字钟电路的性能评估和可能的改进方向,并对未来发展方向进行展望。
同时,通过参与这个项目,我们也将获得一定的实践经验和技能提升。
2. FPGA简易数字钟电路设计:2.1 设计原理:在本次实验中,我们使用FPGA(现场可编程逻辑门阵列)来设计一个简易的数字钟电路。
FPGA是一种集成电路芯片,可依据用户需要重新配置其内部互连,从而实现不同的逻辑功能。
我们将利用FPGA的可编程性和强大的计算能力来实现数字钟的功能。
该数字钟电路主要由时钟模块、倒计时模块和显示模块组成。
时钟模块负责产生稳定而精确的脉冲信号作为系统的时基;倒计时模块通过对输入时间进行倒计时操作,并发出相应信号提示时间变化;显示模块用于将倒计时结果以数码管显示出来。
2.2 硬件要求:为了完成该设计,我们需要准备以下硬件设备:- FPGA开发板:提供了外部接口和资源,用于连接其他硬件设备并加载程序。
- 数码管:用于显示时间信息。
- 时钟源:提供稳定而精确的脉冲信号作为系统的时基。
2.3 设计步骤:以下是设计步骤的详细说明:1. 确定所需功能:首先明确数字钟需要具备哪些功能,例如12小时制还是24小时制、倒计时功能等。
2. 确定FPGA型号:根据设计需求和资源限制,选择适合的FPGA型号。
数电实训报告电子时钟

一、实训目的本次数电实训旨在通过实际操作,加深对数字电子技术理论知识的理解,掌握数字电路的设计与制作方法,提高动手能力和故障排除能力。
通过设计并制作一个具有时、分、秒显示功能的电子时钟,熟悉数字电路中的计数器、译码器、显示器等基本模块,并学会运用这些模块完成一个完整的电子系统设计。
二、实训内容1. 电子时钟设计(1)设计要求设计一个具有时、分、秒显示功能的电子时钟,要求:1)采用CMOS集成电路设计,保证电路的稳定性;2)时钟显示采用7段数码管,可同时显示时、分、秒;3)时钟源采用石英晶体振荡器,确保时钟的准确性;4)具有时钟校准功能,可调整时、分、秒的显示值;5)具有时钟复位功能,可恢复时钟到初始状态。
(2)设计原理电子时钟主要由以下模块组成:1)时钟源:采用石英晶体振荡器产生标准时钟信号;2)分频器:将标准时钟信号分频,得到1Hz的秒脉冲信号;3)计数器:对秒脉冲信号进行计数,得到秒、分、时的计数值;4)译码器:将计数值转换为对应的7段数码管显示编码;5)显示器:采用7段数码管显示时、分、秒的计数值;6)校时电路:实现时钟校准功能;7)复位电路:实现时钟复位功能。
(3)电路设计1)时钟源:选用NE555定时器构成石英晶体振荡器,产生标准时钟信号;2)分频器:选用CD4060计数器进行分频,得到1Hz的秒脉冲信号;3)计数器:选用CD4518BCD计数器,分别实现秒、分、时的计数;4)译码器:选用CD4511BCD至7段数码管译码器,将计数值转换为7段数码管显示编码;5)显示器:采用7段数码管,分别显示时、分、秒的计数值;6)校时电路:采用按钮开关实现时钟校准功能;7)复位电路:采用按钮开关实现时钟复位功能。
2. 电子时钟制作(1)元器件准备根据电路设计,准备以下元器件:1)NE555定时器1个;2)CD4060计数器1个;3)CD4518BCD计数器3个;4)CD4511BCD至7段数码管译码器3个;5)7段数码管3个;6)石英晶体振荡器1个;7)电阻、电容、二极管、导线等。
基于FPGA的多功能数字钟设计报告

***大学电工电子实验报告EDA技术基础设计报告多功能数字钟设计电子信息科学与技术年 月 日多功能数字钟设计一.任务解析用Verilog硬件描述语言设计数字钟,实现:1、具有时、分、秒计数显示功能,以二十四小时循环计时。
2、具有调节小时,分钟的功能。
3、具有整点报时同时LED灯花样显示的功能。
4、【发挥】三键(模式选择,加,减)调整,数码管闪烁指示功能。
5、【发挥】增加闹钟任意设定功能,时间精确到分。
二.方案论证第2页,共19页三.重难点解析1、模式选择键的设计//模式选择键。
有5个模式,m0为正常走钟;m1为调分;m2为调时;m3为闹钟调分;m4为闹钟调时。
module mode_key(key,clr,m);input key,clr;output [2:0]m;reg [2:0]m;always @(posedge key or negedge clr) beginif(!clr) m=0;else if(m==4) m=0;else m=m+1;endendmodule2、数字钟秒钟计数设计module cnt60_sec(clk,clr,q,c);input clk,clr;output [6:0]q;output c;reg [6:0]q;reg c;always @(posedge clk or negedge clr) beginif(!clr) begin q=0;c=0;endelse if(q[3:0]==9) begin q[3:0]=0;if(q[6:4]==5) begin q[6:4]=0; c=1;endelse q[6:4]=q[6:4]+1;end第3页,共19页else begin q[3:0]=q[3:0]+1;q[6:4]=q[6:4];c=0;endendendmodule、秒钟计数模块就是一个60的计数器,计数到59的时候清零,进位加1。
调时不需要控制秒钟,所以没有加模式选择按键。
数字电路与逻辑设计实验报告,基于FPGA的数字电子钟的设计与实现

学生实验实习报告册学年学期:课程名称:实验项目:基于FPGA的数字电子钟的设计与实现姓名:学院和专业:班级:指导教师:重庆邮电大学教务处制1.系统顶层模块设计(如:图一 0)图一02.主要功能模块电路设计2.1分频模块这是分频模块的顶层设计图主要完成了把50MHz的时钟信号降频为1KHz、500Hz、1Hz 图一 1图一 1这是其中100分频计数器的计数器图一 2图一 22.2计时模块分、秒计时模块(实现模60计数)图二 1 这是两个模60计数器,图二 1其中是连在一起的,把秒钟的进位信号接到分钟计数模块的接收端2.2.1小时计时模块(实现模24计数图二 2)这是模24计数器(如图:图二 2),是用74390来实现,47390 是下降沿有效图二 22.3数码管动态显示模块这是动态显示模块的顶层设计图,如图:图二 3图二 32.3.1扫描模块couner6(实现6位数码管的扫描图二 4)该模块需使用74390设计一个模6的计数器。
实现了模值为6的计数功能其中应该接好 global 用作延时图二 4位选模块dig_select(3-8译码器用作控制哪一个数码显示器亮) 图二 5 该模块用于选择 6位数码管中的某一位显示相应字形。
74138为图二 52.3.2段选模块seg_select 图二 6该模块功能是从6组4bit信号中选择一组作输出。
图二 62.3.3译码模块decoder(实现了把8421码,译码成数码管的显示)图二 7图二 72.4整点报时设计思路:首先要做到在整点的时候报时(也就是说再整点的时候蜂鸣器响),那么我们就观察在整点的时候电路有什么特征。
我们观察到的特征就是:在整点的时候秒钟,分钟都是为零的,也就是说在正点的时候分钟秒钟的二进制数每位都是为零的,那么这就是我们控制蜂鸣器响的条件了。
那就是把秒钟分钟的每个线或非一下就好了。
但是我们要实现蜂鸣器响几秒,那么就再秒钟的低两位上就不接,就实现了响四秒。
基于FPGA的数字电子钟的设计与实现

基于FPGA的数字电⼦钟的设计与实现背景:本实验所有结果基于Quartus II 13.1 (64-bit)实现,实验过程采⽤⾃下⽽上⽬录⼀、基本功能设计与思路基本功能:能实现秒、分钟、⼩时的计数,计数结果清晰稳定的显⽰在 6 位数码管上。
1、动态显⽰模块该模块主要功能是通过数码管的动态扫描实现 6 位数码管显⽰计数结果,本模块由扫描模块scan_cnt6,位选控制模块 dig_select,数据选择控制模块 seg_select 以及译码模块 decoder 构成扫描模块 scan_cnt6模块功能:产⽣ 位选控制端dig_select 和数据选择端 code_select 模块所需要的地址信息,扫描时钟决定位选信号和数据切换的速度。
设计思路:利⽤74390芯⽚(P160 TTL 双⼗进制异步计数器)构建⼀个模六计数器,就是6进制计数器,利⽤计数到6(110)时,“q2”和“q1”为⾼电平,产⽣ ⼀个复位信号,加到74390的⾼电平有效的异步清0端“1CLR”上,使计数器回0,从⽽实现模六计数。
设计结果:cnt6模块设计图波形仿真:(默认为时序仿真)cnt6模块波形仿真图位选模块 dig_select模块功能:在地址端的控制下,产⽣位选信号。
设计思路:利⽤74138芯⽚(3线-8线译码器),当选通端输⼊端G1为⾼电平,选通端输⼊端G2AN和G2BN为低电平时,将扫描信号cnt6的输出作为输⼊信号,dig[5..0]是译码输出,输出低电平有效。
设计结果:dig_select模块设计图波形仿真:dig_select模块波形仿真图数据选择模块 seg_select模块功能:输⼊ 6 组数据,每组数据 4bit,本模块完成在地址端的控制下从6 组数据当中选择 1 组输出。
设计思路:利⽤74151芯⽚(P91 8选1数据选择器),在控制输⼊端GN为低电平时,将扫描信号的选择下,分别选中D[5..0]对应的输⼊信号输出为Y。
数字逻辑实验报告(数字时钟设计)

数字逻辑实验报告实验三、综合实验电路一、实验目的:通过一个综合性实验项目的设计与实现,进一步加深理论教学与实验软硬件平台的实践训练,为设计性实验做好充分准备。
二、实验原理:根据要求的简单设计性的电路设计实验,应用基本器件与MSI按照电路设计步骤搭建出初级电路;设计型、综合型的较复杂实验电路三、实验设备与器件:主机与实验箱四、实验内容:(1)实验任务:根据所学习的器件,按照电路开发步骤搭建一个时钟,要求实现的基本功能有计时功能、校对时间功能、整点报时、秒表等功能。
(2)实验任务分析:完成该数字时钟,采用同步时序电路,对于计时的的功能,由于时间的秒分时的进位分别是60、60、24,所以可以应用74LS163计数器分别设计2个模60计数器以及一个模24计数器,那么需要有7个秒输出,7个分输出,6个小时的输出;对于校对时间的功能,由74LS163的特性可知,当该器件处于工作状态时,每来一个CLK脉冲,计数值加1,所以可以手动控制给CLK脉冲,来进行时间的校对;对于整点报时功能,可以采用一个比较电路,当时间的分秒数值全部为零时,那么此时可以接通报时装置,可以在电路中设置报时的的时间;对于秒表功能,有两种方案,可以单独重新设计一个秒表装置,采用模100计数器以及两个模60计数器,可以进行优化,使用原先的两个模60计数器,这样可以简化电路,是电路简洁。
(3)实验设计流程:(4)输入输出表:(5)各个功能模块的实现:A、计时功能模块的实现(电路图及说明)秒表部分及说明说明:该部分是实现功能正常计时中的秒部分的计时工作。
如图所示,图中采用两个74LS163来做一个模60计时器,计数的起止范围是0~59,(第一个74LS163采用模10计数,起止为0~9,第二个74LS163的计数起止范围是0~5),两个器件采用级联方式,用预置位方法实现跳转;该部分有7个秒输出,接到BCD译码显示器。
注解:第一个163器件:LDN端统一接到清零端ABCD端接地ENP端接到VCC高电平ENT接高电平VCC第二个163器件:LDN端统一接到清零端ABCD端接地ENP端接到VCC高电平ENT接高电平第一个163的预置位段分钟部分以及说明:说明:该部分是实现功能正常计时中的分部分的计时工作。
数字电路时钟实训报告(一)

数字电路时钟实训报告(一)数字电路时钟实训报告1. 概述•本报告旨在介绍数字电路时钟实训的相关内容,包括实训目的、实训过程和实训结果。
2. 实训目的•熟悉数字电路时钟的基本原理和设计思路•掌握数字电路时钟的硬件组成和功能模块•实践运用数字电路知识,完成时钟的设计和制作3. 实训过程1.准备材料–数字电路实验箱–电源线、信号线等连接器–电路元件:集成电路、电容器、电阻等–示波器、万用表等测试仪器2.设计方案–根据时钟的要求和功能需求,设计数字电路时钟的电路图–确定所需的集成电路和其他电路元件3.电路搭建–使用实验箱和连接器搭建数字电路时钟的电路–按照电路图连接电路元件和集成电路4.测试和调试–使用示波器、万用表等测试仪器对电路进行测试–检查电路是否按照设计要求工作5.验证功能–测试时钟的各项功能是否正常工作–验证时钟在不同时间段的准确性和稳定性4. 实训结果•完成数字电路时钟的设计和制作•时钟的各项功能正常工作•时钟在不同时间段具有准确性和稳定性5. 总结•通过本次数字电路时钟的实训,我深入了解了数字电路时钟的工作原理和设计流程。
通过实践操作,我掌握了数字电路时钟的搭建和调试方法,提高了数字电路设计能力。
这次实训对我的专业技能和实践能力的提升具有重要意义。
以上是本次数字电路时钟实训的报告内容。
实训过程中,我认真完成了任务,获得了实践经验,并与同学们共同交流和学习,提高了团队合作能力。
希望今后能继续深入学习和应用数字电路知识,为未来的科研和工作打下坚实的基础。
6. 遇到的问题和解决方法•在实训过程中,我遇到了几个问题:1.电路搭建困难:由于电路图复杂,部分连接容易混淆和出错。
解决方法是多次仔细核对电路图,注意连接的正确性,并请教老师和同学的帮助。
2.电路测试困难:有时测试仪器的操作和数据读取不够准确,导致测试结果不确定。
解决方法是认真阅读仪器的使用说明书,熟悉操作步骤,并与同学们共同研究和解决问题。
《FPGA设计与应用》数字时钟实验

《FPGA设计与应用》数字时钟实验一、实验目的和要求
1.学习动态数码管的工作原理;
2.实现 FPGA 对四位动态数码管的控制;
3.熟悉模块化编程的操作流程。
二、实验内容
1.实现 FPGA 对四位动态数码管的控制,使其能够正常工作;2.基于eGo-1的数字钟设计与实现
三、实验要求
1、能够在实验板上实现数字时钟
四、操作方法与实验步骤
本实验的设计思路如下:
各模块实现方式:
分频
计数器
Hex2BCD
数码管动态显示
五、实验数据记录和处理实验代码如下:
设计文件:(部分)
仿真文件(部分):
约束文件(部分):
六、实验结果与分析
综合后生成的网表结构如下图所示:
仿真图像:
实物操作:
经过如上图代码的运行,实验要求的功能已基本实现,得出的实验结果与预期基本一致。
七、讨论和心得
这次实验用到了之前学习的动态数码管工作原理,将动态数码管与时钟相结合,对于每一位数码管来说,每隔一段时间点亮一次。
显示器的亮度通过导通电流,点亮时间和间隔时间的控制。
通过调整电流和时间参数,可以既保证亮度,又保证显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生实验实习报告册
学年学期:
课程名称:
实验项目:基于FPGA的数字电子钟的设计与实现
姓名:
学院和专业:
班级:
指导教师:
重庆邮电大学教务处制
1.系统顶层模块设计(如:图一0)
图一0
2.主要功能模块电路设计
2.1分频模块
这是分频模块的顶层设计图主要完成了把50MHz的时钟信号降频为1KHz、500Hz、1Hz 图一1
图一1
这是其中100分频计数器的计数器图一 2
图一2
2.2计时模块
分、秒计时模块(实现模60计数)图二 1 这是两个模60计数器,
图二1
其中是连在一起的,把秒钟的进位信号接到分钟计数模块的接收端
2.2.1小时计时模块(实现模24计数图二2)
这是模24计数器(如图:图二2),是用74390来实现,47390 是下降沿有效
图二2
2.3数码管动态显示模块
这是动态显示模块的顶层设计图,如图:图二3
图二3
2.3.1扫描模块couner6(实现6位数码管的扫描图二4)
该模块需使用74390设计一个模6的计数器。
实现了模值为6的计数功能其中应该接好global 用作延时
图二4
位选模块dig_select(3-8译码器用作控制哪一个数码显示器亮) 图二 5
该模块用于选择6位数码管中的某一位显示相应字形。
74138为
图二5
2.3.2段选模块seg_select 图二6
该模块功能是从6组4bit信号中选择一组作输出。
图二6
2.3.3译码模块decoder(实现了把8421码,译码成数码管的显示)图二7
图二7
2.4整点报时
设计思路:首先要做到在整点的时候报时(也就是说再整点的时候蜂鸣器响),那么我们就观察在整点的时候电路有什么特征。
我们观察到的特征就是:在整点的时候秒钟,分钟都是为零的,也就是说在正点的时候分钟秒钟的二进制数每位都是为零的,那么这就是我们控制蜂鸣器响的条件了。
那就是把秒钟分钟的每个线或非一下就好了。
但是我们要实现蜂鸣器响几秒,那么就再秒钟的低两位上就不接,就实现了响四秒。
图三1
2.5调时功能
在设计调时间功能的时候,首先就想到我们直接在计数器的cp信号上接上一个开关然后手动给cp然后计数器增加,但是我们在不用调时的时候就是正常的时钟,那么我们就用一个二选一数选器来实现选择计数器的cp信号的来自我们手动给还是来自上一个计数器的进位信号。
同时在我们挑时间的时候时钟是暂停了,实现暂停就是我们用一个与门加上一个选着
端,选择端是1
时1Hz的时钟
信号就通,否
则就断开。
2.6秒表
秒钟的思路就
来自于我们的
普通时钟只是
我们用的是
100Hz时钟信
号。
然后我们
是用100模60
模60模的计数
器。
秒表是要清零
的那么我们就
用74390的复
位端,其中我
们要用一个或
门在选着我们
图四1
的手动清零端
和计数器的自
动清零端。
图四 1
秒表的暂停和开始功能就是用一个与门接通和断开最开始的100Hz时钟信号。
2.7消抖电路
图五2 3.各模块的测试方案及测试结果
3.1计时模块
3.1.1分、秒计时模块(实现模60计数)
测试方案:用quartus II软件仿真模60计数结果。
测试结果:图六1为模60仿真结果。
图六1 3.1.2小时计时模块(实现模24计数)
测试方案:用quartus II软件仿真模24计数结果。
测试结果:图六2 为模24仿真结果。
图六2
3.1.3秒表最低位(实现模100计数)
测试方案:用quartus II软件仿真模100计数结果。
测试结果:图六3 为模24仿真结果。
图六3 3.2数码管动态显示模块
3.2.1扫描模块counter6
测试方案:用quartus II软件仿真模6计数结果。
测试结果:图六4 为模6仿真结果。
图六 4
,没有加缓冲器导致波形有错
3.2.2位选模块dig_select(实现数码管的选择)
测试方案:用quartus II软件仿真模6计数结果。
测试结果:图六5 为模6仿真结果。
图六5
图六6
3.3系统总体测试
表1 系统总体测试结果记录表
4.1在消抖动电路中,最开始做的电路没有达到消去抖动的目的,后来用仿真波形测试,发现
只要增加D触发器的个数就好了。
4.2校时电路的时候我是用的与门来选择是接通开关还是上一个计数器的进位信号的时候发现
要是我们我们的进位信号是维持在低电平,会阻断我们按键线路连接到计数器的clk端,后
来选用二选一数选器来选择这两个cp时钟信号就行了。
5.心得体会
5.1在这个学期的数字电路学习中收获颇多,特别是在数字电路的实验课中真的是学到了有用
的知识,使得同学们更加的了解了电路的特性,使得我们在以后的学习和工作中都学到了有用的理论和动手的能力。
老师对我们是真的好,不仅教授我们有用的电路知识,更是提高了,同学们的实际动手能力。
这在我们以后的工作中打下了坚实的基础。
6.“数字电路与逻辑设计实验A”实验报告评阅表。