新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于可編程器件的任意進(jìn)制計(jì)數(shù)器的設(shè)計(jì)方法

基于可編程器件的任意進(jìn)制計(jì)數(shù)器的設(shè)計(jì)方法

作者: 時(shí)間:2009-12-08 來(lái)源:網(wǎng)絡(luò) 收藏

1 引言
目前計(jì)數(shù)器設(shè)計(jì)主要有軟件、硬件電路搭建和EDA技術(shù)編程實(shí)現(xiàn)等多種方式。其中,EDA技術(shù)編程實(shí)現(xiàn)方式由于具有軟件的靈活性和接近硬件電路計(jì)數(shù)器的最高計(jì)數(shù)頻率而應(yīng)用廣泛。但對(duì)于位寬8 bit以上,模式較復(fù)雜的計(jì)數(shù)器采用EDA技術(shù)編程、調(diào)試卻非常繁瑣。Altera公司考慮到工程上的具體應(yīng)用,增加MAX+plus II設(shè)計(jì)軟件的靈活性,設(shè)置LPM(Librarv of Parameterized Moclules)元件庫(kù)供設(shè)計(jì)人員使用。該庫(kù)包含一些常用功能模塊所生成的元件,其元件引腳和參數(shù)由用戶直接指定,可適應(yīng)不同設(shè)計(jì)需要(如利用LPM元件庫(kù)中的lpm_counter元件設(shè)計(jì)任意)。使用LPM元件庫(kù)優(yōu)點(diǎn)如下:(1)LPM設(shè)計(jì)的電路與結(jié)構(gòu)無(wú)關(guān);(2)設(shè)計(jì)人員利用LPM設(shè)計(jì)時(shí),不用擔(dān)心芯片利用率和效率等問(wèn)題,無(wú)需自行設(shè)計(jì)基本的標(biāo)準(zhǔn)邏輯單元來(lái)構(gòu)造某種功能,直到設(shè)計(jì)結(jié)束,設(shè)計(jì)人員都無(wú)需考慮其最終結(jié)構(gòu),設(shè)計(jì)輸入和模擬仿真獨(dú)立于物理結(jié)構(gòu)。作為EDIF(電子設(shè)計(jì)交換格式)標(biāo)準(zhǔn)的一部分,LPM得到EDA界的廣泛支持。

本文引用地址:http://www.butianyuan.cn/article/191860.htm


