基于FPGA的数字时钟的设计1

合集下载

基于FPGA的数字钟设计

基于FPGA的数字钟设计

基于FPGA的数字钟设计摘要:现实生活中经常会出现需要用时间测定参数数值的情况,服务日常生活和生产。

基于FPGA设计数字电路产品已经成为当前的重要设计方法。

本文设计选用了Quartus软件环境,运用描述逻辑Verilog HDL,由上至下的模式,基于FPGA完成了数字时钟的设计方案。

本次设计成果采用按键对闹钟的起止点进行控制,能够显示时,分,秒等并且能够实现整点报时。

其中的FPGA技术就是本次试验的亮点之一,其设计易于学习,各个模块分工清晰,在模拟软件上很容易运行,还能够适配于许多种环境,因此总体的系统性能指标还是相当有保证的。

关键词:数字钟;FPGA;Verilog HDL;Quartus1.1 课题研究背景在现代社会,数据集成电路已广泛运用于日常日常生活的各行各业。

数据集成电路也在不停拆换。

从起初的整流管、电子管、大中小型集成电路发展趋势为具备特大型集成电路和独特作用的各类专用型集成电路。

可是,因为微电子技术科技进步的迅猛发展,集成电路设计方案和生产制造工作中再也不会由半导体生产商独立担负。

系统软件室内设计师更喜欢立即设计方案专用型集成电路(ASIC)处理芯片,并马上资金投入具体运用,因而发生了当场可编程逻辑机器设备(FPLD),在其中应用最普遍的是当场可编门阵列(FPGA)。

数字钟是一种选用数字电路设计技术性完成时、分、秒计时的装置,在完成数据与此同时表明时、分、秒的准确时间和精确校正时,体积小、重量轻、抗干扰能力强、对自然环境需要高、高精密、易于开发设计等与在办公系统系统软件等众多行业运用非常普遍的传统式表壳式机械手表对比,数字表更精确、形象化,因为沒有机械设备装置,使用期限长。

1.2 国内外研究现状近些年来已经有许多技术人员针对电子器件以及时钟等技术进行了研究,但真正意义上的数字钟表起源于50年代或60年代。

伴随着在我国数字钟表电源电路销售市场的迅速发展趋势,尤其是十二五阶段经济发展方法这一领土主权主旋律早已明确,与之有关的关键生产制造技术运用和产品研发将变成领域公司关心的焦点。

基于FPGA的24小时时钟

基于FPGA的24小时时钟

XXXXXX课程设计报告电子线路设计课程设计报告[24小时时钟电路设计]小组成员:XXXXXXXXXXXXXX 院(系):电气信息工程学院年级专业:20XX级电子信息工程指导老师:XX XX XX 联系电话:XXXXXXXXX二〇XX年XX月摘要本设计为24小时时钟设计,具有时、分、秒计数显示功能,以24小时循环计时的时钟电路;具有时、分校准以及清零的功能。

本设计采用EDA技术,以硬件描述语言VHDL为系统逻辑描述手段设计文件,在QUARTUSⅡ工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的数字钟。

系统由主控模块、分频模块、译码模块以及显示组成。

经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,本系统能够完成时、分、秒的分别显示,由按键输入进行数字钟的清零功能。

关键词时钟,QUARTUSⅡ,VHDL,FPGAAbstractThe design for the 24-hour clock design, with hours, minutes, seconds count display, a 24-hour cycle of the clock timing circuit; with hours, minutes, and cleared the calibration function.This design uses EDA technology to hardware description language VHDL description of the means for the system logic design documents, software tools in QUARTUSⅡenvironment, using top-down design approach, from the various modules together to build a basic FPGA-based digital clock.System by the control module, frequency module, decoding module and display components. The compilation and simulation of the design process, in the download validation of programmable logic devices, the system can complete the hours, minutes, seconds, respectively, indicated by the key input for clear digital clock function.Keywords clock,QUARTUSⅡ,VHDL,FPGA目录摘要 (Ⅰ)ABSTRACT (Ⅱ)1 绪论 (1)1.1 题目意义 (1)1.2 设计要求 (1)2 设计的基本原理 (2)2.1 设计原理 (2)2.2 设计流程 (3)3 设计方案 (4)3.1 设计思路 (4)3.2 模块图和功能 (4)3.2.1 分频模块 (4)3.2.2 主控模块 (5)3.2.3 译码模块 (8)3.2.4 顶层模块 (10)4 测试 (11)4.1 模块仿真 (11)4.1.1 分频模块 (12)4.1.2 主控模块 (13)4.1.3 译码模块 (14)4.2 顶层模块仿真 (15)5 结论 (16)6 参考文献 (17)1 绪论1.1 题目意义现在是一个知识爆炸的新时代。

