版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第1111章章 可編程邏輯器件及其開發(fā)工具可編程邏輯器件及其開發(fā)工具本章主要內(nèi)容本章主要內(nèi)容(1) 可編程邏輯器件概述可編程邏輯器件概述(2) FPGA的工作原理與基本結(jié)構(gòu)的工作原理與基本結(jié)構(gòu)(3) FPGA的設(shè)計(jì)與開發(fā)的設(shè)計(jì)與開發(fā)11.1 可編程邏輯器件(可編程邏輯器件(PLD)概述)概述11.1.1 PLD的產(chǎn)生的產(chǎn)生n傳統(tǒng)的硬件電路設(shè)計(jì)方法一般是先選用標(biāo)準(zhǔn)通用集成電路傳統(tǒng)的硬件電路設(shè)計(jì)方法一般是先選用標(biāo)準(zhǔn)通用集成電路芯片,再由這些芯片芯片,再由這些芯片“自下而上自下而上”地構(gòu)成電路、子系統(tǒng)和地構(gòu)成電路、子系統(tǒng)和系統(tǒng)。系統(tǒng)。n采用這種設(shè)計(jì)方法,對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)并調(diào)試完畢后,所形采用這種設(shè)計(jì)
2、方法,對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)并調(diào)試完畢后,所形成的設(shè)計(jì)文件主要是由若干張電原理圖構(gòu)成的文件。設(shè)計(jì)成的設(shè)計(jì)文件主要是由若干張電原理圖構(gòu)成的文件。設(shè)計(jì)者在電原理圖中詳細(xì)標(biāo)注各邏輯單元、器件名稱及互相間者在電原理圖中詳細(xì)標(biāo)注各邏輯單元、器件名稱及互相間的連接關(guān)系。的連接關(guān)系。n這種設(shè)計(jì)文件是用戶使用和維護(hù)系統(tǒng)的依據(jù)。對(duì)于大系統(tǒng),這種設(shè)計(jì)文件是用戶使用和維護(hù)系統(tǒng)的依據(jù)。對(duì)于大系統(tǒng),由于電路系統(tǒng)十分復(fù)雜,所以其電原理圖可能需要成千上由于電路系統(tǒng)十分復(fù)雜,所以其電原理圖可能需要成千上萬張,這給閱讀、歸檔、修改和使用均帶來極大的麻煩。萬張,這給閱讀、歸檔、修改和使用均帶來極大的麻煩。n近年來發(fā)展起來的電子設(shè)計(jì)自動(dòng)化
3、近年來發(fā)展起來的電子設(shè)計(jì)自動(dòng)化EDA技術(shù),采用技術(shù),采用“自上自上而下而下”的設(shè)計(jì)方法來進(jìn)行邏輯電路的設(shè)計(jì)。的設(shè)計(jì)方法來進(jìn)行邏輯電路的設(shè)計(jì)。n在這種嶄新的設(shè)計(jì)方法中,可以由用戶對(duì)整個(gè)電路系統(tǒng)進(jìn)在這種嶄新的設(shè)計(jì)方法中,可以由用戶對(duì)整個(gè)電路系統(tǒng)進(jìn)行方案設(shè)計(jì)和功能劃分,系統(tǒng)的關(guān)鍵電路由一片或幾片專行方案設(shè)計(jì)和功能劃分,系統(tǒng)的關(guān)鍵電路由一片或幾片專用集成電路用集成電路ASIC構(gòu)成。構(gòu)成。nASIC的設(shè)計(jì)與制造,已不再完全由半導(dǎo)體廠家獨(dú)立承擔(dān),的設(shè)計(jì)與制造,已不再完全由半導(dǎo)體廠家獨(dú)立承擔(dān),用戶本身就可以在自己的實(shí)驗(yàn)室里設(shè)計(jì)出合適的用戶本身就可以在自己的實(shí)驗(yàn)室里設(shè)計(jì)出合適的ASIC器器件,并且可以立即投入
4、實(shí)際使用之中。件,并且可以立即投入實(shí)際使用之中。n這種電子技術(shù)設(shè)計(jì)領(lǐng)域中的重大變革,主要得益于可編程這種電子技術(shù)設(shè)計(jì)領(lǐng)域中的重大變革,主要得益于可編程邏輯器件邏輯器件PLD的產(chǎn)生與應(yīng)用。的產(chǎn)生與應(yīng)用。 n采用采用PLD技術(shù),用戶利用專門的硬件描述語言,根據(jù)自己技術(shù),用戶利用專門的硬件描述語言,根據(jù)自己的應(yīng)用需求來定義和構(gòu)造邏輯電路,描述其邏輯功能,利的應(yīng)用需求來定義和構(gòu)造邏輯電路,描述其邏輯功能,利用用EDA工具軟件,經(jīng)過特定的編譯或轉(zhuǎn)換程序,生成相應(yīng)工具軟件,經(jīng)過特定的編譯或轉(zhuǎn)換程序,生成相應(yīng)的目標(biāo)文件,再由編程器和下載電纜將設(shè)計(jì)文件配置到的目標(biāo)文件,再由編程器和下載電纜將設(shè)計(jì)文件配置到PL
5、D器件中,即可得到滿足用戶要求的專用集成電路了。器件中,即可得到滿足用戶要求的專用集成電路了。nPLD的產(chǎn)生與應(yīng)用,不僅簡(jiǎn)化了電路設(shè)計(jì),降低了成本,的產(chǎn)生與應(yīng)用,不僅簡(jiǎn)化了電路設(shè)計(jì),降低了成本,提高了系統(tǒng)的可靠性,而且還有力地推動(dòng)了數(shù)字電路設(shè)計(jì)提高了系統(tǒng)的可靠性,而且還有力地推動(dòng)了數(shù)字電路設(shè)計(jì)方法的革新。方法的革新。11.1.2 PLD的發(fā)展的發(fā)展1.可編程只讀存儲(chǔ)器可編程只讀存儲(chǔ)器(PROM)2.可編輯邏輯陣列可編輯邏輯陣列(PLA)3.可編程陣列邏輯可編程陣列邏輯(PAL)4. 通用陣列邏輯通用陣列邏輯(GAL)n上述上述PROM、PLA、PAL和和GAL器件結(jié)構(gòu)簡(jiǎn)單,對(duì)開發(fā)軟器件結(jié)構(gòu)簡(jiǎn)單
6、,對(duì)開發(fā)軟件的要求低,但它們的電路規(guī)模小,難以實(shí)現(xiàn)復(fù)雜的邏輯件的要求低,但它們的電路規(guī)模小,難以實(shí)現(xiàn)復(fù)雜的邏輯功能,所以均屬簡(jiǎn)單可編程器件功能,所以均屬簡(jiǎn)單可編程器件(SPLD)。n隨著技術(shù)的發(fā)展,包括隨著技術(shù)的發(fā)展,包括CPLD(Complex Programmable Logic Device)和和FPGA在內(nèi)的復(fù)雜在內(nèi)的復(fù)雜PLD器件迅速發(fā)展起來。器件迅速發(fā)展起來。 5. 現(xiàn)場(chǎng)可編程門陣列現(xiàn)場(chǎng)可編程門陣列(FPGA)n1985年,年,XiLinx公司推出世界上第一片現(xiàn)場(chǎng)可編程門陣列公司推出世界上第一片現(xiàn)場(chǎng)可編程門陣列FPGA。它是一種新型高密度的。它是一種新型高密度的PLD器件,采用器件
7、,采用COMS-SRAM工藝制作,其內(nèi)部有許多獨(dú)立的可編程邏輯模塊工藝制作,其內(nèi)部有許多獨(dú)立的可編程邏輯模塊(CLB)組成,邏輯模塊之間可以靈活地至連起來。)組成,邏輯模塊之間可以靈活地至連起來。nFPGA結(jié)構(gòu)通常包括三種邏輯模塊:結(jié)構(gòu)通常包括三種邏輯模塊:可編程邏輯模塊可編程邏輯模塊(CLB)、)、可編程輸入可編程輸入/輸出模塊輸出模塊(I/OB)和)和可編程連線可編程連線資源資源(PI)。)。n較復(fù)雜的較復(fù)雜的FPGA結(jié)構(gòu)中還有其他一些功能模塊。結(jié)構(gòu)中還有其他一些功能模塊。n CLB的功能很強(qiáng),不僅能實(shí)現(xiàn)邏輯函數(shù),還可以配置成移的功能很強(qiáng),不僅能實(shí)現(xiàn)邏輯函數(shù),還可以配置成移位寄存器或位寄存
8、器或RAM等復(fù)雜形式。等復(fù)雜形式。n 配置數(shù)據(jù)存放在片內(nèi)的配置數(shù)據(jù)存放在片內(nèi)的SRAM或者熔絲圖上,基于或者熔絲圖上,基于SRAM的的FPGA器件工作前需要從芯片外部加載配置數(shù)據(jù)。器件工作前需要從芯片外部加載配置數(shù)據(jù)。n加載的配置數(shù)據(jù)可以存儲(chǔ)在片外的加載的配置數(shù)據(jù)可以存儲(chǔ)在片外的E2PROM或者計(jì)算機(jī)上,或者計(jì)算機(jī)上,設(shè)計(jì)人員可以控制加載過程,在現(xiàn)場(chǎng)修改器件的邏輯功能,設(shè)計(jì)人員可以控制加載過程,在現(xiàn)場(chǎng)修改器件的邏輯功能,即所謂現(xiàn)場(chǎng)可編程。即所謂現(xiàn)場(chǎng)可編程。11.1.3 PLD的主要特點(diǎn)的主要特點(diǎn)1. 高密度高密度 2. 低功耗低功耗 3. 高速度高速度4. 高開發(fā)效率高開發(fā)效率n各種各種PLD
9、均有相應(yīng)開發(fā)工具軟件給予支持,電路設(shè)計(jì)人員均有相應(yīng)開發(fā)工具軟件給予支持,電路設(shè)計(jì)人員在很短的時(shí)間內(nèi)就可以完成電路輸入、編譯、仿真、綜合在很短的時(shí)間內(nèi)就可以完成電路輸入、編譯、仿真、綜合和配置(編程),直至最后芯片的制作,從根本上改變了和配置(編程),直至最后芯片的制作,從根本上改變了傳統(tǒng)的電子電路設(shè)計(jì)方法。傳統(tǒng)的電子電路設(shè)計(jì)方法。n另外,另外,PLD本身可以反復(fù)編程、擦除、從而使開發(fā)、設(shè)計(jì)本身可以反復(fù)編程、擦除、從而使開發(fā)、設(shè)計(jì)效率得到極大的提高。效率得到極大的提高。11.1.4 PLD的基本結(jié)構(gòu)的基本結(jié)構(gòu)n PLD的基本結(jié)構(gòu)是由的基本結(jié)構(gòu)是由“與陣列與陣列”、“或陣列或陣列”、輸出緩、輸出緩
10、沖電路和輸出電路沖電路和輸出電路構(gòu)成,反饋信號(hào)通過內(nèi)部反饋通道饋送構(gòu)成,反饋信號(hào)通過內(nèi)部反饋通道饋送到輸入端,如圖到輸入端,如圖11.1 所示。所示。n“與陣列與陣列”和和“或陣列或陣列”是是PLD電路的主體,電路的主體,“與陣列與陣列”用來產(chǎn)生乘積項(xiàng),用來產(chǎn)生乘積項(xiàng),“或陣列或陣列”用來產(chǎn)生乘積項(xiàng)之和。用來產(chǎn)生乘積項(xiàng)之和。n輸入緩沖電路可以使輸入信號(hào)具有足夠的驅(qū)動(dòng)能力,并產(chǎn)輸入緩沖電路可以使輸入信號(hào)具有足夠的驅(qū)動(dòng)能力,并產(chǎn)生輸入變量的原變量和反變量。生輸入變量的原變量和反變量。 n根據(jù)電路功能的不同,根據(jù)電路功能的不同,PLD可以由可以由“或陣列或陣列”直接輸出直接輸出(組合電路方式),也可
11、以通過觸發(fā)器或寄存器輸出(時(shí)(組合電路方式),也可以通過觸發(fā)器或寄存器輸出(時(shí)序電路方式)。輸出可以是高電平有效,也可以是低電平序電路方式)。輸出可以是高電平有效,也可以是低電平有效,輸出端通常都采用三態(tài)門結(jié)構(gòu)。有效,輸出端通常都采用三態(tài)門結(jié)構(gòu)。 11.1 PLD的結(jié)構(gòu)框圖的結(jié)構(gòu)框圖11.2 FPGA的工作原理與基本結(jié)構(gòu)的工作原理與基本結(jié)構(gòu)11.2.1 FPGA的工作原理的工作原理n由于由于FPGA可以被反復(fù)擦寫,因此它所實(shí)現(xiàn)的邏輯電路不可以被反復(fù)擦寫,因此它所實(shí)現(xiàn)的邏輯電路不是通過固定門電路的連接來完成,而是采用一種易于反復(fù)是通過固定門電路的連接來完成,而是采用一種易于反復(fù)配置的結(jié)構(gòu),查找表
12、可以很好地滿足這一要求。配置的結(jié)構(gòu),查找表可以很好地滿足這一要求。n目前,主流目前,主流FPGA都采用了基于都采用了基于SRAM的查找表結(jié)構(gòu),也的查找表結(jié)構(gòu),也有一些高可靠性要求的有一些高可靠性要求的FPGA產(chǎn)品采用產(chǎn)品采用Flash或者熔絲工藝或者熔絲工藝的查找表結(jié)構(gòu)??赏ㄟ^擦寫文件改變查找表內(nèi)容的方法來的查找表結(jié)構(gòu)??赏ㄟ^擦寫文件改變查找表內(nèi)容的方法來實(shí)現(xiàn)對(duì)實(shí)現(xiàn)對(duì)FPGA的重復(fù)配置。的重復(fù)配置。 n根據(jù)數(shù)字電路的基本原理,對(duì)于一個(gè)具有根據(jù)數(shù)字電路的基本原理,對(duì)于一個(gè)具有n個(gè)輸入的邏輯個(gè)輸入的邏輯運(yùn)算,不管是與、或、非運(yùn)算還是運(yùn)算,不管是與、或、非運(yùn)算還是“異或異或”運(yùn)算,最多有運(yùn)算,最多有
13、2n中輸出結(jié)果。所以,如果事先將輸入變量的所有取值可中輸出結(jié)果。所以,如果事先將輸入變量的所有取值可能及對(duì)應(yīng)輸出結(jié)果(即真值表)存放于一個(gè)能及對(duì)應(yīng)輸出結(jié)果(即真值表)存放于一個(gè)RAM存儲(chǔ)器存儲(chǔ)器中,然后通過查表來由輸入找到對(duì)應(yīng)的輸出值,就相當(dāng)于中,然后通過查表來由輸入找到對(duì)應(yīng)的輸出值,就相當(dāng)于實(shí)現(xiàn)了與真值表的內(nèi)容相對(duì)應(yīng)的邏輯電路的功能。實(shí)現(xiàn)了與真值表的內(nèi)容相對(duì)應(yīng)的邏輯電路的功能。nFPGA的基本原理就是如此,它通過擦寫文件去配置查找的基本原理就是如此,它通過擦寫文件去配置查找表的內(nèi)容,從而在相同的電路情況下實(shí)現(xiàn)了不同的邏輯功表的內(nèi)容,從而在相同的電路情況下實(shí)現(xiàn)了不同的邏輯功能。能。n查找表(查
14、找表(Look-Up-Table)簡(jiǎn)稱簡(jiǎn)稱LUT,LUT實(shí)際上就是一實(shí)際上就是一個(gè)個(gè)RAM。目前,。目前,F(xiàn)PGA中多數(shù)使用中多數(shù)使用4輸入的輸入的LUT,每一個(gè),每一個(gè)LUT可以看成一個(gè)有可以看成一個(gè)有4位地址線的位地址線的161的的RAM。n當(dāng)用戶通過原理圖或硬件描述語言當(dāng)用戶通過原理圖或硬件描述語言HDL描述了一個(gè)邏輯電描述了一個(gè)邏輯電路以后,路以后,F(xiàn)PGA開發(fā)軟件就會(huì)自動(dòng)計(jì)算邏輯電路的所有可開發(fā)軟件就會(huì)自動(dòng)計(jì)算邏輯電路的所有可能結(jié)果,并把這些計(jì)算結(jié)果(即邏輯電路的真值表)事先能結(jié)果,并把這些計(jì)算結(jié)果(即邏輯電路的真值表)事先寫入寫入RAM中,這樣,每輸入一組邏輯值進(jìn)行邏輯運(yùn)算時(shí),中,
15、這樣,每輸入一組邏輯值進(jìn)行邏輯運(yùn)算時(shí),就等于輸入一個(gè)地址進(jìn)行查表,找到地址對(duì)應(yīng)的內(nèi)容后進(jìn)就等于輸入一個(gè)地址進(jìn)行查表,找到地址對(duì)應(yīng)的內(nèi)容后進(jìn)行輸出即可。行輸出即可。n基于基于SRAM結(jié)構(gòu)的結(jié)構(gòu)的FPGA在使用時(shí)需要外接一個(gè)片外存儲(chǔ)在使用時(shí)需要外接一個(gè)片外存儲(chǔ)器(常用器(常用E2PROM)來保存設(shè)計(jì)文件所生成的配置數(shù)據(jù)。)來保存設(shè)計(jì)文件所生成的配置數(shù)據(jù)。n上電時(shí),上電時(shí),F(xiàn)PGA將片外存儲(chǔ)器中的數(shù)據(jù)讀入片內(nèi)將片外存儲(chǔ)器中的數(shù)據(jù)讀入片內(nèi)RAM中,中,完成配置后進(jìn)入工作狀態(tài);完成配置后進(jìn)入工作狀態(tài);n掉電后,掉電后,F(xiàn)PGA恢復(fù)為白片,內(nèi)部邏輯消失。這樣,恢復(fù)為白片,內(nèi)部邏輯消失。這樣,F(xiàn)PGA可以反
16、復(fù)擦寫。這種特性非常易于實(shí)現(xiàn)設(shè)備功能的可以反復(fù)擦寫。這種特性非常易于實(shí)現(xiàn)設(shè)備功能的更新和升級(jí)。更新和升級(jí)。11.2.2 FPGA的基本結(jié)構(gòu)的基本結(jié)構(gòu)nFPGA的基本組成結(jié)構(gòu)包括可編程輸入的基本組成結(jié)構(gòu)包括可編程輸入/輸出模塊、可編程輸出模塊、可編程邏輯模塊、可編程布線資源、內(nèi)嵌塊邏輯模塊、可編程布線資源、內(nèi)嵌塊RAM、底層內(nèi)嵌功、底層內(nèi)嵌功能單元和內(nèi)嵌專用硬件模塊等,能單元和內(nèi)嵌專用硬件模塊等,如圖如圖11.2所示所示。 圖圖11.2 FPGA的結(jié)構(gòu)框圖的結(jié)構(gòu)框圖1. 可編程輸入可編程輸入/輸出模塊(輸出模塊(IOB)nIOB使使FPGA芯片與外界電路的接口部分,用于完成不同芯片與外界電路的接
17、口部分,用于完成不同電路特性下對(duì)輸入電路特性下對(duì)輸入/輸出信號(hào)的驅(qū)動(dòng)與配置要求。一種結(jié)輸出信號(hào)的驅(qū)動(dòng)與配置要求。一種結(jié)構(gòu)比較簡(jiǎn)單的構(gòu)比較簡(jiǎn)單的FPGA芯片(芯片(Xilinx 公司的公司的XC2064)的)的IOB結(jié)構(gòu)如圖結(jié)構(gòu)如圖11.3所示。所示。n由圖可見,它由一個(gè)輸出緩沖器、一個(gè)輸入緩沖器、一個(gè)由圖可見,它由一個(gè)輸出緩沖器、一個(gè)輸入緩沖器、一個(gè)D觸發(fā)器和兩個(gè)多路選擇器(觸發(fā)器和兩個(gè)多路選擇器(MUX1和和MUX2)組成。一)組成。一個(gè)個(gè)IOB與一個(gè)外部引腳相連,在與一個(gè)外部引腳相連,在IOB的控制下,外部引腳的控制下,外部引腳可以為輸入、輸出或者雙向信號(hào)使用??梢詾檩斎?、輸出或者雙向信號(hào)
18、使用。圖圖11.3 可編程輸入可編程輸入/輸出模塊輸出模塊n每個(gè)每個(gè)IOB中含有一條可編程輸入通道和一條可編程輸出通中含有一條可編程輸入通道和一條可編程輸出通道。道。當(dāng)多路選擇器當(dāng)多路選擇器MUX1輸出為高電平時(shí)輸出為高電平時(shí),輸出緩沖器的,輸出緩沖器的輸出端處于高阻態(tài),外部輸出端處于高阻態(tài),外部I/O引腳用作輸入端,輸入信號(hào)引腳用作輸入端,輸入信號(hào)經(jīng)輸入緩沖器轉(zhuǎn)換為適合芯片內(nèi)部工作的信號(hào),同時(shí),緩經(jīng)輸入緩沖器轉(zhuǎn)換為適合芯片內(nèi)部工作的信號(hào),同時(shí),緩沖后的輸入信號(hào)被送到?jīng)_后的輸入信號(hào)被送到D觸發(fā)器的觸發(fā)器的D輸入端和多路選擇器輸入端和多路選擇器MUX2的一個(gè)輸入端。的一個(gè)輸入端。n 用戶可編程選
19、擇直接輸入方式(即不經(jīng)用戶可編程選擇直接輸入方式(即不經(jīng)D觸發(fā)器而直接觸發(fā)器而直接送入送入MUX2)或者寄存器輸入方式(即經(jīng))或者寄存器輸入方式(即經(jīng)D觸發(fā)器寄存后觸發(fā)器寄存后再送入再送入MUX2)。)。n當(dāng)多路選擇器當(dāng)多路選擇器MUX1輸出為低電平時(shí)輸出為低電平時(shí),外部,外部I/O引腳作輸引腳作輸出端使用。出端使用。2. 可編輯邏輯模塊(可編輯邏輯模塊(CLB)nCLB是可編輯邏輯的主體,以矩陣形式安排在器件中心,是可編輯邏輯的主體,以矩陣形式安排在器件中心,其實(shí)際數(shù)量和特性依器件不同而不同。其實(shí)際數(shù)量和特性依器件不同而不同。n每個(gè)每個(gè)CLB中包含組合邏輯電路、存儲(chǔ)電路和由一些多路選中包含組
20、合邏輯電路、存儲(chǔ)電路和由一些多路選擇器組成的內(nèi)部控制電路,外有擇器組成的內(nèi)部控制電路,外有4個(gè)通用輸入端個(gè)通用輸入端A、B、C、D,2個(gè)輸出端個(gè)輸出端X、Y和一個(gè)專用的時(shí)鐘輸入端和一個(gè)專用的時(shí)鐘輸入端K,如圖如圖11.4所示。所示。n組合邏輯電路部分可以根據(jù)需要將其編程為組合邏輯電路部分可以根據(jù)需要將其編程為3種不同的組種不同的組合邏輯形式,分別產(chǎn)生一個(gè)合邏輯形式,分別產(chǎn)生一個(gè)4輸入變量的函數(shù)、兩個(gè)輸入變量的函數(shù)、兩個(gè)3輸入輸入變量的函數(shù)和一個(gè)變量的函數(shù)和一個(gè)5輸入變量的函數(shù),輸入變量可以來自輸入變量的函數(shù),輸入變量可以來自CLB的的4個(gè)輸入端,也可以來自個(gè)輸入端,也可以來自CLB內(nèi)部觸發(fā)器的
21、內(nèi)部觸發(fā)器的Q端輸端輸出,使整個(gè)控制邏輯具有較強(qiáng)的靈活性。出,使整個(gè)控制邏輯具有較強(qiáng)的靈活性。圖圖11.4 FPGA(XC2064) 的的CLB結(jié)構(gòu)結(jié)構(gòu)3. 可編程布線資源(可編程布線資源(PI)nFPGA芯片內(nèi)部有著豐富的布線資源。根據(jù)工藝、連線長(zhǎng)芯片內(nèi)部有著豐富的布線資源。根據(jù)工藝、連線長(zhǎng)度、寬度和布線位置的不同而劃分為度、寬度和布線位置的不同而劃分為4種類型種類型。n第一類是全局布線資源第一類是全局布線資源,用于芯片內(nèi)部全局時(shí)鐘和全局復(fù),用于芯片內(nèi)部全局時(shí)鐘和全局復(fù)位位/置位信號(hào)的布線;置位信號(hào)的布線;n第二類是長(zhǎng)線資源第二類是長(zhǎng)線資源,用于完成芯片中各模塊間信號(hào)的長(zhǎng)距,用于完成芯片中各
22、模塊間信號(hào)的長(zhǎng)距離傳輸,或用于以最短路徑將信號(hào)傳送到多個(gè)目的地的情離傳輸,或用于以最短路徑將信號(hào)傳送到多個(gè)目的地的情況;況;n第三類是短線資源第三類是短線資源,它具有連線短、延遲小的特點(diǎn),例如,它具有連線短、延遲小的特點(diǎn),例如CLB的輸出的輸出X與它上下相鄰的與它上下相鄰的CLB輸入的連接;輸入的連接;n第四類是分布式的布線資源第四類是分布式的布線資源,用于專有時(shí)鐘、復(fù)位等控制,用于專有時(shí)鐘、復(fù)位等控制信號(hào)線。信號(hào)線。n需要說明的是,在實(shí)際設(shè)計(jì)中,設(shè)計(jì)者并不需要直接選擇需要說明的是,在實(shí)際設(shè)計(jì)中,設(shè)計(jì)者并不需要直接選擇布線資源,布局布線器(軟件)可自動(dòng)地根據(jù)輸入邏輯網(wǎng)布線資源,布局布線器(軟件
23、)可自動(dòng)地根據(jù)輸入邏輯網(wǎng)表的拓?fù)浣Y(jié)構(gòu)和約束條件選擇布線資源來連通各個(gè)模塊單表的拓?fù)浣Y(jié)構(gòu)和約束條件選擇布線資源來連通各個(gè)模塊單元。元。4. 內(nèi)嵌塊內(nèi)嵌塊RAM(BRAM)n目前大多數(shù)目前大多數(shù)FPGA都具有內(nèi)嵌塊都具有內(nèi)嵌塊RAM(BLOCK RAM),),這大大拓展了這大大拓展了FPGA的應(yīng)用范圍和靈活性。的應(yīng)用范圍和靈活性。FPGA內(nèi)嵌的內(nèi)嵌的塊塊RAM一般可以靈活地配置為單端口一般可以靈活地配置為單端口RAM、雙端口、雙端口RAM、內(nèi)容地址存儲(chǔ)器內(nèi)容地址存儲(chǔ)器CAM(Content Addressable Memory)和和FIFO等常用存儲(chǔ)結(jié)構(gòu)。等常用存儲(chǔ)結(jié)構(gòu)。n在在CAM存儲(chǔ)器存儲(chǔ)器內(nèi)
24、部的每個(gè)存儲(chǔ)單元中都有一個(gè)比較邏輯,內(nèi)部的每個(gè)存儲(chǔ)單元中都有一個(gè)比較邏輯,寫入寫入CAM中的數(shù)據(jù)會(huì)和其內(nèi)部存儲(chǔ)的每一個(gè)數(shù)據(jù)進(jìn)行比中的數(shù)據(jù)會(huì)和其內(nèi)部存儲(chǔ)的每一個(gè)數(shù)據(jù)進(jìn)行比較,并返回與端口數(shù)據(jù)相同的所有內(nèi)部數(shù)據(jù)的地址。這種較,并返回與端口數(shù)據(jù)相同的所有內(nèi)部數(shù)據(jù)的地址。這種功能特性在路由的地址交換器中有廣泛的應(yīng)用。功能特性在路由的地址交換器中有廣泛的應(yīng)用。5. 底層內(nèi)嵌功能單元底層內(nèi)嵌功能單元n底層內(nèi)嵌功能單元指的是那些通用程度較高的嵌入式功能底層內(nèi)嵌功能單元指的是那些通用程度較高的嵌入式功能模塊,如模塊,如DLL(Delay Locked Loop)、)、PLL(Phase Locked Loop
25、)、DSP和和CPU等。等。n正是由于集成了豐富的內(nèi)嵌功能單元,才使正是由于集成了豐富的內(nèi)嵌功能單元,才使FPGA能夠滿能夠滿足各種不同場(chǎng)合的需求。足各種不同場(chǎng)合的需求。nDLL和和PLL具有類似的功能,可以完成時(shí)鐘高精度,低抖具有類似的功能,可以完成時(shí)鐘高精度,低抖動(dòng)的倍頻和分頻,以及占空比調(diào)整和移相等功能。動(dòng)的倍頻和分頻,以及占空比調(diào)整和移相等功能。6. 內(nèi)嵌專用硬核內(nèi)嵌專用硬核n內(nèi)嵌專用硬核(內(nèi)嵌專用硬核(Hard Core)是相對(duì)底層嵌入的軟核而言)是相對(duì)底層嵌入的軟核而言的。的。FPGA中處理能力強(qiáng)大的硬核,等效于中處理能力強(qiáng)大的硬核,等效于ASIC電路。電路。n為了提高為了提高FP
26、GA的乘法速度,主流的的乘法速度,主流的FPGA都集成了專用都集成了專用乘法器;乘法器;n為了適用通信總線與接口標(biāo)準(zhǔn),很多高端的為了適用通信總線與接口標(biāo)準(zhǔn),很多高端的FPGA內(nèi)部都內(nèi)部都集成了串并收發(fā)器(集成了串并收發(fā)器(SERDES),可以達(dá)到幾十吉比特可以達(dá)到幾十吉比特/秒秒(G bps)的收發(fā)速度。)的收發(fā)速度。11.2.3 IP核簡(jiǎn)介核簡(jiǎn)介nIP (Intelligent Property)核核是具有知識(shí)產(chǎn)權(quán)的集成電路芯是具有知識(shí)產(chǎn)權(quán)的集成電路芯核的總稱,是經(jīng)過反復(fù)驗(yàn)證的、具有特定功能的宏模塊,核的總稱,是經(jīng)過反復(fù)驗(yàn)證的、具有特定功能的宏模塊,與芯片制造工藝無關(guān),可以移植到不同的半導(dǎo)體
27、工藝中。與芯片制造工藝無關(guān),可以移植到不同的半導(dǎo)體工藝中。n目前,目前,IP核已經(jīng)變成系統(tǒng)設(shè)計(jì)的基本單元,并作為獨(dú)立設(shè)核已經(jīng)變成系統(tǒng)設(shè)計(jì)的基本單元,并作為獨(dú)立設(shè)計(jì)成果被交換,轉(zhuǎn)讓和銷售。計(jì)成果被交換,轉(zhuǎn)讓和銷售。n從從IP核的提供方式上,通常將其分為核的提供方式上,通常將其分為軟核、硬核和固核軟核、硬核和固核三三種類型。從完成種類型。從完成IP核所花費(fèi)的成本來講,硬核代價(jià)最大;核所花費(fèi)的成本來講,硬核代價(jià)最大;從使用靈活性來講,軟核的可復(fù)用性最高。從使用靈活性來講,軟核的可復(fù)用性最高。1. 軟核軟核n在在EDA設(shè)計(jì)領(lǐng)域中,軟核指的是綜合(設(shè)計(jì)領(lǐng)域中,軟核指的是綜合(Synthesis)之前的)
28、之前的寄存器傳輸級(jí)(寄存器傳輸級(jí)(RTL)模型。)模型。n具體在具體在FPGA設(shè)計(jì)中,指的是對(duì)電路的硬件語言描述,包設(shè)計(jì)中,指的是對(duì)電路的硬件語言描述,包括邏輯描述、網(wǎng)表和幫助文檔等。軟核只經(jīng)過功能仿真,括邏輯描述、網(wǎng)表和幫助文檔等。軟核只經(jīng)過功能仿真,需要經(jīng)過綜合以及布局布線后才能使用。其優(yōu)點(diǎn)是靈活性需要經(jīng)過綜合以及布局布線后才能使用。其優(yōu)點(diǎn)是靈活性高,可移植性強(qiáng),允許用戶自己配置。高,可移植性強(qiáng),允許用戶自己配置。n其缺點(diǎn)是對(duì)模塊的可預(yù)測(cè)性較低,在后續(xù)設(shè)計(jì)中存在發(fā)生其缺點(diǎn)是對(duì)模塊的可預(yù)測(cè)性較低,在后續(xù)設(shè)計(jì)中存在發(fā)生錯(cuò)誤的可能性,存在一定的設(shè)計(jì)風(fēng)險(xiǎn)。軟核是錯(cuò)誤的可能性,存在一定的設(shè)計(jì)風(fēng)險(xiǎn)。軟
29、核是IP較應(yīng)用最較應(yīng)用最廣泛的形式。廣泛的形式。2. 固核固核n在在EDA設(shè)計(jì)領(lǐng)域中,固核指的是帶有平面規(guī)劃信息的網(wǎng)表。設(shè)計(jì)領(lǐng)域中,固核指的是帶有平面規(guī)劃信息的網(wǎng)表。具體在具體在FPGA設(shè)計(jì)中,可以看作帶有布局規(guī)劃的軟核,通設(shè)計(jì)中,可以看作帶有布局規(guī)劃的軟核,通常以常以RTL代碼和對(duì)應(yīng)具體工藝網(wǎng)表的混合形式提供。代碼和對(duì)應(yīng)具體工藝網(wǎng)表的混合形式提供。n將將RTL描述結(jié)合具體標(biāo)準(zhǔn)單元庫進(jìn)行綜合優(yōu)化設(shè)計(jì),形成描述結(jié)合具體標(biāo)準(zhǔn)單元庫進(jìn)行綜合優(yōu)化設(shè)計(jì),形成門級(jí)網(wǎng)表,再通過布局布線工具即可使用。門級(jí)網(wǎng)表,再通過布局布線工具即可使用。n與軟核相比,固核的設(shè)計(jì)靈活性稍差,但在可預(yù)測(cè)性上有與軟核相比,固核的設(shè)
30、計(jì)靈活性稍差,但在可預(yù)測(cè)性上有較大提高。目前,固核也是較大提高。目前,固核也是IP核的主流形成之一。核的主流形成之一。3. 硬核硬核n在在EDA設(shè)計(jì)領(lǐng)域中,硬核指的是經(jīng)過驗(yàn)證的設(shè)計(jì)版圖。具設(shè)計(jì)領(lǐng)域中,硬核指的是經(jīng)過驗(yàn)證的設(shè)計(jì)版圖。具體在體在FPGA設(shè)計(jì)中,指布局和工藝固定、經(jīng)過前端和后端設(shè)計(jì)中,指布局和工藝固定、經(jīng)過前端和后端的設(shè)計(jì),設(shè)計(jì)人員不能對(duì)其修改。的設(shè)計(jì),設(shè)計(jì)人員不能對(duì)其修改。n硬核的這種不允許修改特點(diǎn)使其復(fù)用有一定困難,所以通硬核的這種不允許修改特點(diǎn)使其復(fù)用有一定困難,所以通常用于某些特定應(yīng)用中,使用范圍較窄。常用于某些特定應(yīng)用中,使用范圍較窄。11.3 FPGA的設(shè)計(jì)與開發(fā)的設(shè)計(jì)與
31、開發(fā)11.3.1 FPGA的基本開發(fā)流程的基本開發(fā)流程nFPGA的基本開發(fā)流程主要包括的基本開發(fā)流程主要包括設(shè)計(jì)輸入設(shè)計(jì)輸入(Design Entry)、)、仿真仿真(Simulation)、)、綜合綜合(Synthesize)、布)、布局布線(局布線(Place and Route)和)和下載編程下載編程等步驟。等步驟。nFPGA的一般開發(fā)流程如圖的一般開發(fā)流程如圖11.5所示。所示。 圖圖11.5 FPGA的一般開發(fā)流程的一般開發(fā)流程1. 1. 設(shè)計(jì)輸入設(shè)計(jì)輸入n設(shè)計(jì)輸入是將所設(shè)計(jì)的電路或系統(tǒng)以開發(fā)軟件所要求的某設(shè)計(jì)輸入是將所設(shè)計(jì)的電路或系統(tǒng)以開發(fā)軟件所要求的某種形式表示出來,并輸入給種形
32、式表示出來,并輸入給EDA工具的過程。工具的過程。n常用的方法有常用的方法有硬件描述語言(硬件描述語言(HDL)輸入方式和原理圖輸)輸入方式和原理圖輸入方式入方式等。等。n原理圖輸入方式原理圖輸入方式在可編程器件發(fā)展的早期應(yīng)用比較廣泛,在可編程器件發(fā)展的早期應(yīng)用比較廣泛,它將所需要的器件從元件庫中調(diào)出來,畫出電路原理圖,它將所需要的器件從元件庫中調(diào)出來,畫出電路原理圖,完成輸入過程。完成輸入過程。n這種方法的優(yōu)點(diǎn)是直觀、便于理解、元器件資源豐富。但這種方法的優(yōu)點(diǎn)是直觀、便于理解、元器件資源豐富。但在大型設(shè)計(jì)中,這種方法的效率較低,且不易維護(hù),不利在大型設(shè)計(jì)中,這種方法的效率較低,且不易維護(hù),不
33、利于模塊構(gòu)造和重用,更主要的缺點(diǎn)是可移植性差,當(dāng)芯片于模塊構(gòu)造和重用,更主要的缺點(diǎn)是可移植性差,當(dāng)芯片升級(jí)后,所有的原理圖都需要作一定的改動(dòng)。升級(jí)后,所有的原理圖都需要作一定的改動(dòng)。n目前,在實(shí)際開發(fā)中應(yīng)用最廣的是目前,在實(shí)際開發(fā)中應(yīng)用最廣的是HDL語言輸入法語言輸入法,利用,利用文本(程序代碼)描述設(shè)計(jì),可以分為普通文本(程序代碼)描述設(shè)計(jì),可以分為普通HDL和行為和行為HDL。普通。普通HDL(如(如ABEL-HDL),支持邏輯方程、真),支持邏輯方程、真值表和狀態(tài)圖等表達(dá)方式,主要用于簡(jiǎn)單的小型設(shè)計(jì);值表和狀態(tài)圖等表達(dá)方式,主要用于簡(jiǎn)單的小型設(shè)計(jì);n在中、大型設(shè)計(jì)中,主要使用在中、大型設(shè)
34、計(jì)中,主要使用行為行為HDL,如,如Verilog HDL和和VHDL,這兩種語言(普通,這兩種語言(普通HDL和行為和行為HDL)的共同)的共同特點(diǎn)是語言與芯片工藝無關(guān),利于自頂向下設(shè)計(jì),便于模特點(diǎn)是語言與芯片工藝無關(guān),利于自頂向下設(shè)計(jì),便于模塊的劃分與移植,具有很強(qiáng)的邏輯描述功能,而且輸入效塊的劃分與移植,具有很強(qiáng)的邏輯描述功能,而且輸入效率很高。率很高。2. 功能仿真功能仿真n功能仿真也稱前仿真或行為仿真,是在綜合之前對(duì)用戶所功能仿真也稱前仿真或行為仿真,是在綜合之前對(duì)用戶所設(shè)計(jì)的電路進(jìn)行邏輯功能驗(yàn)證。這時(shí)的仿真沒有時(shí)延信息,設(shè)計(jì)的電路進(jìn)行邏輯功能驗(yàn)證。這時(shí)的仿真沒有時(shí)延信息,僅對(duì)初步的
35、功能進(jìn)行檢測(cè)。僅對(duì)初步的功能進(jìn)行檢測(cè)。n仿真前,需先利用波形編輯器建立波形文件和測(cè)試向量仿真前,需先利用波形編輯器建立波形文件和測(cè)試向量(輸入信號(hào)序列)。(輸入信號(hào)序列)。n仿真結(jié)果將會(huì)生成報(bào)告文件和輸出信號(hào)波形,從中可以觀仿真結(jié)果將會(huì)生成報(bào)告文件和輸出信號(hào)波形,從中可以觀察各個(gè)節(jié)點(diǎn)信號(hào)的變化情況是否符合功能要求。如果發(fā)現(xiàn)察各個(gè)節(jié)點(diǎn)信號(hào)的變化情況是否符合功能要求。如果發(fā)現(xiàn)錯(cuò)誤,則返回設(shè)計(jì)輸入進(jìn)行修改。錯(cuò)誤,則返回設(shè)計(jì)輸入進(jìn)行修改。3. 綜合綜合n綜合就是將較高級(jí)抽象層次的描述轉(zhuǎn)化成較低層次的描述。綜合就是將較高級(jí)抽象層次的描述轉(zhuǎn)化成較低層次的描述。它根據(jù)設(shè)計(jì)目標(biāo)與要求(約束條件)優(yōu)化所生成的邏
36、輯連它根據(jù)設(shè)計(jì)目標(biāo)與要求(約束條件)優(yōu)化所生成的邏輯連接,使層次設(shè)計(jì)平面化,供接,使層次設(shè)計(jì)平面化,供FPGA布局布線軟件來實(shí)現(xiàn)。布局布線軟件來實(shí)現(xiàn)。n具體而言,綜合就是將具體而言,綜合就是將HDL語言、原理圖等設(shè)計(jì)輸入翻譯語言、原理圖等設(shè)計(jì)輸入翻譯成由與門、或門、非門、成由與門、或門、非門、RAM、觸發(fā)器等基本邏輯單元、觸發(fā)器等基本邏輯單元組成的邏輯連接網(wǎng)表,而并非真實(shí)的門級(jí)電路。組成的邏輯連接網(wǎng)表,而并非真實(shí)的門級(jí)電路。n真實(shí)、具體的門級(jí)電路需要利用真實(shí)、具體的門級(jí)電路需要利用FPGA制造商的布局布線制造商的布局布線功能,根據(jù)綜合后生成的標(biāo)準(zhǔn)門級(jí)網(wǎng)表來產(chǎn)生。為了能夠功能,根據(jù)綜合后生成的標(biāo)
37、準(zhǔn)門級(jí)網(wǎng)表來產(chǎn)生。為了能夠轉(zhuǎn)換成標(biāo)準(zhǔn)的門級(jí)網(wǎng)表,轉(zhuǎn)換成標(biāo)準(zhǔn)的門級(jí)網(wǎng)表,HDL程序的編寫必須符合特定綜程序的編寫必須符合特定綜合器所要求的風(fēng)格。合器所要求的風(fēng)格。 4. 實(shí)現(xiàn)與布局布線實(shí)現(xiàn)與布局布線n實(shí)現(xiàn)是將綜合生成的邏輯連接網(wǎng)表適配到具體的實(shí)現(xiàn)是將綜合生成的邏輯連接網(wǎng)表適配到具體的FPGA芯芯片上,布局布線是其中最重要過程。片上,布局布線是其中最重要過程。n布局將邏輯連接網(wǎng)表中的底層單元確定到芯片內(nèi)部的合理布局將邏輯連接網(wǎng)表中的底層單元確定到芯片內(nèi)部的合理位置上,并且要在速度最優(yōu)和面積最優(yōu)之間作出權(quán)衡和選位置上,并且要在速度最優(yōu)和面積最優(yōu)之間作出權(quán)衡和選擇。擇。n布線根據(jù)布局的拓?fù)浣Y(jié)構(gòu)、利用芯
38、片內(nèi)部的各種連線資源,布線根據(jù)布局的拓?fù)浣Y(jié)構(gòu)、利用芯片內(nèi)部的各種連線資源,正確地連接各個(gè)元件。由于正確地連接各個(gè)元件。由于FPGA的結(jié)構(gòu)非常復(fù)雜,只有的結(jié)構(gòu)非常復(fù)雜,只有FPGA芯片生產(chǎn)廠商才對(duì)芯片的結(jié)構(gòu)最為了解,所以布局芯片生產(chǎn)廠商才對(duì)芯片的結(jié)構(gòu)最為了解,所以布局布線必須選擇開發(fā)商提供工具。布線必須選擇開發(fā)商提供工具。5. 時(shí)序仿真時(shí)序仿真n時(shí)序仿真也稱時(shí)序仿真也稱后仿真后仿真,是指將布局布線的時(shí)延信息反標(biāo)注,是指將布局布線的時(shí)延信息反標(biāo)注到設(shè)計(jì)網(wǎng)表中來檢測(cè)有無時(shí)序違規(guī)現(xiàn)象。到設(shè)計(jì)網(wǎng)表中來檢測(cè)有無時(shí)序違規(guī)現(xiàn)象。n由于時(shí)序仿真含有較為全面、精確的時(shí)延信息,所以能較由于時(shí)序仿真含有較為全面、精確
39、的時(shí)延信息,所以能較好地反映芯片的實(shí)際工作情況。好地反映芯片的實(shí)際工作情況。n另外,通過時(shí)序仿真,檢查和清除電路中實(shí)際存在的冒險(xiǎn)另外,通過時(shí)序仿真,檢查和清除電路中實(shí)際存在的冒險(xiǎn)現(xiàn)象是十分必要的?,F(xiàn)象是十分必要的。6. 下載編程與調(diào)試下載編程與調(diào)試n下載編程是將設(shè)計(jì)階段所生成的位流文件裝入到可編程器下載編程是將設(shè)計(jì)階段所生成的位流文件裝入到可編程器件中。通常,器件編程需要滿足一定的條件,如編程電壓、件中。通常,器件編程需要滿足一定的條件,如編程電壓、編程時(shí)序和編程算法等。編程時(shí)序和編程算法等。n 邏輯分析儀邏輯分析儀(Logic Analyzer)是)是FPGA設(shè)計(jì)的常用調(diào)試設(shè)計(jì)的常用調(diào)試工具
40、,但需引出大量的測(cè)試管腳,且設(shè)備的價(jià)格較貴。工具,但需引出大量的測(cè)試管腳,且設(shè)備的價(jià)格較貴。n主流的主流的FPGA芯片廠商都提供了內(nèi)嵌的在線邏輯分析儀來芯片廠商都提供了內(nèi)嵌的在線邏輯分析儀來解決上述矛盾,它們只占用芯片的少量邏輯資源,具有很解決上述矛盾,它們只占用芯片的少量邏輯資源,具有很高的使用價(jià)值。高的使用價(jià)值。11.3.2 FPGA/CPLD 開發(fā)工具開發(fā)工具M(jìn)AX+Plus II簡(jiǎn)介簡(jiǎn)介n MAX+Plus 集設(shè)計(jì)輸入、編譯、仿真、綜合、編程(配集設(shè)計(jì)輸入、編譯、仿真、綜合、編程(配置)于一體,帶有豐富的設(shè)計(jì)庫,并有較詳細(xì)的聯(lián)機(jī)幫助置)于一體,帶有豐富的設(shè)計(jì)庫,并有較詳細(xì)的聯(lián)機(jī)幫助功能
41、的可編程器件開發(fā)環(huán)境。功能的可編程器件開發(fā)環(huán)境。n下面分別以下面分別以原理圖輸入方式原理圖輸入方式和和VHDL語言輸入方式語言輸入方式設(shè)計(jì)為設(shè)計(jì)為例,具體介紹利用例,具體介紹利用MAX+Plus II進(jìn)行可編程邏輯器件設(shè)計(jì)進(jìn)行可編程邏輯器件設(shè)計(jì)的詳細(xì)過程。的詳細(xì)過程。1. 原理圖文方式原理圖文方式n首先需啟動(dòng)首先需啟動(dòng)MAX+Plus II,啟動(dòng)后先出現(xiàn)的是,啟動(dòng)后先出現(xiàn)的是MAX+Plus II管理器窗口,如圖管理器窗口,如圖11.6所示。所示。n一個(gè)新項(xiàng)目(一個(gè)新項(xiàng)目(Project)設(shè)計(jì)的第一步是為項(xiàng)目)設(shè)計(jì)的第一步是為項(xiàng)目指定一個(gè)名指定一個(gè)名稱稱,以便管理屬于該項(xiàng)目的數(shù)據(jù)和文件。,以便
42、管理屬于該項(xiàng)目的數(shù)據(jù)和文件。圖圖11.6 MAX+Pluss II 管理器窗口管理器窗口n指 定 項(xiàng) 目 名 稱 的 方 法 是 : 在 管 理 器 窗 口 單 擊指 定 項(xiàng) 目 名 稱 的 方 法 是 : 在 管 理 器 窗 口 單 擊FileProjectName,彈出,彈出Project Name對(duì)話框,在對(duì)話框,在Project Name對(duì)話框中選擇適當(dāng)?shù)尿?qū)動(dòng)器和目錄,鍵入項(xiàng)對(duì)話框中選擇適當(dāng)?shù)尿?qū)動(dòng)器和目錄,鍵入項(xiàng)目名稱(例如目名稱(例如add1),單擊),單擊OK按鈕,按鈕,如圖如圖11.7所示所示。11.7 項(xiàng)目命名窗口項(xiàng)目命名窗口n在在MAX+Plus II中,用戶的每個(gè)獨(dú)立設(shè)計(jì)都
43、對(duì)應(yīng)一個(gè)項(xiàng)目,中,用戶的每個(gè)獨(dú)立設(shè)計(jì)都對(duì)應(yīng)一個(gè)項(xiàng)目,每個(gè)項(xiàng)目可包含一個(gè)或多個(gè)設(shè)計(jì)文件。每個(gè)項(xiàng)目可包含一個(gè)或多個(gè)設(shè)計(jì)文件。n這些文件中必須包含一個(gè)頂層文件,而且頂層文件名必須這些文件中必須包含一個(gè)頂層文件,而且頂層文件名必須和項(xiàng)目名相同。和項(xiàng)目名相同。n項(xiàng)目的文件中還包括編譯過程中產(chǎn)生的各種中間文件,這項(xiàng)目的文件中還包括編譯過程中產(chǎn)生的各種中間文件,這些文件的后綴有所不同,如些文件的后綴有所不同,如hif、cnf、mmf等。等。 (1)建立原理圖輸入文件)建立原理圖輸入文件打開原理圖編輯器。打開原理圖編輯器。 在管理器窗口中單擊在管理器窗口中單擊FileNew或在工具欄上直接單擊相或在工具欄上直
44、接單擊相應(yīng)按鈕,將出現(xiàn)應(yīng)按鈕,將出現(xiàn)如圖如圖11.8所示所示的新建文件夾對(duì)話框。的新建文件夾對(duì)話框。在該對(duì)話框中選擇在該對(duì)話框中選擇Graphic Editor File(后綴為(后綴為.gdf)項(xiàng),)項(xiàng),然后單擊然后單擊OK按鈕,便會(huì)出現(xiàn)一個(gè)原理圖編輯窗口,此時(shí)按鈕,便會(huì)出現(xiàn)一個(gè)原理圖編輯窗口,此時(shí)即可輸入原理圖文件。即可輸入原理圖文件。輸入完后單擊輸入完后單擊FileSave as,則會(huì)出現(xiàn),則會(huì)出現(xiàn)如圖如圖11.9所示所示的對(duì)的對(duì)話窗口。話窗口。 圖圖11.8 新建文件對(duì)話框新建文件對(duì)話框 圖圖11.9 保存圖形輸入文件保存圖形輸入文件注意,這里將文件名保存為注意,這里將文件名保存為ad
45、d1,與項(xiàng)目名字相同,單擊,與項(xiàng)目名字相同,單擊OK按鈕結(jié)束。按鈕結(jié)束。 輸入元器件和模塊。輸入元器件和模塊。 在原理圖編輯窗口空白處雙擊鼠標(biāo)左鍵或在在原理圖編輯窗口空白處雙擊鼠標(biāo)左鍵或在Symbol菜單菜單中選擇中選擇Enter Symbol,便彈出,便彈出Enter Symbol對(duì)話框,對(duì)話框,如圖如圖11.10所示。所示。在在Symbol Libraries框中雙擊所需的庫名,接著框中雙擊所需的庫名,接著在在Symbol Files框中單擊所選器件名(例如框中單擊所選器件名(例如Prim庫中的庫中的and2、mf庫中的庫中的74138等)等), 然后單擊然后單擊OK按鈕。按鈕。重復(fù)這一步
46、,直至選中所需的全部器件。相同的模塊也可重復(fù)這一步,直至選中所需的全部器件。相同的模塊也可用復(fù)制的方法產(chǎn)生。還可用鼠標(biāo)左鍵選中器件并按住左鍵用復(fù)制的方法產(chǎn)生。還可用鼠標(biāo)左鍵選中器件并按住左鍵拖動(dòng),將元器件拖動(dòng)到適當(dāng)?shù)奈恢?。拖?dòng),將元器件拖動(dòng)到適當(dāng)?shù)奈恢谩?圖圖11.10 元器件選擇對(duì)話框元器件選擇對(duì)話框nEnter Symbol對(duì)話框中的符號(hào)庫位于對(duì)話框中的符號(hào)庫位于Maxplus2目錄下的目錄下的Max2lib子目錄中,子目錄中,4種不同的符號(hào)庫分別為基本邏輯器件種不同的符號(hào)庫分別為基本邏輯器件庫庫Prim、74系列器件庫系列器件庫mf、基于網(wǎng)表、基于網(wǎng)表SNF的基本邏輯器的基本邏輯器件庫件
47、庫edif和參數(shù)化的宏模塊庫和參數(shù)化的宏模塊庫mega_Lpm。n其中其中Prim庫、庫、mf庫和庫和edif庫中的元器件是固定不變的,選庫中的元器件是固定不變的,選中后可直接使用。中后可直接使用。nmega_Lmp庫中的模塊稱為參數(shù)化的宏模塊,其信號(hào)及其庫中的模塊稱為參數(shù)化的宏模塊,其信號(hào)及其極性和位數(shù)需由用戶根據(jù)需要設(shè)定后才能使用。極性和位數(shù)需由用戶根據(jù)需要設(shè)定后才能使用。放置輸入、輸出引腳。放置輸入、輸出引腳。首先打開首先打開Enter Symbol對(duì)話框,然后在其中的對(duì)話框,然后在其中的Symbol Name框中鍵入框中鍵入input、output或或bidir,分別,分別代表輸入、輸
48、代表輸入、輸出和雙向出和雙向I/O引腳引腳,單擊,單擊OK按鈕,相應(yīng)的輸入或輸出引腳按鈕,相應(yīng)的輸入或輸出引腳就會(huì)出現(xiàn)在編輯窗口中。就會(huì)出現(xiàn)在編輯窗口中。 重復(fù)這一步即可產(chǎn)生所有的輸入和輸出引腳,也可用復(fù)重復(fù)這一步即可產(chǎn)生所有的輸入和輸出引腳,也可用復(fù)制的方法得到所有引腳。制的方法得到所有引腳。n電源(電源(VCC)和地()和地(GND)與輸入、輸出引腳類似,也)與輸入、輸出引腳類似,也作為較特殊元件,采用上述方法在作為較特殊元件,采用上述方法在Symbol Name框中鍵入框中鍵入VCC或或GND,即可使它們出現(xiàn)在編輯窗口所選位置上。,即可使它們出現(xiàn)在編輯窗口所選位置上。連線。連線。 將電路
49、中兩個(gè)端口(即連線端點(diǎn))連接起來的方法為:將電路中兩個(gè)端口(即連線端點(diǎn))連接起來的方法為:將鼠標(biāo)指向一個(gè)端口,鼠標(biāo)箭頭會(huì)自動(dòng)成將鼠標(biāo)指向一個(gè)端口,鼠標(biāo)箭頭會(huì)自動(dòng)成“”形狀。形狀。按住鼠標(biāo)左鍵拖至另一端口,放開左鍵,則會(huì)在兩個(gè)端口按住鼠標(biāo)左鍵拖至另一端口,放開左鍵,則會(huì)在兩個(gè)端口間產(chǎn)生一根連線。連線時(shí)若需轉(zhuǎn)折,則在轉(zhuǎn)折處松一下左間產(chǎn)生一根連線。連線時(shí)若需轉(zhuǎn)折,則在轉(zhuǎn)折處松一下左鍵,再按住繼續(xù)移動(dòng)至終點(diǎn)處。鍵,再按住繼續(xù)移動(dòng)至終點(diǎn)處。連線的粗細(xì)可通過單擊右鍵菜單中的連線的粗細(xì)可通過單擊右鍵菜單中的Line Style來選擇,來選擇,總線通常選用粗線來表示??偩€通常選用粗線來表示。輸入、輸出引腳命名
50、。輸入、輸出引腳命名。 對(duì)輸入、輸出引腳命名的方法是在引腳對(duì)輸入、輸出引腳命名的方法是在引腳“PIN-NAME”位位置雙擊,然后鍵入信號(hào)名。置雙擊,然后鍵入信號(hào)名。保存文件。保存文件。 單擊單擊FileSave as或或Save,或在工具欄中單擊相應(yīng)按鈕,或在工具欄中單擊相應(yīng)按鈕,若是第一次保存,需輸入文件名。若是第一次保存,需輸入文件名。建立一個(gè)默認(rèn)的符號(hào)文件。建立一個(gè)默認(rèn)的符號(hào)文件。 在層次化設(shè)計(jì)中,如果當(dāng)前編輯的文件不是頂層文件,在層次化設(shè)計(jì)中,如果當(dāng)前編輯的文件不是頂層文件,則往往需要為其產(chǎn)生一個(gè)符號(hào),將其打包成一個(gè)模塊,以則往往需要為其產(chǎn)生一個(gè)符號(hào),將其打包成一個(gè)模塊,以便在上層電路
51、設(shè)計(jì)時(shí)加以引用。便在上層電路設(shè)計(jì)時(shí)加以引用。建立符號(hào)文件的方法是,在建立符號(hào)文件的方法是,在File菜單中選擇菜單中選擇Create Default Symbol項(xiàng)即可。項(xiàng)即可。n圖圖11.11所示所示即為構(gòu)成一位全加器所需的全部元器件及輸入、即為構(gòu)成一位全加器所需的全部元器件及輸入、輸出引腳。輸出引腳。圖圖11.11 放置元件和引腳到合適位置放置元件和引腳到合適位置 n雙擊引腳的雙擊引腳的“PIN-NAME”位置,將三個(gè)輸入引腳分別命位置,將三個(gè)輸入引腳分別命名為名為A、B和和C_in,兩個(gè)輸出引腳分別命名為,兩個(gè)輸出引腳分別命名為S和和C_out。其中其中A、B代表相加的兩個(gè)一位二進(jìn)制數(shù),
52、代表相加的兩個(gè)一位二進(jìn)制數(shù),C_in為低位進(jìn)為低位進(jìn)位輸入;位輸入;S為全加和,為全加和,C_out為全加進(jìn)位輸出。為全加進(jìn)位輸出。n連接元器件之間的相關(guān)連線形成的全加器原理圖文件連接元器件之間的相關(guān)連線形成的全加器原理圖文件如圖如圖11.12所示所示。圖圖11.12 全加器原理圖輸入全加器原理圖輸入(2)編譯)編譯n編譯的作用是檢查設(shè)計(jì)輸入中有無描述性錯(cuò)誤,若無錯(cuò),編譯的作用是檢查設(shè)計(jì)輸入中有無描述性錯(cuò)誤,若無錯(cuò),則提取出電路網(wǎng)表(則提取出電路網(wǎng)表(Netlist);若有錯(cuò),則給出出錯(cuò)信息。);若有錯(cuò),則給出出錯(cuò)信息。n在編譯之前應(yīng)當(dāng)先指定器件,這里的器件是指每個(gè)設(shè)計(jì)所在編譯之前應(yīng)當(dāng)先指定器
53、件,這里的器件是指每個(gè)設(shè)計(jì)所使用的使用的FPGA或或EPLD芯片,芯片,Altera公司具有代表性的公司具有代表性的FPGA芯片系列有芯片系列有ACEX1K、FLEX10K、FLEX8000等,等,具有代表性的具有代表性的EPLD芯片系列有芯片系列有MAX 3000、MAX 7000、MAX 8000等。等。n指定器件的操作如下:指定器件的操作如下: 在在Assign菜單中選擇菜單中選擇Device項(xiàng),將出現(xiàn)項(xiàng),將出現(xiàn)如圖如圖11.13所示所示的的Device對(duì)話框。對(duì)話框。 在在Device Family選項(xiàng)內(nèi),選擇一個(gè)器件系列(如選項(xiàng)內(nèi),選擇一個(gè)器件系列(如FLEX10K)。)。 在在 D
54、 e v i c e s 選 項(xiàng) 內(nèi) , 選 擇 器 件 系 列 中 某 一 器 件選 項(xiàng) 內(nèi) , 選 擇 器 件 系 列 中 某 一 器 件(FLEX10K10LC84-3)或選擇)或選擇AUTO讓讓MAX+Plus II自自動(dòng)選擇一個(gè)器件。動(dòng)選擇一個(gè)器件。 按下按下OK按鈕。按鈕。圖圖11.13 器件選擇對(duì)話框器件選擇對(duì)話框n運(yùn)行編譯器的方法是,在運(yùn)行編譯器的方法是,在MAX+Plus II菜單中選菜單中選Compiler或直接在工具欄中單擊編譯器的相應(yīng)圖標(biāo),出現(xiàn)或直接在工具欄中單擊編譯器的相應(yīng)圖標(biāo),出現(xiàn)如圖如圖11.14所示所示的對(duì)話框。的對(duì)話框。n按按Start按鈕即開始進(jìn)行編譯,如果
55、有錯(cuò),則輸出相應(yīng)提示按鈕即開始進(jìn)行編譯,如果有錯(cuò),則輸出相應(yīng)提示信息及出錯(cuò)位置。信息及出錯(cuò)位置。 圖圖11.14 編譯對(duì)話框編譯對(duì)話框 n若編譯成功,則顯示若編譯成功,則顯示如圖如圖11.15所示所示的編譯成功信息。的編譯成功信息。 圖圖11.15 編譯結(jié)果編譯結(jié)果 (3)仿真)仿真n仿真可以檢查設(shè)計(jì)的正確性,在仿真之前要建立一個(gè)波形仿真可以檢查設(shè)計(jì)的正確性,在仿真之前要建立一個(gè)波形輸入文件。單擊輸入文件。單擊MAX+Plus II Waveform Editor,彈出,彈出波形圖編輯窗口,波形圖編輯窗口,如圖如圖11.16所示所示。 圖圖11.16 波形圖編輯輸入窗口波形圖編輯輸入窗口 n需
56、首先確定仿真時(shí)間長(zhǎng)度,單擊需首先確定仿真時(shí)間長(zhǎng)度,單擊FileEnd Time,彈出,彈出如圖如圖11.17所示所示的對(duì)話框,鍵入仿真結(jié)束時(shí)間(如的對(duì)話框,鍵入仿真結(jié)束時(shí)間(如100s),單擊),單擊OK按鈕結(jié)束;單擊按鈕結(jié)束;單擊OptionGrid Size,鍵入顯示網(wǎng)格間距,鍵入顯示網(wǎng)格間距時(shí)間(如時(shí)間(如500ns),單擊),單擊OK按鈕結(jié)束,按鈕結(jié)束,如圖如圖11.18所示。所示。 圖圖11.17 仿真時(shí)長(zhǎng)設(shè)置仿真時(shí)長(zhǎng)設(shè)置 圖圖11.18 仿真顯示網(wǎng)格間距時(shí)間設(shè)置仿真顯示網(wǎng)格間距時(shí)間設(shè)置n在波形圖編輯窗口空白處單擊鼠標(biāo)右鍵,選擇在波形圖編輯窗口空白處單擊鼠標(biāo)右鍵,選擇“Enter N
57、odes From SNF”(SNF指仿真網(wǎng)表文件),彈出指仿真網(wǎng)表文件),彈出如圖如圖11.19所示所示對(duì)話框。對(duì)話框。n在該對(duì)話框的在該對(duì)話框的Type框中選擇信號(hào)類別(框中選擇信號(hào)類別(Type),常用的是),常用的是Inputs和和Outputs;單擊;單擊“List”按鈕,將所選類別的所有按鈕,將所選類別的所有管腳信號(hào)均列于管腳信號(hào)均列于Available Nodes & Groups框中;然后按框中;然后按“ = ”箭頭,將選出的管腳信號(hào)全部送入右邊的箭頭,將選出的管腳信號(hào)全部送入右邊的“Selected Nodes & Groups”框中;框中;n單擊單擊OK按鈕
58、,此時(shí),所選信號(hào)將出現(xiàn)在波形圖編輯窗口按鈕,此時(shí),所選信號(hào)將出現(xiàn)在波形圖編輯窗口中,中,如圖如圖11.20所示所示。 圖圖11.19 選擇輸入輸出引腳選擇輸入輸出引腳圖圖11.20 波形圖輸入文件編輯波形圖輸入文件編輯 n在在圖圖11.20中,中,A、B和和C_in為三個(gè)需要編輯的輸入激勵(lì)信為三個(gè)需要編輯的輸入激勵(lì)信號(hào),號(hào),S和和C_out是用來檢查設(shè)計(jì)正確與否的輸出響應(yīng)觀測(cè)信是用來檢查設(shè)計(jì)正確與否的輸出響應(yīng)觀測(cè)信號(hào),雙擊要編輯信號(hào)所對(duì)應(yīng)的引腳名稱,則相應(yīng)的行變黑,號(hào),雙擊要編輯信號(hào)所對(duì)應(yīng)的引腳名稱,則相應(yīng)的行變黑,同時(shí)在窗口左側(cè)的編輯快捷鍵被激活。同時(shí)在窗口左側(cè)的編輯快捷鍵被激活。n這里可以
59、設(shè)置高電平(這里可以設(shè)置高電平(1)、低電平()、低電平(0)、任意值()、任意值(x)及高阻(及高阻(z)等值。可通過單擊快捷鍵來編輯時(shí)鐘信號(hào)波)等值??赏ㄟ^單擊快捷鍵來編輯時(shí)鐘信號(hào)波形,這里將形,這里將A的周期設(shè)為的周期設(shè)為2s,即圖,即圖11.21所示所示的對(duì)話框中的對(duì)話框中將將“Multiplied By”設(shè)置為設(shè)置為“2”,類似地,將,類似地,將B的周期設(shè)為的周期設(shè)為5s,C_in設(shè)為設(shè)為10s。 圖圖11.21 時(shí)鐘信號(hào)波形編輯時(shí)鐘信號(hào)波形編輯 圖圖11.22 保存波形文件保存波形文件n完成上述設(shè)置后,單擊完成上述設(shè)置后,單擊FileSave as保存波形文件,單擊保存波形文件,單
60、擊OK按鈕,對(duì)話框按鈕,對(duì)話框如圖如圖11.22所示所示。接著單擊。接著單擊MAX+Pluss IICompiler編譯一次,編譯過程同前。編譯一次,編譯過程同前。n完成編譯后單擊完成編譯后單擊MAX Plus IISimulator,彈出,彈出如圖如圖11.23所示所示的對(duì)話框,單擊的對(duì)話框,單擊start啟動(dòng)仿真,仿真結(jié)束后彈出啟動(dòng)仿真,仿真結(jié)束后彈出如圖如圖11.24所示所示對(duì)話框,單擊對(duì)話框,單擊“確定確定”。n最后按最后按“Open SCF”,即可觀察,即可觀察如圖如圖11.25所示所示的仿真波形。的仿真波形。時(shí)序分析可由用戶人工進(jìn)行,也可以采用時(shí)序分析可由用戶人工進(jìn)行,也可以采用MAX+Plus
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025云南省建筑安全員考試題庫附答案
- 貴州大學(xué)《計(jì)算機(jī)藝術(shù)設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴州財(cái)經(jīng)大學(xué)《土木工程施工與組織管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽幼兒師范高等??茖W(xué)校《城市交通系統(tǒng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025遼寧省建筑安全員考試題庫及答案
- 2025年湖南省建筑安全員知識(shí)題庫及答案
- 2025山西建筑安全員《B證》考試題庫及答案
- 硅湖職業(yè)技術(shù)學(xué)院《計(jì)算機(jī)輔助設(shè)計(jì)一》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年陜西省建筑安全員C證考試(專職安全員)題庫附答案
- 廣州幼兒師范高等??茖W(xué)校《科技文獻(xiàn)檢索(理工)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二甲雙胍恩格列凈片(Ⅲ)-臨床用藥解讀
- 煤層應(yīng)力狀態(tài)及煤與瓦斯突出防治研究
- 小學(xué)五年級(jí)上冊(cè)數(shù)學(xué)基礎(chǔ)知識(shí)練習(xí)題帶答案
- 診所聘用醫(yī)生合作協(xié)議書
- 抖音認(rèn)證承諾函
- 藥物分離純化-藥物分離純化技術(shù)的作用
- 《精益生產(chǎn)培訓(xùn)》課件
- GB/T 3518-2023鱗片石墨
- 22G101三維立體彩色圖集
- MQL4命令中文詳解手冊(cè)
- 水平井施工方案及措施
評(píng)論
0/150
提交評(píng)論