電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)PPT完整全套教學(xué)課件_第1頁(yè)
電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)PPT完整全套教學(xué)課件_第2頁(yè)
電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)PPT完整全套教學(xué)課件_第3頁(yè)
電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)PPT完整全套教學(xué)課件_第4頁(yè)
電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)PPT完整全套教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩1201頁(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章電子設(shè)計(jì)自動(dòng)化(EDA)基礎(chǔ)第2章可編程邏輯器件第3章VHDL程序設(shè)計(jì)第4章EDA開發(fā)工具第5章典型邏輯電路設(shè)計(jì)第6章常用接口控制電路第7章工業(yè)控制專用集成電路第1章電子設(shè)計(jì)自動(dòng)化(EDA)基礎(chǔ)1.1基本概念1.2EDA的發(fā)展及其工業(yè)應(yīng)用1.3基于EDA的數(shù)字系統(tǒng)設(shè)計(jì)習(xí)題與思考

1.1基本概念

1.1.1EDA的定義電子設(shè)計(jì)自動(dòng)化(ElectronicDesignAutomation,EDA)是指采用大規(guī)??删幊踢壿嬈骷鳛殡娐吩O(shè)計(jì)載體,利用硬件描述語(yǔ)言作為電路系統(tǒng)控制邏輯的主要描述工具,使用計(jì)算機(jī)、面向大規(guī)??删幊踢壿嬈骷能浖_發(fā)工具以及實(shí)驗(yàn)開發(fā)系統(tǒng)作為開發(fā)工具完成的,具有用戶指定專有控制功能的單芯片電子系統(tǒng)或集成電路的設(shè)計(jì)技術(shù)。

(1)

EDA利用大規(guī)??删幊踢壿嬈骷鳛樵O(shè)計(jì)載體。

EDA通過(guò)大規(guī)模編程邏輯器件來(lái)實(shí)現(xiàn)集成電路。在編程之前,可編程邏輯器件并不具備任何邏輯功能,通過(guò)EDA技術(shù)對(duì)可編程邏輯器件寫入適當(dāng)程序,即所謂的編程(Program)或者配置(Configure),可以使可編程邏輯器件具有程序規(guī)定的特定功能,實(shí)現(xiàn)具體的電子系統(tǒng)。

(2)

EDA采用硬件描述語(yǔ)言描述電路或系統(tǒng)的具體邏輯關(guān)系。

傳統(tǒng)的電路系統(tǒng)設(shè)計(jì)中,設(shè)計(jì)人員往往需要繪制電路的構(gòu)成元器件、子電路等構(gòu)成單元,而后繪制元器件、子電路等電氣對(duì)象之間的連接線,形成不同電路單元相互之間特定的邏輯關(guān)系,最后附加上必要的說(shuō)明、注釋等非電氣對(duì)象,完成電路系統(tǒng)的設(shè)計(jì)。

不同于傳統(tǒng)的電路系統(tǒng),EDA利用硬件描述語(yǔ)言表述電路系統(tǒng)各組成單元結(jié)構(gòu)、功能、數(shù)據(jù)處理過(guò)程以及相互間的邏輯關(guān)系,從而實(shí)現(xiàn)對(duì)整個(gè)電路的規(guī)劃與設(shè)計(jì)。

(3)

EDA采用計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷膶S瞄_發(fā)軟件與系統(tǒng)作為設(shè)計(jì)工具。

傳統(tǒng)的集成電路行業(yè)通過(guò)專業(yè)廠商完成電路設(shè)計(jì)、制造,最后給最終用戶提供終端產(chǎn)品。與此相對(duì),通過(guò)EDA開發(fā)研制專用電路無(wú)需專業(yè)制造商的參與,用戶可以通過(guò)PC、運(yùn)行于PC上的專用設(shè)計(jì)軟件以及連接在PC上、受PC控制的試驗(yàn)系統(tǒng)或編程電纜,自行完成電路開發(fā),研制具有自身特點(diǎn)的個(gè)性化電路系統(tǒng)。

(4)

EDA的電子系統(tǒng)設(shè)計(jì)過(guò)程是一個(gè)由專用軟件完成的全自動(dòng)過(guò)程。

EDA是一個(gè)由專用軟件與試驗(yàn)系統(tǒng)完成的全自動(dòng)智能過(guò)程,用戶可以通過(guò)事先設(shè)定的軟件設(shè)置來(lái)定制設(shè)計(jì)原則或設(shè)計(jì)方法,但其完成過(guò)程無(wú)需用戶干預(yù),開發(fā)系統(tǒng)能夠根據(jù)用戶的指定條件,結(jié)合固化在開發(fā)系統(tǒng)中的專業(yè)規(guī)則與經(jīng)驗(yàn),自行實(shí)現(xiàn)電路描述程序到硬件電路的全過(guò)程。

(5)

EDA過(guò)程包含了電路設(shè)計(jì)與實(shí)現(xiàn)的全過(guò)程。

雖然EDA不同于傳統(tǒng)的電路設(shè)計(jì)實(shí)現(xiàn)方法,但其過(guò)程與傳統(tǒng)電路設(shè)計(jì)仍然具有較大的相似性,實(shí)現(xiàn)過(guò)程仍然包括邏輯化簡(jiǎn)、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真等過(guò)程,只不過(guò)適應(yīng)硬件描述語(yǔ)言,相應(yīng)增加了程序輸入、編輯編譯以及針對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等內(nèi)容。

(6)

EDA最終形成集成電子系統(tǒng)或?qū)S眉尚酒?/p>

EDA設(shè)計(jì)的最終結(jié)果是一個(gè)高度集成的電子系統(tǒng),整個(gè)電路集成在一片具有設(shè)計(jì)人員指定的專用特定功能的集成芯片中,而不是像傳統(tǒng)電路系統(tǒng)的設(shè)計(jì),最終得到一塊包含多個(gè)集成電路模塊與模塊之間相互連線的控制電路板卡。換言之,EDA設(shè)計(jì)實(shí)現(xiàn)的是一個(gè)集成了多個(gè)電路功能的單芯片。

1.1.2EDA的技術(shù)特點(diǎn)

根據(jù)EDA的基本概念與實(shí)現(xiàn)過(guò)程,對(duì)比與其功能相似的傳統(tǒng)電路設(shè)計(jì)與軟件系統(tǒng)程序設(shè)計(jì),可以將EDA的技術(shù)特點(diǎn)歸納為以下幾點(diǎn):

(1)采用軟件方式的硬件設(shè)計(jì)。EDA是一種軟件方式的硬件設(shè)計(jì)過(guò)程,具有與傳統(tǒng)程序設(shè)計(jì)一樣的代碼編輯、編譯過(guò)程,EDA的集成開發(fā)環(huán)境同樣可以為程序設(shè)計(jì)者提供查錯(cuò)、糾錯(cuò)功能。

(2)軟件到硬件的轉(zhuǎn)換由開發(fā)軟件自動(dòng)完成。如前所述,EDA通過(guò)其軟件工具實(shí)現(xiàn)硬件描述語(yǔ)言到硬件集成電路的轉(zhuǎn)換,轉(zhuǎn)換過(guò)程由工具軟件自主完成,設(shè)計(jì)人員可以通過(guò)修改器件設(shè)置、引腳分配、配置模式等達(dá)到修改設(shè)計(jì)的目的。

(3)設(shè)計(jì)過(guò)程中可用軟件仿真。EDA開發(fā)系統(tǒng)多帶有軟件仿真模塊或第三方的軟件仿真工具,借助工具,設(shè)計(jì)人員可以實(shí)現(xiàn)對(duì)當(dāng)前電路的功能、時(shí)序、行為仿真,評(píng)價(jià)設(shè)計(jì)效果并根據(jù)效果及時(shí)修正電路設(shè)計(jì)。

(4)線上可編程?,F(xiàn)代的大多數(shù)可編程邏輯器件具備在線編程(也稱在線配置)功能,借助EDA工具軟件與編程電纜等編程硬件,設(shè)計(jì)人員可以將改好的程序即時(shí)下載(燒錄)至目標(biāo)器件,無(wú)需使用第三方的專用燒錄器或編程器。在線編程也為現(xiàn)有系統(tǒng)升級(jí)與更新?lián)Q代提供了方便,用戶可以在不改變硬件的情況下實(shí)現(xiàn)新的系統(tǒng),增強(qiáng)功能。

(5)單芯片集成系統(tǒng),具有高集成度與可靠性、低功耗。不同于傳統(tǒng)的硬件電路設(shè)計(jì),EDA最終實(shí)現(xiàn)的是電子系統(tǒng)的集成芯片,避免了傳統(tǒng)電路中大量使用的分立元件、中小規(guī)模集成電路及必需的焊接、連線,因此能夠?qū)崿F(xiàn)較高的集成度、可靠性,實(shí)現(xiàn)系統(tǒng)的低功耗。

1.1.3EDA的主要內(nèi)容

EDA的基本內(nèi)容主要包括大規(guī)??删幊踢壿嬈骷⒂布枋稣Z(yǔ)言與開發(fā)工具。三者各司其職,其中硬件描述語(yǔ)言用于系統(tǒng)描述,說(shuō)明電子系統(tǒng)的功能、組成結(jié)構(gòu)或動(dòng)作行為;開發(fā)工具負(fù)責(zé)程序輸入、程序編譯,將硬件描述語(yǔ)言轉(zhuǎn)換為實(shí)際電路并下載至可編程邏輯器件;大規(guī)??删幊踢壿嬈骷t負(fù)責(zé)接收生成的最終電路,在開發(fā)工具控制下實(shí)現(xiàn)集成系統(tǒng)。

1.大規(guī)??删幊踢壿嬈骷?/p>

大規(guī)??删幊踢壿嬈骷LD是一種內(nèi)部集成大量邏輯電路與可編程連接線的半成品集成電路,它一般由專業(yè)集成電路廠商制造,可編程配置實(shí)現(xiàn)用戶需要的任意功能。目前常用的可編程邏輯器件主要有復(fù)雜可編程邏輯器件CPLD與現(xiàn)場(chǎng)可編程邏輯門陣列FPGA兩類。相關(guān)的器件制造商有很多,代表性的廠家包括Xilinx、Altera和Lattice半導(dǎo)體、Microsemi等。

(1)?Altera。Altera是國(guó)際上最知名的PLD器件制造商之一,也是CPLD器件的發(fā)明者。目前應(yīng)用較廣的AlteraPLD器件主要包括MAX3000、MAX7000、MAXⅡ系列的CPLD器件以及ArriaGX、ArriaⅡGX、Cyclone、CycloneⅡ、CycloneⅢ、CycloneⅣGX、Stratix、StratixⅡ、StratixⅡGX、StratixⅢ等系列的FPGA器件。

(2)

Xilinx。Xilinx是FPGA器件的發(fā)明者,目前的PLD器件主要有XC9500、Coolrunner-Ⅱ等系列的CPLD器件與Spartan、Vertex、Artix、Kintex等系列的FPGA器件,Vertex-ⅡPro器件的容量可達(dá)到800萬(wàn)門。

