Cupl實(shí)習(xí)指導(dǎo)講義_第1頁(yè)
Cupl實(shí)習(xí)指導(dǎo)講義_第2頁(yè)
Cupl實(shí)習(xí)指導(dǎo)講義_第3頁(yè)
Cupl實(shí)習(xí)指導(dǎo)講義_第4頁(yè)
Cupl實(shí)習(xí)指導(dǎo)講義_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、低密度pld gal通用邏輯陣列 編程軟件wincupl簡(jiǎn)介cupl語(yǔ)言是可以在windows環(huán)境上開發(fā)gal系列pld的編譯環(huán)境。wincupl這種編譯環(huán)境由atmel 公司出品,是免費(fèi)下載軟件,用於pld器件的編程,支持多種器件,包括gal系列和atf系列??梢圆?寫100次,甚至更多次。一、cupl的保留字cuple的保留字包括以下的字串:appendformatoutassemblyfunctionpartnoassyfusepincompanygrouppinnnode conditionifpresentdatejumprevdefaultlocrevisiondesignerlo

2、cationsequencedevicemacrosequencedelseminsequencejkfieldnamesequencerseldnodeseqlencet這些字串是不能被用作其它的用途的。尤其是不能被當(dāng)作標(biāo)號(hào)使用。cupl語(yǔ)言有一些運(yùn)算符,包括:&#! $()+ * /;"" ,/*/&與#或 !非$異或()括號(hào)+加 -減*乘/除二;分號(hào) /*/注釋cupl語(yǔ)言的用法,在該文件中/*下面是一個(gè)門電路的例子,通過(guò)這個(gè)例子我們可以學(xué)到基本的 */之間的為注釋。namepartnodatedesignetcompanylocationassemb

3、ly/*這是i個(gè)表示gates;ca0001; 07/16/87;g woolheiser;ati;san jose, ca.; example;cupl語(yǔ)言基本用法的例子pin1=a;/*引腳1:輸入端,定義名稱是a名稱可由用戶定*/pin2=b;/*引腳2:輸入端,左義名稱是b名稱可由用戶定*/pin3二 sb;/*引腳3:輸入端,定義名稱是sb名稱可由用戶定*/pin4二 fr;/*引腳4:輸入端,定義名稱是fr名稱可由用戶定*/pin5=sq;/*引腳5:輸入端,定義名稱是sq名稱可由用戶定*/pin6=a0;/*引腳6:輸入端,左義名稱是a0名稱可山用戶立*/pin7=a1;/*引腳

4、7:輸入端,定義名稱是a1名稱可由用戶定*/pin8二 a2;/*引腳&輸入端,泄義名稱是a2名稱可由用戶定*/pin9= 1xk;/*引腳9:輸入端,泄義名稱是1xk名稱可由用戶定*/pin111 =2xk;/*引腳11:輸入端,泄義名稱是2xk名稱可由用戶定*/說(shuō)明1:在g16v8a中,有10個(gè)輸入端。其中第1腳對(duì)作為時(shí)鐘輸入,第11腳可作為片選端。第10腳是*/接地,第20腳是電源。/*非門*/pin13 :invbpin14 =andpin15 =nan clpin16 二=orpin 12 = inva/*非門*/*與門*/*與非門*/*或門*/pin 17=nor/*或非門

5、*/pin 18=xor/*異或門*/pin 19=xnor/*同或門*/*邏輯實(shí)現(xiàn)部分:演示如何利用cupl實(shí)現(xiàn)基本門電路*/inva =!a;/*反相器*/invb =!b;/*反相器*/and 二;a & b;/*與門*/nand =! (a & b);/*與非門*/or二 a # b;/*或門*/nor 二=! (a # b)/*或非門*/xor:a $ b;/*異或門*/xnor =! (a $ b);/*同或門*/通過(guò)上面例子的學(xué)習(xí),我們應(yīng)該對(duì)cupl語(yǔ)言有了初步的了解。wincup 1不但可以編譯該文件,生成jed的熔絲文件,還可以對(duì)該文件進(jìn)行波形仿真。在做小規(guī)