基于FPGA的数字电子时钟设计与实现.

基于FPGA的数字电子时钟设计与实现.

课程设计 (论文说明书题目:基于 FPGA 的数字电子时钟设计院 (系 :信息与通信学院专学生姓名:学号:0900240115指导教师:职2012 年 12 月 25 日一、所用设备与器材1.1仪器设备使用仪器设备有 FPGA DE2-70开发板、 PC 机、信号发生器。

图 1 FPGA DE2-70开发板图二.系统方案2.1 设计思想利用数字电子技术、 EDA 设计方法、 FPGA 等技术,设计、仿真并实现一个基于 FPGA 的数字电子时钟基本功能, 其基本组成框图如图 1所示,振荡器采用ALTERA 的 DE2-70实验板的 50MHz 输出,分频器将 50MHz 的方波进行分频进而得到 1Hz 的标准秒脉冲,时、分、秒计时模块分别由二十四进制时计数器、六十进制分计数器和六十进制秒计数器完成,校时模块完成时和分的校正。

扩展功能设计为倒计时功能,从 59分 55秒至 59分 59秒,每秒亮一盏灯报时。

2.1.1课题背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高, 同时也使现代电子产品性能更进一步, 产品更新换代的节奏也越来越快。

20世纪 80年代末,出现了 FPGA(Field Progrommable Gate Array, CAE 和 CAD 技术的应用更为广泛,它们在 PCB 设计的原理图输入,自动布局布线及 PCB 分析, 以及逻辑设计,逻辑仿真布尔综合和化简等方面担任了重要的角色,为电子设计自动化必须解决的电路建模,标准文档及仿真测试奠定了基础。

硬件描述语言是 EDA 技术的重要组成部分, VHDL 是作为电子设计主流硬件的描述语言。

本论文就是应用 VHDL 语言来实现秒表的电路设计。

VHDL 语言是标准硬件描述语言,它的特点就是能形式化抽样表示电路结构及行为,支持逻辑设计中层次领域的描述,借用了高级语言的精巧结构简化电路描述,具有电路模拟与验证及保证设计的正确性,支持电路由高层向底层的综合变换,便于文档管理,易于理解和设计重用。

基于FPGA的数字电子钟的设计与实现

基于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。

基于fpga的倒计时时钟实验报告总结

基于fpga的倒计时时钟实验报告总结

基于FPGA的倒计时时钟实验报告总结一、实验目的本实验旨在通过FPGA技术,设计一个能够进行倒计时的时钟电路,并进行相应的功能验证。

二、实验内容1. 确定实验目标:设计一个基于FPGA的倒计时时钟电路,实现倒计时功能。

2. 学习FPGA设计工具:熟悉并掌握FPGA设计工具的使用方法,包括逻辑综合、时序分析等。

3. 编写时钟电路代码:利用Verilog硬件描述语言编写时钟电路的代码。

4. 进行仿真验证:对时钟电路进行仿真验证,确保设计的正确性和稳定性。

5. 下板实验验证:将设计好的时钟电路下载到FPGA开发板上,进行实际验证。

三、实验步骤与结果分析1. 设计倒计时时钟电路通过学习资料和实验指导,我们利用Verilog HDL进行倒计时时钟电路的设计,并对其功能进行初步测试。

初步测试结果表明,设计的倒计时时钟电路能够正常工作。

2. 时钟电路仿真验证我们利用FPGA设计工具对时钟电路进行了仿真验证,通过时序分析和波形仿真,确认了时钟电路的正确性和稳定性。

仿真结果显示,时钟电路能够准确地进行倒计时操作。

3. 下板实验验证将设计好的时钟电路下载到FPGA开发板上进行实际验证。

经过实际测试,我们发现倒计时时钟电路能够稳定可靠地进行倒计时操作,符合设计要求。

四、实验总结通过本次实验,我们深入学习了FPGA技朰,并成功设计并验证了基于FPGA的倒计时时钟电路。

实验中我们克服了一些困难,如时钟电路设计的复杂性和仿真验证的精确性等。

我们顺利完成了实验目标,掌握了FPGA设计工具的使用方法,提高了自己的实践能力和动手能力。

这次实验为我们今后在FPGA领域的研究打下了坚实的基础,也对我们的专业素养、工程实践能力提出了更高的要求。

五、改进建议在今后的实验中,我们可以进一步深入研究FPGA技术,探索更多的应用场景,提高我们的设计水平。

注重团队合作、创新思维,不断提升自己的综合素质和实践能力,为将来的科研工作和工程实践打下更加坚实的基础。

基于FPGA的数字钟课程设计

基于FPGA的数字钟课程设计

集成电路设计课程设计报告专业班级学号姓名基于FPGA的数字钟课程设计1.任务和设计要求设计具有时、分、秒计数显示,以24小时循环计时的时钟电路,带有清零和校准功能;2.设计原理采用硬件描述语言Verilog 进行编程,实现20MHZ晶振到1HZ的分频;采用verilog 语言实现数字表功能实现的各个模块;通过各个模块的代码生成相应的模块原理图;再将各个模块生成的原理图进行叠加组成一个数字表系统;3.系统设计设计的数字表有6个输入,16个输出;6个输入中,有一个是时钟信号,开发板上的28号引脚输入的50MHZ的时钟信号;一个清零端,当数字表正常显示时,按下清零端可以实现数字钟整体电路图:4.各个模块设计基于EP1C6Q240C8的数字钟设计,有6个模块组成:Fdiv 分频模块Control 模式选择模块Tune 校正模块Zoushi 时间正常运行模块Saomiao 数码管动态扫描模块;Decoder BCD译码模块;Fdiv 模块:功能:实现20MHZ的时钟信号分成10KHZ的信号和1HZ的信号;输入:clk 为20MHZ的时钟信号;输出:f10000HZ 为10KH的时钟信号;F1HZ 为1HZ的时钟信号;Fdiv 模块代码:module fdiv(clk,f10000Hz,f1Hz);output f10000Hz,f1Hz;input clk;reg f10000Hz,f1Hz;integer CNT1=0,CNT2=0;always@(posedge clk)beginif(CNT1<1999)beginCNT1=CNT1+1;f10000Hz<=1'b0;endelsebeginCNT1=0;f10000Hz<=1'b1;endendalways@(posedge f10000Hz)beginif(CNT2<9999)beginCNT2=CNT2+1;f1Hz<=1'b0;endelsebeginCNT2=0;f1Hz<=1'b1;endendendmodulefdiv 模块波形仿真:由于实际的分频波形仿真中,由于要将20MHZ的分成1HZ的,需要将信号缩小20 000 000倍,因此,此处采用将20HZ的先分成10HZ,然后再将10HZ的分成1HZ的时钟信号;在仿真中这样整,在实际演示中再改下代码,实现真正的20MHZ到1HZ的分频;它们只是一个倍数关系而已;Control 模块:功能:实现电子表的正常显示及时间校正模式的转换;输入:key 模式修改键,每来一个高电平,mode加一次。

《可编程逻辑器件及应用》课程设计--基于FPGA的多功能数字时钟

《可编程逻辑器件及应用》课程设计--基于FPGA的多功能数字时钟

摘要本课程设计给出了一种基于FPGA的多功能数字时钟方法,采用EDA作为开发工具,VHDL语言和图形输入为硬件描述语言,Quartus II 9.0作为运行程序的平台,编写的程序经过调试运行,波形仿真验证,下载到EDA实验箱的FPGA 芯片,实现了设计目该系统主要由分频模块、控制模块、计时模块、显示模块组成。

经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,能够在数码管上完成年、月、日和时、分、秒的分别显示,由按键输入进行数字时钟的校时、清零、暂停功能。

关键词:EDA技术;FPGA;数码管AbstractThe course design gives a FPGA-based multifunctional digital clock using EDA as a development tool, VHDL language and graphical input hardware description language, the Quartus II 9.0 as a platform for running the program, written procedures debugging and running, the waveform simulation downloaded to the FPGA chip to achieve the design goals.The design for a multi-functional digital clock, with a year, month, day, hours, minutes and seconds count display to a 24-hour cycle count, with the pause time, clear function and the hours and minutes setting function.The main system is made up of frequency module, control module, time module, display module. After compiling the design and simulation procedures, the programmable logic device to download verification, the system can complete the year, month, day and the hours, minutes and seconds respectively, using keys to modify, clear , start and stop the digital clock.Key words:EDA technology;FPGA; digital clock; VHDL language; digital tube目录1 绪论................................................................................................................................... .. (1)1.1 课程背景 (1)1.2 设计目的 (1)2 总体设计流程说明 (2)2.1数字时钟的工作原理 (2)3 单元模块设计流程 (5)3.1 分频模块 (5)3.2 计数模块 (5)3.3 控制模块 (7)4 系统调试说明及分析 (10)5 总结 (11)6 附录 (12)1绪论1.1课程背景如今电子产品正向功能多元化,体积最小化,功耗最低化的方向发展。

基于FPGA的数字时钟的设计1.(精选)

基于FPGA的数字时钟的设计1.(精选)

基于FPGA的数字时钟的设计课题:基于FPGA的数字时钟的设计学院:电气信息工程学院专业:测量控制与仪器班级: 08测控(2)班**:***学号: ********合作者姓名:颜志林2010 年12 月12 日综述近年来随着数字技术的迅速发展,各种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。

这就迫切要求理工科大学生熟悉和掌握常用中、大规模集成电路功能及其在实际中的应用方法,除通过实验教学培养数字电路的基本实验方法、分析问题和故障检查方法以及双踪示波器等常用仪器使用方法等基本电路的基本实验技能外,还必须培养大学生工程设计和组织实验能力。

本次课程设计的目的在于培养学生对基本电路的应用和掌握,使学生在实验原理的指导下,初步具备基本电路的分析和设计能力,并掌握其应用方法;自行拟定实验步骤,检查和排除故障、分析和处理实验结果及撰写实验报告的能力。

综合实验的设计目的是培养学生初步掌握小型数字系统的设计能力,包括选择设计方案,进行电路设计、安装、调试等环节,运用所学知识进行工程设计、提高实验技能的实践。

数字电子钟是一种计时装置,它具有时、分、秒计时功能和显示时间功能;具有整点报时功能。

本次设计我查阅了大量的文献资料,学到了很多关于数字电路方面的知识,并且更加巩固和掌握了课堂上所学的课本知识,使自己对数字电子技术有了更进一步的认识和了解。

1、课题要求1.1课程设计的性质与任务本课程是电子与信息类专业的专业的专业基础必修课——“数字电路”的配套实验课程。

目的在于培养学生的理论联系实际,分析和解决问题的能力。

通过本课程设计,使学生在理论设计、计算机仿真、指标调测、故障排除等方面得到进一步的训练,加强学生的实践能力。

学生通过设计、仿真、调试、撰写设计报告等过程,培养学生的动手能力和严谨的工作作风。

1.2课程设计的基本技术要求1)根据课题要求,复习巩固数字电路有关专业基础知识;2)掌握数字电路的设计方法,特别是熟悉模块化的设计思想;3) 掌握QUARTUS-2软件的使用方法;4) 熟练掌握EDA工具的使用,特别是原理图输入,波形仿真,能对仿真波形进行分析;5) 具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法;6) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法;7) 能根据设计要求对设计电路进行仿真和测试;8) 掌握将所设计软件下载到FPGA芯片的下载步骤等等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于FPGA的数字时钟的设计课题: 基于FPGA的数字时钟的设计学院: 电气信息工程学院专业: 测量控制与仪器班级 : 08测控(2)班** : ***学号 : ********合作者姓名: 颜志林2010 年12 月12 日综述近年来随着数字技术的迅速发展,各种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。