(3)?Lattice半導(dǎo)體。Lattice半導(dǎo)體是在線可編程ISP技術(shù)的發(fā)明者。迄今為止,ISP技術(shù)已經(jīng)被廣泛應(yīng)用于各類集成電路,不再僅僅局限于PLD器件。Lattice半導(dǎo)體的可編程邏輯器件主要包括ispLSI1000、ispLSI2000、ispLSI5000、ispLSI8000、ispXPLD、ispMACH等系列的CPLD器件,以及LatticeXP2、ICE40、ECP等系列的FPGA器件。

2.硬件描述語(yǔ)言(HDL)

EDA中,硬件描述語(yǔ)言用于描述電子系統(tǒng)的邏輯功能行為、電路結(jié)構(gòu)與連接形式,它尤其適合大規(guī)模系統(tǒng)的設(shè)計(jì)。目前的EDA設(shè)計(jì)中應(yīng)用最為廣泛的硬件描述語(yǔ)言主要有VHDL、Verilog

HDL、ABEL等。

1)?VHDL

VHDL的全稱Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,是IEEE與美國(guó)國(guó)防部共同確認(rèn)的標(biāo)準(zhǔn)硬件描述語(yǔ)言,也是支持工具最多的硬件描述語(yǔ)言之一。

VHDL具有較強(qiáng)的硬件描述能力,是一種全方位的HDL,包括系統(tǒng)行為級(jí)、寄存器傳輸級(jí)和邏輯門級(jí)等多個(gè)設(shè)計(jì)層次。

VHDL代碼簡(jiǎn)潔明確,適于復(fù)雜控制邏輯的描述;描述方式靈活方便,且便于設(shè)計(jì)交流與重用;作為一種標(biāo)準(zhǔn)語(yǔ)言,VHDL不依賴于特定器件,被眾多EDA工具所支持,移植性好。

2)

VerilogHDL

VerilogHDL也是一種IEEE的標(biāo)準(zhǔn)硬件描述語(yǔ)言,由GatewayDesignAutomation公司于1983年提出。Verilog

HDL采用文本描述數(shù)字系統(tǒng)的硬件結(jié)構(gòu)與行為,可以描述邏輯電路圖、邏輯表達(dá)式以及數(shù)字系統(tǒng)的邏輯功能。

Verilog以模塊為基礎(chǔ)實(shí)現(xiàn)設(shè)計(jì),具有與C語(yǔ)言類似的風(fēng)格,形式自由、靈活,容易掌握,對(duì)其提供支持的EDA工具也較多,綜合過(guò)程較VHDL稍簡(jiǎn)單,高級(jí)描述方面不如VHDL。

3)

ABEL

ABEL支持不同輸入方式的HDL,輸入方式包括布爾方程、高級(jí)語(yǔ)言方程、狀態(tài)圖與真值表等。ABEL廣泛用于各種可編程邏輯器件的邏輯功能設(shè)計(jì),由于其語(yǔ)言描述的獨(dú)立性,以及上至系統(tǒng)、下至門級(jí)電路的寬口徑描述功能,因而適用于各種不同規(guī)模的可編程器件的設(shè)計(jì)。ABEL-HDL還能對(duì)所設(shè)計(jì)的邏輯系統(tǒng)進(jìn)行功能仿真而無(wú)需估計(jì)實(shí)際芯片的結(jié)構(gòu)。

3.開發(fā)工具

不同于傳統(tǒng)的軟件開發(fā)工具,EDA開發(fā)工具直接面向特定的一類或幾類PLD器件。自20世紀(jì)70年代可編程邏輯器件出現(xiàn)以來(lái),可編程邏輯器件一直處在持續(xù)的高速成長(zhǎng)期,要求相應(yīng)的開發(fā)工具必須不斷地更新?lián)Q代,以適應(yīng)PLD技術(shù)的飛速發(fā)展。因此,EDA的開發(fā)工具主要由器件生產(chǎn)廠家研制,或者與專門的軟件廠商共同開發(fā)。結(jié)合所生產(chǎn)的PLD器件,Altera、Xilinx、Lattice半導(dǎo)體等廠商均推出了面向自身器件的專用開發(fā)工具。

(1)?Altera的開發(fā)工具。Altera的EDA工具主要包括MAXPLUSⅡ、QuartusⅡ等系列軟件,QuartusⅡ系列平臺(tái)是當(dāng)前Altera的主流開發(fā)平臺(tái)。

Altera的系列開發(fā)工具采用集成開發(fā)環(huán)境,支持原理圖、文本、波形、EDIF以及多種方式混合的設(shè)計(jì)輸入模式,支持VHDL、verilog等描述工具,具備較強(qiáng)的功能。其中MAXPLUSⅡ只支持MAX7000/3000、Flex等較早系列的器件。

(2)

Lattice半導(dǎo)體的開發(fā)工具。Lattice半導(dǎo)體是全球最主要的知名PLD器件廠商之一,ISP及具有獨(dú)特技術(shù)與結(jié)構(gòu)的CPLD、FPGA器件使其在可編程器件領(lǐng)域占有重要的地位。自21世紀(jì)以來(lái),Lattice的PLD器件受到越來(lái)越多的青睞,Lattice

XP2等系列的器件被包括中國(guó)大陸在內(nèi)的大量通信、工控企業(yè)選用。

Lattice半導(dǎo)體的PLD開發(fā)工具主要包括早期的ispEXPERT系列以及當(dāng)前主流的ispLever系列開發(fā)平臺(tái)。Lattice半導(dǎo)體的開發(fā)工具面向自己的CPLD與FPGA器件,支持VHDL、ABEL、Verilog等多種語(yǔ)言的設(shè)計(jì)、綜合、適配、仿真及在線下載。

(3)

Xilinx的開發(fā)工具。Xilinx是原來(lái)全球最大的PLD制造商,其開發(fā)軟件有Foundation和ISE系列的集成工具,其中ISE系列工具為當(dāng)前主流的設(shè)計(jì)平臺(tái),它采用自動(dòng)化的、完整的IDE集成設(shè)計(jì)環(huán)境。Xilinx在歐美、日本及亞太地區(qū)具有廣闊的用戶群。

除了上述的集成工具,針對(duì)EDA過(guò)程中的設(shè)計(jì)輸入、邏輯綜合等操作,還有大量的第三方工具,例如HDL的專用文本編輯器UltraEdit、HDLTurboWriter,可視化HDL/Verilog編輯工具VisialHDL/VisialVerilog,HDL邏輯綜合工具Synplicity等。

1.2EDA的發(fā)展及其工業(yè)應(yīng)用

1.2.1EDA的發(fā)展階段及特點(diǎn)

1.早期計(jì)算機(jī)輔助設(shè)計(jì)階段受到軟件技術(shù)、計(jì)算機(jī)硬件以及集成電路技術(shù)的發(fā)展制約,20世紀(jì)70年代的早期EDA技術(shù)尚處在萌芽階段,其應(yīng)用主要局限在計(jì)算機(jī)輔助繪圖(ComputerAidedDesign,CAD),設(shè)計(jì)人員借助計(jì)算機(jī)與相關(guān)軟件實(shí)現(xiàn)IC版圖的編輯、PCB的布局布線,以取代部分手工操作,此時(shí)的EDA主要有以下特點(diǎn):

(1)基本局限在面向板級(jí)電路的電子系統(tǒng)設(shè)計(jì),系統(tǒng)構(gòu)成采用中小規(guī)模集成電路或者分立元件。

(2)通過(guò)CAD的兩維圖形編輯與分析工具替代設(shè)計(jì)中的繁雜勞動(dòng),如布線、布局、布圖等。

(3)整個(gè)電子系統(tǒng)在焊接組裝好的PCB上進(jìn)行調(diào)試。

2.計(jì)算機(jī)輔助工程設(shè)計(jì)階段

20世紀(jì)80年代,EDA進(jìn)入計(jì)算機(jī)輔助工程設(shè)計(jì)階段(ComputerAidedEngineeringDesign,CAE)。除了圖形繪制,EDA工具具備電路功能設(shè)計(jì)與結(jié)構(gòu)設(shè)計(jì)功能,同時(shí)通過(guò)網(wǎng)絡(luò)表將兩者聯(lián)系在一起。此時(shí)的EDA主要有以下特點(diǎn):

(1)相對(duì)于早期的CAD階段,該階段的EDA工具具備原理圖輸入、邏輯模擬、定時(shí)分析、故障仿真、自動(dòng)布局布線等強(qiáng)大功能。

(2)該階段EDA技術(shù)發(fā)展的重點(diǎn)是解決設(shè)計(jì)完成之前的功能檢測(cè)與模擬分析等問(wèn)題。

(3)出現(xiàn)了具有自動(dòng)綜合能力的EDA工具。

(4)該階段EDA技術(shù)的問(wèn)題在于大部分使用原理圖完成設(shè)計(jì)的EDA工具在復(fù)雜控制邏輯描述或復(fù)雜系統(tǒng)設(shè)計(jì)方面存在較大困難。

3.電子設(shè)計(jì)自動(dòng)化階段

20世紀(jì)90年代開始,隨著超大規(guī)模集成電路技術(shù)、計(jì)算機(jī)軟件、高性能計(jì)算機(jī)等的高速發(fā)展,以及電子系統(tǒng)設(shè)計(jì)理論的進(jìn)一步完善,電子系統(tǒng)設(shè)計(jì)進(jìn)入真正的電子設(shè)計(jì)自動(dòng)化階段。此時(shí)的EDA主要有以下特點(diǎn):

(1)?EDA技術(shù)進(jìn)入物理校驗(yàn)、布局、邏輯綜合、設(shè)計(jì)模擬與軟硬件協(xié)同設(shè)計(jì)階段。

(2)?EDA開發(fā)平臺(tái)自主實(shí)現(xiàn)HDL語(yǔ)言描述到門級(jí)電路網(wǎng)表的全過(guò)程,將電路映射到特定器件的專用結(jié)構(gòu)中。

(3)微電子工藝達(dá)到深亞微米級(jí),器件集成度提高到百萬(wàn)甚至千萬(wàn)門級(jí),相應(yīng)的電路也由使用集成電路轉(zhuǎn)向設(shè)計(jì)集成電路、片上集成系統(tǒng)與單片系統(tǒng)SOC。

(4)開發(fā)工具具有抽象設(shè)計(jì)能力,具有框圖、狀態(tài)圖與流程圖編輯功能,具有硬件描述語(yǔ)言(VHDL,ABEL,AHDL)標(biāo)準(zhǔn)元件庫(kù)。

(5)

EDA超越電子設(shè)計(jì)進(jìn)入其他領(lǐng)域,與其他領(lǐng)域充分融合,產(chǎn)生大量基于EDA的單片專用系統(tǒng)SOC;基于VHDL自頂向下的設(shè)計(jì)理念以及軟硬核功能庫(kù)在EDA設(shè)計(jì)中得到廣泛應(yīng)用。

