基于可编程器件的任意进制计数器的设计方法
1引言
目前计数器设计主要有软件、 硬件电路搭建和 EDA 技术编程实现等多种方式。 其中,EDA 技术编程实现方式由于具有软件的灵活性和接近硬件电路计数器的最高计数频率而应用广泛。 但对于位宽 8 bit 以上,模式较复杂的计数器采用 EDA 技术编程、调试却非常繁琐。 Altera 公司考虑到工程上的具体应用, 增加 MAX+plus II 设计软件的灵活性, 设置 LPM(Library of Parameterized Modules)元件库供设计人员使用。 该库包含一些常用功能模块所生成的元件,其元件引脚和参数由用户直接指定,可适应不同设计需要(如利用 LPM元件库中的 lpm_counter 元件设计任意进制计数器)。 使用LPM 元件库优点如下 :(1)LPM 设计的电路与结构无关 ;(2)设计人员利用 LPM 设计时, 不用担心芯片利用率和效率等问题, 无需自行设计基本的标准逻辑单元来构造某种功能,直到设计结束,设计人员都无需考虑其最终结构,设计输入和模拟仿真独立于物理结构。 作为 EDIF (电子设计交换格式)标准的一部分,LPM 得到 EDA 界的广泛支持[1]。
2 lpm_counter元件介绍
lpm_counter 是 LPM 元件库的可调参数计数器元件 , 其最大计数位宽为 32 bit,最小计数时钟周期达 8 ns(125 MHz,使用 EPM7032LC44-6 实现);实现加、减或可逆计数;同步或异步清零/置数功能可选;通过参数设置,实现任意进制、输出位宽不超过 32 bit 的加、减或可逆同步/异步计数器.
2.1引脚及功能描述[2]
lpm_counter 元件的引脚端中 , 只有时钟端是必选的,需要外界提供计数信号;其他引脚端都为可选,当这些引脚端未选中时,其值为缺省值,引脚在计数器图形符号中不显示。各引脚端功能描述如下:
2.2 参数及功能[3]
3设计实例
某型带峰谷费率设置的数字电能表要安装一实时钟模块,实现日、时、分、秒等计时功能,实现不同时段用户所耗电能以不同费率计费。 图 1 为该电能表计时模块原理框图。
由于日、时、分、秒计数器的结构除计数进制不同外,其他部分完全一样,因此图 1 中仅给出秒计数电路部分。 本设计实例以其中的秒脉冲计数器为例, 以 lpm_counter 元件为基础,设计一个可异步清零、可置数的 60 进制异步计数器,说明采用 lpm_counter 元件设计任意进制计数器的方法。
3.1调入lpm_counter元件
首先打开 MAX+plus II 软件[4-6],然后建立图形输入文件“S_count60.gdf”,在图形编辑器的空白处双击鼠标左键 ,打开元件输入对话框。在对话框的 Symbol Libraries 窗口中双击 X:maxplus2max2libmega_lpm (X 为 MAX+plus II 软件所在盘的 盘 符 ); 在 Symbol Files 窗 口 中 双 击 lpm_counter, 得 到LPM_COUNTER元件。
相关文章
- 2024-01-25频率源时间量特性表征方法及其分析
- 2023-07-30位置控制DDC系统的设计
- 2023-02-08高精度质心测量方法研究
- 2023-10-27全息声压场的加权范数外推方法
- 2022-06-22解读新、老版GB/T15561差异性,提升轨道衡产品质量
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。