这就迫切要求理工科大学生熟悉与掌握常用中、大规模集成电路功能及其在实际中的应用方法,除通过实验教学培养数字电路的基本实验方法、分析问题与故障检查方法以及双踪示波器等常用仪器使用方法等基本电路的基本实验技能外,还必须培养大学生工程设计与组织实验能力。

本次课程设计的目的在于培养学生对基本电路的应用与掌握,使学生在实验原理的指导下,初步具备基本电路的分析与设计能力,并掌握其应用方法;自行拟定实验步骤,检查与排除故障、分析与处理实验结果及撰写实验报告的能力。

综合实验的设计目的就是培养学生初步掌握小型数字系统的设计能力,包括选择设计方案,进行电路设计、安装、调试等环节,运用所学知识进行工程设计、提高实验技能的实践。

数字电子钟就是一种计时装置,它具有时、分、秒计时功能与显示时间功能;具有整点报时功能。

本次设计我查阅了大量的文献资料,学到了很多关于数字电路方面的知识,并且更加巩固与掌握了课堂上所学的课本知识,使自己对数字电子技术有了更进一步的认识与了解。

1、课题要求1、1课程设计的性质与任务本课程就是电子与信息类专业的专业的专业基础必修课——“数字电路”的配套实验课程。

目的在于培养学生的理论联系实际,分析与解决问题的能力。