1.2.2EDA技術(shù)的工業(yè)應(yīng)用

1.汽車領(lǐng)域的應(yīng)用

汽車工業(yè)是國(guó)家經(jīng)濟(jì)的重要支柱,也是關(guān)系到國(guó)計(jì)民生的重要產(chǎn)業(yè),EDA技術(shù)在汽車領(lǐng)域已經(jīng)有了很多成功的應(yīng)用實(shí)例,PLD制造商甚至專門針對(duì)汽車行業(yè)開發(fā)了標(biāo)準(zhǔn)的可編程邏輯器件。

(1)汽車系統(tǒng)實(shí)時(shí)控制方面。華南理工大學(xué)在大功率電動(dòng)汽車充電電源研究中,采用嵌入式處理器DSP結(jié)合CPLD的控制結(jié)構(gòu),通過(guò)CPLD實(shí)現(xiàn)故障信號(hào)的邏輯運(yùn)算,實(shí)時(shí)響應(yīng)故障信息,DSP實(shí)現(xiàn)數(shù)據(jù)采集和運(yùn)算處理,保證了電源的高效、可靠;桂林電子科技大學(xué)充分利用FPGA的高速度與高集成度,實(shí)現(xiàn)了一種基于FPGA的毫米波汽車防撞雷達(dá)實(shí)時(shí)控制算法與車載防撞雷達(dá)實(shí)時(shí)系統(tǒng)。

(2)汽車系統(tǒng)實(shí)時(shí)數(shù)據(jù)處理方面。東北大學(xué)采用FPGA實(shí)現(xiàn)紅外圖像系統(tǒng)的視頻格式轉(zhuǎn)換、快速中值濾波、自適應(yīng)平臺(tái)直方圖雙向均衡化,滿足了汽車夜視系統(tǒng)圖像處理的速度與效果要求;桂林電子科技大學(xué)利用FPGA實(shí)現(xiàn)視頻流的實(shí)時(shí)采集與處理,包括圖像的灰度化、濾波、邊緣檢測(cè)、膨脹、腐蝕、車牌定位與大小檢測(cè)、液晶顯示等功能,實(shí)現(xiàn)了車載的單目視覺實(shí)時(shí)測(cè)距系統(tǒng)。

隨著汽車工業(yè)的進(jìn)一步發(fā)展與EDA技術(shù)的進(jìn)步,EDA會(huì)在汽車控制的通信、安全、動(dòng)力等領(lǐng)域發(fā)揮更為重要的作用。

2.機(jī)床設(shè)備的控制

機(jī)床設(shè)備是一個(gè)多變量的復(fù)雜控制對(duì)象,一般包括多達(dá)幾十路、甚至上百路的開關(guān)量輸入輸出、多個(gè)電機(jī)的速度、位移、加速度高速協(xié)調(diào)動(dòng)作、多個(gè)模擬量的輸入輸出、程序編輯、指令編譯等過(guò)程的操作與控制。高速?gòu)?fù)雜運(yùn)算、強(qiáng)實(shí)時(shí)、多指標(biāo)與并行處理是該機(jī)床設(shè)備控制的典型特征,控制系統(tǒng)一般采用多CPU分級(jí)處理的控制方式,處理器之間、任務(wù)之間通信繁瑣,實(shí)時(shí)性、可靠性與集成度是該領(lǐng)域長(zhǎng)期面臨的難題之一,EDA能夠?yàn)槠涮峁┑挠行У氖侄巍?/p>

西南交通大學(xué)針對(duì)多軸步進(jìn)電機(jī)的控制,研制了高性能步進(jìn)電機(jī)IP核,結(jié)合NiosⅡ處理器軟核,實(shí)現(xiàn)了多軸步進(jìn)電機(jī)高精確度控制的可編程片上系統(tǒng)(SOPC);大連理工大學(xué)通過(guò)FPGA實(shí)現(xiàn)直流電機(jī)的速度和位置編碼檢測(cè),DSP獲取電機(jī)運(yùn)動(dòng)參數(shù)并完成PID控制,開發(fā)了基于DSP與FPGA的多路微特電機(jī)的嵌入式控制系統(tǒng);長(zhǎng)春光學(xué)精密機(jī)械與物理研究所在交流永磁同步電機(jī)驅(qū)動(dòng)的大型望遠(yuǎn)鏡伺服控制系統(tǒng)研究中,通過(guò)FPGA實(shí)現(xiàn)了PWM波的發(fā)生、電流實(shí)時(shí)采集、速度在線實(shí)時(shí)檢測(cè)等功能,研制了DSP結(jié)合FPGA的大型望遠(yuǎn)鏡伺服控制系統(tǒng),很好地解決了大型望遠(yuǎn)鏡運(yùn)行中遇到的高精度、低速平穩(wěn)性等問(wèn)題。

3.通信領(lǐng)域的應(yīng)用

大規(guī)??删幊踢壿嬈骷谶\(yùn)算速度、數(shù)據(jù)處理功能、抗干擾以及集成度等方面展現(xiàn)出來(lái)的巨大優(yōu)勢(shì),說(shuō)明了EDA技術(shù)特別適合通信領(lǐng)域的高頻信號(hào)處理、傳輸、以及高頻通信控制邏輯的實(shí)現(xiàn),EDA應(yīng)用于通信領(lǐng)域具備天然的優(yōu)勢(shì)。同時(shí),通信領(lǐng)域也是EDA技術(shù)應(yīng)用最早、最為廣泛的領(lǐng)域之一。

國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心在海量數(shù)據(jù)庫(kù)研究中,利用FPGA控制對(duì)電路交換域的數(shù)據(jù)采集,實(shí)現(xiàn)數(shù)據(jù)從電路交換域到分組交換域的高效、自動(dòng)轉(zhuǎn)換,研制了基于FPGA的電路交換域數(shù)據(jù)采集片上系統(tǒng)(SOC);中國(guó)科學(xué)技術(shù)大學(xué)針對(duì)陣列天線衛(wèi)星移動(dòng)通信抗干擾能力差、傳播損耗大等問(wèn)題,利用VxWorks計(jì)算基于遞歸最小均方算法(RLS)的解擴(kuò)重?cái)U(kuò)盲自適應(yīng)波束形成算法權(quán)值,通過(guò)FPGA實(shí)現(xiàn)波束形成與直接序列擴(kuò)頻,實(shí)現(xiàn)了數(shù)字波束形成技術(shù)(DBF)和擴(kuò)頻技術(shù)相結(jié)合的、低信噪比抗干擾衛(wèi)星移動(dòng)通信數(shù)字接收系統(tǒng)。

4.航空領(lǐng)域的應(yīng)用

航空應(yīng)用也是EDA技術(shù)應(yīng)用的一個(gè)重要領(lǐng)域,由于飛行控制具有多變量、強(qiáng)實(shí)時(shí)、復(fù)雜運(yùn)算、并行處理、非線性等特點(diǎn),大容量、超大容量的可編程邏輯器件在飛行控制方面能夠發(fā)揮重要的作用。

南京航空航天大學(xué)通過(guò)FPGA實(shí)現(xiàn)內(nèi)嵌處理器、硬件協(xié)處理器及同步數(shù)據(jù)總線,實(shí)現(xiàn)了航空發(fā)動(dòng)機(jī)電子控制器原理樣機(jī)與相應(yīng)的SOPC片上系統(tǒng);武漢大學(xué)將EDA應(yīng)用于航拍云臺(tái)姿態(tài)控制,通過(guò)FPGA實(shí)現(xiàn)航拍云臺(tái)姿態(tài)的數(shù)據(jù)采集控制與Kalman濾波的浮點(diǎn)數(shù)運(yùn)算,實(shí)現(xiàn)了一種基于硬件Kalman濾波器的航拍云臺(tái)姿態(tài)獲取方法;四川大學(xué)利用直接頻率合成技術(shù)通過(guò)FPGA實(shí)現(xiàn)了中心頻率1080Hz,頻率范圍為1075±1085

Hz,步進(jìn)為0.1

Hz的某型航空發(fā)動(dòng)機(jī)電子調(diào)節(jié)器綜合測(cè)試系統(tǒng)信號(hào)源。

5.機(jī)器人控制

機(jī)器人目前是國(guó)內(nèi)外多個(gè)工業(yè)領(lǐng)域最為活躍的一個(gè)行業(yè),隨著我國(guó)由制造業(yè)大國(guó)向制造業(yè)強(qiáng)國(guó)發(fā)展,國(guó)家與各級(jí)地方政府對(duì)機(jī)器人行業(yè)也給予了極大的關(guān)注與支持,機(jī)器人行業(yè)成為我國(guó)下一個(gè)經(jīng)濟(jì)增長(zhǎng)的重要支柱。多關(guān)節(jié)、多運(yùn)動(dòng)的高速、實(shí)時(shí)、協(xié)調(diào)控制是機(jī)器人控制的關(guān)鍵問(wèn)題,EDA技術(shù)與大規(guī)??删幊踢壿嬈骷型麨槠涮峁┩昝赖慕鉀Q方案。

1.3基于EDA的數(shù)字系統(tǒng)設(shè)計(jì)

1.3.1數(shù)字系統(tǒng)的基本框架數(shù)字系統(tǒng)的典型結(jié)構(gòu)框架如圖1.1所示。系統(tǒng)的基本構(gòu)成主要包括數(shù)據(jù)采集與處理、系統(tǒng)調(diào)度與控制模塊。其中,數(shù)據(jù)采集與處理模塊實(shí)現(xiàn)外部數(shù)據(jù)采集、轉(zhuǎn)換、存儲(chǔ)、傳輸以及運(yùn)算處理等功能;系統(tǒng)調(diào)度與控制模塊接受外部指令、時(shí)鐘與約束條件信號(hào),控制系統(tǒng)各構(gòu)成單元的有序協(xié)調(diào)動(dòng)作。

1.3.2數(shù)字系統(tǒng)設(shè)計(jì)方法

常用的數(shù)字系統(tǒng)設(shè)計(jì)方法主要包括模塊設(shè)計(jì)法、自底向上的設(shè)計(jì)方法與自頂向下的設(shè)計(jì)方法。其中,自頂向下的設(shè)計(jì)方法是EDA中最為常用的一種設(shè)計(jì)方法,具有符合人腦的思維習(xí)慣、效率高等特點(diǎn)。

1.自頂向下的設(shè)計(jì)方法

自頂向下的設(shè)計(jì)方法是指在數(shù)字系統(tǒng)描述過(guò)程中,由高到低、由粗到精、層層深入、逐步細(xì)化、漸次求精的一種設(shè)計(jì)方法。在設(shè)計(jì)過(guò)程中,將數(shù)字系統(tǒng)根據(jù)功能要求或者組織結(jié)構(gòu)關(guān)系,逐層分解為層次明晰、層級(jí)與層內(nèi)關(guān)系清楚合理、便于邏輯描述與邏輯設(shè)計(jì)實(shí)現(xiàn)的功能或結(jié)構(gòu)子系統(tǒng)與模塊。

