当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:采用FPGA进行的数字电路设计具有更大的灵活性和通用性,已成为目前数字电路设计的主流方法之一。本文给出一种基于FPGA的数字钟设计方案。该方案采用VHDL设计底层模块,采用电路原理图设计顶层系统。整个系统在

摘要:采用FPGA进行的数字电路设计具有更大的灵活性和通用性,已成为目前数字电路设计的主流方法之一。本文给出一种基于FPGA的数字钟设计方案。该方案采用VHDL设计底层模块,采用电路原理图设计顶层系统。整个系统在QuartusⅡ开发平台上完成设计、编译和仿真,并在FPGA硬件实验箱上进行测试。测试结果表明该设计方案切实可行。

EDA(Electronic Design Automation)又名电子设计自动化,其基本特征是:以超大规模可编程逻辑器件,如FPGA,为设计载体,以硬件描述语言,如VHDL,为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,完成电子系统的设计。使用EDA进行电子系统设计具有以下特点:1)用软件方式设计硬件;2)用软件方式设计的系统到硬件系统的转换是由有关开发软件自动完成的;3)设计过程中可用有关软件进行各种仿真;4)系统可现场编程,在线升级;5)整个系统可集成在一个芯片上,体积小、功耗低、可靠性高;6)设计的移植性好、效率高;7)适合分工设计、团队协作。因此,EDA技术是现代电子设计的发展趋势。

1 数字钟的设计方案

本文以FPGA平台为基础,采用VHDL语言在QuartusⅡ开发环境下设计开发多功能数字钟,具有计时、校时、蜂鸣闹铃的功能,具体功能为:1)能够对秒、分、小时进行正常计时,每日按24小时计时制,能用八个七段数码管进行友好界面的显示;2)具有复位功能,可以对当前时间进行清零;3)能够对电子时钟进行时分秒设置,方便在时钟跑错时进行校正;4)能够设定电子闹钟,在指定的时间驱动蜂鸣器等外设工作,引起使用者注意;5)电子钟具有溢出警报功能,当小时数超过24时,用一个LED小灯进行溢出警报说明,然后从00—00—00开始从新计时,此功能可以使电子钟很方便的扩展为万年历。

我们采用自顶向下的层次化设计方法进行设计,其输入为状态选择信号(使用一个2位二进制表示选择,00正常运行或显示闹铃信息,01设置秒,10设置分,11设置时)、复位信号、闹铃开关(配合状态选择信号进行闹铃的设置)、1 Hz的计时时钟信号和1 kHz的扫描时钟信号;输出为时、分、秒数字显示(这里使用了8个共阴极的七段数码管作为显示输出)、闹钟蜂鸣、溢出信号。系统由状态选择模块、时、分、秒计时校时模块、显示与闹铃模块组成。数字钟的系统框图图如图1所示。

2 核心模块设计

2.1 状态选择模块设计

该模块主要功能其实是对输入端的汇总,然后根据设置方法对不同的模块进行使能和参数传递,输出不同的信令signaling控制到各个模块,使每个模块工作在一个有序的状态。状态选择模块的电路描述如图2所示,具体说明如下:当输入一个脉冲到复位键reset时,数字钟启动并对时间清零。闹铃键clock=0时,模块根据状态选择键IS_SET输出不同秒、分、时信令到秒、分、时计时校时模块,控制这些模块的运行状态。此时,当IS_SET=00时为正常计时状态,秒、分、时的输出信令均为80;IS_SET=01时为秒校时状态,输出秒信令S_signaling为时间输入Time(显然该输出小于60),而输出分信令M_signaling和时信令H_signaling均为100,表示暂停分、时计时;IS_SET=10和11时则分别为分和时的校时状态。闹铃键clock=1时,当IS_SET=10和11时分别设置闹铃的分、时为时间输入Time并将设置的闹铃时间输出到“显示与闹铃模块”中保存;当IS_SET=00时,输出out_clock=1,控制显示与闹铃模块显示设置的闹铃时间。注意,当闹铃键clock=1时,计时正常运行,不论IS_SET如何设置,秒、分、时的输出信令均为80。

