位60秒跑表设计报告 本文关键词:跑表,报告,设计
位60秒跑表设计报告 本文简介:4位60秒跑表设计报告姓名:XUXU2.总体分析本设计是运用Verilog语言来编写程序,然后下载到CPLD最小系统板上实现式样书上的功能。此次编写程序是通过QuartusII来仿真编译下载的,暂没运用Modelsim来仿真,主要考虑目前对Testbench不熟悉,加上时间比较紧。所以直接采用Qua
位60秒跑表设计报告 本文内容:
4位60秒跑表设计报告
姓名:XUXU
2.
总体分析
本设计是运用Verilog语言来编写程序,然后下载到CPLD最小系统板上实现式样书上的功能。此次编写程序是通过Quartus
II来仿真编译下载的,暂没运用Modelsim来仿真,主要考虑目前对Testbench不熟悉,加上时间比较紧。所以直接采用Quartus
II来仿真。
通过对式样书的认真阅读,制作本次实验主要有以下几个模块组成:分频模块,oneshot模块,控制模块,计数模块,显示保持模块,数据处理模块,动态扫描模块组成。通过由顶向下的构思和由底至上的设计来构成本小系统。
3.
各模块功能说明
1.分频模块
本模块主要是提供全局时钟,最小系统板上的系统时钟为72Khz,而我们只需要400hz的频率。所以需要进行分频得到。模块图的端口如下一。
图一:分频模块
2.oneshot模块
本模块的功能主要是起一个防止按键抖动的功能,能在有按键按下后能准确的产生一个脉冲信号。还有一个需要注意的地方就是,需要考虑是在按键按下时有效还是按键弹起的时候有效,这是一个很重要的问题需要考虑的。在结合实际生活我们所接触的按键,都是按下时有效,所以本设计也采用按下时候有效。由于有三个案件所以需要三个oneshot模块,模块图如下二。
图二:oneshot模块
3.控制模块
本模块是本系统的核心部分,比如人的大脑。它的功能主要是把按键信息准确的传达并控制其他每个需要的模块。式样书上所要实现的功能就是通过本模块来控制的。采用状态机来编写程序,由四个状态构成(初始idl,计数counter,暂停stop,分割fenge)。控制模块图如下三所示。
图三:控制模块
状态图如下四:
式样书上每个功能说明:
(1)单次计数功能
电路上电后处于初始状态(idl),及保持在00.00状态。当ST(Start)有按键按下时(送入一个高点平),这时跳到计数(counter)状态并送入计数模块一个计数使能信号(en=1),rst=1,使计数模块开始计数;当再一次按下ST(stop)时,让计数使能信号en=0,计数停止;再按下SP键(高电平有效)时,rst=0,复位(保持在00.00状态)。状态图如下
图五:单次计数状态图
(2)重复计数功能
此功能和单次计数原理一样,只是有多次的开始计数和停止功能,最后复位。所以这不多做说明,请参照单次计数。状态图如下
图六:重复计数状态图
(3)分割显示1
此功能的实现方法为,电路上电后处于初始状态(idl),及保持在00.00状态。当ST(Start)有按键按下时(送入一个高点平),这时跳到计数(counter)状态并送入计数模块一个计数使能信号(en=1),rst=1,使计数模块开始计数;当SP(sprie)有按键按下时(送入一个高电平),这时送入显示模块一个信号spout=1,让显示部分保持SP按下时的数据并持续显示。而计数仍继续及en让然为1;接下来再次按一下SP(sprie),spout=0显示部分实时显示数据;再次按一下ST(stop)这时en=0,计数停止,显示停止;再次按一下SP(reset)时,实现复位功能,rst=0;状态如下
图七:分割计数1状态图
(4)分割计数2
此功能的实现方法为,电路上电后处于初始状态(idl),及保持在00.00状态。当ST(Start)有按键按下时(送入一个高点平),这时跳到计数(counter)状态并送入计数模块一个计数使能信号(en=1),rst=1,使计数模块开始计数;当SP(sprie)有按键按下时(送入一个高电平),这时送入显示模块一个信号spout=1,让显示部分保持SP按下时的数据并持续显示。接下来按一下ST(stop),这时en=0,计数停止,显示部分显示的是计数停止时的数据。再次按下SP(reset)实现复位功能,rst=0;状态图如下
图八:分割计数2状态图
4.计数模块
次模块的功能是实现系统的计数。控制信号为en和rst,这两个信号是由控制模块提供的。
en:高电平有效
rst:低电平有效
图九:计数模块图
5.显示锁存模块
次模块的功能是实现数据的锁存,送入动态显示模块。在sp=1时实现数据的实时显示;当sp=0时实现数据的锁存显示,而计数仍继续。
模块图如下:
图十:显示锁存模块
6.数据处理模块
次模块的功能是实现数据的处理,将数据通过选择器送入数码管译码器,并产生数码管所需要的动态扫描信号。
模块图如下
图十一:数据处理模块
7.动态显示模块
此模块的功能是实现数据的动态显示。模块图如下所示
图十二:数码管动态显示模块
四.总体模块图
8