版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第11章 可編程邏輯器件及其開發(fā)工具.本章主要內(nèi)容(1) 可編程邏輯器件概述(2) FPGA的任務(wù)原理與根本構(gòu)造(3) FPGA的設(shè)計(jì)與開發(fā).11.1 可編程邏輯器件PLD概述11.1.1 PLD的產(chǎn)生傳統(tǒng)的硬件電路設(shè)計(jì)方法普通是先選用規(guī)范通用集成電路芯片,再由這些芯片“自下而上地構(gòu)成電路、子系統(tǒng)和系統(tǒng)。采用這種設(shè)計(jì)方法,對(duì)系統(tǒng)進(jìn)展設(shè)計(jì)并調(diào)試終了后,所構(gòu)成的設(shè)計(jì)文件主要是由假設(shè)干張電原理圖構(gòu)成的文件。設(shè)計(jì)者在電原理圖中詳細(xì)標(biāo)注各邏輯單元、器件稱號(hào)及相互間的銜接關(guān)系。這種設(shè)計(jì)文件是用戶運(yùn)用和維護(hù)系統(tǒng)的根據(jù)。對(duì)于大系統(tǒng),由于電路系統(tǒng)非常復(fù)雜,所以其電原理圖能夠需求成千上萬張,這給閱讀、歸檔、修正和
2、運(yùn)用均帶來極大的費(fèi)事。.近年來開展起來的電子設(shè)計(jì)自動(dòng)化EDA技術(shù),采用“自上而下的設(shè)計(jì)方法來進(jìn)展邏輯電路的設(shè)計(jì)。在這種嶄新的設(shè)計(jì)方法中,可以由用戶對(duì)整個(gè)電路系統(tǒng)進(jìn)展方案設(shè)計(jì)和功能劃分,系統(tǒng)地關(guān)鍵電路由一片或幾片公用集成電路ASIC構(gòu)成。ASIC的設(shè)計(jì)與制造,已不再完全由半導(dǎo)體廠家獨(dú)立承當(dāng),用戶本身就可以在本人的實(shí)驗(yàn)室里設(shè)計(jì)出適宜的ASIC器件,并且可以立刻投入實(shí)踐運(yùn)用之中。這種電子技術(shù)設(shè)計(jì)領(lǐng)域中的艱苦變革,主要得益于可編程邏輯器件PLD的產(chǎn)生與運(yùn)用。 .采用PLD技術(shù),用戶利用專門的硬件描畫言語,根據(jù)本人的運(yùn)用需求來定義和構(gòu)造邏輯電路,描畫其邏輯功能,利用EDA工具軟件,經(jīng)過特定的編譯或轉(zhuǎn)換程
3、序,生成相應(yīng)的目的文件,再由編程器和下載電纜將設(shè)計(jì)文件配置到PLD器件中,即可得到滿足用戶要求的公用集成電路了。PLD的產(chǎn)生與運(yùn)用,不僅簡化了電路設(shè)計(jì),降低了本錢,提高了系統(tǒng)的可靠性,而且還有力地推進(jìn)了數(shù)字電路設(shè)計(jì)方法的革新。.11.1.2 PLD的開展1.可編程只讀存儲(chǔ)器PROM2.可編輯邏輯陣列PLA3可編程陣列邏輯PAL4通用陣列邏輯GAL上述PROM、PLA、PAL和GAL器件構(gòu)造簡單,對(duì)開發(fā)軟件的要求低,但它們的電路規(guī)模小,難以實(shí)現(xiàn)復(fù)雜的邏輯功能,所以均屬簡單可編程器件SPLD。隨著技術(shù)的開展,包括CPLD(Complex Programmable Logic Device)和FPG
4、A在內(nèi)的復(fù)雜PLD器件迅速開展起來。 .5. 現(xiàn)場可編程門陣列FPGA1985年,XiLinx公司推出世界上第一片現(xiàn)場可編程門陣列FPGA。它是一種新型高密度的PLD器件,采用COMS-SRAM工藝制造,其內(nèi)部有許多獨(dú)立的可編程邏輯模塊CLB組成,邏輯模塊之間可以靈敏地至連起來。FPGA構(gòu)造通常包括三種邏輯模塊:可編程邏輯模塊CLB、可編程輸入/輸出模塊I/OB和可編程連線資源PI。較復(fù)雜的FPGA構(gòu)造中還有其他一些功能模塊。. CLB的功能很強(qiáng),不僅能實(shí)現(xiàn)邏輯函數(shù),還可以配置成移位存放器或RAM等復(fù)雜方式。 配置數(shù)據(jù)存放在片內(nèi)的SRAM或者熔絲圖上,基于SRAM的FPGA器件任務(wù)前需求從芯片
5、外部加載配置數(shù)據(jù)。加載的配置數(shù)據(jù)可以存儲(chǔ)在片外的E2PROM或者計(jì)算機(jī)上,設(shè)計(jì)人員可以控制加載過程,在現(xiàn)場修正器件的邏輯功能,即所謂現(xiàn)場可編程。.11.1.3 PLD的主要特點(diǎn)1. 高密度 2. 低功耗 3. 高速度4. 高開發(fā)效率各種PLD均有相應(yīng)開發(fā)工具軟件給予支持,電路設(shè)計(jì)人員在很短的時(shí)間內(nèi)就可以完成電路輸入、編譯、仿真、綜合和配置編程,直至最后芯片的制造,從根本上改動(dòng)了傳統(tǒng)的電子電路設(shè)計(jì)方法。另外,PLD本身可以反復(fù)編程、擦除、從而使開發(fā)、設(shè)計(jì)效率得到極大的提高。.11.1.4 PLD的根本構(gòu)造 PLD的根本構(gòu)造是由“與陣列、“或陣列、輸出緩沖電路和輸出電路構(gòu)成,反響信號(hào)經(jīng)過內(nèi)部反響通
6、道饋送到輸入端,如圖11.1 所示?!芭c陣列和“或陣列是PLD電路的主體,“與陣列用來產(chǎn)生乘積項(xiàng),“或陣列用來產(chǎn)生乘積項(xiàng)之和。輸入緩沖電路可以使輸入信號(hào)具有足夠的驅(qū)動(dòng)才干,并產(chǎn)生輸入變量的原變量和反變量。.根據(jù)電路功能的不同,PLD可以由“或陣列直接輸出組合電路方式,也可以經(jīng)過觸發(fā)器或存放器輸出時(shí)序電路方式。輸出可以是高電平有效,也可以是低電平有效,輸出端通常都采用三態(tài)門構(gòu)造。11.1 PLD的構(gòu)造框圖.11.2 PGA的任務(wù)原理與根本構(gòu)造11.2.1 FPGA的任務(wù)原理由于FPGA可以被反復(fù)擦寫,因此它所實(shí)現(xiàn)的邏輯電路不是經(jīng)過固定門電路的銜接來完成,而是采用一種易于反復(fù)配置的構(gòu)造,查找表可以
7、很好地滿足這一要求。目前,主流FPGA都采用了基于SRAM的查找表構(gòu)造,也有一些高可靠性要求的FPGA產(chǎn)品采用Flash或者熔絲工藝的查找表構(gòu)造??山?jīng)過擦寫文件改動(dòng)查找表內(nèi)容的方法來實(shí)現(xiàn)對(duì)FPGA的反復(fù)配置。 .根據(jù)數(shù)字電路的根本原理,對(duì)于一個(gè)具有n個(gè)輸入的邏輯運(yùn)算,不論是與、或、非運(yùn)算還是“異或運(yùn)算,最多有2n中輸出結(jié)果。所以,假設(shè)事先將輸入變量的一切取值能夠及對(duì)應(yīng)輸出結(jié)果即真值表存放于一個(gè)RAM存儲(chǔ)器中,然后經(jīng)過查表來由輸入找到對(duì)應(yīng)的輸出值,就相當(dāng)于實(shí)現(xiàn)了與真值表的內(nèi)容相對(duì)應(yīng)的邏輯電路的功能。FPGA的根本原理就是如此,它經(jīng)過擦寫文件去配置查找表的內(nèi)容,從而在一樣的電路情況下實(shí)現(xiàn)了不同的邏
8、輯功能。.查找表Look-Up-Table簡稱LUT,LUT實(shí)踐上就是一個(gè)RAM。目前,F(xiàn)PGA中多數(shù)運(yùn)用4輸入的LUT,每一個(gè)LUT可以看成一個(gè)有4位地址線的161的RAM。當(dāng)用戶經(jīng)過原理圖或硬件描畫言語HDL描畫了一個(gè)邏輯電路以后,F(xiàn)PGA開發(fā)軟件就會(huì)自動(dòng)計(jì)算邏輯電路的一切能夠結(jié)果,并把這些計(jì)算結(jié)果即邏輯電路的真值表事先寫入RAM中,這樣,每輸入一組邏輯值進(jìn)展邏輯運(yùn)算時(shí),就等于輸入一個(gè)地址進(jìn)展查表,找到地址對(duì)應(yīng)的內(nèi)容后進(jìn)展輸出即可。.基于SRAM構(gòu)造的FPGA在運(yùn)用時(shí)需求外接一個(gè)片外存儲(chǔ)器常用E2PROM來保管設(shè)計(jì)文件所生成的配置數(shù)據(jù)。上電時(shí),F(xiàn)PGA將片外存儲(chǔ)器中的數(shù)據(jù)讀入片內(nèi)RAM中,
9、完成配置后進(jìn)入任務(wù)形狀;掉電后,F(xiàn)PGA恢復(fù)為白片,內(nèi)部邏輯消逝。這樣,F(xiàn)PGA可以反復(fù)擦寫。這種特性非常易于實(shí)現(xiàn)設(shè)備功能的更新和晉級(jí)。.11.2.2 FPGA的根本構(gòu)造FPGA的根本組成構(gòu)造包括可編程輸入/輸出模塊、可編程邏輯模塊、可編程布線資源、內(nèi)嵌塊RAM、底層內(nèi)嵌功能單元和內(nèi)嵌公用硬件模塊等,如圖11.2所示。圖11.2 FPGA的構(gòu)造框圖.1. 可編程輸入/輸出模塊IOBIOB使FPGA芯片與外界電路的接口部分,用于完成不同電路特性下對(duì)輸入/輸出信號(hào)的驅(qū)動(dòng)與配置要求。一種構(gòu)造比較簡單的FPGA芯片Xilinx 公司的XC2064的IOB構(gòu)造如圖11.3所示。由圖可見,它由一個(gè)輸出緩沖
10、器、一個(gè)輸入緩沖器、一個(gè)D觸發(fā)器和兩個(gè)多路選擇器MUX1和MUX2組成。一個(gè)IOB與一個(gè)外部引腳相連,在IOB的控制下,外部引腳可以為輸入、輸出或者雙向信號(hào)運(yùn)用。.圖11.3 可編程輸入/輸出模塊.每個(gè)IOB中含有一條可編程輸入通道和一條可編程輸出通道。當(dāng)多路選擇器MUX1輸出為高電平常,輸出緩沖器的輸出端處于高阻態(tài),外部I/O引腳用作輸入端,輸入信號(hào)經(jīng)輸入緩沖器轉(zhuǎn)換為適宜芯片內(nèi)部任務(wù)的信號(hào),同時(shí),緩沖后的輸入信號(hào)被送到D觸發(fā)器的D輸入端和多路選擇器MUX2的一個(gè)輸入端。 用戶可編程選擇直接輸入方式即不經(jīng)D觸發(fā)器而直接送入MUX2或者存放器輸入方式即經(jīng)D觸發(fā)器存放后再送入MUX2。當(dāng)多路選擇器
11、MUX1輸出為低電平常,外部I/O引腳作輸出端運(yùn)用。.2. 可編輯邏輯模塊CLBCLB是可編輯邏輯的主體,以矩陣方式安排在器件中心,其實(shí)踐數(shù)量和特性依器件不同而不同。每個(gè)CLB中包含組合邏輯電路、存儲(chǔ)電路和由一些多路選擇器組成的內(nèi)部控制電路,外有4個(gè)通用輸入端A、B、C、D,2個(gè)輸出端X、Y和一個(gè)公用的時(shí)鐘輸入端K,如圖11.4所示。組合邏輯電路部分可以根據(jù)需求將其編程為3種不同的組合邏輯方式,分別產(chǎn)生一個(gè)4輸入變量的函數(shù)、兩個(gè)3輸入變量的函數(shù)和一個(gè)5輸入變量的函數(shù),輸入變量可以來自CLB的4個(gè)輸入端,也可以來自CLB內(nèi)部觸發(fā)器的Q端輸出,使整個(gè)控制邏輯具有較強(qiáng)的靈敏性。.圖11.4 FPGA
12、(XC2064) 的CLB構(gòu)造.3. 可編程布線資源PIFPGA芯片內(nèi)部有著豐富的布線資源。根據(jù)工藝、連線長度、寬度和布線位置的不同而劃分為4種類型。第一類是全局布線資源,用于芯片內(nèi)部全局時(shí)鐘和全局復(fù)位/置位信號(hào)的布線;第二類是長線資源,用于完成芯片中各模塊間信號(hào)的長間隔傳輸,或用于以最短途徑將信號(hào)傳送到多個(gè)目的地的情況;第三類是短線資源,它具有連線短、延遲小的特點(diǎn),例如CLB的輸出X與它上下相鄰的CLB輸入的銜接;.第四類是分布式的布線資源,用于專有時(shí)鐘、復(fù)位等控制信號(hào)線。需求闡明的是,在實(shí)踐設(shè)計(jì)中,設(shè)計(jì)者并不需求直接選擇布線資源,規(guī)劃布線器軟件可自動(dòng)地根據(jù)輸入邏輯網(wǎng)表的拓?fù)錁?gòu)造和約束條件選
13、擇布線資源來連通各個(gè)模塊單元。.4. 內(nèi)嵌塊RAM(BRAM)目前大多數(shù)FPGA都具有內(nèi)嵌塊RAMBLOCK RAM,這大大拓展了FPGA的運(yùn)用范圍和靈敏性。FPGA內(nèi)嵌的塊RAM普通可以靈敏地配置為單端口RAM、雙端口RAM、內(nèi)容地址存儲(chǔ)器CAMContent Addressable Memory和FIFO等常用存儲(chǔ)構(gòu)造。在CAM存儲(chǔ)器內(nèi)部的每個(gè)存儲(chǔ)單元中都有一個(gè)比較邏輯,寫入CAM中的數(shù)據(jù)會(huì)和其內(nèi)部存儲(chǔ)的每一個(gè)數(shù)據(jù)進(jìn)展比較,并前往與端口數(shù)據(jù)一樣的一切內(nèi)部數(shù)據(jù)的地址。這種功能特性在路由的地址交換器中有廣泛的運(yùn)用。.5. 底層內(nèi)嵌功能單元底層內(nèi)嵌功能單元指的是那些通用程度較高的嵌入式功能模塊,
14、如DLLDelay Locked Loop、PLL(Phase Locked Loop)、DSP和CPU等。正是由于集成了豐富的內(nèi)嵌功能單元,才使FPGA可以滿足各種不同場所的需求。DLL和PLL具有類似的功能,可以完成時(shí)鐘高精度,低抖動(dòng)的倍頻和分頻,以及占空比調(diào)整和移相等功能。.6. 內(nèi)嵌公用硬核內(nèi)嵌公用硬核Hard Core是相對(duì)底層嵌入的軟核而言的。FPGA中處置才干強(qiáng)大的硬核,等效于ASIC電路。為了提高FPGA的乘法速度,主流的FPGA都集成了公用乘法器;為了適用通訊總線與接口規(guī)范,很多高端的FPGA內(nèi)部都集成了串并收發(fā)器SERDES,可以到達(dá)幾十吉比特/秒G bps的收發(fā)速度。.1
15、1.2.3 IP核簡介IP (Intelligent Property)核是具有知識(shí)產(chǎn)權(quán)的集成電路芯核的總稱,是經(jīng)過反復(fù)驗(yàn)證的、具有特定功能的宏模塊,與芯片制造工藝無關(guān),可以移植到不同的半導(dǎo)體工藝中。目前,IP核曾經(jīng)變成系統(tǒng)設(shè)計(jì)的根本單元,并作為獨(dú)立設(shè)計(jì)成果被交換,轉(zhuǎn)讓和銷售。從IP核的提供方式上,通常將其分為軟核、硬核和固核三種類型。從完成IP核所破費(fèi)的本錢來講,硬核代價(jià)最大;從運(yùn)用靈敏性來講,軟核的可復(fù)用性最高。.1. 軟核在EDA設(shè)計(jì)領(lǐng)域中,軟核指的是綜合Synthesis之前的存放器傳輸級(jí)RTL模型。詳細(xì)在FPGA設(shè)計(jì)中,指的是對(duì)電路的硬件言語描畫,包括邏輯描畫、網(wǎng)表和協(xié)助文檔等。軟核
16、只經(jīng)過功能仿真,需求經(jīng)過綜合以及規(guī)劃布線后才干運(yùn)用。其優(yōu)點(diǎn)是靈敏性高,可移植性強(qiáng),允許用戶本人配置。其缺陷是對(duì)模塊的可預(yù)測性較低,在后續(xù)設(shè)計(jì)中存在發(fā)生錯(cuò)誤的能夠性,存在一定的設(shè)計(jì)風(fēng)險(xiǎn)。軟核是IP較運(yùn)用最廣泛的方式。.2. 固核在EDA設(shè)計(jì)領(lǐng)域中,固核指的是帶有平面規(guī)劃信息的網(wǎng)表。詳細(xì)在FPGA設(shè)計(jì)中,可以看作帶有規(guī)劃規(guī)劃的軟核,通常以RTL代碼和對(duì)應(yīng)詳細(xì)工藝網(wǎng)表的混合方式提供。將RTL描畫結(jié)合詳細(xì)規(guī)范單元庫進(jìn)展綜合優(yōu)化設(shè)計(jì),構(gòu)成門級(jí)網(wǎng)表,再經(jīng)過規(guī)劃布線工具即可運(yùn)用。與軟核相比,固核的設(shè)計(jì)靈敏性稍差,但在可預(yù)測性上有較大提高。目前,固核也是IP核的主流構(gòu)成之一。.3. 硬核在EDA設(shè)計(jì)領(lǐng)域中,硬
17、核指的是經(jīng)過驗(yàn)證的設(shè)計(jì)幅員。詳細(xì)在FPGA設(shè)計(jì)中,指規(guī)劃和工藝固定、經(jīng)過前端和后端的設(shè)計(jì),設(shè)計(jì)人員不能對(duì)其修正。硬核的這種不允許修正特點(diǎn)使其復(fù)用有一定困難,所以通常用于某些特定運(yùn)用中,運(yùn)用范圍較窄。.11.3 FPGA的設(shè)計(jì)與開發(fā)11.3.1 FPGA的根本開發(fā)流程FPGA的根本開發(fā)流程主要包括設(shè)計(jì)輸入Design Entry、仿真Simulation、綜合Synthesize、規(guī)劃布線Place and Route和下載編程等步驟。FPGA的普通開發(fā)流程如圖11.5所示。.圖11.5 FPGA的普通開發(fā)流程.1.設(shè)計(jì)輸入設(shè)計(jì)輸入是將所設(shè)計(jì)的電路或系統(tǒng)以開發(fā)軟件所要求的某種方式表示出來,并輸入
18、給EDA工具的過程。常用的方法有硬件描畫言語HDL輸入方式和原理圖輸入方式等。原理圖輸入方式在可編程器件開展的早期運(yùn)用比較廣泛,它將所需求的器件從元件庫中調(diào)出來,畫出電路原理圖,完成輸入過程。這種方法的優(yōu)點(diǎn)是直觀、便于了解、元器件資源豐富。但在大型設(shè)計(jì)中,這種方法的效率較低,且不易維護(hù),不利于模塊構(gòu)造和重用,更主要的缺陷是可移植性差,當(dāng)芯片晉級(jí)后,一切的原理圖都需求作一定的改動(dòng)。.目前,在實(shí)踐開發(fā)中運(yùn)用最廣的是HDL言語輸入法,利用文本程序代碼描畫設(shè)計(jì),可以分為普通HDL和行為HDL。普通HDL如ABEL-HDL,支持邏輯方程、真值表和形狀圖等表達(dá)方式,主要用于簡單的小型設(shè)計(jì);在中、大型設(shè)計(jì)中
19、,主要運(yùn)用行為HDL,如Verilog HDL和VHDL,這兩種言語普通HDL和行為HDL的共同特點(diǎn)是言語與芯片工藝無關(guān),利于自頂向下設(shè)計(jì),便于模塊的劃分與移植,具有很強(qiáng)的邏輯描畫功能,而且輸入效率很高。.2. 功能仿真功能仿真也稱前仿真或行為仿真,是在綜合之前對(duì)用戶所設(shè)計(jì)的電路進(jìn)展邏輯功能驗(yàn)證。這時(shí)的仿真沒有時(shí)延信息,僅對(duì)初步的功能進(jìn)展檢測。仿真前,需先利用波形編輯器建立波形文件和測試向量輸入信號(hào)序列。仿真結(jié)果將會(huì)生成報(bào)告文件和輸出信號(hào)波形,從中可以察看各個(gè)節(jié)點(diǎn)信號(hào)的變化情況能否符合功能要求。假設(shè)發(fā)現(xiàn)錯(cuò)誤,那么前往設(shè)計(jì)輸入進(jìn)展修正。.3. 綜合綜合就是將較高級(jí)籠統(tǒng)層次的描畫轉(zhuǎn)化成較低層次的描
20、畫。它根據(jù)設(shè)計(jì)目的與要求約束條件優(yōu)化所生成的邏輯銜接,使層次設(shè)計(jì)平面化,供FPGA規(guī)劃布線軟件來實(shí)現(xiàn)。詳細(xì)而言,綜合就是將HDL言語、原理圖等設(shè)計(jì)輸入翻譯成由與門、或門、非門、RAM、觸發(fā)器等根本邏輯單元組成的邏輯銜接網(wǎng)表,而并非真實(shí)的門級(jí)電路。真實(shí)、詳細(xì)的門級(jí)電路需求利用FPGA制造商的規(guī)劃布線功能,根據(jù)綜合后生成的規(guī)范門級(jí)網(wǎng)表來產(chǎn)生。為了可以轉(zhuǎn)換成規(guī)范的門級(jí)網(wǎng)表,HDL程序的編寫必需符合特定綜合器所要求的風(fēng)格。 .4. 實(shí)現(xiàn)與規(guī)劃布線實(shí)現(xiàn)是將綜合生成的邏輯銜接網(wǎng)表適配到詳細(xì)的FPGA芯片上,規(guī)劃布線是其中最重要過程。規(guī)劃將邏輯銜接網(wǎng)表中的底層單元確定到芯片內(nèi)部的合理位置上,并且要在速度最優(yōu)
21、和面積最優(yōu)之間作出權(quán)衡和選擇。布線根據(jù)規(guī)劃的拓?fù)錁?gòu)造、利用芯片內(nèi)部的各種連線資源,正確地銜接各個(gè)元件。由于FPGA的構(gòu)造非常復(fù)雜,只需FPGA芯片消費(fèi)廠商才對(duì)芯片的構(gòu)造最為了解,所以規(guī)劃布線必需選擇開發(fā)商提供工具。.5. 時(shí)序仿真時(shí)序仿真也稱后仿真,是指將規(guī)劃布線的時(shí)延信息反標(biāo)注到設(shè)計(jì)網(wǎng)表中來檢測有無時(shí)序違規(guī)景象。由于時(shí)序仿真含有較為全面、準(zhǔn)確的時(shí)延信息,所以能較好地反映芯片的實(shí)踐任務(wù)情況。另外,經(jīng)過時(shí)序仿真,檢查和去除電路中實(shí)踐存在的冒險(xiǎn)景象是非常必要的。.6. 下載編程與調(diào)試下載編程是將設(shè)計(jì)階段所生成的位流文件裝入到可編程器件中。通常,器件編程需求滿足一定的條件,如編程電壓、編程時(shí)序和編程
22、算法等。 邏輯分析儀Logic Analyzer是FPGA設(shè)計(jì)的常用調(diào)試工具,但需引出大量的測試管腳,且設(shè)備的價(jià)錢較貴。主流的FPGA芯片廠商都提供了內(nèi)嵌的在線邏輯分析儀來處理上述矛盾,它們只占用芯片的少量邏輯資源,具有很高的運(yùn)用價(jià)值。.11.3.2 FPGA/CPLD 開發(fā)工具M(jìn)AX+Plus II簡介 MAX+Plus 集設(shè)計(jì)輸入、編譯、仿真、綜合、編程配置于一體,帶有豐富的設(shè)計(jì)庫,并有較詳細(xì)的聯(lián)機(jī)協(xié)助功能的可編程器件開發(fā)環(huán)境。下面分別以原理圖輸入方式和VHDL言語輸入方式設(shè)計(jì)為例,詳細(xì)引見利用MAX+Plus II進(jìn)展可編程邏輯器件設(shè)計(jì)的詳細(xì)過程。1. 原理圖文方式首先需啟動(dòng)MAX+Pl
23、us II,啟動(dòng)后先出現(xiàn)的是MAX+Plus II管理器窗口,如圖11.6所示。.一個(gè)新工程Project設(shè)計(jì)的第一步是為工程指定一個(gè)稱號(hào),以便管理屬于該工程的數(shù)據(jù)和文件。圖11.6 MAX+Pluss II 管理器窗口.指定工程稱號(hào)的方法是:在管理器窗口點(diǎn)擊FileProjectName,彈出Project Name對(duì)話框,在Project Name對(duì)話框中選擇適當(dāng)?shù)尿?qū)動(dòng)器和目錄,鍵入工程稱號(hào)例如add1,單擊OK按鈕,如圖11.7所示。11.7 工程命名窗口.在MAX+Plus II中,用戶的每個(gè)獨(dú)立設(shè)計(jì)都對(duì)應(yīng)一個(gè)工程,每個(gè)工程可包含一個(gè)或多個(gè)設(shè)計(jì)文件。這些文件中必需包含一個(gè)頂層文件,而且
24、頂層文件名必需和工程名一樣。工程的文件中還包括編譯過程中產(chǎn)生的各種中間文件,這些文件的后綴有所不同,如hif、cnf、mmf等。 .1建立原理圖輸入文件翻開原理圖編輯器。 在管理器窗口中點(diǎn)擊FileNew或在工具欄上直接點(diǎn)擊相應(yīng)按鈕,將出現(xiàn)如圖11.8所示的新建文件夾對(duì)話框。在該對(duì)話框中選擇Graphic Editor File后綴為.gdf項(xiàng),然后點(diǎn)擊OK按鈕,便會(huì)出現(xiàn)一個(gè)原理圖編輯窗口,此時(shí)即可輸入原理圖文件。輸入完后點(diǎn)擊FileSave as,那么會(huì)出現(xiàn)如圖11.9所示的對(duì)話窗口。.圖11.8 新建文件對(duì)話框 圖11.9 保管圖形輸入文件.留意,這里將文件名保管為add1,與工程名字一樣
25、,點(diǎn)擊OK按鈕終了。 輸入元器件和模塊。 在原理圖編輯窗口空白處雙擊鼠標(biāo)左鍵或在Symbol菜單中選擇Enter Symbol,便彈出Enter Symbol對(duì)話框,如圖11.10所示。在Symbol Libraries框中雙擊所需的庫名,接著在Symbol Files框中點(diǎn)擊所選器件名例如Prim庫中的and2、mf庫中的74等, 然后點(diǎn)擊OK按鈕。反復(fù)這一步,直至選中所需的全部器件。一樣的模塊也可用復(fù)制的方法產(chǎn)生。還可用鼠標(biāo)左鍵選中器件并按住左鍵拖動(dòng),將元器件拖動(dòng)到適當(dāng)?shù)奈恢谩? 圖11.10 元器件選擇對(duì)話框.Enter Symbol對(duì)話框中的符號(hào)庫位于Maxplus2目錄下的Max2l
26、ib子目錄中,4種不同的符號(hào)庫分別為根本邏輯器件庫Prim、74系列器件庫mf、基于網(wǎng)表SNF的根本邏輯器件庫edif和參數(shù)化的宏模塊庫mega_Lpm。其中Prim庫、mf庫和edif庫中的元器件是固定不變的,選中后可直接運(yùn)用。mega_Lmp庫中的模塊稱為參數(shù)化的宏模塊,其信號(hào)及其極性和位數(shù)需由用戶根據(jù)需求設(shè)定后才干運(yùn)用。.放置輸入、輸出引腳。首先翻開Enter Symbol對(duì)話框,然后在其中的Symbol Name框中鍵入input、output或bidir,分別代表輸入、輸出和雙向I/O引腳,點(diǎn)擊OK按鈕,相應(yīng)的輸入或輸出引腳就會(huì)出如今編輯窗口中。 反復(fù)這一步即可產(chǎn)生一切的輸入和輸出引
27、腳,也可用復(fù)制的方法得到一切引腳。電源VCC和地GND與輸入、輸出引腳類似,也作為較特殊元件,采用上述方法在Symbol Name框中鍵入VCC或GND,即可使它們出如今編輯窗口所選位置上。.連線。 將電路中兩個(gè)端口即連線端點(diǎn)銜接起來的方法為:將鼠標(biāo)指向一個(gè)端口,鼠標(biāo)箭頭會(huì)自動(dòng)成“外形。按住鼠標(biāo)左鍵拖至另一端口,放開左鍵,那么會(huì)在兩個(gè)端口間產(chǎn)生一根連線。連線時(shí)假設(shè)需轉(zhuǎn)機(jī),那么在轉(zhuǎn)機(jī)處松一下左鍵,再按住繼續(xù)挪動(dòng)至終點(diǎn)處。連線的粗細(xì)可經(jīng)過單擊右鍵菜單中的Line Style來選擇,總線通常選用粗線來表示。.輸入、輸出引腳命名。 對(duì)輸入、輸出引腳命名的方法是在引腳“PIN-NAME位置雙擊,然后鍵入
28、信號(hào)名。保管文件。 點(diǎn)擊FileSave as或Save,或在工具欄中單擊相應(yīng)按鈕,假設(shè)是第一次保管,需輸入文件名。.建立一個(gè)默許的符號(hào)文件。 在層次化設(shè)計(jì)中,假設(shè)當(dāng)前編輯的文件不是頂層文件,那么往往需求為其產(chǎn)生一個(gè)符號(hào),將其打包成一個(gè)模塊,以便在上層電路設(shè)計(jì)時(shí)加以援用。建立符號(hào)文件的方法是,在File菜單中選擇Create Default Symbol項(xiàng)即可。圖11.11所示即為構(gòu)成一位全加器所需的全部元器件及輸入、輸出引腳。.圖11.11 放置元件和引腳到適宜位置 .雙擊引腳的“PIN-NAME位置,將三個(gè)輸入引腳分別命名為A、B和C_in,兩個(gè)輸出引腳分別命名為S和C_out。其中A、B
29、代表相加的兩個(gè)一位二進(jìn)制數(shù),C_in為低位進(jìn)位輸入;S為全加和,C_out為全加進(jìn)位輸出。銜接元器件之間的相關(guān)連線構(gòu)成的全加器原理圖文件如圖11.12所示。.圖11.12 全加器原理圖輸入.2編譯編譯的作用是檢查設(shè)計(jì)輸入中有無描畫性錯(cuò)誤,假設(shè)無錯(cuò),那么提取出電路網(wǎng)表Netlist;假設(shè)有錯(cuò),那么給出出錯(cuò)信息。在編譯之前應(yīng)領(lǐng)先指定器件,這里的器件是指每個(gè)設(shè)計(jì)所運(yùn)用的FPGA或EPLD芯片,Altera公司具有代表性的FPGA芯片系列有ACEX1K、FLEX10K、FLEX8000等,具有代表性的EPLD芯片系列有MAX 3000、MAX 7000、MAX 8000等。.指定器件的操作如下: 在A
30、ssign菜單中選擇Device項(xiàng),將出現(xiàn)如圖11.13所示的Device對(duì)話框。 在Device Family選項(xiàng)內(nèi),選擇一個(gè)器件系列如FLEX10K。 在Devices選項(xiàng)內(nèi),選擇器件系列中某一器件FLEX10K10LC84-3或選擇AUTO讓MAX+Plus II自動(dòng)選擇一個(gè)器件。 按下OK按鈕。.圖11.13 器件選擇對(duì)話框.運(yùn)轉(zhuǎn)編譯器的方法是,在MAX+Plus II菜單中選Compiler或直接在工具欄中點(diǎn)擊編譯器的相應(yīng)圖標(biāo),出現(xiàn)如圖11.14所示的對(duì)話框。按Start按鈕即開場進(jìn)展編譯,假設(shè)有錯(cuò),那么輸出相應(yīng)提示信息及出錯(cuò)位置。 圖11.14 編譯對(duì)話框 .假設(shè)編譯勝利,那么顯示
31、如圖11.15所示的編譯勝利信息。 圖11.15 編譯結(jié)果 .3仿真仿真可以檢查設(shè)計(jì)的正確性,在仿真之前要建立一個(gè)波形輸入文件。點(diǎn)擊MAX+Plus II Waveform Editor,彈出波形圖編輯窗口,如圖11.16所示。 圖11.16 波形圖編輯輸入窗口 .需首先確定仿真時(shí)間長度,點(diǎn)擊FileEnd Time,彈出如圖11.17所示的對(duì)話框,鍵入仿真終了時(shí)間如100s,點(diǎn)擊OK按鈕終了;點(diǎn)擊OptionGrid Size,鍵入顯示網(wǎng)格間距時(shí)間如500ns,點(diǎn)擊OK按鈕終了,如圖11.18所示。 圖11.17 仿真時(shí)長設(shè)置 圖11.18 仿真顯示網(wǎng)格間距時(shí)間設(shè)置.在波形圖編輯窗口空白處單
32、擊鼠標(biāo)右鍵,選擇“Enter Nodes From SNFSNF指仿真網(wǎng)表文件,彈出如圖11.19所示對(duì)話框。在該對(duì)話框的Type框中選擇信號(hào)類別Type,常用的是Inputs和Outputs;點(diǎn)擊“List按鈕,將所選類別的一切管腳信號(hào)均列于Available Nodes & Groups框中;然后按“ = 箭頭,將選出的管腳信號(hào)全部送入右邊的“Selected Nodes & Groups框中;點(diǎn)擊OK按鈕,此時(shí),所選信號(hào)將出如今波形圖編輯窗口中,如圖11.20所示。. 圖11.19 選擇輸入輸出引腳.圖11.20 波形圖輸入文件編輯 .在圖11.20中,A、B和C_in為三個(gè)需求編輯的輸
33、入鼓勵(lì)信號(hào),S和C_out是用來檢查設(shè)計(jì)正確與否的輸出呼應(yīng)觀測信號(hào),雙擊要編輯信號(hào)所對(duì)應(yīng)的引腳稱號(hào),那么相應(yīng)的行變黑,同時(shí)在窗口左側(cè)的編輯快捷鍵被激活。這里可以設(shè)置高電平1、低電平0、恣意值x及高阻z等值??山?jīng)過點(diǎn)擊快捷鍵來編輯時(shí)鐘信號(hào)波形,這里將A的周期設(shè)為2s,即圖11.21所示的對(duì)話框中將“Multiplied By設(shè)置為“2,類似地,將B的周期設(shè)為5s,C_in設(shè)為10s。. 圖11.21 時(shí)鐘信號(hào)波形編輯 圖11.22 保管波形文件.完成上述設(shè)置后,點(diǎn)擊FileSave as保管波形文件,點(diǎn)擊OK按鈕,對(duì)話框如圖11.22所示。接著點(diǎn)擊MAX+Pluss IICompiler編譯一次
34、,編譯過程同前。完成編譯后點(diǎn)擊MAX Plus IISimulator,彈出如圖11.23所示的對(duì)話框,點(diǎn)擊start啟動(dòng)仿真,仿真終了后彈出如圖11.24所示對(duì)話框,點(diǎn)擊“確定。最后按“Open SCF,即可察看如圖11.25所示的仿真波形。時(shí)序分析可由用戶人工進(jìn)展,也可以采用MAX+Plus II提供的時(shí)序分析功能Timing Analyzer來進(jìn)展。. 圖11.23 仿真窗口 . 圖11.24 仿真勝利 .圖11.25 仿真波形圖 .4下載編程當(dāng)用軟件仿真驗(yàn)證設(shè)計(jì)的電路任務(wù)正常后,就可將編譯產(chǎn)生的位流文件下載編程到FPGA或CPLD芯片上,與外圍電路一同對(duì)設(shè)計(jì)進(jìn)展硬件驗(yàn)證。下載編程的主要
35、步驟如下:在下載編程前,首先用下載電纜將計(jì)算機(jī)的打印口銜接到接有FPG/CPLD芯片的目的板上,接通目的板電源。選擇MAX+Plus IIProgrammer,翻開編程窗口。在編程界面下,從Options菜單中選擇Hardware Setup,再在Hardware Setup對(duì)話框中選擇Byte Blaster或Bit Blaster,點(diǎn)擊OK按鈕。.選擇編程文件。 默許情況下,編程文件已根據(jù)當(dāng)前工程名選好,并顯示在編程窗口的右上角。假設(shè)發(fā)現(xiàn)編程文件不對(duì),可在File菜單中點(diǎn)擊Select Programming File,進(jìn)展選擇。下載。 在下載編程窗口中,CPLD的下載與FPGA的下載有所
36、不同:CPLD的下載按“Program“按鈕此時(shí)文件為*.POF,軟件會(huì)對(duì)目的板上的芯片進(jìn)展檢測、編程、校驗(yàn),完成后顯示“編譯勝利;FPGA的下載要按“Configure按鈕此時(shí)的文件為*.SOF,軟件作相關(guān)的操作后,將編程文件下載到目的板芯片中。.2. 硬件描畫言語VHDL輸入1建立VHDL設(shè)計(jì)文件啟動(dòng)MAX+Plus II開發(fā)環(huán)境,點(diǎn)擊菜單FileNew,出現(xiàn)如圖11.26所示的對(duì)話框。首先應(yīng)確定建立文件的類型,有四種文件類型可選擇,VHDL設(shè)計(jì)應(yīng)選擇第三個(gè)選項(xiàng)“Text Editor file。點(diǎn)擊OK按鈕,開發(fā)環(huán)境生成一空白的文本編輯窗口供用戶輸入VHDL程序文本。.圖11.26 選擇文本編輯器 .2輸入VHDL設(shè)計(jì)描畫在如圖11.27所示的窗口中輸入如下VHDL程序文本,程序的功能是實(shí)現(xiàn)一個(gè)一位全加器。其中,a、b表示全加器的兩個(gè)一位二進(jìn)制,C_in表示的前級(jí)進(jìn)位輸入,Sum表示全加和,C_out表示全加進(jìn)位。.圖11.27 輸入VHDL程序文本 .LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY add2 IS PORT(a , b , c_in : IN STD_LOGIC; Sum , c_out : OUT STD_LOGIC);END add2;ARCHITECTU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑基礎(chǔ)工程樁基礎(chǔ)
- 2024至2030年中國工作母機(jī)專用聯(lián)軸器數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024至2030年中國實(shí)驗(yàn)室電導(dǎo)率/電阻率計(jì)數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024至2030年中國雙面雙花毯數(shù)據(jù)監(jiān)測研究報(bào)告
- 經(jīng)管營銷企業(yè)資產(chǎn)損失所得稅稅前扣除管理辦法講解
- 探究函數(shù)與方程-深入理解代數(shù)與解題技巧
- 2024年中國高強(qiáng)度鋼結(jié)構(gòu)樓承板市場調(diào)查研究報(bào)告
- 2024年中國蒙娜麗莎工藝品市場調(diào)查研究報(bào)告
- 2024年中國立式剝皮機(jī)市場調(diào)查研究報(bào)告
- 急診病歷書寫標(biāo)準(zhǔn)化研究計(jì)劃
- 大象版小學(xué)科學(xué)二年級(jí)上冊(cè)實(shí)驗(yàn)報(bào)告單全冊(cè)
- 2020-2022學(xué)年部編版八年級(jí)語文古詩詞專項(xiàng)練習(xí)卷 部編人教版八年級(jí)上冊(cè)
- 手術(shù)室護(hù)士崗位說明書版
- 13、停電停水等突發(fā)事件的應(yīng)急預(yù)案以及消防制度
- DB42T1811-2022西瓜設(shè)施育苗技術(shù)規(guī)程
- 醫(yī)療HRP整體解決方案課件
- 【知識(shí)點(diǎn)解析】拋物線的光學(xué)性質(zhì)及其應(yīng)用
- 冠心病介入治療技術(shù)醫(yī)療質(zhì)量控制指標(biāo)(2021年版)可編輯版
- 分布式光伏安裝清包合同
- Unit 3 Reading 1 friendship on the rocks課件-高中英語牛津譯林版必修第一冊(cè)
- 四機(jī)廠介紹企業(yè)介紹
評(píng)論
0/150
提交評(píng)論