基于基于FPGA的数字秒表设计与仿真的数字秒表设计与仿真
数字集成电路作为当今信息时代的基石,不仅在信息处理、工业控制等生产领域得到普及应用,并且在人们的
日常生活中也是随处可见,极大的改变了人们的生活方式。面对如此巨大的市场,要求数字集成电路的设计周
期尽可能短、实验成本尽可能低,能在实验室直接验证设计的准确性和可行性,因而出现了现场可编程逻辑门
阵列FPGA.对于芯片设计而言,FPGA的易用性不仅使得设计更加简单、快捷,并且节省了反复流片验证的巨额
成本。对于某些小批量应用的场合,甚至可以直接利用FPGA实现,无需再去订制专门的数字芯片。 文中
着重介绍了一种基于FPGA利用VHDL硬件描述语言的数字秒表设计方法,在设计过程中使用基于VHDL的EDA
数字集成电路作为当今信息时代的基石,不仅在信息处理、工业控制等生产领域得到普及应用,并且在人们的日常生活中
也是随处可见,极大的改变了人们的生活方式。面对如此巨大的市场,要求数字集成电路的设计周期尽可能短、实验成本尽可
能低,能在实验室直接验证设计的准确性和可行性,因而出现了现场可编程逻辑门阵列FPGA.对于芯片设计而言,FPGA的易
用性不仅使得设计更加简单、快捷,并且节省了反复流片验证的巨额成本。对于某些小批量应用的场合,甚至可以直接利用
FPGA实现,无需再去订制专门的数字芯片。
文中着重介绍了一种基于FPGA利用VHDL硬件描述语言的数字秒表设计方法,在设计过程中使用基于VHDL的EDA工具
ModelSim对各个模块仿真验证,并给出了完整的源程序和仿真结果。
1 总体功能结构设计总体功能结构设计
一个完整的数字秒表应具有计时、相应的控制以及计时结果显示功能,总体的功能结构如图1所示。黑色线框内是计数模
块、使能转化模块和显示译码模块,左边是输入控制信号,右边是显示计时结果的数码显示管,用六位BCD七段数码管显示
读数,显示格式如图2,计时范围为:1小时,精度为0.01s.
输入时钟信号由32MHz的石英晶振提供,考虑到设计指标要求秒表精度为0.01秒,计数脉冲的时钟输入就应该是频率为
100Hz的脉冲,所以先要设计一个320000分频器,分频器的输出可作计数器的输入;其次计数模块设计应综合考虑秒表的计
时范围(1小时)和显示输出(6位输出),6位输出中有两位是六进制输出,其余四位是十进制输出,所以可通过设计4个模
10计数器和2个模6计数器来实现,其中较低位的进位输出就是高位的计数输入端。
控制模块应包括开始计时/停止计时、复位两个按钮,即电路设计经常用到的使能端和清零端,这两个控制端口直接接到
计数器的清零和史能端即可实现复位、开始计时/停止计时;但是外围使能输入需要经过使能转换电路后,才可变为计数器可
用的使能控制信号。因此在输入使能信号和计数器使能输入之间需设计一个信号转换模块。
显示计数结果的模块实现较为简单,只需将六位计数结果通过七段译码电路接到输出即可点亮数码管,无需时序控制,直
接用组合逻辑电路就可以实现。数码管显示可以采用扫描显示,用一个频率1KHz的信号扫描一个多路选择器,实现对六位已
经锁存的计数结果的扫描输出。
2 各功能模块设计各功能模块设计
2.1 分频器模块分频器模块
分频器的功能是提供标准时钟控制信号以控制计数器的开闭,提供的标准信号是32MHz,根据设计精度0.01s的要求,输出
信号是100Hz,所以该分频器实现的功能是320000分频,具体的VHDL源程序:
process(clk)
begin
if(clk'event and clk='1‘)then
if (q=159999)then
评论0