自頂向下所使用的分層級(jí)設(shè)計(jì)、逐層細(xì)化的過(guò)程符合人們思考事物、描述事物的習(xí)慣,使設(shè)計(jì)人員在系統(tǒng)層面上分析把握系統(tǒng),減少失誤;同時(shí),自頂向下的設(shè)計(jì)方法把整個(gè)系統(tǒng)模塊化,不同模塊可交由不同的設(shè)計(jì)人員或團(tuán)體實(shí)現(xiàn),便于現(xiàn)代大型復(fù)雜系統(tǒng)的設(shè)計(jì)且易于實(shí)現(xiàn)設(shè)計(jì)的并行化,提高效率

在使用自頂向下的設(shè)計(jì)方法時(shí),必須做到逐層分解功能、分層次設(shè)計(jì),明晰設(shè)計(jì)層次之間與設(shè)計(jì)層次內(nèi)部各構(gòu)成單元之間的邏輯關(guān)系;同時(shí),系統(tǒng)設(shè)計(jì)時(shí),必須考慮設(shè)計(jì)層次的仿真驗(yàn)證方法。

與自頂向下的設(shè)計(jì)方法相對(duì)應(yīng),在自底向上的設(shè)計(jì)方法的實(shí)施過(guò)程中,首先構(gòu)造各個(gè)構(gòu)成子模塊,而后再將構(gòu)成模塊組合形成系統(tǒng)的功能組元。早期的電子設(shè)計(jì)思路即是采用該種方法,選用標(biāo)準(zhǔn)集成電路自底向上逐層構(gòu)造子結(jié)構(gòu),最終形成整個(gè)系統(tǒng)。

2.?dāng)?shù)字系統(tǒng)設(shè)計(jì)準(zhǔn)則

自頂向下的設(shè)計(jì)方法是一個(gè)抽象的概念,設(shè)計(jì)中可能很難評(píng)價(jià)一個(gè)設(shè)計(jì)的絕對(duì)優(yōu)劣,但其實(shí)現(xiàn)過(guò)程中也有一些必須遵守的約定俗成的設(shè)計(jì)規(guī)則。

1)分割準(zhǔn)則

數(shù)字系統(tǒng)底層構(gòu)成單元的控制邏輯功能和邏輯行為必須描述清楚,同時(shí)要適于硬件描述語(yǔ)言表述;功能相同或相似的構(gòu)成單元盡量設(shè)計(jì)成可以分時(shí)共享的功能模塊;系統(tǒng)的不同構(gòu)成單元之間的信號(hào)傳輸接口數(shù)量盡量少,盡量做到便于使用;同層次的各構(gòu)成模塊所使用的I/O數(shù)量與邏輯資源數(shù)盡量平衡,無(wú)較大差異;各構(gòu)成模塊應(yīng)具備良好的通用性,便于為其他系統(tǒng)設(shè)計(jì)使用,同時(shí)具備良好的可移植性。

2)便于觀測(cè)

系統(tǒng)設(shè)計(jì)時(shí)應(yīng)兼顧系統(tǒng)測(cè)試與調(diào)試,在關(guān)鍵電路的輸入輸出、關(guān)鍵信號(hào)、代表性節(jié)點(diǎn)及線路、數(shù)字系統(tǒng)的運(yùn)行狀態(tài)以及引起運(yùn)行狀態(tài)變化的信號(hào)、進(jìn)入系統(tǒng)的數(shù)據(jù)等方面均應(yīng)考慮到觀測(cè)性的問(wèn)題,必要的時(shí)候加入信號(hào)指示。

3)同步與異步電路

系統(tǒng)中的電路,尤其是關(guān)鍵電路,盡可能采用同步電路,以免信號(hào)延遲或不同信號(hào)時(shí)間關(guān)系引起系統(tǒng)不穩(wěn)定。

4)最優(yōu)設(shè)計(jì)

系統(tǒng)設(shè)計(jì)中盡量利用共享電路模塊,減少邏輯資源占用,通過(guò)改進(jìn)設(shè)計(jì),提高資源利用率和工作速度,優(yōu)化布線。

5)設(shè)計(jì)藝術(shù)

設(shè)計(jì)藝術(shù)包括設(shè)計(jì)的完整性、簡(jiǎn)潔性、流暢性、各構(gòu)成模塊的I/O及資源占用的協(xié)調(diào)性、同時(shí)兼顧可觀測(cè)性等。

1.3.3EDA設(shè)計(jì)流程

1.?dāng)?shù)字系統(tǒng)設(shè)計(jì)步驟

一個(gè)完整的數(shù)字系統(tǒng)設(shè)計(jì)過(guò)程主要包括任務(wù)描述與分析、實(shí)現(xiàn)算法及優(yōu)化、系統(tǒng)框架結(jié)構(gòu)設(shè)計(jì)及功能分析、邏輯描述與電路規(guī)劃、電路設(shè)計(jì)及仿真、系統(tǒng)實(shí)現(xiàn)與測(cè)試。

(1)任務(wù)分析:根據(jù)系統(tǒng)設(shè)計(jì)任務(wù),確定并論述數(shù)字系統(tǒng)各個(gè)主要功能要求,可采用流程、時(shí)序、自然語(yǔ)言以及多種方式混合的方法描述。

(2)算法確定:確定實(shí)現(xiàn)系統(tǒng)邏輯的主要實(shí)現(xiàn)方法,通過(guò)對(duì)比選定較優(yōu)的實(shí)現(xiàn)算法。

(3)系統(tǒng)建模:根據(jù)功能分析與所確定的算法,完成系統(tǒng)框架結(jié)構(gòu),詳細(xì)描述各構(gòu)成模塊功能與實(shí)現(xiàn)過(guò)程,要求規(guī)模適當(dāng),功能平衡。

(4)邏輯描述:邏輯描述實(shí)現(xiàn)各個(gè)模塊的邏輯描述,一般采用流程圖、框圖、描述語(yǔ)言等描述各功能模塊。

(5)電路設(shè)計(jì)與仿真:選擇電路圖與硬件描述語(yǔ)言方式實(shí)現(xiàn)系統(tǒng)控制邏輯,仿真、評(píng)價(jià)并修正所設(shè)計(jì)的系統(tǒng)。

(6)物理實(shí)現(xiàn):選用實(shí)際器件實(shí)現(xiàn)系統(tǒng),通過(guò)相關(guān)儀器、儀表測(cè)試系統(tǒng)。

2.工具軟件的基本構(gòu)成

參照數(shù)字系統(tǒng)設(shè)計(jì)步驟內(nèi)容,可以推斷出完整的EDA軟件系統(tǒng)構(gòu)成,系統(tǒng)應(yīng)包括設(shè)計(jì)輸入、設(shè)計(jì)數(shù)據(jù)庫(kù)、分析驗(yàn)證、綜合仿真、布局布線等功能模塊。

(1)設(shè)計(jì)輸入:實(shí)現(xiàn)設(shè)計(jì)輸入,完成語(yǔ)義分析及語(yǔ)法檢查,一般包括文本編輯與圖形編輯功能。

(2)設(shè)計(jì)數(shù)據(jù)庫(kù):存放系統(tǒng)庫(kù)單元、用戶設(shè)計(jì)描述及中間設(shè)計(jì)結(jié)果。

(3)分析驗(yàn)證:實(shí)現(xiàn)數(shù)字系統(tǒng)設(shè)計(jì)過(guò)程中各層級(jí)的模擬驗(yàn)證、設(shè)計(jì)規(guī)則檢查、故障檢查等功能。

(4)綜合仿真:包括設(shè)計(jì)過(guò)程中各層次的設(shè)計(jì)綜合工具,一般情況下高層次到低層次的綜合仿真全部由EDA工具自動(dòng)實(shí)現(xiàn),可通過(guò)人工設(shè)置綜合仿真選項(xiàng)干預(yù)其過(guò)程。

(5)布局布線:從邏輯設(shè)計(jì)到如何使用具體器件實(shí)現(xiàn)的過(guò)程。

(6)編程下載:將布局布線結(jié)果固化到具體器件,形成專用電子系統(tǒng)。

3.設(shè)計(jì)流程圖

基于EDA技術(shù)的數(shù)字系統(tǒng)設(shè)計(jì)流程如圖1.2所示。根據(jù)設(shè)計(jì)工具的運(yùn)行過(guò)程,設(shè)計(jì)流程主要包括設(shè)計(jì)輸入、系統(tǒng)編譯、電路仿真與器件編程四個(gè)過(guò)程。圖1.2為按照數(shù)字系統(tǒng)的設(shè)計(jì)流程得到的EDA設(shè)計(jì)過(guò)程,可以將其劃分為設(shè)計(jì)輸入、邏輯綜合與優(yōu)化、布線適配、軟件仿真、編程下載、硬件仿真測(cè)試等步驟。

1)設(shè)計(jì)輸入及編譯

通過(guò)文本或圖形編輯器完成設(shè)計(jì)輸入、編譯排錯(cuò),得到VHDL程序,準(zhǔn)備邏輯綜合。設(shè)計(jì)輸入支持原理圖輸入、狀態(tài)圖輸入與文本輸入三種方式。

2)邏輯綜合與優(yōu)化

根據(jù)設(shè)計(jì)輸入,針對(duì)特定器件進(jìn)行編譯,實(shí)現(xiàn)設(shè)計(jì)的優(yōu)化、轉(zhuǎn)換與綜合,獲得門級(jí)電路甚至更低層次的電路描述文件。

3)器件布線與適配

針對(duì)具體器件進(jìn)行邏輯映射,包括底層器件配置、邏輯分割與優(yōu)化、布線。

4)編程/下載

將產(chǎn)生的配置下載文件經(jīng)編程器或下載電纜固化至指定的目標(biāo)FPGA或CPLD器件中。

5)硬件仿真/硬件測(cè)試

硬件仿真是針對(duì)專用電路而言,常用FPGA對(duì)系統(tǒng)設(shè)計(jì)進(jìn)行功能檢測(cè),檢測(cè)無(wú)誤后,通過(guò)專用集成電路(ASIC)實(shí)現(xiàn)VHDL設(shè)計(jì),硬件測(cè)試則是直接使用FPGA或CPLD對(duì)系統(tǒng)進(jìn)行檢測(cè)。

習(xí)?題?與?思?考

[1]EDA的基本定義是什么?如何理解EDA的基本定義?[2]EDA的發(fā)展階段與基本特點(diǎn)是什么?[3]查閱資料,談?wù)勛约簩?duì)SOC的理解。[4]請(qǐng)給出數(shù)字系統(tǒng)的框架結(jié)構(gòu)并解釋其構(gòu)成要件的功能。[5]對(duì)比理解自頂向下與自底向上的設(shè)計(jì)方法。[6]數(shù)字系統(tǒng)的設(shè)計(jì)規(guī)則有哪些?如何理解?[7]請(qǐng)結(jié)合EDA設(shè)計(jì)流程介紹EDA工具的基本構(gòu)成及功能。[8]結(jié)合實(shí)例,介紹基于EDA技術(shù)的工業(yè)系統(tǒng)的基本特點(diǎn)。第2章可編程邏輯器件2.1可編程邏輯器件基礎(chǔ)2.2典型CPLD器件2.3典型FPGA器件習(xí)題與思考

