在伺服控制卡卡法的過(guò)程中,CPLD的使用時(shí)一大特色,也是一大難點(diǎn)。CPLD(Complex Programmable Logic Device)復(fù)雜可編程邏輯器件,是從PAL和GAL器件發(fā)展出來(lái)的器件,相對(duì)而言規(guī)模大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計(jì)方法是借助集成開發(fā)軟件平臺(tái),用原理圖、硬件描述語(yǔ)言等方法,生成相應(yīng)的目標(biāo)文件,通過(guò)下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標(biāo)芯片中,實(shí)現(xiàn)設(shè)計(jì)的數(shù)字系統(tǒng)。
CPLD是可以根據(jù)需要組合成各種電路,但是它并不是隨意組合的,因?yàn)镃PLD的內(nèi)部資源也是有限的,組成的電路過(guò)多,就會(huì)造成內(nèi)部邏輯單元的耗盡,不能編譯成功。有時(shí),一個(gè)從傳統(tǒng)上認(rèn)為正確的電路,寫入CPLD后,卻不能得到正確的結(jié)果,舉個(gè)例子,設(shè)計(jì)一個(gè)傳統(tǒng)的計(jì)數(shù)器74ls193,如果用級(jí)連方式可以正常使用,但是在CPLD中,卻發(fā)現(xiàn)記數(shù)不穩(wěn)定有很多毛刺,讀數(shù)會(huì)發(fā)生錯(cuò)誤。其實(shí),傳統(tǒng)的分立元件74ls193也有毛刺,但是因?yàn)閭鹘y(tǒng)74ls193引腳和PCB板間有10pf左右的電容,很多毛刺就被濾掉了,而CPLD的速度非???,內(nèi)部沒有這種電容,則真是的反映了這種情況,在開發(fā)中嘗嘗會(huì)遇到這種情況,計(jì)數(shù)器工作不穩(wěn)定,有時(shí)數(shù)字會(huì)有突變,這時(shí),應(yīng)該采用同步計(jì)數(shù)器電路來(lái)消除毛刺,并增加了讀數(shù)時(shí)的鎖存,終于有效的消除了毛刺,經(jīng)過(guò)大量的試驗(yàn),計(jì)數(shù)電路非常穩(wěn)定可靠。
總之,以VHDL語(yǔ)言作表達(dá)設(shè)計(jì)意圖、CPLD作為硬件載體、計(jì)算機(jī)作為開發(fā)工具、EDA軟件為開發(fā)環(huán)境的現(xiàn)代電子設(shè)計(jì)方法日趨成熟。我相信,VHDL語(yǔ)言在EDA領(lǐng)域必將占有更加重要的地位。