6、模的pld設(shè)計(jì)的時(shí)候,使用gal系列或者atf系列的pld比較方便、便宜。wincupl文件的基本格式在編寫cupl語(yǔ)言源文件需要遵守一定的格式,源文件由頭部說(shuō)明、輸入引腳說(shuō)明、輸出引腳滾明和邏輯 實(shí)現(xiàn)4部分組成,缺一不可。一、頭部說(shuō)明頭部說(shuō)明一般包括以下部分:name waitgen ;partno p9000183 ;revision 02 ;date 1/11/89 ;designet osann ;company logical devices, inc.;assembly pc memory board ;location u106 ;device f155;format ij ;n

7、ame關(guān)鍵字用來(lái)說(shuō)明邏輯文件的文件名,默認(rèn)的擴(kuò)展名是pld,因此可以不寫擴(kuò)展名。partno關(guān)鍵字用來(lái)說(shuō)明對(duì)特定的pld器件對(duì)應(yīng)的某個(gè)公司的部件號(hào)。如果不知道,可以不要這個(gè)部分。revisiondatedesignercompanyassemblylocation設(shè)計(jì)公司設(shè)計(jì)該源文件的版本號(hào)??梢圆惶?,可以沒有 設(shè)計(jì)日期,可以不填,可以沒有設(shè)計(jì)者的名稱,可以不填,可以沒有設(shè)計(jì)者所在公司名稱,可以不填,可以沒有本設(shè)計(jì)用於pc機(jī)板卡時(shí)的名稱,可以沒有 本設(shè)計(jì)用於pc機(jī)板卡時(shí)所在的位置,可以沒有device必填字段,用來(lái)選擇本設(shè)計(jì)所用的具體pld器件型號(hào),format用來(lái)指立本文件編譯後產(chǎn)生的燒寫芯

8、片文件的種類。h表示產(chǎn)生hex格式的ascii碼文件,i表示hl格式的文件,j表示產(chǎn)生jedec格式的文件。二、引腳說(shuō)明在pld源文件中,所用的輸入輸岀引腳都必須說(shuō)明後才能使用,因此,可以象下而格式一樣說(shuō)明引腳:ptn pin_n=!var ;pin是關(guān)鍵字,pin是引腳號(hào)碼,var是引腳定義的名字,該名字用在後面的邏輯實(shí)現(xiàn)中。!是 可選的,用來(lái)說(shuō)明引腳的極性,如果沒有!,輸入是什麼就是什麼,為同相,如果有!,就表示輸入後信號(hào) 反相。下而是一個(gè)實(shí)際的例子:pin 2 = !a;pin 3 = !b;pin 16 = y;y = a & b;/*邏輯實(shí)現(xiàn)部分*/當(dāng)然,如果有一系列的引腳需

9、要說(shuō)明,這些引腳又是連續(xù)的,可以用符號(hào)來(lái)說(shuō)明,比如pin26 = a1.5;就表示引腳2到6用al到a5來(lái)表示,比較方便。三、邏輯實(shí)現(xiàn)部分邏輯實(shí)現(xiàn)部分用來(lái)實(shí)現(xiàn)引腳z間的邏輯關(guān)系。它主要靠一些邏輯操作符來(lái)實(shí)現(xiàn)引腳z間的關(guān)系。這 些邏輯關(guān)系包括:邏輯符號(hào)例子關(guān)系 操作優(yōu)先級(jí)! a not 1& a & b and 2# a # b or 3$a$ b xor4!表示非,&表示與,#表示或,$表示異或,異或的操作優(yōu)先級(jí)最低,非的優(yōu)先級(jí)最高。接下來(lái)我們學(xué)習(xí)如何使用這個(gè)軟件。1、啟動(dòng)wincuplo如圖:?jiǎn)?dòng)界面2、啟動(dòng)完進(jìn)入主界面後,單撃file菜單的new,從new中單撃pr

10、o jet,就是新建一個(gè)工程文件(其實(shí) 還是pld文件),在彈出的對(duì)話框中,“name”(源文件名稱),填入“name",其它包括“date”(創(chuàng)建時(shí) 間、“designer”(設(shè)計(jì)者名稱)、“company”(公司名稱)等根據(jù)需要進(jìn)行填寫。這裏有個(gè)特殊的地方, 就是“device”(器件名稱),系統(tǒng)默認(rèn)的是virtual,就是不針對(duì)任何具體的部件,這裏我們改掉,改成g16v8a,這個(gè)關(guān)鍵字兼atf16v8o如圖所示;1173711ft(yclx_oe2 3 4 5 6 7 8以76543210 o10ddqddd15頭文件信息3、單擊0k後,系統(tǒng)要你輸入你要用的輸入引腳數(shù),如圖,單