2.1可編程邏輯器件基礎(chǔ)

2.1.1基本概念

1.專用集成電路(ASIC)專用集成電路(ApplicationSpecificIntegratedCircuits,ASIC)是一種用戶定制的,把整個(gè)系統(tǒng)或部分功能模塊集成在一個(gè)單芯片內(nèi)實(shí)現(xiàn)的電路。ASIC的興起使電子系統(tǒng)的設(shè)計(jì)由使用集成電路芯片轉(zhuǎn)向設(shè)計(jì)集成電路或片上系統(tǒng)(SystemOnChip,SOC)。根據(jù)功能與應(yīng)用場(chǎng)合,專用集成電路又分為全定制專用集成電路與半定制專用集成電路。

2.全定制與半定制ASIC

全定制專用集成電路由集成電路生產(chǎn)廠商根據(jù)用戶需求定制,其功能一般針對(duì)專用場(chǎng)合的特定工作對(duì)象,其電路結(jié)構(gòu)固定,除非重新設(shè)計(jì)或定制,否則無(wú)法更改。該類芯片專業(yè)性強(qiáng),適于大批量定型生產(chǎn)。典型的器件包括常用的通用存儲(chǔ)器、接口電路、通用CPU等。

半定制集成電路(Semi-CustomIntegratedCircuits,SIC),是由生產(chǎn)廠商制造的半成品集成電路,可由用戶或集成電路廠商根據(jù)用戶要求進(jìn)行編程、生產(chǎn),得到專用集成電路。早期的半定制集成電路主要包括門陣列(GateArray)、標(biāo)準(zhǔn)單元(StandardCell),內(nèi)部集成一定數(shù)量的基本邏輯門與邏輯單元,通過(guò)相互之間的不同連接關(guān)系構(gòu)成不同的數(shù)字系統(tǒng);后來(lái),隨著集成電路技術(shù)的不斷進(jìn)步,集成電路在運(yùn)行速度、邏輯資源、功能等方面得到不斷發(fā)展,先后出現(xiàn)了功能更為強(qiáng)大的簡(jiǎn)單可編程邏輯器件(SPLD),以及現(xiàn)在工程領(lǐng)域常用的復(fù)雜可編程邏輯器件(CPLD)、現(xiàn)場(chǎng)可編程邏輯器件(FPGA)與在系統(tǒng)可編程(ISP)邏輯器件。

3.可編程邏輯器件PLD

半定制ASIC的用戶定制早期主要由專業(yè)的集成電路廠商完成,制造廠首先生產(chǎn)通用性較強(qiáng)的半成品集成電路,而后根據(jù)最終用戶的具體要求固化電路,將這種半成品電路轉(zhuǎn)換為專用集成電路。這個(gè)過(guò)程需要集成電路廠商與終端用戶的多次交流、溝通,一定程度上束縛了半定制ASIC的應(yīng)用靈活性與易用性。

可編程邏輯器件是由專業(yè)集成電路廠家生產(chǎn)制造、可由用戶根據(jù)具體應(yīng)用場(chǎng)合進(jìn)行編程、配置,滿足特定應(yīng)用場(chǎng)合需求的半成品集成電路。

PLD器件內(nèi)部集成一定數(shù)量的邏輯門、觸發(fā)器等基本邏輯電路,按照一定排列方式排列。編程之前,基本邏輯電路各自獨(dú)立,不存在連接關(guān)系,也不具備具體的邏輯功能;通過(guò)用戶編程,PLD內(nèi)部的部分基本邏輯電路、邏輯單元形成特定的連接關(guān)系,相互之間構(gòu)成固定的輸入輸出關(guān)系,實(shí)現(xiàn)用戶程序指定的專有功能,相應(yīng)的集成電路也由PLD轉(zhuǎn)變?yōu)榫哂刑囟üδ艿膶S眉呻娐贰?/p>

PLD與常規(guī)電路以及常規(guī)專用集成電路存在本質(zhì)區(qū)別,常規(guī)電路一般包括多個(gè)分立元件、集成電路元件、元件之間的連線、支撐各元件及連線的電路板,電路一旦完成,元件之間的連線及其輸入輸出關(guān)系無(wú)法更改;PLD則由內(nèi)部集成的基本元件與連線構(gòu)成,具有更小的尺寸與功耗,內(nèi)部連線可以通過(guò)編程更改,形成新的電路。常規(guī)專用集成電路具有與PLD相似的結(jié)構(gòu)、集成度與功耗,只是其內(nèi)部構(gòu)成元件及連接關(guān)系固定,無(wú)法通過(guò)編程改變,功能相應(yīng)也無(wú)法改變。

2.1.2PLD器件的發(fā)展

1.PROM與PLA器件

可編程只讀存儲(chǔ)器(ProgrammableRead-OnlyMemory,PROM)與可編程邏輯陣列(ProgrammableLogicArrays,PLA),二者統(tǒng)稱為現(xiàn)場(chǎng)可編程邏輯陣列(Field-ProgrammableLogicArray,F(xiàn)PLA),出現(xiàn)于上世紀(jì)70年代初期,是早期重要的PLD器件。

2.PAL器件

70年代末,出現(xiàn)了可編程陣列邏輯(ProgrammableArrayLogic,PAL)。

3.GAL器件

80年代初,Lattice推出通用陣列邏輯(GenericArrayLogic,GAL)器件,具有可擦除、重復(fù)編程、加密等特點(diǎn),此后GAL大量用于工業(yè)自動(dòng)化產(chǎn)品,實(shí)現(xiàn)相對(duì)簡(jiǎn)單的邏輯功能,取代常用的分立元件。

4.CPLD器件

80年代中期,在EPROM與GAL器件基礎(chǔ)上,Altera推出可用邏輯門數(shù)超500門的可擦除PLD器件(ErasableProgrammableLogicDevice,EPLD)。之后,Xilinx、Atmel針對(duì)EPLD器件展開了大量工作,推出多種制造工藝、結(jié)構(gòu)各不相同的器件,片內(nèi)資源不斷擴(kuò)大,最終形成了現(xiàn)在還在廣泛應(yīng)用的復(fù)雜可編程邏輯器件(ComplexProgrammableLogicDevice,CPLD)。

5.FPGA器件

80年代中期,Xilinx推出現(xiàn)場(chǎng)可編程門陣列(FieldProgrammableGateArray,F(xiàn)PGA),相對(duì)于早期其他可編程器件,F(xiàn)PGA器件的規(guī)模要大得多,可容許邏輯的復(fù)雜程度也得到了極大的提高。FPGA的出現(xiàn)使面向特定復(fù)雜工業(yè)的專用集成電路成為可能,為滿足工業(yè)領(lǐng)域嚴(yán)苛的可靠性、集成度以及實(shí)時(shí)性等要求提供了一種有效解決方案,為可編程邏輯器件在工業(yè)現(xiàn)場(chǎng)的大規(guī)模廣泛應(yīng)用提供了重要的技術(shù)支撐。

6.ispLSI器件

90年代初,Lattice推出在系統(tǒng)可編程大規(guī)模集成電路(In-SystemProgrammableLargeScaleIntegration,ispLSI),極大地方便了系統(tǒng)的修改、升級(jí),由于其在系統(tǒng)可編程的特點(diǎn),避免了重復(fù)制版等麻煩,使得系統(tǒng)研發(fā)周期極大地縮短。

7.ispPAC器件

90年代末,Lattice推出模擬可編程邏輯器件ispPAC(In-System-Programmability

ProgrammbleAnalogCircuits),可實(shí)現(xiàn)信號(hào)調(diào)理、信號(hào)處理與信號(hào)轉(zhuǎn)換。ispPAC器件的出現(xiàn)帶給工業(yè)系統(tǒng)的改變是革命性的,不僅極大簡(jiǎn)化了模擬電路設(shè)計(jì)、調(diào)試與分析過(guò)程,而且使整個(gè)電路集成至一個(gè)單芯片,使系統(tǒng)可靠性、易修改性、集成度均得到極大提高。

2.1.3PLD的結(jié)構(gòu)特點(diǎn)與分類

1.基本結(jié)構(gòu)

圖2.1所示為早期可編程邏輯器件的基本結(jié)構(gòu),其基本構(gòu)成單元主要包括與陣列、或陣列、輸入/輸出緩沖電路。PLD器件的輸入首先經(jīng)過(guò)輸入電路得到輸入項(xiàng);之后,進(jìn)入器件的與陣列進(jìn)行與運(yùn)算,得到乘積項(xiàng);而后,乘積項(xiàng)經(jīng)或陣列進(jìn)行或運(yùn)算,得到圖中的或項(xiàng);最后,或項(xiàng)進(jìn)入輸出電路,在其控制下得到集成電路的總輸出。

圖2.1可編程邏輯器件的基本結(jié)構(gòu)

2.PLD器件的按復(fù)雜程度分類

PLD器件的分類方法主要有:根據(jù)復(fù)雜程度分類、根據(jù)編程特性分類、根據(jù)互聯(lián)結(jié)構(gòu)分類、根據(jù)制造工藝分類等幾種。目前主要根據(jù)器件的結(jié)構(gòu)復(fù)雜程度對(duì)PLD器件進(jìn)行分類,采用這種分類法,可編程器件可以分為SPLD、CPLD、FPGA與ISP器件,通常也把Lattice的ISP器件劃歸到CPLD器件。目前,應(yīng)用最為廣泛的主要有CPLD器件與FPGA器件。

1)

SPLD器件

SPLD(SimpleProgrammableLogicDevice)是最早出現(xiàn)的可編程邏輯器件,其采用圖2.1所示的電路結(jié)構(gòu),主要包括PROM、PAL、PLA、GAL等器件。相對(duì)于后期的CPLD與FPGA,其規(guī)模較小,運(yùn)算速度、集成度低,只適于簡(jiǎn)單邏輯控制場(chǎng)合。

PROM:具有一個(gè)固定的與陣列和一個(gè)可編程的或陣列,一般作為數(shù)字系統(tǒng)的存儲(chǔ)器件使用。在計(jì)算機(jī)控制系統(tǒng)中,PROM器件通常用作系統(tǒng)的程序存儲(chǔ)器。

PAL:PAL的與陣列可編程,或陣列不可編程。由于器件的與陣列可編程,乘積項(xiàng)增多;GAL具有與PAL相同的陣列結(jié)構(gòu),與陣列可編程、或陣列固定,同時(shí),器件輸出配置了輸出邏輯宏單元(OutputLogicMacroCell,OLMC),可組態(tài)為專用輸入、輸出、寄存器I/O等方式,實(shí)現(xiàn)時(shí)序或組合邏輯;二代GAL具有電擦寫、重復(fù)編程加密功能。

