基于CPLD的片內(nèi)環(huán)形振蕩器的設(shè)計方案
本文介紹一種通用的基于CPLD的片內(nèi)振蕩器設(shè)計方法,它基于環(huán)形振蕩器原理,只占用片上普通邏輯資源(LE),無需使用專用邏輯資源(如MaxII中的UFM),從而提高了芯片的資源利用率;振蕩頻率可在一定范圍內(nèi)調(diào)整,振蕩輸出可以驅(qū)動內(nèi)部邏輯和外部器件引腳。本設(shè)計有較大的通用性,可方便地在不同CPLD器件間移植,使一些基于CPLD的片上系統(tǒng)(SoC)設(shè)計無需使用外部時鐘信號源,從而降低設(shè)計成本和難度,增加系統(tǒng)集成度。通過在Altera公司的MAX7000系列EMP7128LC84-15芯片上的實(shí)驗(yàn)說明實(shí)現(xiàn)的方法。實(shí)驗(yàn)實(shí)現(xiàn)的頻率范圍在8MHz~62MHz。仿真和硬件測試結(jié)果表明了該設(shè)計方法的正確性和可行性。
1 基于CPLD的片內(nèi)環(huán)形振蕩器
環(huán)形振蕩器原理如圖1所示。由奇數(shù)個非門組成的環(huán)形非門級聯(lián)串使電路處于無穩(wěn)定狀態(tài),靜態(tài)下任何一個非門的輸入和輸出都不可能穩(wěn)定在高電平或低電平,而只能處于周而復(fù)始的高低電平轉(zhuǎn)換狀態(tài),從而產(chǎn)生自激振蕩。振蕩周期為T=2Ntpd,其中N是非門的個數(shù),tpd是每個非門的傳輸延遲時間,改變電路中非門的數(shù)量可以改變電路的振蕩頻率。
圖1所示的環(huán)形振蕩器即使采用電路原理圖輸入,經(jīng)電子設(shè)計自動化(EDA)軟件綜合后,也得不到對應(yīng)的電路結(jié)構(gòu)。實(shí)際上,EDA綜合工具不是從電路結(jié)構(gòu)出發(fā),而是從電路輸入和輸出的邏輯關(guān)系出發(fā)給出綜合結(jié)果,所以,奇數(shù)個非門的級聯(lián)將被綜合為一個非門,而偶數(shù)個非門的級聯(lián)被綜合為一個緩沖或一條聯(lián)線。為能在CPLD器件中實(shí)現(xiàn)圖1的環(huán)形振蕩器結(jié)構(gòu),本文將圖1中單端口輸入元件改成二端口輸入元件,即用二輸入與非門代替圖1的第一個非門,其余偶數(shù)個非門則用二輸入與門代替,二端口元件的一個輸入端口連接上級輸出,另一輸入端口作為控制端引出。振蕩器正常工作時控制端全部置高電平。采用Synplify Pro 7.7綜合后的原理圖如圖2所示。該電路完全可實(shí)現(xiàn)圖1的功能。
為了保證正反饋,圖1結(jié)構(gòu)的非門級聯(lián)必須是奇數(shù)個。圖2中的與非門起到反相作用,其他與門則起延時緩沖的作用??梢酝ㄟ^改變門的數(shù)量以及選擇門的種類(與門、與非門等)改變osc輸出端的振蕩頻率,而不受"奇數(shù)"個門的限制,只要保障第一個門得到正反饋就可以產(chǎn)生振蕩。而圖1的結(jié)構(gòu)必須改變偶數(shù)個非門才能達(dá)到改變振蕩頻率的目的,因而圖2結(jié)構(gòu)在CPLD芯片中實(shí)現(xiàn)時可以節(jié)省邏輯資源??刂贫薿scena[n-1,0]為振蕩使能控制端,置高電平時,與非門的輸入和輸出在緩沖級聯(lián)鏈的反饋?zhàn)饔孟庐a(chǎn)生自激振蕩,振蕩器正常工作;控制端的任意一位置零使振蕩器停振。所以oscena既可單獨(dú)使用,也可互聯(lián)后作為一個端使用。實(shí)驗(yàn)證明,圖2結(jié)構(gòu)能夠保證門延時的等間隔特性。
評論