通过本课程设计,使学生在理论设计、计算机仿真、指标调测、故障排除等方面得到进一步的训练,加强学生的实践能力。

学生通过设计、仿真、调试、撰写设计报告等过程,培养学生的动手能力与严谨的工作作风。

1、2课程设计的基本技术要求1)根据课题要求,复习巩固数字电路有关专业基础知识;2)掌握数字电路的设计方法,特别就是熟悉模块化的设计思想;3) 掌握QUARTUS-2软件的使用方法;4) 熟练掌握EDA工具的使用,特别就是原理图输入,波形仿真,能对仿真波形进行分析;5) 具备EDA技术基础,能够熟练使用VHDL语言进行编程,掌握层次化设计方法;6) 掌握多功能数字钟的工作原理,学会不同进制计数器及时钟控制电路的设计方法;7) 能根据设计要求对设计电路进行仿真与测试;8) 掌握将所设计软件下载到FPGA芯片的下载步骤等等。

9) 将硬件与软件连接起来,调试电路的功能。

1、3课程设计的功能要求基本功能:能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时,60分钟,60秒钟的计数器显示。

附加功能:1)能利用硬件部分按键实现“校时”“校分”“清零”功能;2)能利用蜂鸣器做整点报时:当计时到达59’59’’时开始报时,鸣叫时间1秒钟;3)定时闹铃:本设计中设置的就是在七点时进行闹钟功能,鸣叫过程中,能够进行中断闹铃工作。