PLA:器件的與陣列和或陣列均具有可編程特性,其主要缺陷在于速度不高,同時(shí)在價(jià)格方面也不具備優(yōu)勢(shì)。PLA分為組合型與時(shí)序型兩類器件,分別用于實(shí)現(xiàn)組合邏輯電路與時(shí)序邏輯電路。

2)

CPLD器件

CPLD采用邏輯板塊編程而非邏輯門編程,其結(jié)構(gòu)以邏輯宏單元為基礎(chǔ),構(gòu)成包括內(nèi)部的與陣列、或陣列和輸入/輸出控制模塊。由于受到本身資源規(guī)模的限制,CPLD器件通常用于相對(duì)簡(jiǎn)單的時(shí)序邏輯控制,適用于需要進(jìn)行系統(tǒng)擴(kuò)展、擴(kuò)大應(yīng)用范圍,提高或擴(kuò)展系統(tǒng)性能的場(chǎng)合。

3)

FPGA器件

FPGA器件通過(guò)靜態(tài)隨機(jī)存取存儲(chǔ)(StaticRandomAccessMemory,SRAM)工藝制造,采用邏輯單元陣列結(jié)構(gòu),內(nèi)部主要包括可配置邏輯模塊(ConfigurableLogicBlock,CLB)、輸出輸入塊(InputOutputBlock,IOB)與內(nèi)部連線(Interconnect)。FPGA的組合邏輯通過(guò)查找表(16?×?1RAM)實(shí)現(xiàn),查找表連接到D觸發(fā)器,而后驅(qū)動(dòng)其他邏輯電路或I/O,由此實(shí)現(xiàn)組合邏輯與時(shí)序邏輯電路功能。相對(duì)于其他PLD器件,F(xiàn)PGA具有設(shè)計(jì)靈活、集成度高、可重復(fù)編程、現(xiàn)場(chǎng)模擬調(diào)試驗(yàn)證等優(yōu)點(diǎn)。

4)

Lattice的ISP器件

ISP器件采用E2CMOS工藝制造,內(nèi)部具有存儲(chǔ)程序信息的E2PROM,可電擦除。ISP器件的編程利用PC機(jī)通過(guò)編程電纜實(shí)現(xiàn)。相對(duì)于其他PLD器件,ISP器件無(wú)需專用編程器,編程方便,具有良好的易用性與高性能,具備FPGA的靈活性、高密度等特點(diǎn),可在線重新編程。

3.PLD器件的其他分類法

1)互連結(jié)構(gòu)分類法

這種分類方法根據(jù)器件的互連結(jié)構(gòu)進(jìn)行分類,分為確定型與統(tǒng)計(jì)型兩個(gè)類別。確定型PLD器件每次布線的互連關(guān)系相同,實(shí)現(xiàn)具有同一邏輯功能的集成電路時(shí),不會(huì)因?yàn)槎啻闻渲?、適配而在PLD器件內(nèi)部產(chǎn)生不同的連接結(jié)構(gòu)。除FPGA之外的多數(shù)PLD器件均屬于該類型。

與確定型PLD器件相反,統(tǒng)計(jì)型PLD器件在實(shí)現(xiàn)同一邏輯功能時(shí),每次配置、適配電路都會(huì)在PLD器件內(nèi)部產(chǎn)生不同的電路連接結(jié)構(gòu),多數(shù)FPGA器件隸屬于該類器件。

2)編程特性分類法

該分類方法把大規(guī)模可編程邏輯器件分為一次可編程PLD器件與重復(fù)可編程PLD器件。一次可編程PLD器件只可編程一次,早期的PROM、PAL與熔絲類FPGA均是一次可編程PLD器件;可多次編程、重新配置的PLD器件則是重復(fù)可編程PLD器件,包括紫外光擦除的器件、電擦除器件。現(xiàn)有的PLD器件大多數(shù)都是重復(fù)可編程邏輯器件,且是電擦除,編程次數(shù)達(dá)數(shù)千次。

2.2典型CPLD器件

2.2.1MAX7000S系列器件

1.主要器件及特性

Altera是最早推出CPLD器件的PLD廠商,其目前尚在廣泛應(yīng)用的CPLD器件包括MAX7000S、MAX3000A與MAXⅡ等多個(gè)系列的PLD,表2.1所示為MAX7000S系列CPLD的主要器件及性能參數(shù)。

2.MAX7000S器件的結(jié)構(gòu)與功能

1)基本構(gòu)成

MAX7000S的邏輯結(jié)構(gòu)如圖2.2所示,其構(gòu)成主要包括邏輯陣列塊(LogicArrayBlock,LAB)、可編程連線陣(ProgrammableInterconnectArray,PIA)、I/O控制塊(I/OControlBlocks,IOB)與宏單元。

圖2.2MAX7000S器件的基本構(gòu)成

2)宏單元(Macrocell)

宏單元用來(lái)實(shí)現(xiàn)CPLD器件的邏輯功能,其基本結(jié)構(gòu)如圖2.3所示。

圖2.3宏單元的基本構(gòu)成

(1)宏單元由邏輯陣列(LogicArray)、乘積項(xiàng)選擇矩陣(Product-TermSelectMatrix)與可編程觸發(fā)器(ProgrammableRegister)三類功能模塊構(gòu)成。通過(guò)編程,宏單元分別實(shí)現(xiàn)時(shí)序邏輯、組合邏輯電路。

(2)邏輯陣列用來(lái)實(shí)現(xiàn)集成電路設(shè)計(jì)中的組合邏輯功能,邏輯陣列提供每個(gè)宏單元的五個(gè)乘積項(xiàng)。

(3)乘積項(xiàng)選擇矩陣分配乘積項(xiàng)作為或門、異或門的主要邏輯輸入,實(shí)現(xiàn)組合邏輯;或者把乘積項(xiàng)作為宏單元觸發(fā)器的清零、置位、時(shí)鐘和時(shí)鐘使能信號(hào)使用。

(1)宏單元由邏輯陣列(LogicArray)、乘積項(xiàng)選擇矩陣(Product-TermSelectMatrix)與可編程觸發(fā)器(ProgrammableRegister)三類功能模塊構(gòu)成。通過(guò)編程,宏單元分別實(shí)現(xiàn)時(shí)序邏輯、組合邏輯電路。

(2)邏輯陣列用來(lái)實(shí)現(xiàn)集成電路設(shè)計(jì)中的組合邏輯功能,邏輯陣列提供每個(gè)宏單元的五個(gè)乘積項(xiàng)。

(3)乘積項(xiàng)選擇矩陣分配乘積項(xiàng)作為或門、異或門的主要邏輯輸入,實(shí)現(xiàn)組合邏輯;或者把乘積項(xiàng)作為宏單元觸發(fā)器的清零、置位、時(shí)鐘和時(shí)鐘使能信號(hào)使用。

(4)做寄存器使用時(shí),宏單元的可編程觸發(fā)器可單獨(dú)編程為帶時(shí)鐘端的D、T、JK或RS觸發(fā)器。同時(shí),宏單元的觸發(fā)器也可以被旁路,用于實(shí)現(xiàn)組合邏輯。

(5)擴(kuò)展乘積項(xiàng)(ExpanderProductTerms)

①邏輯功能需要的乘積項(xiàng)數(shù)量多于五個(gè)時(shí),可利用共享(SharedLogicExpanders)和并聯(lián)擴(kuò)展乘積項(xiàng)(ParallelLogicExpanders)來(lái)實(shí)現(xiàn)。

②MAX7000S器件允許直接使用同一邏輯陣列塊(LAB)內(nèi)的乘積項(xiàng)實(shí)現(xiàn)邏輯功能,以節(jié)省資源,提高速度。

③共享擴(kuò)展項(xiàng):每個(gè)LAB有16個(gè)共享擴(kuò)展項(xiàng),每個(gè)宏單元提供一個(gè)未投入使用的乘積項(xiàng)。

④并聯(lián)擴(kuò)展項(xiàng):宏單元中沒有使用、且可分配到相鄰宏單元、實(shí)現(xiàn)高速?gòu)?fù)雜邏輯功能的擴(kuò)展乘積項(xiàng)稱為并聯(lián)擴(kuò)展項(xiàng)。

3)可編程連線陣列(PIA)

(1)完成布線,連接各LAB,構(gòu)成所需要的邏輯功能。

(2)器件的所有專用輸入、I/O端口與宏單元的輸出均與PIA相連,以保證整個(gè)器件能獲取各個(gè)信號(hào),實(shí)現(xiàn)具體功能。

(3)

MAX7000S的PIA具有固定延時(shí),消除了信號(hào)之間的時(shí)間偏差。

4)?I/O控制塊(I/OControlBlock,IOCB)

(1)通過(guò)IOCB可以配置I/O端口的工作方式;通過(guò)IOCB,EPM7128S的各端口可以配置成輸入、輸出與雙向3種工作模式。

(2)器件的所有端口均具有受全局輸出使能信號(hào)控制的三態(tài)緩沖,緩沖可與VCC或GND直連。

5)引線圖

EPM7128S系列器件有多種封裝形式,圖2.4所示為其84腳PLCC封裝的器件。器件有64個(gè)通用I/O端口,可通過(guò)編程配置成輸入、輸出或雙向端口;除此之外,器件還有4個(gè)專用輸入端口、6個(gè)I/O電源接口VCCIO,2個(gè)內(nèi)部電壓端口VCCINT。

圖2.484腳PLCC封裝的EPM7128S器件

2.2.2ISP系列器件

1.主要器件及特性

Lattice公司的CPLD器件普遍采用E2CMOS工藝及ISP技術(shù),主要包括ispMach4000V/B/C、MachXO、ispLSI等系列器件,其中ispLSI系列CPLD的部分典型器件及特性參數(shù)見表2.2。

2.典型器件ispLSI1032EA器件的結(jié)構(gòu)與功能

1)器件基本特點(diǎn)

(1)器件內(nèi)部集成邏輯門6000門,具有64個(gè)I/O端口,4個(gè)專用輸入,192個(gè)觸發(fā)器;器件具有4個(gè)專用時(shí)鐘輸入,同時(shí)具有同步與異步時(shí)鐘,功能與管腳全面兼容ispLSI1032E器件。

(2)器件最高工作頻率可達(dá)200MHz,I/O端口兼容TTL信號(hào),傳播延時(shí)tpd可達(dá)4ns,用戶可選3.3V或5VI/O端口,支持混合電壓系統(tǒng)。

(3)器件采用電擦除,可反復(fù)編程,通過(guò)標(biāo)準(zhǔn)JTAG可實(shí)現(xiàn)器件的在線編程。

2)基本結(jié)構(gòu)

如圖2.5所示為典型器件ispLSI1032EA的邏輯功能框圖。

圖2.5ispLSI1032EA器件的邏輯功能框圖