2.2 计时校时模块设计

该模块用于时、分、秒的计时校时,根据状态选择模块传输过来的信令signaling分别进行计时和校时。时、分、秒计时校时模块是一样的,只是分秒的进位为60,而小时的进位为24。我们在实体声明中的使用generic变量定义一个numn,该值设置进制为60或24,通过修改numn值就完成分、秒计时模块到小时计时模块的转换。模块的输入为扫描时钟、计时时钟和信令signaling,输出为输出时间高位time_h和输出时间低位time_l,以及进位clk_jin。

计时校时模块的电路描述如图3所示,具体说明如下:每当扫描时钟上升沿时,启动进程,并根据信令signaling执行不同操作,1)当signaling

2.3 显示、闹铃模块设计

本模块是数字钟系统中的输出模块,用于输出LED数字显示和闹铃,其输入为扫描时钟,从计时校时模块输出的秒低位、秒高位、分低位、分高位、时低位、时高位信号和状态选择模块输出的闹铃显示Nao_En闹铃时间Nan_In。如果Nao_En=0则正常显示时间,当Nao_En=1时,在LED数码管上显示闹钟时间。当当前时间与保存的闹铃时间Nan_In相同时,蜂鸣器鸣响1 min。这里我们使用了八个共阴极的七段数码管显示时间,当选位信号sel=“01111111”时,第一个数码管显示数字,其他七位不显示。我们通过动态扫描,轮流显示秒低位sec_ge、秒高位sec_shi、分低位min_ge、分高位min_shi、时低位hour_ge、时高位hour_shi共6路信号,当扫描时钟sanc_clk频率高于28 Hz时,由于人眼的视觉残留效果,使得这6路信号看上去是同时显示在6个七段数码管上。显示、闹铃模块电路描述如图4所示。

3 结束语

在QuartusⅡ软件开发平台上,采用“自顶向下设计,自底向上实现”的方法完成了数字钟的设计与实现。其基本过程如下:1)完成数字钟的总体设计;2)完成各个底层模块的设计和波形仿真:底层模块采用VHDL语言编写,在编译和仿真成功后,对其进行封装;3)完成数字钟的顶层电路设计:根据数字钟的系统框图(图1)在QuartusⅡ中采用电路原理图方式,调用封装好的底层模块,完成顶层电路图的设计;4)对顶层电路进行编译和仿真,结果表明仿真波形符合设计要求;5)进行引脚分配,再编译后,将下载文件下载到FPGA开发板中进行验证和调试。测试结果表明数码管能正确的显示计时时间,能通过按键调整时间,能实现整点报时,完全符合设计要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算

全球领先的高性能现场可编程门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)提供商Achronix Semiconductor公司宣布,该公司参加了由私募股权和风险投资公司Baird Capital举...

关键字: FPGA 智能汽车 eFPGA

全新 FPGA 能为嵌入式视觉、医疗、工业互联、机器人与视频应用提供高数量 I/O、功率效率以及卓越的安全功能

关键字: FPGA 嵌入式视觉 机器人

Altera致力于为客户提供端到端的FPGA、易于使用的AI、软件和弹性供应链。

关键字: FPGA AI

在半导体领域,大部分对于AI的关注都集中在GPU或专用AI加速器芯片(如NPU和TPU)上。但事实证明,有相当多的组件可以直接影响甚至运行AI工作负载。FPGA就是其中之一。

关键字: FPGA AI 半导体

半导体产品老化是一个自然现象,在电子应用中,基于环境、自然等因素,半导体在经过一段时间连续工作之后,其功能会逐渐丧失,这被称为功能失效。半导体功能失效主要包括:腐蚀、载流子注入、电迁移等。其中,电迁移引发的失效机理最为突...

关键字: 半导体 电迁移 FPGA
关闭
关闭