本人工作:负责软件的编程与波形的仿真分析。

2、方案设计与分析1、1设计方案1、时钟功能,具有显示时、分、秒的功能;2、具有整点报时功能,在整点时使用蜂鸣器进行报时,具有闹钟功能,鸣叫过程中,具有中断闹铃功能。

1、2设计要点数字钟一般就是由振荡器、分频器、计数器、译码器、显示器等几部分组成。

这些都就是数字电路中应用最广泛的基本电路,本设计分模块设计实现各部分功能,采用软件编程控制FPGA芯片内部产生振动周期为1s的脉冲。

并将信号送入计数器进行计算,并把累加的结果以“时”、“分”、“秒”的数字显示出来。

“秒”的显示由两级计数器与译码器组成的六十进制计数电路实现;“分”的显示电路“秒”相同,“时”的显示由两级计数器与译码器组成的二十四进制电路来实现。

所有计时结果由六位数码管显示。

1、3工作原理数字电子钟由振荡器、分频器计数器、译码显示、报时等电路组成。

振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。

秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“24翻1”规律计数。

计满后各计数器清零,重新计数。

计数器的输出分别经译码器送数码管显示,计时出现误差时,可以用校时电路“校时”“校分”“清零”。

秒脉冲可以通过分频电路得到。

通过报时设计模块可以实现整点报时及定时闹铃,译码显示由七段译码器完成,显示由数码管构成,采用的就是动态显示方式。

