本文介紹一種通用的基于CPLD" title="CPLD">CPLD的片內(nèi)振蕩器設(shè)計(jì)方法,,它基于環(huán)形振蕩器" title="環(huán)形振蕩器">環(huán)形振蕩器原理,,只占用片上普通邏輯資源(LE),無(wú)需使用專用邏輯資源(如MaxII中的UFM),,從而提高了芯片的資源利用率,;振蕩頻率可在一定范圍內(nèi)調(diào)整,振蕩輸出可以驅(qū)動(dòng)內(nèi)部邏輯和外部器件引腳,。本設(shè)計(jì)有較大的通用性,,可方便地在不同CPLD器件間移植,使一些基于CPLD的片上系統(tǒng)" title="片上系統(tǒng)">片上系統(tǒng)(SoC)設(shè)計(jì)無(wú)需使用外部時(shí)鐘信號(hào)源,,從而降低設(shè)計(jì)成本和難度,,增加系統(tǒng)集成度。通過(guò)在Altera公司的MAX7000系列EMP7128LC84-15" title="EMP7128LC84-15">EMP7128LC84-15芯片上的實(shí)驗(yàn)說(shuō)明實(shí)現(xiàn)的方法,。實(shí)驗(yàn)實(shí)現(xiàn)的頻率范圍在8MHz~62MHz,。仿真和硬件測(cè)試結(jié)果表明了該設(shè)計(jì)方法的正確性和可行性。
1 基于CPLD的片內(nèi)環(huán)形振蕩器
環(huán)形振蕩器原理如圖1所示,。由奇數(shù)個(gè)非門組成的環(huán)形非門級(jí)聯(lián)串使電路處于無(wú)穩(wěn)定狀態(tài),,靜態(tài)下任何一個(gè)非門的輸入和輸出都不可能穩(wěn)定在高電平或低電平,而只能處于周而復(fù)始的高低電平轉(zhuǎn)換狀態(tài),,從而產(chǎn)生自激振蕩,。振蕩周期為T=2Ntpd,,其中N是非門的個(gè)數(shù),tpd是每個(gè)非門的傳輸延遲時(shí)間,,改變電路中非門的數(shù)量可以改變電路的振蕩頻率,。
圖1所示的環(huán)形振蕩器即使采用電路原理圖輸入,經(jīng)電子設(shè)計(jì)自動(dòng)化(EDA)軟件綜合后,,也得不到對(duì)應(yīng)的電路結(jié)構(gòu),。實(shí)際上,EDA綜合工具不是從電路結(jié)構(gòu)出發(fā),,而是從電路輸入和輸出的邏輯關(guān)系出發(fā)給出綜合結(jié)果,,所以,奇數(shù)個(gè)非門的級(jí)聯(lián)將被綜合為一個(gè)非門,,而偶數(shù)個(gè)非門的級(jí)聯(lián)被綜合為一個(gè)緩沖或一條聯(lián)線,。為能在CPLD器件中實(shí)現(xiàn)圖1的環(huán)形振蕩器結(jié)構(gòu),本文將圖1中單端口輸入元件改成二端口輸入元件,,即用二輸入與非門代替圖1的第一個(gè)非門,,其余偶數(shù)個(gè)非門則用二輸入與門代替,二端口元件的一個(gè)輸入端口連接上級(jí)輸出,,另一輸入端口作為控制端引出,。振蕩器正常工作時(shí)控制端全部置高電平。采用Synplify Pro 7.7綜合后的原理圖如圖2所示,。該電路完全可實(shí)現(xiàn)圖1的功能,。
為了保證正反饋,圖1結(jié)構(gòu)的非門級(jí)聯(lián)必須是奇數(shù)個(gè),。圖2中的與非門起到反相作用,,其他與門則起延時(shí)緩沖的作用??梢酝ㄟ^(guò)改變門的數(shù)量以及選擇門的種類(與門,、與非門等)改變osc輸出端的振蕩頻率,而不受"奇數(shù)"個(gè)門的限制,,只要保障第一個(gè)門得到正反饋就可以產(chǎn)生振蕩,。而圖1的結(jié)構(gòu)必須改變偶數(shù)個(gè)非門才能達(dá)到改變振蕩頻率的目的,因而圖2結(jié)構(gòu)在CPLD芯片中實(shí)現(xiàn)時(shí)可以節(jié)省邏輯資源,??刂贫薿scena[n-1,0]為振蕩使能控制端,,置高電平時(shí),,與非門的輸入和輸出在緩沖級(jí)聯(lián)鏈的反饋?zhàn)饔孟庐a(chǎn)生自激振蕩,振蕩器正常工作,;控制端的任意一位置零使振蕩器停振,。所以oscena既可單獨(dú)使用,,也可互聯(lián)后作為一個(gè)端使用。實(shí)驗(yàn)證明,,圖2結(jié)構(gòu)能夠保證門延時(shí)的等間隔特性,。
2 CPLD片內(nèi)振蕩器的實(shí)現(xiàn)和優(yōu)化
2.1 CPLD片內(nèi)振蕩器的實(shí)現(xiàn)
基于上述方法的片內(nèi)環(huán)形振蕩器設(shè)計(jì)有很大的通用性,可在不同CPLD芯片間方便地移植,。本文以Altera公司的MAX7000S系列CPLD芯片的實(shí)現(xiàn)和測(cè)試為例說(shuō)明,。MAX7000S系列基于先進(jìn)的多矩陣構(gòu)架設(shè)計(jì),采用CMOS工藝制造,,容量高達(dá)256個(gè)邏輯單元LE(Logic El-ement),,每16個(gè)宏單元組成一個(gè)邏輯陣列塊LAB(LogicArray Block),速度達(dá)3.5ns的管腳到管腳延時(shí),,同時(shí)支持多種I/O電壓標(biāo)準(zhǔn),。
從EDA軟件綜合后的報(bào)告可以看出,圖2所示電路中每個(gè)門占用了一個(gè)邏輯單元,。也就是說(shuō),,電路內(nèi)LE的延時(shí)將作為門的延時(shí)tpd,而且需要將振蕩使能端引出到I/O引腳,,當(dāng)所實(shí)現(xiàn)振蕩頻率較低時(shí),,需要較多的門電路單元,這將占用一定的邏輯和引腳資源,,從而降低芯片資源的利用率,,所以在低頻情況下使用時(shí),,要綜合考慮系統(tǒng)需要的振蕩頻率,,盡量用較少的門電路實(shí)現(xiàn)環(huán)形振蕩器,以提供較高振蕩頻率,,再設(shè)計(jì)分頻電路以取得合適的振蕩頻率,,從而提高芯片的資源利用率。綜合器的這一處理,,從客觀上保證了設(shè)計(jì)者可以選擇不同的門來(lái)實(shí)現(xiàn)圖2的結(jié)構(gòu),,仍然可以保證振蕩間隔的一致性。實(shí)驗(yàn)也證實(shí)了這個(gè)結(jié)果,。
2.2 電源電壓的影響
電壓會(huì)影響振蕩電路的工作頻率,,電壓增大會(huì)導(dǎo)致電路振蕩頻率增加,反之振蕩頻率減小,。CPLD芯片一般有兩個(gè)相對(duì)獨(dú)立的供電端口,,即核心電壓(VCCINT)和引腳電壓(VCCIO)。其中核心電壓給芯片內(nèi)部可編程邏輯電路資源提供電源,,引腳電壓為芯片的I/O引腳提供電源,,以適應(yīng)各種輸出標(biāo)準(zhǔn)(如LVCOMOS,、LVTTL、SSTL-2,、SSTL-3等),。對(duì)振蕩頻率有影響的是CPLD芯片的核心電壓,對(duì)此電壓應(yīng)采取穩(wěn)壓措施,,穩(wěn)壓措施要視不同的應(yīng)用要求而定,。最簡(jiǎn)單的措施是采用高性能的穩(wěn)壓芯片給CPLD芯片分別提供兩部分電壓。隨著半導(dǎo)體技術(shù)的發(fā)展,,簡(jiǎn)單而廉價(jià)的穩(wěn)壓芯片已具有較高的性能,,如National公司的LM2678系列芯片在有效輸入變化范圍內(nèi),穩(wěn)壓輸出誤差在±2%以內(nèi),。
2.3 CPLD片內(nèi)振蕩器優(yōu)化
通過(guò)EDA軟件對(duì)設(shè)計(jì)做優(yōu)化有可能提高所設(shè)計(jì)的振蕩器的性能,,減少對(duì)CPLD片內(nèi)資源的占用。當(dāng)采用MAX+plusII10.2軟件設(shè)計(jì)時(shí),,軟件優(yōu)化開關(guān)設(shè)置為:(1)本設(shè)計(jì)選用MAX系列芯片,,故選擇對(duì)該芯片的多層綜合選項(xiàng)(Multi-Level Synthesis for Max5000/7000/9000De-vice)。(2)在面積和速度優(yōu)化選項(xiàng)中,,選擇對(duì)面積的優(yōu)化,,使振蕩器部分盡可能分配到同一個(gè)LAB中。(3)打開"Slow Slew Rate"以降低開關(guān)噪聲,,打開"XOR Synthesis"以減少芯片面積的占用,。
3 電路仿真及測(cè)試結(jié)果
本文以Altera公司的MAX+plus II 10.2為設(shè)計(jì)工具,在MAX7000S系列芯片上實(shí)現(xiàn)并測(cè)試,。圖3為選用EMP7128LC84-15芯片的時(shí)序仿真結(jié)果,。其中p0~p7分別為環(huán)形振蕩電路中單個(gè)門之后的電路節(jié)點(diǎn);oscena[7…0]為各延時(shí)門電路的控制端(即所有二輸入門中多余的輸入端),。
表1列出了以EPM7128LC84-15為目標(biāo)芯片,、采用Tektronic TDS2012示波器對(duì)用不同門數(shù)實(shí)現(xiàn)的片內(nèi)振蕩器的測(cè)試數(shù)據(jù)。F1和F2分別表示片內(nèi)振蕩器輸出和二分頻輸出的測(cè)量數(shù)據(jù),。圖4給出了測(cè)量數(shù)據(jù)的曲線,。
表1數(shù)據(jù)表明,通過(guò)增加門電路的數(shù)量可以有規(guī)律地減小振蕩電路的工作頻率,,由每個(gè)邏輯單元實(shí)現(xiàn)的門電路單元延時(shí)tpd在7.5~10ns之間,。
本文介紹的基于CPLD的片內(nèi)振蕩器設(shè)計(jì)方法,在改變?cè)撜袷幤麟娐分虚T電路數(shù)量時(shí),,可以有規(guī)律地將振蕩頻率控制在8MHz~62MHz范圍內(nèi),。振蕩器的片內(nèi)設(shè)計(jì)使基于CPLD的片上系統(tǒng)(SoC)設(shè)計(jì)無(wú)需外接時(shí)鐘信號(hào)源,加大了系統(tǒng)的集成度并降低了設(shè)計(jì)成本。本方法有很大的通用性,,可以方便地在不同CPLD芯片間移植,。仿真和測(cè)試數(shù)據(jù)表明該設(shè)計(jì)方法具有正確性和可行性。