新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于VHDL的多功能可变模计数器设计

基于VHDL的多功能可变模计数器设计

作者:时间:2009-09-18来源:网络收藏
0 引 言
随着电子技术、计算机技术和EDA技术的不断发展,利用FPGA/CPLD进行数字系统的开发已被广泛应用于通信、航天、医疗电子、工业控制等领域。与传统电路设计方法相比,FPGA/CPLD具有功能强大,开发周期短,投资少,便于追踪市场变化及时修改产品设计,以及开发工具智能化等特点。近年来,FPGA/CPLD发展迅速,随着集成电路制造工艺的不断进步,高性价比的FPGA/CPLD器件推陈出新,使FPGA/CPLD成为当今硬件设计的重要途径。在FPGA/CPLD的应用设计开发中,语言作为一种主流的硬件描述语言,具有很强的电路描述和建能力,能从多个层次对数字系统进行建和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,并在语言易读性和层次化、结构化设计方面。表现出了强大的生命力和应用潜力。
QuartusⅡ是Altera公司在21世纪初推出的FPGA/CPLD集成开发环境,是Altera公司前一代FPGA/CPLD集成开发环境Max+PlusⅡ的更新换代产品,其界面友好,使用便捷,功能强大,为设计者提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。
是数字系统中使用最多的时序电路之一,不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。可变由于计数容量可以根据需要进行变化,为其广泛使用创造了便利。这里在QuartusⅡ开发环境下,用语言设计了一种具有清零、置数、使能控制、可逆计数和可变模功能的

1 基本可变模计数器设计
可变模计数器是指计数/模值可根据需要进行变化的计数器。电路符号图1所示,clk为时钟脉冲输入端,clr为清零端,m为模值输入端,q为计数输出端。
基本可变模计数器的代码如下所示:

本文引用地址:http://www.eepw.com.cn/article/188621.htm


说明:上述代码设计采用了常用的if语句结构,即“if条件句then顺序语句elsif条件句then顺序语句else顺序语句end if”结构,实现模值小于99的可变模计数。

从上述的代码可以看出,基本的可变模计数器的功能单一。仿真验证则表明在进行模值变换时,基本的可变模计数器存在一些功能上的缺陷:计数器若是由较小的模值变化为较大的模值时,能正常的进行变模计数;但当其由较大的模值变化为较小的模值,则可能出现计数失控,如图2所示,图中显示了当模值由12变换为7时,即发生了计数失控。失控的原因是大于当模值由12变换为7时,计数输出为q为11,大于当前模值7的计数最大值6,由此产生了计数失控。

2 改进的可变模计数器
为了克服上述基本可变模计数器的缺陷,并增加更多的控制功能,在此设计了一种改进的可变模计数器,具有清零、置数、使能控制、可逆计数和可变模功能。其电路符号如图3所示,clk为时钟脉冲输入端,m为模值输入端,clr为清零控制端,s为置数控制端,d为置数输入端,en为使能控制端,updn为计数方向控制端,q为计数输出端,co为进位输出端。

尘埃粒子计数器相关文章:尘埃粒子计数器原理

上一页 1 2 下一页

关键词: VHDL 多功能 计数器

评论


相关推荐

技术专区

关闭