ispLSI1032EA的基本構(gòu)成包括4個(gè)宏塊(Megablock)、1個(gè)全局布線區(qū)(GlobalRoutingPool,GRP)與1個(gè)時(shí)鐘分配網(wǎng)絡(luò)。

(1)全局布線區(qū)GRP。

①全局布線區(qū)位于集成電路中央,接收所有邏輯單元的輸出信號(hào)和所有來(lái)自I/O端口的輸入信號(hào),實(shí)現(xiàn)I/O端口、GLB之間的連接關(guān)系,完成程序制定的邏輯功能。

②無(wú)論邏輯電路位置如何,GRP都能夠保證信號(hào)輸入輸出延遲時(shí)間恒定。

(2)宏塊(megablock)。宏塊的基本構(gòu)成包括8個(gè)通用邏輯塊(GenericLogicBlock,GLB)、1個(gè)輸出布線區(qū)(OutputRoutingPool,ORP)、1個(gè)輸入總線(InputBus)、16個(gè)I/O端口,以及2個(gè)器件的專用輸入端口。器件的專用輸入端口信號(hào)直接進(jìn)入GLB,而非GRP,因此可以消除時(shí)間延遲。

①通用邏輯塊GLB。GLB用于實(shí)現(xiàn)器件預(yù)定的邏輯功能,如圖2.6所示為其結(jié)構(gòu)框架。

圖2.6GLB的邏輯結(jié)構(gòu)

②輸出布線池ORP。輸出布線池ORP是GLB與I/O單元間的可編程互連陣列,用以實(shí)現(xiàn)GLB與I/O的信號(hào)傳輸;實(shí)現(xiàn)高速邏輯功能時(shí),GLB可跨ORP與I/O直連。

③輸入總線:16位信號(hào)通道。

④I/O單元IOC:可通過(guò)單獨(dú)編程進(jìn)行控制,使其分別工作于組合輸入、寄存器輸入或者鎖存器輸入、輸出與雙向三態(tài)I/O模式,信號(hào)兼容TTL電平;VCCIO接3.3或5V電源,端口相應(yīng)輸出3.3V或5V信號(hào)。

⑤可編程開路輸出:除了作為標(biāo)準(zhǔn)輸出,ispLSI1032EA可單獨(dú)編程為標(biāo)準(zhǔn)圖騰柱輸出或源極開路輸出。

(3)時(shí)鐘分配網(wǎng)絡(luò)。ispLSI1032EA器件的時(shí)鐘選擇由時(shí)鐘分配網(wǎng)絡(luò)實(shí)現(xiàn),專用時(shí)鐘輸入Y0~Y3送入時(shí)鐘分配網(wǎng)絡(luò),產(chǎn)生5個(gè)時(shí)鐘信號(hào)CLK0-CLK2、IOCLK0與IOCLK1并驅(qū)動(dòng)各GLB與I/O單元IOC;時(shí)鐘分配網(wǎng)絡(luò)也可由器件特定的GLB(ispLSI1032EA的通用邏輯塊C0)產(chǎn)生,C0允許用戶利用器件內(nèi)部信號(hào)組合產(chǎn)生內(nèi)部時(shí)鐘。

3)器件編程

Lattice的CPLD器件的編程方法有兩種,第一種是通過(guò)計(jì)算機(jī)與編程電纜灌制程序的在線編程方法;第二種是通過(guò)編程器編程。其中,ispLSI器件可通過(guò)上述兩種方法進(jìn)行編程,pLSI器件只可通過(guò)第二種方法進(jìn)行編程。編程接口的具體定義如下:

(1)

MODE(TMS):模式控制。

(2)

SCLK(TCK):串行時(shí)鐘,該端口為CPLD器件的編程操作提供數(shù)據(jù)移位時(shí)鐘及時(shí)序邏輯操作時(shí)鐘。

(3)

SDI(TDI):串行數(shù)據(jù)與命令輸入。

(4)

SDO(TDO):串行數(shù)據(jù)輸出。

(5)

ispEN:編程使能。

(6)地線及ispLSI電源電壓監(jiān)測(cè)線。

2.2.3MAXII系列器件

1.主要器件及特性

MAXⅡ系列器件是Altera近年來(lái)根據(jù)工業(yè)需求推出的一類重要CPLD,相對(duì)于原有的MAX7000、MAX3000系列器件,MAXⅡ器件功耗低、速度更快、邏輯資源更多、集成度更高。MAXⅡ使CPLD能夠?qū)崿F(xiàn)具有一定復(fù)雜程度的數(shù)據(jù)處理及運(yùn)算、控制邏輯與控制策略、高性能數(shù)據(jù)通信協(xié)議等功能,能夠在系統(tǒng)中發(fā)揮更大作用,MAXⅡ系列CPLD的典型器件及特性參數(shù)見表2.3。

MAXⅡ系列器件的具體命名規(guī)則如表2.4所示。器件名稱的構(gòu)成字段主要包含器件系列、邏輯單元數(shù)量、內(nèi)部電壓、封裝形式、引腳數(shù)目、工作溫度與速度等級(jí)等信息。

2.器件的結(jié)構(gòu)與功能

1)器件功能結(jié)構(gòu)

MAXⅡ器件的邏輯功能結(jié)構(gòu)框架如圖2.7所示。在圖2.7所示的結(jié)構(gòu)中,PLD器件通過(guò)呈行、列結(jié)構(gòu)排布的多組邏輯單元,高效地執(zhí)行用戶自定義的專用控制邏輯功能。行與列之間的連接線負(fù)責(zé)為不同LAB之間提供信號(hào)連接關(guān)系,形成邏輯功能各異的用戶電路。

圖2.7MAXⅡ系列器件的功能結(jié)構(gòu)框架

2)器件的平面結(jié)構(gòu)

圖2.8所示為MAXⅡ系列器件EPM570的平面布局結(jié)構(gòu),器件平面布局的左下角設(shè)計(jì)有專用FLASH存儲(chǔ)區(qū),主要作為器件配置專用FLASH存儲(chǔ)區(qū)(ConfigurationFlashMemory,CFM)使用,用來(lái)存儲(chǔ)所有的SRAM配置信息。器件上電時(shí),配置專用FLASH存儲(chǔ)區(qū)(CFM)自動(dòng)將配置信息載入SRAM,配置器件的邏輯與I/O功能,實(shí)現(xiàn)器件的快速啟動(dòng)。

圖2.8MAXII系列CPLD器件EPM570的平面結(jié)構(gòu)

3)器件LAB的邏輯結(jié)構(gòu)

EPM570器件中,LAB結(jié)構(gòu)如圖2.9所示。每個(gè)LAB的基本構(gòu)成包括10個(gè)邏輯單元LE、LE進(jìn)位鏈、LAB控制信號(hào)、局部連線、查找表(Look-UpTable,LUT)鏈路與觸發(fā)器鏈路。LAB的輸入信號(hào)包括最多26個(gè)獨(dú)立輸入,外加本LAB內(nèi)各LE輸出的10個(gè)局部回送信號(hào)。局部連線實(shí)現(xiàn)同一LAB內(nèi)各LE之間的信號(hào)傳輸;LUT鏈路將LE中的LUT輸出送至相鄰LUT,在同一LAB內(nèi)形成LUT的快速連接通道;觸發(fā)器鏈路將LE寄存器的輸出送入同一LAB內(nèi)的相鄰LE。

圖2.9EPM570器件的LAB框架結(jié)構(gòu)

2.3典型FPGA器件

2.3.1CycloneIII系列器件

1.主要器件及特性

CycloneⅢ系列器件FPGA的典型器件及特性參數(shù)如表2.5所示。

CycloneⅢ系列器件是Altera推出的一類重要的低功耗、低成本、高性能的FPGA器件,尤其適用于大容量、低功耗、價(jià)格敏感的應(yīng)用場(chǎng)合,器件包括5000~200?000個(gè)邏輯單元,存儲(chǔ)器容量為0.5~8?Mbit,靜態(tài)功耗為1/4W。每個(gè)器件具有4個(gè)PLL,每個(gè)PLL有5個(gè)輸出,能為器件的時(shí)鐘管理、外部系統(tǒng)時(shí)鐘管理、I/O接口提供靈活的時(shí)鐘管理與綜合;支持多種標(biāo)準(zhǔn)信號(hào),速度分為C6、C7、C8、I7、A7五個(gè)等級(jí),器件命名規(guī)則及其含義如表2.6所示。

2.CycloneIII器件的結(jié)構(gòu)與功能

1)器件構(gòu)成框架

CycloneIII器件的平面結(jié)構(gòu)如圖2.10所示。

圖2.10CycloneIII系列FPGA器件的平面結(jié)構(gòu)布局

2)器件的LAB結(jié)構(gòu)

CycloneIII器件的LAB組織結(jié)構(gòu)如圖2.11所示。

圖2.11CycloneIII系列FPGA的LAB的基本結(jié)構(gòu)

3)

CycloneIII器件的邏輯單元LE

CycloneIII器件邏輯單元LE的結(jié)構(gòu)如圖2.12所示,每個(gè)邏輯單元LE含有1個(gè)4輸入查找表、一個(gè)可編程觸發(fā)器、一個(gè)進(jìn)位鏈與一個(gè)觸發(fā)器鏈路;LE能夠驅(qū)動(dòng)局部連線、行列連線、直接連線與觸發(fā)器鏈路。

圖2.12CycloneⅢ器件的邏輯單元LE的基本結(jié)構(gòu)

2.3.2LatticeXP2系列器件

1.主要器件及特性

XP2系列器件是Lattice開發(fā)的,基于查找表結(jié)構(gòu)的一類FPGA器件。表2.7所示為XP2系列FPGA的主要器件及特性參數(shù)。

XP2系列器件內(nèi)置FLASH單元,具有快速啟動(dòng)、無(wú)限次編程等特點(diǎn)。器件內(nèi)部包括LUT結(jié)構(gòu)邏輯、分布式嵌入存儲(chǔ)器、鎖相環(huán)、預(yù)制同步I/O與增強(qiáng)DSP模塊。器件提供132、144、208、256、484、672腳的多種封裝形式,器件命名規(guī)則及其含義如表2.8所示。

2.器件結(jié)構(gòu)與功能

1)器件結(jié)構(gòu)

LatticeXP2系列FPGA的基本框架結(jié)構(gòu)如圖2.13所示。

圖2.13XP2系列FPGA的基本結(jié)構(gòu)

2)

PFU的功能結(jié)構(gòu)

圖2.14所示為L(zhǎng)atticeXP2器件的可編程邏輯功能單元PFU的組織結(jié)構(gòu)。

圖2.14可編程邏輯功能單元PFU的結(jié)構(gòu)框架

習(xí)?題?與?思?考

[1]請(qǐng)解釋名詞:ASIC、PLD、SPLD、CPLD、FPGA。

[2]請(qǐng)介紹PLD器件的類型、特點(diǎn)。

[3]主流PLD廠商及典型PLD器件有哪些?