2 lpm_counter元件介紹
lpm_counter是LPM元件庫(kù)的可調(diào)參數(shù)計(jì)數(shù)器元件,其最大計(jì)數(shù)位寬為32 bit,最小計(jì)數(shù)時(shí)鐘周期達(dá)8 ns(125 MHz,使用EPM7032LC44-6實(shí)現(xiàn));實(shí)現(xiàn)加、減或可逆計(jì)數(shù);同步或異步清零/置數(shù)功能可選;通過(guò)參數(shù)設(shè)置,實(shí)現(xiàn)任意進(jìn)制、輸出位寬不超過(guò)32 bit的加、減或可逆同步/異步計(jì)數(shù)器。
2.1 引腳及功能描述
1pm_counter元件的引腳端中,只有時(shí)鐘端是必選的,需要外界提供計(jì)數(shù)信號(hào);其他引腳端都為可選,當(dāng)這些引腳端未選中時(shí),其值為缺省值,引腳在計(jì)數(shù)器圖形符號(hào)中不顯示。
各引腳端功能描述如下:
data[]:數(shù)據(jù)輸入總線端,輸入信號(hào)位寬由LPM_WIDTH決定,用于異步或同步置數(shù)。
clock:時(shí)鐘端,上升沿觸發(fā)。
clk_en:時(shí)鐘信號(hào)輸入允許端;缺省值為“1”(允許)。
cnt_en:計(jì)數(shù)允許端,缺省值為“1”(允許)。在同步置數(shù)、同步輸入設(shè)置或同步清零時(shí)為“0”(禁止)。
updown:計(jì)數(shù)方向控制端,缺省值為“l(fā)”(加計(jì)數(shù))。若選擇“LPM_DIRECTION”參數(shù),則該引腳端禁止使用。
cin:低位進(jìn)位端,若省略,其缺省值為“0”。
aclr:異步清零端,缺省值為“0”(禁止)。如果同時(shí)輸入異步清零和異步輸入設(shè)置信號(hào),則異步清零信號(hào)有效,屏蔽異步輸入設(shè)置信號(hào)。
aset:異步輸入設(shè)置端,缺省值為“0”(禁止)。當(dāng)aset端輸入“1”時(shí),q[]輸出全“1”或?yàn)椤癓PM_AVALUE”指定值。
aload:異步置數(shù)端,缺省值為“O”(禁止)。若選用“異步置數(shù)”端,必須連接“data[]”端。該aload端可置入計(jì)數(shù)初始值。
sclr:同步清零端,缺省值為“O”(禁止)。如果同時(shí)輸入同步清零和同步輸入設(shè)置信號(hào),則同步清零信號(hào)有效,屏蔽同步輸入設(shè)置信號(hào)。
sset:同步輸入設(shè)置端,缺省值為“0”(禁止)。當(dāng)sset端輸入“1”時(shí),q[]輸出全“l(fā)”或?yàn)椤癓PM_SVALUE”指定值。
sload:同步置數(shù)端,缺省值為“O”(禁止)。若選用“同步置數(shù)”端,必須連接“dat[]”端。該sload端可置入計(jì)數(shù)初始值。
q[]:計(jì)數(shù)值輸出端,輸出位寬由“LPM_WIDTH”決定。
eq[15..0]:輸出端,計(jì)數(shù)器模值必須小于16。當(dāng)計(jì)數(shù)值為c時(shí),則輸出端eq[c]為1(高電平)。例如:當(dāng)計(jì)數(shù)值c=0時(shí),則輸出端eq[0]=l;當(dāng)計(jì)數(shù)值c=1時(shí),則輸出端eq[1]=1;……。
cout:進(jìn)位端。
2.2 參數(shù)及功能
lpm_counter元件參數(shù)中LPM_WIDTH參數(shù)是必選項(xiàng).其他參數(shù)為可選項(xiàng)。各參數(shù)的功能說(shuō)明如下:
LPM_WIDTH(計(jì)數(shù)位寬):該參數(shù)最大取值為32。它決定計(jì)數(shù)器置數(shù)端(data[])和輸出端(q[])的位寬;決定LPM_MODULUS的最大取值(2 LPM_WIDTH)。若LPM_MODULUS參數(shù)取值大于2 LPM_WIDTH,則計(jì)數(shù)器不能正常工作。
LPM_DIRECTION(計(jì)數(shù)方向):有“UP”,“DOWN”和“UNUSED”3種取值。如果使用LPM_DIRECTION參數(shù),則updown端不連接,其參數(shù)默認(rèn)值為“UP”。
LPM_MODULUS(計(jì)數(shù)模數(shù)):該參數(shù)決定計(jì)數(shù)器的進(jìn)制:如果該參數(shù)不設(shè)置,則其缺省值為二進(jìn)制,且其最大計(jì)數(shù)值為2 LPM_WIDTH;如果aload(或sload、asel、sset)所置數(shù)值比LPM_MODULUS參數(shù)大,則計(jì)數(shù)值出錯(cuò)。
LPM_AVALUE(異步計(jì)數(shù)初值):如果aset=1,則該計(jì)數(shù)初值被加載。如果該指定值比LPM_MODULUS大,則計(jì)數(shù)器輸出值出錯(cuò)。
LPM_SVALUE(同步計(jì)數(shù)初值):如果sset=1,則該計(jì)數(shù)初值被加載。如果該指定值比LPM_MODULUS大,則計(jì)數(shù)器輸出值出錯(cuò)。


3 設(shè)計(jì)實(shí)例
某型帶峰谷費(fèi)率設(shè)置的數(shù)字電能表要安裝一實(shí)時(shí)鐘模塊,實(shí)現(xiàn)日、時(shí)、分、秒等計(jì)時(shí)功能,實(shí)現(xiàn)不同時(shí)段用戶所耗電能以不同費(fèi)率計(jì)費(fèi)。圖l為該電能表計(jì)時(shí)模塊原理框圖。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