在Protel99SE下實(shí)現(xiàn)可編程邏輯器件設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
關(guān)鍵詞:可編程邏輯器件(PLD);硬件描述語(yǔ)言(CUPL);Protel99se
1 引言
在以往的DSP設(shè)計(jì)中,采用TTL、CMOS電路和專用數(shù)字電路進(jìn)行設(shè)計(jì)時(shí),器件對(duì)電路的處理功能是固定的,用戶不能定義或修改其邏輯功能。但隨著電子技術(shù)的發(fā)展和工程對(duì)所需功能復(fù)雜程度的進(jìn)一步提高,系統(tǒng)將需要很多芯片,這樣,在芯片之間,以及芯片和印刷電路板的布線和接點(diǎn)也相應(yīng)增多,因而導(dǎo)致系統(tǒng)的可靠性下降和功耗增加,這樣也就越來(lái)越不能滿足工程實(shí)際的需要。而大規(guī)??删幊踢壿嬈骷?PLD:Programmable Logic Device?和基于芯片的EDA?Electronic Design Automatic電子設(shè)計(jì)自動(dòng)化?工具軟件則可以解決這一問(wèn)題。半導(dǎo)體技術(shù)的提高使ASIC?Application Specific Integrated Circuit:特定用途集成電路?設(shè)計(jì)技術(shù)日趨完善,同時(shí)可編程邏輯器件在結(jié)構(gòu)、工藝、集成度、功能、速度、靈活性等方面的改進(jìn)和提高,也為高效率、高質(zhì)量、靈活設(shè)計(jì)數(shù)字系統(tǒng)提供了可靠性。此外,CPLD?Complex Pro-grammable Logic Device?或FPGA?Field Programmable Array?技術(shù)的出現(xiàn),又為DSP提供了一種嶄新的方法,并使CPLD或FPGA設(shè)計(jì)的DSP系統(tǒng)具有良好的實(shí)用性和極強(qiáng)的實(shí)時(shí)性。
在Protel99se嵌套的PLD99的開(kāi)發(fā)環(huán)境下,可編程邏輯器件設(shè)計(jì)可以直接面向用戶要求,自上而下地逐層完成相應(yīng)的描述、綜合、優(yōu)化、仿真與驗(yàn)證,直到生成能夠下載到器件的JED文件,該方法結(jié)構(gòu)嚴(yán)謹(jǐn),易于操作,其設(shè)計(jì)流程如圖1所示。
2 實(shí)例介紹
在某工程中,要求利用SYN0,SYN1,SYN2,SYN3,SYN4,SYN5作為同步信號(hào)進(jìn)行64個(gè)通道的選擇,以使64個(gè)通道在不同時(shí)刻進(jìn)行工作,電路產(chǎn)生的發(fā)射脈沖連接在64個(gè)雙晶探頭上,然后將雙晶探頭產(chǎn)生的原始回波信號(hào)a1,b1,c1,d1經(jīng)過(guò)AD8184?四選一開(kāi)關(guān)?輸出到信號(hào)板進(jìn)行處理。
3 設(shè)計(jì)過(guò)程
3.1 確定設(shè)計(jì)目的
由于每一通道的電路都是相同的,考慮到硬件電路以及電路板容量的問(wèn)題,可先將64個(gè)通道分成16組,即每塊電路PCB板設(shè)計(jì)四個(gè)通道,這16組利用SYN2,SYN3,SYN4,SYN5和撥碼開(kāi)關(guān)S1選通,然后利用SYN0,SYN1產(chǎn)生選通每塊電路板的四個(gè)通道的選通信號(hào)A0、A1和輸出使能EN,其電路原理如圖2所示,信號(hào)的先后次序及邏輯關(guān)系見(jiàn)圖3。
3.2 PLD器件的選擇和輸入輸出的確定
由于CUPL語(yǔ)言與器件和生產(chǎn)廠家無(wú)關(guān),根據(jù)設(shè)計(jì)目的和要求,最簡(jiǎn)單、最常用的GAL22V10可以作為目標(biāo)器件。根據(jù)GAL22V10的技術(shù)資料和器件各個(gè)管腳的定義,可將同步信號(hào)SYN0,SYN1,SYN2 ,SYN3,SYN4,SYN5和撥碼開(kāi)關(guān)S1的四個(gè)管腳作為輸入信號(hào),即選擇2~11為輸入管腳,13腳直接接地,14~20為輸出管腳,其中14~17腳用來(lái)進(jìn)行通道選擇,18、19腳作為AD8184的選通信號(hào),20腳作為AD8184的輸出使能,參見(jiàn)圖2。
圖3 信號(hào)邏輯關(guān)系圖
3.3 創(chuàng)建包括頭信息的源文件
在PLD99的開(kāi)發(fā)環(huán)境下,根據(jù)上述設(shè)想及管腳分配,利用Protel99se模板和硬件描述語(yǔ)言CUPL定義輸入輸出管腳,以創(chuàng)建包括頭信息的文本文件Tan-Shang.pld,然后用CUPL語(yǔ)言寫(xiě)出如下的中間變量邏輯式和邏輯等式?注:由于描述變量EN的乘積項(xiàng)過(guò)多,故將變量EN分成中間變量EN1和EN2?,并完善文本文件。經(jīng)過(guò)一系列設(shè)置后便可編譯原文件,編譯成功后會(huì)提示Compilation successful,方法如下:
/** Declarations and Intermediate Variables **/
EN1=!(k1 & k2 & k3 & k4 & syn2 & syn3 & syn4 & syn5
#!k1 & k2 & k3 & k4 & !syn2 & syn3 & syn4 & syn5
#k1 & !k2 & k3 & k4 & syn2 & !syn3 & syn4 & syn5
#!k1 & !k2 & k3 & k4 & !syn2 &!syn3 & syn4 & syn5
#k1 & k2 & !k3 & k4 & syn2 & syn3 & ?。螅睿?& syn5
#!k1 & k2 & !k3 & k4 & !syn2 & syn3 & !syn4 & syn5
#k1 & ?。耄?& !k3 & k4 & syn2 & ?。螅睿?& !syn4 & syn5
#?。耄?& !k2 & ?。耄?& k4 & !syn2 &?。螅睿?& ?。螅睿?& syn5??
EN2=?。ǎ耄?& k2 & k3 & ?。耄?& syn2 & syn3 & syn4 & ?。螅睿?/P>
#?。耄?& k2 & k3 & ?。耄?& !syn2 & syn3 & syn4 &?。螅睿?/P>
#k1 & ?。耄?& k3 &?。耄?& syn2 &!syn3 & syn4 & ?。螅睿?/P>
#?。耄?& ?。耄?& k3 & !k4 & ?。螅睿?& ?。螅睿?& syn4 & ?。螅睿?/P>
#k1 & k2 & ?。耄?& ?。耄?& syn2 & syn3 &!syn4 & ?。螅睿?/P>
#!k1 & k2 & ?。耄?& ?。耄?& !syn2 & syn3 & ?。螅睿?&! syn5
#k1 & !k2 & !k3 & !k4 & syn2 &!syn3 & !syn4 & !syn5
#!k1 & !k2 & !k3 & !k4 &!syn2 & !syn3 &!syn4 &!syn5);/** Logic Equations **/
EN=EN1&EN2?
A1=!syn1 &!EN?
A0=!syn0 &!EN?
a=!A1&!A0& !EN?
b=!A1&A0& !EN?
c=A1&!A0& !EN?
d=A1&A0&!EN?
圖4 查看波形輸出文件
3.4 設(shè)置仿真向量
通過(guò)創(chuàng)建仿真測(cè)試文件TanShang.SI可進(jìn)行仿真測(cè)試,以產(chǎn)生如圖3的仿真波形,當(dāng)編譯和仿真成功后,即可得到可下載到可編程邏輯器件的JED文件。該仿真測(cè)試文件Tanshang.SI如下:
ORDER:syn5,syn4,syn3,syn2,syn1,syn0,k4,k3,k2,k1,OE,EN,A1,A0,a,b,c,d;
VECTORS:
00000000001LHHLLLH
00000100001LHLLLHL
00001000001LLHLHLL
00001100001LLLHLLL
從仿真結(jié)果很明顯地可以看出:撥碼開(kāi)關(guān)的四位K1,K2,K3,K4分別代表00~0F(十六進(jìn)制碼)這16組,而每組的四個(gè)通道的輸出為a,b,c,d;由于SYN0,SYN1,SYN2,SYN3,SYN4,SYN5可組成00~3F(十六進(jìn)制碼)共64個(gè)通道,從而實(shí)現(xiàn)了利用SYN0,SYN1,SYN2,SYN3,SYN4,SYN5分時(shí)選通64個(gè)通道回波信號(hào)的功能。由于EN始終為低電平信號(hào),因此保證了AD8184的選通信號(hào)能夠起作用。
4 結(jié)論
利用Advanced Protel PLD99的硬件描述語(yǔ)言CUPL進(jìn)行PLD設(shè)計(jì),具有設(shè)計(jì)簡(jiǎn)單、可操作性強(qiáng)的優(yōu)點(diǎn),在采用可編程邏輯器件進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),由于其硬件描述語(yǔ)言CUPL能夠定義內(nèi)部邏輯和外接管腳的功能,而且在設(shè)計(jì)中根本不必考慮邏輯器件內(nèi)部連線和組合邏輯陣列?Interconnect And Combinato-rial Logical?,再加上除了系統(tǒng)行為和功能描述外,所有設(shè)計(jì)過(guò)程都可以用計(jì)算機(jī)自動(dòng)完成,所以,通過(guò)可編程邏輯器件?FPGA?等開(kāi)發(fā)工具,在實(shí)驗(yàn)室就可以設(shè)計(jì)出專用的集成電路,從而真正實(shí)現(xiàn)電子設(shè)計(jì)自動(dòng)化。由此可見(jiàn):該方法并為數(shù)字系統(tǒng)的設(shè)計(jì)提供了非常方便的手段,靈活地解決了眾多復(fù)雜的工程實(shí)踐問(wèn)題,從而可大大縮短研發(fā)時(shí)間。