0 引 言
可編程邏輯器件PLD(Programmable Logic De-vice)是一種數(shù)字電路,它可以由用戶來(lái)進(jìn)行編程和進(jìn)行配置,,利用它可以解決不同的邏輯設(shè)計(jì)問(wèn)題,。PLD由基本邏輯門電路、觸發(fā)器以及內(nèi)部連接電路構(gòu)成,,利用軟件和硬件(編程器)可以對(duì)其進(jìn)行編程,,從而實(shí)現(xiàn)特定的邏輯功能??删幊踢壿嬈骷?0世紀(jì)70年代初期以來(lái)經(jīng)歷了從PROM,,PLA,PAL,,GAL到CPLD和FPGA的發(fā)展過(guò)程,,在結(jié)構(gòu)、工藝,、集成度,、功能、速度和靈活性方面都有很大的改進(jìn)和提高,。
隨著數(shù)字集成電路的不斷更新和換代,,特別是可編程邏輯器件的出現(xiàn),使得傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法發(fā)生了根本的改變,??删幊踢壿嬈骷撵`活性使得硬件系統(tǒng)設(shè)計(jì)師在實(shí)驗(yàn)室里用一臺(tái)計(jì)算機(jī)、一套相應(yīng)的EDA軟件和可編程邏輯芯片就可以完成數(shù)字系統(tǒng)設(shè)計(jì)與生產(chǎn),。
1 Max+plusⅡ簡(jiǎn)介
Max+plusⅡ是一種與結(jié)構(gòu)無(wú)關(guān)的全集成化設(shè)計(jì)環(huán)境,,使設(shè)計(jì)者能對(duì)Altera的各種CPLD系列方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程,。Max+plusⅡ開發(fā)系統(tǒng)具有強(qiáng)大的處理能力和高度的靈活性,,其主要優(yōu)點(diǎn):與結(jié)構(gòu)無(wú)關(guān)、多平臺(tái),、豐富的設(shè)計(jì)庫(kù),、開放的界面、全集成化,、支持多種硬件描述語(yǔ)言(HDL)等,。
數(shù)字系統(tǒng)的設(shè)計(jì)采用自頂向下、由粗到細(xì),,逐步分解的設(shè)計(jì)方法,,最頂層電路是指系統(tǒng)的整體要求,最下層是具體的邏輯電路的實(shí)現(xiàn),。自頂向下的設(shè)計(jì)方法將一個(gè)復(fù)雜的系統(tǒng)逐漸分解成若干功能模塊,,從而進(jìn)行設(shè)計(jì)描述,并且應(yīng)用EDA軟件平臺(tái)自動(dòng)完成各功能模塊的邏輯綜合與優(yōu)化,門級(jí)電路的布局,,再下載到硬件中實(shí)現(xiàn)設(shè)計(jì),,具體設(shè)計(jì)過(guò)程如下。
1.1 設(shè)計(jì)輸入
Max+plusⅡ支持多種設(shè)計(jì)輸入方式,,如原理圖輸入,、波形輸入、文本輸入和它們的混合輸入,。
1.2 設(shè)計(jì)處理
設(shè)計(jì)輸入完后,,用Max+plusⅡ的編譯器編譯、查錯(cuò),、修改直到設(shè)計(jì)輸入正確,,同時(shí)將對(duì)輸入文件進(jìn)行邏輯簡(jiǎn)化、優(yōu)化,,最后生成一個(gè)編程文件,,這是設(shè)計(jì)的核心環(huán)節(jié)。
1.3 設(shè)計(jì)檢查
Max+plusⅡ?yàn)樵O(shè)計(jì)者提供完善的檢查方法設(shè)計(jì)仿真和定時(shí)分析,,其目的是檢驗(yàn)電路的邏輯功能是否正確,,同時(shí)測(cè)試目標(biāo)器件在最差情況下的時(shí)延,這一查錯(cuò)過(guò)程對(duì)于檢驗(yàn)組合邏輯電路的競(jìng)爭(zhēng)冒險(xiǎn)和時(shí)序邏輯電路的時(shí)序,、時(shí)延等至關(guān)重要,。
1.4 器件編程
當(dāng)電路設(shè)計(jì)、校驗(yàn)之后,,Max+plusⅡ的Program-mer將編譯器所生成的編譯文件下載到具體的CPLD器件中,,即實(shí)現(xiàn)目標(biāo)器件的物理編程。
2 以計(jì)數(shù)器為例介紹具體的設(shè)計(jì)方法
計(jì)數(shù)器是非常常用的時(shí)序邏輯電路,。計(jì)數(shù)器類型有多種,實(shí)現(xiàn)計(jì)數(shù)器的方法也有很多,??梢再I到大部分類型的中規(guī)模集成的計(jì)數(shù)器直接使用,也可以用觸發(fā)器搭建符合要求的計(jì)數(shù)器,。但是采用以上方法實(shí)現(xiàn)的計(jì)數(shù)器靈活性不夠,,不能隨時(shí)進(jìn)行修改,通用性差,。這里介紹基于可編程邏輯器件的實(shí)現(xiàn)方法,。
2.1 設(shè)計(jì)輸入
采用原理-圖輸入的思維方式比較適合一直采用傳統(tǒng)設(shè)計(jì)方法人的使用。原理圖輸入如圖1所示,。
采用硬件描述語(yǔ)言輸入的方法對(duì)于沒(méi)有傳統(tǒng)設(shè)計(jì)方法經(jīng)驗(yàn)的人更容易入門,,修改起來(lái)也更方便。給出了一個(gè)可逆計(jì)數(shù)器的實(shí)現(xiàn)實(shí)例,程序的核心部分如下:
2.2 設(shè)計(jì)處理
原理圖或程序完成之后,,選擇好器件并進(jìn)行引腳定義,,然后編譯優(yōu)化得到編程文件的界面如圖2所示。
2.3 設(shè)計(jì)檢查
編譯結(jié)束后,,建立波形文件進(jìn)行仿真,,注意波形文件需要先保存,保存文件名和源文件一致才能進(jìn)行仿真,。結(jié)果如圖3所示,。
仿真結(jié)果達(dá)到設(shè)計(jì)目的,符合設(shè)計(jì)要求,。這時(shí)可以把編譯生成的*.pof文件下載到選定的器件使用,。用以上方法實(shí)現(xiàn)的器件,修改起來(lái)非常方便,,只需要修改程序重新編譯下載即可,,任何類型的計(jì)數(shù)器都可以在可編程邏輯器件實(shí)現(xiàn)。
3 結(jié) 語(yǔ)
隨著電子技術(shù)的高速發(fā)展,,CPLD和FPGA器件在集成度,、功能和性能(速度及可靠性)方面已經(jīng)能夠滿足大多數(shù)場(chǎng)合的使用要求。用CPLD,,F(xiàn)PGA等大規(guī)??删幊踢壿嬈骷〈鷤鹘y(tǒng)的標(biāo)準(zhǔn)集成電路、接口電路和專用集成電路已成為技術(shù)發(fā)展的必然趨勢(shì),??删幊踢壿嬈骷沁壿嬈骷易逯邪l(fā)展最快的一類器件,它出現(xiàn)使得產(chǎn)品開發(fā)周期縮短,、現(xiàn)場(chǎng)靈活性好,、開發(fā)風(fēng)險(xiǎn)變小,隨著工藝,、技術(shù)及市場(chǎng)的不斷發(fā)展,,PLD產(chǎn)品的價(jià)格將越來(lái)越便宜、集成度越來(lái)越高,、速度越來(lái)越快,,再加上其設(shè)計(jì)開發(fā)采用符合國(guó)際標(biāo)準(zhǔn)的、功能強(qiáng)大的通用性EDA工具,,可編程邏輯器件的應(yīng)用前景將愈來(lái)愈廣闊,。