当前位置:首页 > EDA > 电子设计自动化
[导读]1 引言 目前计数器设计主要有软件、硬件电路搭建和EDA技术编程实现等多种方式。其中,EDA技术编程实现方式由于具有软件的灵活性和接近硬件电路计数器的最高计数频率而应用广泛。但对于位宽8 bit以上,模式较复杂

1 引言
    目前计数器设计主要有软件、硬件电路搭建和EDA技术编程实现等多种方式。其中,EDA技术编程实现方式由于具有软件的灵活性和接近硬件电路计数器的最高计数频率而应用广泛。但对于位宽8 bit以上,模式较复杂的计数器采用EDA技术编程、调试却非常繁琐。Altera公司考虑到工程上的具体应用,增加MAX+plus II设计软件的灵活性,设置LPM(Librarv of Parameterized Moclules)元件库供设计人员使用。该库包含一些常用功能模块所生成的元件,其元件引脚和参数由用户直接指定,可适应不同设计需要(如利用LPM元件库中的lpm_counter元件设计任意进制计数器)。使用LPM元件库优点如下:(1)LPM设计的电路与结构无关;(2)设计人员利用LPM设计时,不用担心芯片利用率和效率等问题,无需自行设计基本的标准逻辑单元来构造某种功能,直到设计结束,设计人员都无需考虑其最终结构,设计输入和模拟仿真独立于物理结构。作为EDIF(电子设计交换格式)标准的一部分,LPM得到EDA界的广泛支持。


2 lpm_counter元件介绍
    lpm_counter是LPM元件库的可调参数计数器元件,其最大计数位宽为32 bit,最小计数时钟周期达8 ns(125 MHz,使用EPM7032LC44-6实现);实现加、减或可逆计数;同步或异步清零/置数功能可选;通过参数设置,实现任意进制、输出位宽不超过32 bit的加、减或可逆同步/异步计数器。
2.1 引脚及功能描述
    1pm_counter元件的引脚端中,只有时钟端是必选的,需要外界提供计数信号;其他引脚端都为可选,当这些引脚端未选中时,其值为缺省值,引脚在计数器图形符号中不显示。
    各引脚端功能描述如下:
    data[]:数据输入总线端,输入信号位宽由LPM_WIDTH决定,用于异步或同步置数。
    clock:时钟端,上升沿触发。
    clk_en:时钟信号输入允许端;缺省值为“1”(允许)。
    cnt_en:计数允许端,缺省值为“1”(允许)。在同步置数、同步输入设置或同步清零时为“0”(禁止)。
    updown:计数方向控制端,缺省值为“l”(加计数)。若选择“LPM_DIRECTION”参数,则该引脚端禁止使用。
    cin:低位进位端,若省略,其缺省值为“0”。
    aclr:异步清零端,缺省值为“0”(禁止)。如果同时输入异步清零和异步输入设置信号,则异步清零信号有效,屏蔽异步输入设置信号。
    aset:异步输入设置端,缺省值为“0”(禁止)。当aset端输入“1”时,q[]输出全“1”或为“LPM_AVALUE”指定值。
    aload:异步置数端,缺省值为“O”(禁止)。若选用“异步置数”端,必须连接“data[]”端。该aload端可置入计数初始值。
    sclr:同步清零端,缺省值为“O”(禁止)。如果同时输入同步清零和同步输入设置信号,则同步清零信号有效,屏蔽同步输入设置信号。
    sset:同步输入设置端,缺省值为“0”(禁止)。当sset端输入“1”时,q[]输出全“l”或为“LPM_SVALUE”指定值。
    sload:同步置数端,缺省值为“O”(禁止)。若选用“同步置数”端,必须连接“dat[]”端。该sload端可置入计数初始值。
    q[]:计数值输出端,输出位宽由“LPM_WIDTH”决定。
    eq[15..0]:输出端,计数器模值必须小于16。当计数值为c时,则输出端eq[c]为1(高电平)。例如:当计数值c=0时,则输出端eq[0]=l;当计数值c=1时,则输出端eq[1]=1;……。
    cout:进位端。
