时间:2024-05-04
袁申 黄铁文 牟淏晨 贺哲明 孟瑶 王颖
摘要:随着数字化时代的到来,编程语言广泛应用越来越多的硬件系统可以用软件语言进行构架实现,可以方便人们进行设计与开发。例為实现体育比赛中的计时功能,以Verilog语言为基础,设计了包含分频、计时显示三大主要模块用以实现计时功能。实现设计功能通过Quartus II软件,以Verilog语言为基础,在FPGA芯片装置上实现功能的验证以及功能的良好。
关键词: Verilog;Quartus II;数字跑表
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)09-0221-02
通过FPGA实现电路设计制作用于比赛的数字跑表,实验设计的主要功能是通过两个按键来控制跑表的开始以及结束,还包含清零、复位按键用来设置跑表的初始零状态,最后就是暂停/开始按键,再清零控制按键无效的时候,按一下暂停/开始计时器开始计时,再按一次则计时器停止,再按一下则继续开始计时。
1 原理
FPGA具有静态可重复编程或在线动态重构的特性,使硬件的功能可向软件一样通过变编程来修改不仅设计修改和产品升级方便,而且极大地提高了电子系统的灵活性和通用性。本实验设计正是运用了这一特点十分便利的实现所需功能。实验包含三大部分:第一是分频器,分频器是为计时器模块提供可用时钟的模块,它可以将固定的时钟频率分成实验所需要的任意时钟频率。第二是计数器,计时器模块是本实验设计的核心,通过Verilog语言编写可以轻松实现计数器功能。最后是显示模块,显示模块是通过七段显示数码管显示时间。
2 总体设计
3 详细设计
3.1 功能设计
1)跑表的计时范围为0.01s—59min59.99s,计时精度为10ms;
2)具有异步清0,启动,计时和暂停功能;
3)输入时钟频率为100Hz;
4)数字跑表的输出能够直接驱动共阳极7段数码管显示。
3.2 流程图
3.3 实验原理
通过EDA软件使用Verilog语言完成编程各模块的程序设计,制作分频、计时、显示模块。首先是分频器是为计时器模块提供可用时钟的模块,它可以将固定的时钟频率分成实验所需要的任意时钟频率。计时器模块是本实验设计的核心,通过Verilog语言编写可以轻松实现计数器功能。最后是显示模块,显示模块是通过七段显示数码管显示时间。
3.4 硬件图
4 仿真
计时器模块仿真图,此模块实现每10ms计时一次,最大计时时间为59min59.99s,计时精度为10ms。此仿真图就是其计时过程的显示。
5 验证
6 总结
本实验通过运用EDA软件,熟练地掌握了Verilog语言的编程设计的方式及特点,熟练地应用及掌握EDA软件特定功能及编写环境。此次实验的《基于Verilog语言的数字跑表》是学习和锻炼自己编程能力非常好的实验题目,它可以从根本提高个人的综合能力水平。
参考文献:
[1] 邹道胜,朱如琪,陈赜.CPLD/FPGA与ASIC设计实践教程[M].2版.北京:科学出版社,2010.
【通联编辑:唐一东】
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!