数码管动态显示:动态扫描电路将计数器输出的8421BGD码转换为数码管需要的逻辑状态,并且输出数码管的片选信号与为选信号。

所谓动态扫描显示方式就是在显示某一位LED 显示块的数据的时候,让其它位不显示,然后再显示下一位的数据。

只要保证每一位显示的时间间隔不要太大,利用人眼的视觉暂留的现象,就可以造成各位数据同时显示的假象。

一般每一位的显示时间为1~10ms。

3、单元电路的设计,仿真与分析(1)分频模块(fenpin)1)程序:library ieee;use ieee、std_logic_1164、all;entity fenpin isport(clk6:in std_logic;q1000,q5,q1:out std_logic);end fenpin;architecture ccc_arc of fenpin issignal x:std_logic;beginprocess(clk6)variable cnt:integer range 0 to 24999; beginif clk6'event and clk6='1' thenif cnt<24999 thencnt:=cnt+1;elsecnt:=0;x<=not x;end if;end if;end process;q1000<=x;process(x)variable cnt2:integer range 0 to 999; variable y:std_logic;beginif x'event and x='1' thenif cnt2<999 thencnt2:=cnt2+1;q1<='0';elsecnt2:=0;q1<='1';end if;end if;if x'event and x='1' theny:=not y;end if;q5<=y;end process;end ccc_arc;2)仿真波形:3)仿真结果分析:产生用于计时,扫描输入,扫描显示,以及蜂鸣器所需的各个频率的信号。

(2)秒模块(second)1)程序:library ieee;use ieee、std_logic_1164、all;use ieee、std_logic_unsigned、all;entity second isport (clk1,en1:in std_logic;qa:out std_logic_vector(3 downto 0);co1:out std_logic;qb:out std_logic_vector(3 downto 0));end second;architecture cc of second issignal cout2,cout1:std_logic_vector(3 downto 0);signal mm: std_logic;beginprocess(clk1,en1)beginif en1='1' thencout2<="0000";cout1<="0000";elsif (clk1'event and clk1='1')thenif (cout2=1 and cout1=8) then cout2<=cout2;cout1<=cout1+1;mm<='1'; elsif (cout2=1 and cout1=9) then cout2<="0000";cout1<="0000";mm<='0'; else if (cout1=9) then cout2<=cout2+1;cout1<="0000";mm<='0';else cout2<=cout2;cout1<=cout1+1;mm<='0';end if;end if;end if;end process;co1<=mm;qa<=cout2;qb<=cout1;end cc;2)仿真波形:3)仿真结果分析:该模块实际就是一个六十进制计数器,而六十秒为一分钟,故用此模块可以作为秒部分设计,通过观察可知,仿真波形就是正确可行的。

(3)分模块(minute)1)程序:library ieee;use ieee、std_logic_1164、all;use ieee、std_logic_unsigned、all;entity minute isport (clk2,en2:in std_logic;qc:out std_logic_vector(3 downto 0);co2:out std_logic;qd:out std_logic_vector(3 downto 0));end minute;architecture bb of minute issignal cout2,cout1:std_logic_vector(3 downto 0);signal cc:std_logic;beginprocess(clk2,en2)beginif en2='1' thenif (clk2'event and clk2='1')thenif (cout2=1 and cout1=8) then cout2<=cout2;cout1<=cout1+1;cc<='1'; elsif (cout2=1 and cout1=9) then cout2<="0000";cout1<="0000";cc<='0'; else if (cout1=9) then cout2<=cout2+1;cout1<="0000";cc<='0';else cout2<=cout2;cout1<=cout1+1;cc<='0';end if;end if;end if;end if;end process;co2<=cc;qc<=cout2;qd<=cout1;end bb2)仿真波形:3)仿真结果分析:此模块实际也就是一个六十进制的计数器模块,六十分钟即为一个小时,用此模块就成功解决了分设计模块这个难题。

相关文档
最新文档