2.2 参数及功能
    lpm_counter元件参数中LPM_WIDTH参数是必选项.其他参数为可选项。各参数的功能说明如下:
    LPM_WIDTH(计数位宽):该参数最大取值为32。它决定计数器置数端(data[])和输出端(q[])的位宽;决定LPM_MODULUS的最大取值(2 LPM_WIDTH)。若LPM_MODULUS参数取值大于2 LPM_WIDTH,则计数器不能正常工作。
    LPM_DIRECTION(计数方向):有“UP”,“DOWN”和“UNUSED”3种取值。如果使用LPM_DIRECTION参数,则updown端不连接,其参数默认值为“UP”。
    LPM_MODULUS(计数模数):该参数决定计数器的进制:如果该参数不设置,则其缺省值为二进制,且其最大计数值为2 LPM_WIDTH;如果aload(或sload、asel、sset)所置数值比LPM_MODULUS参数大,则计数值出错。
    LPM_AVALUE(异步计数初值):如果aset=1,则该计数初值被加载。如果该指定值比LPM_MODULUS大,则计数器输出值出错。
    LPM_SVALUE(同步计数初值):如果sset=1,则该计数初值被加载。如果该指定值比LPM_MODULUS大,则计数器输出值出错。


3 设计实例
    某型带峰谷费率设置的数字电能表要安装一实时钟模块,实现日、时、分、秒等计时功能,实现不同时段用户所耗电能以不同费率计费。图l为该电能表计时模块原理框图。

    由于日、时、分、秒计数器的结构除计数进制不同外,其他部分完全一样,因此图1中仅给出秒计数电路部分。本设计实例以其中的秒脉冲计数器为例,以lpm_counter元件为基础,设计一个可异步清零、可置数的60进制异步计数器.说明采用lpm_counter元件设计任意进制计数器的方法。
3.1 调入lpm_counter元件
    首先打开MAX+plus II软件,然后建立图形输入文件“S_count60.gdf”,在图形编辑器的空白处双击鼠标左键,打开元件输入对话框。在对话框的Symbol Libraries窗口中双击X:maxplus2max21ibmega_lpm(X为MAX+plus II软件所在盘的盘符);在Symbol Files窗口中双击lpm_counter,得到LPM_COUNTER元件。
3.2 参数设置
    从mega_lpm元件库调入的LPM_COUNTER元件,其缺省状态为二进制计数器,必须根据设计要求对其设置,得到符合设计要求的计数器。LPM_COUNTER元件的设置包括参数设置和引脚端设置两部分,下面分别加以说明:
    (1)参数设置设计一个60进制的计数器,必须设置LPM_WIDTH(计数位宽)和LPM_MODULUS(计数模数)两个参数,LPM_MODULUS=60;又因为LPM_MODULUS必须小于2 LPM_WIDTH,因此必需满足LPM_WIDTH≥6,这里设置LPM_WIDTH=6。如果通过总线置计数器计数初值,则其他参数可不设置。
    (2)引脚端设置 根据设计要求,该计数器为可异步清零、可置数60进制异步计数器,因此对外连接的引脚端应包括:clock、clk_en、data[]、aclr、aload、q[]端和进位端cout。此处data[]和q[]端位宽由LPM_WIDTH(计数位宽)参数决定。
    (3)操作步骤在Symbol Files窗口中双击lpm_counter在得到LPM_COtINTER元件的同时,将打开如图2所示的参数设置对话框。

    在对话框中的“Ports”区的“Name”窗口中选中所需引脚端,然后在“Port Status”区选择“Used”,重复上述过程,直到所需的引脚端全部设置完毕。在对话框中的“Parameters”区的“Name”窗口中选中需要设置的参数。然后在“ParametersValue”编辑窗口中填入相应的参数值,单击按钮“Change”,即可完成该参数的设置;重复上述过程,直到所需参数全部设置完毕,点击“OK”,退出LPM元件参数设置对话框。以上设置完成后,就可按常规图形输入方式给元件添加输入、输出引脚,并对引脚命名,从而完成整个设计。完成设计后的电路如图3所示。

3.3 仿真测试
    对上述电路进行波形仿真,得到图4所示的仿真结果。从仿真结果可看出,该计数器实现60进制加计数、清零和置数功能,进位脉冲正常。并将其下载到FPGA器件进行测试,各控制端功能正常,计数器运行良好,性能稳定,达到设计目标。

3.4 方案实现
    采用上述方法分别设计出秒、分、时、日计数器及秒脉冲形成分频器。该分频器对系统时钟11.059 2 MHz脉冲进行分频,从而形成秒脉冲。通过对这些计数器进行组合,共同构成完整的实时钟模块。该模块清零、校时等功能由上位机通过RS485总线对其控制实现。通过装机运行,测得月误差在27 s内,达到较高的计时精度。


4 结束语
    由于MAX+plus II设计软件的mega_lpm元件库(可调参数元件)所提供的库元件都经Ahera公司的测试和优化.可保证元件的逻辑稳定性,保证可编程器件的芯片利用率及效率达到最优。因此使用LPM库元件设计计数器电路时,可使设计人员摆脱硬件电路的束缚以及避免软件编程、调试等烦琐细节问题,从而系统设计大大提高设计效率。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