[4]何為ISP技術(shù)?有何優(yōu)勢(shì)?

[5]請(qǐng)解釋MAXⅡ系列CPLD的邏輯結(jié)構(gòu)以及組合邏輯、時(shí)序邏輯的實(shí)現(xiàn)方法。

[6]請(qǐng)解釋CycloneⅢ系列FPGA器件的邏輯結(jié)構(gòu)以及組合邏輯、時(shí)序邏輯的實(shí)現(xiàn)方法。

[7]請(qǐng)解釋XP2系列FPGA器件的邏輯結(jié)構(gòu)以及組合邏輯、時(shí)序邏輯的實(shí)現(xiàn)方法。

[8]常用可編程邏輯器件的封裝形式有哪些?其優(yōu)缺點(diǎn)是什么?

[9]

PLD器件的編程信號(hào)有哪些?其基本功能是什么?

[10]PLD器件中通常會(huì)設(shè)置專用的輸入、時(shí)鐘等端口,有何意義?

[11]結(jié)合自己的理解,談?wù)凱LD器件的選用原則。

[12]

PLD器件中通常會(huì)設(shè)置多個(gè)VCCIO、VCCINT、GND等引腳,結(jié)合自己的理解,談?wù)勥@樣設(shè)置有何意義。

[13]結(jié)合已有知識(shí),談?wù)勛约簩?duì)PLD器件、傳統(tǒng)電路的理解以及看法。

第3章VHDL程序設(shè)計(jì)3.1VHDL程序結(jié)構(gòu)3.2VHDL語(yǔ)言的對(duì)象3.3VHDL的并行語(yǔ)句3.4順序語(yǔ)句3.5VHDL的程序組織3.6元件配置習(xí)題與思考

3.1VHDL程序結(jié)構(gòu)

3.1.1程序基本結(jié)構(gòu)

1.框架結(jié)構(gòu)與許多軟件程序類似,VHDL程序采用分段式結(jié)構(gòu),程序的基本構(gòu)成包括實(shí)體ENTITY段、結(jié)構(gòu)體ARCHITECTURE段、配置CONFIGURATION段、包集合PACKAGE、設(shè)計(jì)庫(kù)LIBRARY等五個(gè)部分,實(shí)體段與結(jié)構(gòu)體段構(gòu)成VHDL程序的最基本組成單元。

例3-1-1

VHDL程序框架:

上例程序?qū)崿F(xiàn)了0~255的計(jì)數(shù)器,整個(gè)程序包括程序說(shuō)明、設(shè)計(jì)庫(kù)、實(shí)體設(shè)計(jì)與結(jié)構(gòu)體設(shè)計(jì)4段。其中,程序行“DemoVHDLProgram”與“Clearableloadableenablecounter”用于說(shuō)明程序功能,不參與編譯;語(yǔ)句“LIBRARYIEEE”與“USEIEEE.STD_LOGIC_1164.all”為設(shè)計(jì)庫(kù)的調(diào)用;從語(yǔ)句“ENTITYCnt8IS”開始,直至語(yǔ)句“ENDCnt8”結(jié)束,構(gòu)成程序的實(shí)體設(shè)計(jì)部分;從語(yǔ)句“ARCHITECTUREDemoOFCnt8IS”開始,直至語(yǔ)句“ENDDemo”結(jié)束,構(gòu)成程序的結(jié)構(gòu)體設(shè)計(jì)部分。

2.實(shí)體

實(shí)體提供系統(tǒng)公共信息,是VHDL程序的基本單元,可以代表整個(gè)數(shù)字系統(tǒng)或集成電路,也可以僅代表構(gòu)成數(shù)字系統(tǒng)或集成電路的子系統(tǒng)、構(gòu)成電路。

3.結(jié)構(gòu)體

結(jié)構(gòu)體也是VHDL程序的基本單元,用來(lái)表述電路系統(tǒng)的功能、行為、數(shù)據(jù)處理流程與組織結(jié)構(gòu),是EDA工具實(shí)現(xiàn)電路的重要依據(jù)。

3.1.2實(shí)體設(shè)計(jì)

1.基本格式

VHDL程序的實(shí)體段提供所設(shè)計(jì)系統(tǒng)或電路的基本情況與公共信息,實(shí)體段的主要構(gòu)成包括實(shí)體名稱、類屬表、端口表與實(shí)體說(shuō)明等語(yǔ)句,其基本格式如下:

實(shí)體段定義從定義語(yǔ)句“ENTITY實(shí)體名IS”開始,“END實(shí)體名”結(jié)束;實(shí)體主要描述元件或模塊的屬性以及與外界的連接關(guān)系,包括層次化設(shè)計(jì)中子電路、子模塊或系統(tǒng)的I/O信號(hào),集成電路或器件設(shè)計(jì)中芯片I/O端口、特性參數(shù)等。實(shí)體段格式定義中的類屬表GENERIC、端口表PORT與實(shí)體說(shuō)明為可選項(xiàng),可以沒有,以下為8位二選一電路的實(shí)體定義:

例3-1-2

8二選一電路的實(shí)體定義:

上例定義了實(shí)體Mux8,Mux8中只包含端口定義,電路具有3個(gè)輸入端口A、B、Sel和1個(gè)輸出端口Q。

2.類屬定義

類屬表是實(shí)體設(shè)計(jì)的可選項(xiàng),位于端口說(shuō)明之前,用于定義電路、子電路或系統(tǒng)、子系統(tǒng)的基本屬性,提供靜態(tài)信息,類屬表的基本格式如下:

GENERIC([CONSTANT]名稱:子類型標(biāo)識(shí)[:=靜態(tài)表達(dá)式])

當(dāng)系統(tǒng)或電路的類屬表存在多個(gè)屬性定義,需要多個(gè)行時(shí),行尾以“;”結(jié)束。用靜態(tài)表達(dá)式給類屬參數(shù)賦值。

例3-1-3存在多個(gè)屬性定義的類屬表:

GENERIC(tpd:TIME:=8ns;

ton:TIME:=8ns);

上例分別定義屬性tpd與ton,數(shù)據(jù)類型均為TIME,均賦值8

ns。

3.端口定義

端口表用來(lái)描述實(shí)體所代表的電路、系統(tǒng)或子電路、子系統(tǒng)與外部的接口,功能對(duì)應(yīng)于電路引腳與輸入輸出信號(hào)。端口可被賦值或者作為變量使用,端口表的基本格式如下:

PORT(端口名稱:通信模式數(shù)據(jù)類型[:=靜態(tài)表達(dá)式])

1)端口名稱

端口名稱是實(shí)體所代表系統(tǒng)或者系統(tǒng)的外部引腳名稱,要求一目了然,如Clrn、Clk、Cs等。

2)通信模式

通信模式是指數(shù)據(jù)、信號(hào)通過(guò)端口的方向。端口的通信模式與電路或系統(tǒng)的端口數(shù)據(jù)流向類型一致,包括輸入端口IN、輸出端口OUT、雙向端口INOUT與緩沖輸出BUFFER四種類型。

(1)?IN:數(shù)據(jù)輸入端口,單向,如電路的EN、CS、CLK、Addr等端口。

(2)?OUT:數(shù)據(jù)輸出端口,實(shí)體內(nèi)不可讀,不用于內(nèi)部反饋,即輸出端口不能賦給其他端口、信號(hào)或變量,也不能參與運(yùn)算,只能出現(xiàn)在賦值符號(hào)左側(cè)。

(3)?INOUT:雙向端口,既可作為輸出將數(shù)據(jù)信息送出電路和系統(tǒng),又可作為輸入端口接收電路或系統(tǒng)的外部數(shù)據(jù),如數(shù)據(jù)總線。

(4)?BUFFER:BUFFER的特性類似輸出端口OUT,但可以參與系統(tǒng)或電路的內(nèi)部運(yùn)算或直接賦給其他端口、信號(hào)或變量,可以在電路或內(nèi)部引用,出現(xiàn)在賦值符號(hào)右側(cè)。

3)數(shù)據(jù)類型

VHDL中的布爾數(shù)據(jù)類型與其他高級(jí)語(yǔ)言具有一定類似性,同時(shí)也有自身特定的新數(shù)據(jù)類型,主要包括布爾型BOOLEAN、位BIT、位矢量BIT_VECTOR與整數(shù)INTEGER等。

4)初始化

端口定義中還可以通過(guò)數(shù)據(jù)類型后面的[:=靜態(tài)表達(dá)式]對(duì)端口設(shè)定初始狀態(tài)。

例3-1-4典型端口定義:

實(shí)體Mgate具有兩個(gè)端口A與B,A為輸入端口,數(shù)據(jù)類型為STD_LOGIC_VECTOR;B為輸出端口,數(shù)據(jù)類型為STD_LOGIC。同時(shí),程序?yàn)槎丝贐設(shè)定了初始狀態(tài)值“1”,電路上電后B端口為高電平。

4.實(shí)體說(shuō)明

實(shí)體設(shè)計(jì)中可以包含實(shí)體說(shuō)明部分,該部分置于端口定義之后,定義實(shí)體設(shè)計(jì)中一些可用的公共資源,如自定義數(shù)據(jù)類型、過(guò)程、函數(shù)等,以下為含實(shí)體說(shuō)明的實(shí)體定義:

例3-1-5含實(shí)體說(shuō)明的實(shí)體定義:

5.實(shí)體語(yǔ)句

實(shí)體設(shè)計(jì)的一般格式中包含實(shí)體語(yǔ)句,允許在實(shí)體設(shè)計(jì)中包含電路的實(shí)現(xiàn)過(guò)程。實(shí)體語(yǔ)句為并行語(yǔ)句,如并行斷言、過(guò)程調(diào)用與進(jìn)程等。

例3-1-6包含電路實(shí)現(xiàn)過(guò)程的實(shí)體設(shè)計(jì):

上例中,語(yǔ)句“A3(A,B,C,O);”即為實(shí)體語(yǔ)句,調(diào)用過(guò)程函數(shù)A3實(shí)現(xiàn)3輸入與門的邏輯運(yùn)算。實(shí)際設(shè)計(jì)中,電路實(shí)現(xiàn)一般放在結(jié)構(gòu)體ARCHITECTURE中實(shí)現(xiàn)。

3.1.3結(jié)構(gòu)體設(shè)計(jì)

結(jié)構(gòu)體的基本作用在于借助于硬件描述語(yǔ)言,向VHDL編譯工具準(zhǔn)確清楚地描述電路或系統(tǒng)。不同于傳統(tǒng)電路表述方法,VHDL中的電路描述具有抽象性,表現(xiàn)在它不一定用傳統(tǒng)的布爾代數(shù)式或基本電路元件來(lái)描述電路,只要在VHDL編譯器中形成正確的解釋,結(jié)構(gòu)體就實(shí)現(xiàn)了其基本職能。

1.一般格式

1)結(jié)構(gòu)體格式

結(jié)構(gòu)體的基本格式如下:

ARCHITEC

溫馨提示

  • 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)論