11、擊【確定】按鈕。填寫輸入引腳數(shù)3、系統(tǒng)要你輸入要用到的輸出引腳數(shù),如圖,單擊【確定】按釦。填寫輸出引腳數(shù)4、系統(tǒng)要你輸入要使用到的中間節(jié)點(diǎn)數(shù),我們不需要,填0,單擊0k按鈕。這樣系統(tǒng)就建立了一個(gè)pld文件,文件名就是name. pldo系統(tǒng)將該文件顯示出來(lái)了,就象下血這樣: namename ;partno00 ;date2009-8-11 ;revisiondesigner companyassemblylocation01 ;engineer cjy ;none ;device g16v8a ;/* *input pins*pin=pin=pin=i * * outputpins *pin

12、pin;/*;/*例題:兩輸入端與門具髏步驟是:1、啟動(dòng)wincupl。啟動(dòng)完進(jìn)入主界面後,單擊file菜單的new,從new中單擊projet,就是新建一個(gè)工 程文件(其實(shí)還是pld文件),在彈出的對(duì)話框中,可以填您的源文件名字(name)o器件(device),系 統(tǒng)默認(rèn)的是virtual,就是不針對(duì)任何具體的部件,這裏我們改掉,改成gl6v8a,這個(gè)關(guān)鍵字兼容atf16v8。2、單擊0k後,系統(tǒng)要你輸入你要用的輸入引腳數(shù),因?yàn)槲覀冎挥袃蓚€(gè)輸入端,因此填2,單擊0k按鈕。3、系統(tǒng)要你輸入要用到的輸出引腳數(shù),填1,單擊0k按鈕。4、系統(tǒng)要你輸入要使用到的中間節(jié)點(diǎn)數(shù),我們不需要,填0,單擊0k

13、按鈕。這樣系統(tǒng)就建立了一個(gè)pld 文件,文件名就是name. pldo系統(tǒng)將該文件顯示出來(lái)了,就彖下面這様:namename ;partno 00 ;date2006-8-9 ;revision 01 ;designer wuj1an ;company tale ;assembly none ;location ;device gl6v8a ;/* * input pins */pin=*/*/*pin=/*/* * output ptns */pin/*/因此,這個(gè)文件是空的,我們填一下,將輸入輸出引腳都填好,把邏輯也寫完,就象下面這樣:namepartnodatename ;00 ;200

14、6-8-9 ;revision 01designer wujian ;company tale ;assembly none ;location ;device gl6v8a ;/* * input pins */pin2=a/*/pin3=b/*/ /output pins */ptn12=y/*/y = a & b寫好後,我們需要編譯該文件。在run菜單中,單擊device dependent comp訂e,就是基於器件 型號(hào)的編譯。如果沒有出現(xiàn)什麼鍵入錯(cuò)誤,都能成功編譯。在proteus中仿真如果我們需要驗(yàn)證pld器件與其它器件聯(lián)合工作的情況呢?那就需要利用另一個(gè)著名的仿真軟件p

15、roteus 軟件自帶pld庫(kù)進(jìn)行了。在proteus中,pld器件所需要載入的文件是jed ”文件(就像仿真單片機(jī)所需要.hex文件一樣)。 載入“.jed ”文件:就像載入單片機(jī)“hex”文件一樣(如果熟悉proteus操作的可按照自己的方法載入文件),將鼠標(biāo) 放在u1上,右擊,然後左擊,在“jedec fuse map f訂e:”處,如圖7(a),找到我們剛剛保存源文件的 地方,選擇“encoder, jed”文件,然後打開,如圖7(b),最後點(diǎn)擊“0k”,如 圖8(c)。裝好proteus7. 1後,在元件庫(kù)的pld/fpga項(xiàng)日中選擇am16v8,其實(shí)就是gal16v8,將英放到原理

16、圖上, 然後拖電阻和開關(guān)到原理圖上,再拖個(gè)發(fā)光管到電路上。將其連好,如下圖所示。在原理圖的am16v8上,選中它,然後在上面單擊鼠標(biāo)左鍵,在彈出的對(duì)話框的jedec fuse map file欄中單擊右側(cè)的瀏覽圖標(biāo),裝入name. jed文件即可。單擊0k按鈕關(guān)閉該對(duì)話框。練習(xí)題練習(xí)題:點(diǎn)動(dòng)控制電路 一、接觸一繼電線路圖:二、程序namepartnodaterevi siondesignercompanyassemblylocaliondevice1dd ;00 ;2009-7-26 ;01 ;engineer ;nbbao ;none ;gl6v8a ;/* * inputpinpins *

17、/2 = sb; /*/* * output pins */pin 18 = km;/*/*/km=sb三、仿真圖練習(xí)題:自鎖控制電路一、接觸一繼電線路圖:二、程序name3zs ;partno00 ;date2009-7-26revision01 ;designerengineer ;companynbbao ;assemblynone ;locationdevicegl6v8a ;/* * input ptns */pin 2=sb1;/*/pin 3=sb2;/*停止按鈕用常閉*/f aoutput pins */pin 18 二kmfkm=(sb1#km)&sb2 ;/*停止按

18、鈕用常閉*/三、仿真圖練習(xí)題:點(diǎn)動(dòng)與連續(xù)控制電路qsp3點(diǎn)動(dòng)與連續(xù)控制電路力frlpkm0練習(xí)題:雙重聯(lián)鎖止反轉(zhuǎn)電路控制電路一、接觸一繼電線路圖:二、程序/* * input pins */pin 2= er*/ptn 3= sb3;/*/pin 4= sb1;/*/pin 5= sb2;/*/faoutput pi's */pin 17= km1;/*/pin 18= km2;/*/km1二!km2&!sb2&(sb1#km1)&sb3&frkm2=!km1&!sb1&(sb2#km2)&sb3&fr三、仿真圖y-112

19、m-44kw38)v 8.8a1460raiin練習(xí)題:2臺(tái)水泵電機(jī)控制電路2臺(tái)水泵抽水,是向水池外面抽水,而不是向內(nèi)供水。工藝要求:(1)、當(dāng)水池內(nèi)水位升高到第一高度時(shí),作為主泵運(yùn)行的電動(dòng)機(jī)啟動(dòng),第一臺(tái)水泵工作向外抽水。若水位繼續(xù)上升到第二高度時(shí),作為備用泵的運(yùn)行電動(dòng)機(jī)啟動(dòng),笫二臺(tái)水泵工作向外抽水。 當(dāng)水位到最低水位後自動(dòng)停機(jī)。(2)、兩臺(tái)電動(dòng)機(jī)運(yùn)行狀態(tài)(主電機(jī)和備用電機(jī))能自動(dòng)轉(zhuǎn)換,要求其每次運(yùn)行後,輪換改作主泵運(yùn)行 一次。第渤立第一枷木也li l2 l3li l2 l3-、接觸一繼電線路圖: ui、m 叫1.3 2號(hào)韌機(jī)2臺(tái)水泵抽水,是向水池外血抽水,而不是向內(nèi)供水。 工藝要求:(1)、

20、當(dāng)水池內(nèi)水位升高到第一高度時(shí),作為主泵運(yùn)行的電動(dòng)機(jī)啟動(dòng),第一臺(tái)水泵工作向外抽水。 若水位繼續(xù)上升到第二高度時(shí),作為備用泵的運(yùn)行電動(dòng)機(jī)啟動(dòng),第二臺(tái)水泵工作向外抽水。 當(dāng)水位到最低水位後自動(dòng)停機(jī)。(2)、兩臺(tái)電動(dòng)機(jī)運(yùn)行狀態(tài)(主電機(jī)和備用電機(jī))能自動(dòng)轉(zhuǎn)換,要求其每次運(yùn)行後,輪換改作主泵運(yùn)行 一次。(3)、具有手動(dòng)操作開關(guān),單獨(dú)控制泵1和泵2工作。(4)、7“也動(dòng)輪流切換: 1k1-0ff1k2、1k3、1k4-0i1 號(hào)泵e作: 1k1、1k2、1k4-0ff;1k3-0n2 號(hào)泵12作:1k3-0ff 1k1、1k2、1k4-0nkm21 號(hào)泵:2k1qq qqq qqqgoolmb (32比蟲匕血段h:s婪介軼:_-no:t“zmd:>:sb ddlobexu - - - notemb .u:-:fe:qyh 二型二二¥ . . nq3:t:2:二八旦rddoer 0 皿xlu1x-ix41x-ix3

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論