EDA技術(shù)與應(yīng)用課件_第1頁
EDA技術(shù)與應(yīng)用課件_第2頁
EDA技術(shù)與應(yīng)用課件_第3頁
EDA技術(shù)與應(yīng)用課件_第4頁
EDA技術(shù)與應(yīng)用課件_第5頁
已閱讀5頁,還剩1343頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章緒論1.1EDA技術(shù)的涵義1.2EDA技術(shù)的發(fā)展歷程1.3EDA技術(shù)的主要內(nèi)容1.4EDA軟件系統(tǒng)的構(gòu)成1.5EDA工具的發(fā)展趨勢1.6EDA的工程設(shè)計流程1.7數(shù)字系統(tǒng)的設(shè)計1.8EDA技術(shù)的應(yīng)用展望

1.1EDA技術(shù)的涵義

什么叫EDA技術(shù)?由于它是一門迅速發(fā)展的新技術(shù),涉及面廣,內(nèi)容豐富,理解各異,目前尚無統(tǒng)一的看法。作者認(rèn)為:EDA技術(shù),就是以大規(guī)模可編程邏輯器件為設(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計算機(jī)、大規(guī)模可編程邏輯器件的開發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至完成對于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)。

利用EDA技術(shù)進(jìn)行電子系統(tǒng)的設(shè)計,具有以下幾個特點:①用軟件的方式設(shè)計硬件;②用軟件方式設(shè)計的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由有關(guān)的開發(fā)軟件自動完成的;③設(shè)計過程中可用有關(guān)軟件進(jìn)行各種仿真;④系統(tǒng)可現(xiàn)場編程,在線升級;⑤整個系統(tǒng)可集成在一個芯片上,體積小、功耗低、可靠性高。因此,EDA技術(shù)是現(xiàn)代電子設(shè)計的發(fā)展趨勢。1.2EDA技術(shù)的發(fā)展歷程EDA技術(shù)伴隨著計算機(jī)、集成電路、電子系統(tǒng)設(shè)計的發(fā)展,經(jīng)歷了計算機(jī)輔助設(shè)計(ComputerAssistDesign,簡稱CAD)、計算機(jī)輔助工程設(shè)計(ComputerAssistEngineeringDesign,簡稱CAE)和電子設(shè)計自動化(ElectronicDesignAutomation,簡稱EDA)三個發(fā)展階段。

1.20世紀(jì)70年代的計算機(jī)輔助設(shè)計CAD階段早期的電子系統(tǒng)硬件設(shè)計采用的是分立元件,隨著集成電路的出現(xiàn)和應(yīng)用,硬件設(shè)計進(jìn)入到發(fā)展的初級階段。初級階段的硬件設(shè)計大量選用中小規(guī)模標(biāo)準(zhǔn)集成電路,人們將這些器件焊接在電路板上,做成初級電子系統(tǒng),對電子系統(tǒng)的調(diào)試是在組裝好的PCB(PrintedCircuitBoard)板上進(jìn)行的。

由于設(shè)計師對圖形符號使用數(shù)量有限,傳統(tǒng)的手工布圖方法無法滿足產(chǎn)品復(fù)雜性的要求,更不能滿足工作效率的要求。這時,人們開始將產(chǎn)品設(shè)計過程中高度重復(fù)性的繁雜勞動,如布圖布線工作,用二維圖形編輯與分析的CAD工具替代,最具代表性的產(chǎn)品就是美國ACCEL公司開發(fā)的Tango布線軟件。20世紀(jì)70年代,是EDA技術(shù)發(fā)展初期,由于PCB布圖布線工具受到計算機(jī)工作平臺的制約,其支持的設(shè)計工作有限且性能比較差。

2.20世紀(jì)80年代的計算機(jī)輔助工程設(shè)計CAE階段初級階段的硬件設(shè)計是用大量不同型號的標(biāo)準(zhǔn)芯片實現(xiàn)電子系統(tǒng)設(shè)計的。隨著微電子工藝的發(fā)展,相繼出現(xiàn)了集成上萬只晶體管的微處理器、集成幾十萬直到上百萬儲存單元的隨機(jī)存儲器和只讀存儲器。此外,支持定制單元電路設(shè)計的硅編輯、掩膜編程的門陣列,如標(biāo)準(zhǔn)單元的半定制設(shè)計方法以及可編程邏輯器件(PAL和GAL)等一系列微結(jié)構(gòu)和微電子學(xué)的研究成果都為電子系統(tǒng)的設(shè)計提供了新天地。因此,可以用少數(shù)幾種通用的標(biāo)準(zhǔn)芯片實現(xiàn)電子系統(tǒng)的設(shè)計。

伴隨計算機(jī)和集成電路的發(fā)展,EDA技術(shù)進(jìn)入到計算機(jī)輔助工程設(shè)計階段。20世紀(jì)80年代初,推出的EDA工具則以邏輯模擬、定時分析、故障仿真、自動布局和布線為核心,重點解決電路設(shè)計沒有完成之前的功能檢測等問題。利用這些工具,設(shè)計師能在產(chǎn)品制作之前預(yù)知產(chǎn)品的功能與性能,能生成產(chǎn)品制造文件,在設(shè)計階段對產(chǎn)品性能的分析前進(jìn)了一大步。

如果說20世紀(jì)70年代的自動布局布線的CAD工具代替了設(shè)計工作中繪圖的重復(fù)勞動,那么,到了20世紀(jì)80年代出現(xiàn)的具有自動綜合能力的CAE工具則代替了設(shè)計師的部分工作,對保證電子系統(tǒng)的設(shè)計,制造出最佳的電子產(chǎn)品起著關(guān)鍵的作用。到了20世紀(jì)80年代后期,EDA工具已經(jīng)可以進(jìn)行設(shè)計描述、綜合與優(yōu)化和設(shè)計結(jié)果驗證,CAE階段的EDA工具不僅為成功開發(fā)電子產(chǎn)品創(chuàng)造了有利條件,而且為高級設(shè)計人員的創(chuàng)造性勞動提供了方便。但是,大部分從原理圖出發(fā)的EDA工具仍然不能適應(yīng)復(fù)雜電子系統(tǒng)的設(shè)計要求,而具體化的元件圖形制約著優(yōu)化設(shè)計。

3.20世紀(jì)90年代電子系統(tǒng)設(shè)計自動化EDA階段為了滿足千差萬別的系統(tǒng)用戶提出的設(shè)計要求,最好的辦法是由用戶自己設(shè)計芯片,讓他們把想設(shè)計的電路直接設(shè)計在自己的專用芯片上。微電子技術(shù)的發(fā)展,特別是可編程邏輯器件的發(fā)展,使得微電子廠家可以為用戶提供各種規(guī)模的可編程邏輯器件,使設(shè)計者通過設(shè)計芯片實現(xiàn)電子系統(tǒng)功能。EDA工具的發(fā)展,又為設(shè)計師提供了全線EDA工具。這個階段發(fā)展起來的EDA工具,目的是在設(shè)計前期將設(shè)計師從事的許多高層次設(shè)計由工具來完成,如可以將用戶要求轉(zhuǎn)換為設(shè)計技術(shù)規(guī)范,有效的處理可用的設(shè)計資源與理想的設(shè)計目標(biāo)之間的矛盾,按具體的的硬件、軟件和算法分解設(shè)計等。由于電子技術(shù)和EDA工具的發(fā)展,設(shè)計師可以在不太長的時間內(nèi)使用EDA工具,通過一些簡單標(biāo)準(zhǔn)化的設(shè)計過程,利用微電子廠家提供的設(shè)計庫來完成數(shù)萬門ASIC和集成系統(tǒng)的設(shè)計與驗證。20世紀(jì)90年代,設(shè)計師逐步從使用硬件轉(zhuǎn)向設(shè)計硬件,從單個電子產(chǎn)品開發(fā)轉(zhuǎn)向系統(tǒng)級電子產(chǎn)品開發(fā)(即片上系統(tǒng)集成,Systemonachip)。因此,EDA工具是以系統(tǒng)機(jī)設(shè)計為核心,包括系統(tǒng)行為級描述與結(jié)構(gòu)綜合,系統(tǒng)仿真與測試驗證,系統(tǒng)劃分與指標(biāo)分配,系統(tǒng)決策與文件生成等一整套的電子系統(tǒng)設(shè)計自動化工具。這時的EDA工具不僅具有電子系統(tǒng)設(shè)計的能力,而且能提供獨立于工藝和廠家的系統(tǒng)級設(shè)計能力,具有高級抽象的設(shè)計構(gòu)思手段。例如,提供方框圖、狀態(tài)圖和流程圖的編輯能力,具有適合層次描述和混合信號描述的硬件描述語言(如VHDL、AHDL或Verilog-HDL),同時含有各種工藝的標(biāo)準(zhǔn)元件庫。

只有具備上述功能的EDA工具,才可能使電子系統(tǒng)工程師在不熟悉各種半導(dǎo)體工藝的情況下,完成電子系統(tǒng)的設(shè)計。未來的EDA技術(shù)將向廣度和深度兩個方向發(fā)展,EDA將會超越電子設(shè)計的范疇進(jìn)入其他領(lǐng)域,隨著基于EDA的SOC(單片系統(tǒng))設(shè)計技術(shù)的發(fā)展,軟硬核功能庫的建立,以及基于VHDL所謂自頂向下設(shè)計理念的確立,未來的電子系統(tǒng)的設(shè)計與規(guī)劃將不再是電子工程師們的專利。有專家認(rèn)為,21世紀(jì)將是EDA技術(shù)快速發(fā)展的時期,并且EDA技術(shù)將是對21世紀(jì)產(chǎn)生重大影響的十大技術(shù)之一。1.3EDA技術(shù)的主要內(nèi)容EDA技術(shù)涉及面廣,內(nèi)容豐富,從教學(xué)和實用的角度看,究竟應(yīng)掌握些什么內(nèi)容呢?

作者認(rèn)為,主要應(yīng)掌握如下四個方面的內(nèi)容:①大規(guī)??删幊踢壿嬈骷?;②硬件描述語言;③軟件開發(fā)工具;④實驗開發(fā)系統(tǒng)。其中,大規(guī)??删幊踢壿嬈骷抢肊DA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計的載體,硬件描述語言是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計的主要表達(dá)手段,軟件開發(fā)工具是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計的智能化的自動化設(shè)計工具,實驗開發(fā)系統(tǒng)則是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計的下載工具及硬件驗證工具。為了使讀者對EDA技術(shù)有一個總體印象,下面對EDA技術(shù)的主要內(nèi)容進(jìn)行概要的介紹。

1.大規(guī)??删幊踢壿嬈骷删幊踢壿嬈骷?簡稱PLD)是一種由用戶編程以實現(xiàn)某種邏輯功能的新型邏輯器件。FPGA和CPLD分別是現(xiàn)場可編程門陣列和復(fù)雜可編程邏輯器件的簡稱,現(xiàn)在,F(xiàn)PGA和CPLD器件的應(yīng)用已十分廣泛,它們將隨著EDA技術(shù)的發(fā)展而成為電子設(shè)計領(lǐng)域的重要角色。國際上生產(chǎn)FPGA/CPLD的主流公司,并且在國內(nèi)占有市場份額較大的主要是Xilinx,Altera,Lattice三家公司。Xilinx公司的FPGA器件有XC2000,XC3000,XC4000,XC4000E,XC4000XLA,XC5200系列等,可用門數(shù)為1200~18000;Altera公司的CPLD器件有FLEX6000,F(xiàn)LEX8000,F(xiàn)LEX10K,F(xiàn)LEX10KE系列等,提供門數(shù)為5000~25000;Lattice公司的ISP-PLD器件有ispLSI1000,ispLSI2000,ispLSI3000,ispLSI6000系列等,集成度可多達(dá)25000個PLD等效門。FPGA在結(jié)構(gòu)上主要分為三個部分,即可編程邏輯單元,可編程輸入/輸出單元和可編程連線三個部分。CPLD在結(jié)構(gòu)上主要包括三個部分,即可編程邏輯宏單元,可編程輸入/輸出單元和可編程內(nèi)部連線。高集成度、高速度和高可靠性是FPGA/CPLD最明顯的特點,其時鐘延時可小至ns級,結(jié)合其并行工作方式,在超高速應(yīng)用領(lǐng)域和實時測控方面有著非常廣闊的應(yīng)用前景。在高可靠應(yīng)用領(lǐng)域,如果設(shè)計得當(dāng),將不會存在類似于MCU的復(fù)位不可靠和PC可能跑飛等問題。FPGA/CPLD的高可靠性還表現(xiàn)在幾乎可將整個系統(tǒng)下載于同一芯片中,實現(xiàn)所謂片上系統(tǒng),從而大大縮小了體積,易于管理和屏蔽。

由于FPGA/CPLD的集成規(guī)模非常大,可利用先進(jìn)的EDA工具進(jìn)行電子系統(tǒng)設(shè)計和產(chǎn)品開發(fā)。由于開發(fā)工具的通用性、設(shè)計語言的標(biāo)準(zhǔn)化以及設(shè)計過程幾乎與所用器件的硬件結(jié)構(gòu)沒有關(guān)系,因而設(shè)計開發(fā)成功的各類邏輯功能塊軟件有很好的兼容性和可移植性。它幾乎可用于任何型號和規(guī)模的FPGA/CPLD中,從而使得產(chǎn)品設(shè)計效率大幅度提高??梢栽诤芏虝r間內(nèi)完成十分復(fù)雜的系統(tǒng)設(shè)計,這正是產(chǎn)品快速進(jìn)入市場最寶貴的特征。美國IT公司認(rèn)為,一個ASIC80%的功能可用于IP核等現(xiàn)成邏輯合成。而未來大系統(tǒng)的FPGA/CPLD設(shè)計僅僅是各類再應(yīng)用邏輯與IP核(Core)的拼裝,其設(shè)計周期將更短。

與ASIC設(shè)計相比,F(xiàn)PGA/CPLD顯著的優(yōu)勢是開發(fā)周期短、投資風(fēng)險小、產(chǎn)品上市速度快、市場適應(yīng)能力強(qiáng)和硬件升級回旋余地大,而且當(dāng)產(chǎn)品定型和產(chǎn)量擴(kuò)大后,可將在生產(chǎn)中達(dá)到充分檢驗的VHDL設(shè)計迅速實現(xiàn)ASIC投產(chǎn)。對于一個開發(fā)項目,究竟是選擇FPGA還是選擇CPLD呢?主要看開發(fā)項目本身的需要。對于普通規(guī)模,且產(chǎn)量不是很大的產(chǎn)品項目,通常使用CPLD比較好。對于大規(guī)模的邏輯設(shè)計ASIC設(shè)計,或單片系統(tǒng)設(shè)計,則多采用FPGA。另外,F(xiàn)PGA掉電后將丟失原有的邏輯信息,所以在實用中需要為FPGA芯片配置一個專用ROM。

2.硬件描述語言(HDL)

常用的硬件描述語言有VHDL、Verilog、ABEL。

VHDL:作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。

Verilog:支持的EDA工具較多,適用于RTL級和門電路級的描述,其綜合過程較VHDL稍簡單,但其在高級描述方面不如VHDL。

ABEL:一種支持各種不同輸入方式的HDL,被廣泛用于各種可編程邏輯器件的邏輯功能設(shè)計,由于其語言描述的獨立性,因而適用于各種不同規(guī)模的可編程器件的設(shè)計。有專家認(rèn)為,在新世紀(jì)中,VHDL與Verilog語言將承擔(dān)幾乎全部的數(shù)字系統(tǒng)設(shè)計任務(wù)。

3.軟件開發(fā)工具目前比較流行的、主流廠家的EDA的軟件工具有Altera的MAX+plusII、Lattice的ispEXPERT、Xilinx的FoundationSeries。

MAX+plusII:支持原理圖、VHDL和Verilog語言文本文件,以及以波形與EDIF等格式的文件作為設(shè)計輸入,并支持這些文件的任意混合設(shè)計。它具有門級仿真器,可以進(jìn)行功能仿真和時序仿真,能夠產(chǎn)生精確的仿真結(jié)果。在適配之后,MAX+plusII生成供時序仿真用的EDIF、VHDL和Verilog這三種不同格式的網(wǎng)表文件,它界面友好,使用便捷,被譽(yù)為業(yè)界最易學(xué)易用的EDA的軟件,并支持主流的第三方EDA工具,支持除APEX20K系列之外的所有Altera公司的FPGA/CPLD大規(guī)模邏輯器件。ispEXPERT:ispEXPERTSystem是ispEXPERT的主要集成環(huán)境。通過它可以進(jìn)行VHDL、Verilog及ABEL語言的設(shè)計輸入、綜合、適配、仿真和在系統(tǒng)下載。ispEXPERTSystem是目前流行的EDA軟件中最容量掌握的設(shè)計工具之一,它界面友好,操作方便,功能強(qiáng)大,并與第三方EDA工具兼容良好。

FoundationSeries:Xilinx公司最新集成開發(fā)的EDA工具。它采用自動化的、完整的集成設(shè)計環(huán)境。Foundation項目管理器集成了Xilinx實現(xiàn)工具,并包含了強(qiáng)大的SynopsysFPGAExpress綜合系統(tǒng),是業(yè)界最強(qiáng)大的EDA設(shè)計工具之一。

4.實驗開發(fā)系統(tǒng)提供芯片下載電路及EDA實驗/開發(fā)的外圍資源(類似于用于單片機(jī)開發(fā)的仿真器),供硬件驗證用。一般包括:①實驗或開發(fā)所需的各類基本信號發(fā)生模塊,包括時鐘、脈沖、高低電平等;②FPGA/CPLD輸出信息顯示模塊,包括數(shù)碼顯示、發(fā)光管顯示、聲響指示等;③監(jiān)控程序模塊,提供“電路重構(gòu)軟配置”;④目標(biāo)芯片適配座以及上面的FPGA/CPLD目標(biāo)芯片和編程下載電路。目前從事EDA實驗開發(fā)系統(tǒng)研究的院校有:清華大學(xué),北京理工大學(xué),復(fù)旦大學(xué),西安電子科技大學(xué),東南大學(xué),杭州電子工業(yè)學(xué)院等。1.4EDA軟件系統(tǒng)的構(gòu)成EDA技術(shù)研究的對象是電子設(shè)計的全過程,有系統(tǒng)級、電路級和物理級3個層次的設(shè)計。其涉及的電子系統(tǒng)從低頻、高頻到微波,從線性到非線性,從模擬到數(shù)字,從通用集成電路到專用集成電路構(gòu)造的電子系統(tǒng),因此EDA技術(shù)研究的范疇相當(dāng)廣泛。如果從專用集成電路ASIC開發(fā)與應(yīng)用角度看,EDA軟件系統(tǒng)應(yīng)當(dāng)包含以下子模塊:設(shè)計輸入子模塊、設(shè)計數(shù)據(jù)庫子模塊、分析驗證子模塊、綜合仿真子模塊、布局布線子模塊等。(1)設(shè)計輸入子模塊:該模塊接受用戶的設(shè)計描述,并進(jìn)行語義正確性、語法規(guī)則的檢查,檢查通過后,將用戶的設(shè)計描述數(shù)據(jù)轉(zhuǎn)換為EDA軟件系統(tǒng)的內(nèi)部數(shù)據(jù)格式,存入設(shè)計數(shù)據(jù)庫被其他子模塊調(diào)用。設(shè)計輸入子模塊不僅能接受圖形描述輸入、硬件描述語言(HDL)描述輸入,還能接受圖文混合描述輸入。該子模塊一般包含針對不同描述方式的編輯器,如圖形編輯器、文本編輯器等,同時包含對應(yīng)的分析器。

(2)設(shè)計數(shù)據(jù)庫子模塊:該模塊存放系統(tǒng)提供的庫單元以及用戶的設(shè)計描述和中間設(shè)計結(jié)果。(3)分析驗證子模塊:該模塊包括各個層次的模擬驗證、設(shè)計規(guī)則的檢查、故障診斷等。

(4)綜合仿真子模塊:該模塊包括各個層次的綜合工具,理想的情況是:從高層次到低層次的綜合仿真全部由EDA工具自動實現(xiàn)。(5)布局布線子模塊:該模塊實現(xiàn)由邏輯設(shè)計到物理實現(xiàn)的映射,因此與物理實現(xiàn)的方式密切相關(guān)。例如,最終的物理實現(xiàn)可以是門陣列、可編程邏輯器件等,由于對應(yīng)的器件不同,因此各自的布局布線工具會有很大的差異。近些年,許多生產(chǎn)可編程邏輯器件的公司都相繼推出適于開發(fā)自己公司器件的EDA工具,這些工具一般都具有上面提到的各個模塊,操作簡單,對硬件環(huán)境要求低,運行平臺是PC機(jī)和Windows或WindowsNT操作系統(tǒng)。如Xilinx、Altera、Lattice、Actel、AMD等器件公司都有自己的EDA工具。EDA工具不只面向ASIC的應(yīng)用與開發(fā),還有涉及電子設(shè)計各個方面的EDA工具,包括數(shù)字電路設(shè)計、模擬電路設(shè)計、數(shù)?;旌显O(shè)計、系統(tǒng)設(shè)計、仿真驗證等電子設(shè)計的許多領(lǐng)域。這些工具對硬件環(huán)境要求高,一般運行平臺要求是工作站和UNIX操作系統(tǒng),功能齊全、性能優(yōu)良,一般由專門開發(fā)EDA軟件工具的軟件公司提供,如Cadence、MentelGraphics、Viewlogic、Synopsys等軟件公司都有其特色工具。

Viewlogic公司的EDA工具就有基本工具、系統(tǒng)設(shè)計工具和ASIC/FPGA設(shè)計工具三大類20多個工具。

其中,基本工具包括:原理圖輸入工具ViewDraw,數(shù)字仿真器VeiwSim,波形編輯與顯示器ViewTrace,靜態(tài)時序分析工具M(jìn)otive,設(shè)計流程管理工具ViewFlow。系統(tǒng)設(shè)計工具包括:模擬電路仿真器ViewSpice,PLD開發(fā)工具包ViewPLD,庫開發(fā)工具ViewLibrarian,PCB信號串?dāng)_分析工具XTK,PCB布線前信號分析工具PDQ,電磁兼容設(shè)計工具QUIET,PCB版面規(guī)劃工具ViewFloorplanner。

ASIC/FPGA設(shè)計工具包括:VHDL仿真器SpeedWave,SpeedWaveVerilog仿真器VCS,邏輯綜合工具ViewSynthesis,自動測試向量生成工具TestGen/Sunrise,原理圖自動生成工具ViewGen,有限狀態(tài)機(jī)設(shè)計工具ViewFSM,Datapath設(shè)計工具ViewDatapath,VHDL與Verilog混合仿真環(huán)境FusionHDL。1.5EDA工具的發(fā)展趨勢

1.設(shè)計輸入工具的發(fā)展趨勢早期EDA工具設(shè)計輸入普遍采用原理圖輸入方式,以文字和圖形作為設(shè)計載體和文件,將設(shè)計信息加載到后續(xù)的EDA工具,完成設(shè)計分析工作。原理圖輸入方式的優(yōu)點是直觀,能滿足以設(shè)計分析為主的一般要求,但是原理圖輸入方式不適合用EDA綜合工具。20世紀(jì)80年代末,電子設(shè)計開始采用新的綜合工具,設(shè)計描述開始由原理圖設(shè)計描述轉(zhuǎn)向以各種硬件描述語言為主的編程方式。用硬件描述語言描述設(shè)計,更接近系統(tǒng)行為描述,且便于綜合,更適于傳遞和修改設(shè)計信息,還可以建立獨立于工藝的設(shè)計文件,不便之處是不太直觀,要求設(shè)計師學(xué)會編程。

很多電子設(shè)計師都具有原理圖設(shè)計的經(jīng)驗,不具有編程經(jīng)驗,所以仍然希望繼續(xù)在比較熟悉的符號與圖形環(huán)境中完成設(shè)計,而不是利用編程完成設(shè)計。為此,EDA公司在90年代相繼推出一批圖形化免編程的設(shè)計輸入工具,它們允許設(shè)計師用他們最方便并熟悉的設(shè)計方式,如框圖、狀態(tài)圖、真值表和邏輯方程建立設(shè)計文件,然后由EDA工具自動生成綜合所需的硬件描述語言文件。

2.具有混合信號處理能力的EDA工具目前,數(shù)字電路設(shè)計的EDA工具遠(yuǎn)比模擬電路的EDA工具多,模擬集成電路EDA工具開發(fā)的難度較大,但是,由于物理量本身多以模擬形式存在,所以實現(xiàn)高性能的復(fù)雜電子系統(tǒng)的設(shè)計離不開模擬信號。因此,20世紀(jì)90年代以來EDA工具廠商都比較重視數(shù)/?;旌闲盘栐O(shè)計工具的開發(fā)。對數(shù)字信號的語言描述,IEEE已經(jīng)制定了VHDL標(biāo)準(zhǔn),對模擬信號的語言正在制定AHDL標(biāo)準(zhǔn),此外還提出了對微波信號的MHDL描述語言。具有混合信號設(shè)計能力的EDA工具能處理含有數(shù)字信號處理、專用集成電路宏單元、數(shù)模變換和模數(shù)變換模塊、各種壓控振蕩器在內(nèi)的混合系統(tǒng)設(shè)計。美國Cadence、Synopsys等公司開發(fā)的EDA工具已經(jīng)具有混合設(shè)計能力。

3.更為有效的仿真工具的發(fā)展通常,可以將電子系統(tǒng)設(shè)計的仿真過程分為兩個階段:設(shè)計前期的系統(tǒng)級仿真和設(shè)計過程的電路級仿真。系統(tǒng)級仿真主要驗證系統(tǒng)的功能;電路級仿真主要驗證系統(tǒng)的性能,決定怎樣實現(xiàn)設(shè)計所需的精度。在整個電子設(shè)計過程中仿真是花費時間最多的工作也是占用EDA工具資源最多的一個環(huán)節(jié)。通常,設(shè)計活動的大部分時間在做仿真,如驗證設(shè)計的有效性、測試設(shè)計的精度、處理和保證設(shè)計要求等。仿真過程中仿真收斂的快慢同樣是關(guān)鍵因素之一。提高仿真的有效性一方面是建立合理的仿真算法,另一方面是系統(tǒng)級仿真中系統(tǒng)級模型的建模,電路級仿真中電路級模型的建模。預(yù)計在下一代EDA工具中,仿真工具將有一個較大的發(fā)展。

4.更為理想的設(shè)計綜合工具的開發(fā)今天,電子系統(tǒng)和電路的集成規(guī)模越來越大,幾乎不可能直接面向版圖做設(shè)計,若要找出版圖中的錯誤,更是難上加難。將設(shè)計者的精力從繁瑣的版圖設(shè)計和分析中轉(zhuǎn)移到設(shè)計前期的算法開發(fā)和功能驗證上,這是設(shè)計綜合工具要達(dá)到的目的。高層次設(shè)計綜合工具可以將低層次的硬件設(shè)計一起轉(zhuǎn)換到物理級的設(shè)計,實現(xiàn)不同層次的不同形式的設(shè)計描述轉(zhuǎn)換,通過各種綜合算法實現(xiàn)設(shè)計目標(biāo)所規(guī)定的優(yōu)化設(shè)計。當(dāng)然,設(shè)計者的經(jīng)驗在設(shè)計綜合中仍將起到重要的作用,自動綜合工具將有效地提高優(yōu)化設(shè)計效率。

設(shè)計綜合工具由最初的只能實現(xiàn)邏輯綜合,逐步發(fā)展到可以實現(xiàn)設(shè)計前端的綜合,直到設(shè)計后端的版圖綜合以及測試綜合的理想且完整的綜合工具。設(shè)計前端的綜合工具,可以實現(xiàn)從算法級的行為描述到寄存器傳輸級結(jié)構(gòu)描述的轉(zhuǎn)換,給出滿足約束條件的硬件結(jié)構(gòu)。在確定寄存器傳輸結(jié)構(gòu)描述后,由邏輯綜合工具完成硬件的門級結(jié)構(gòu)的描述,邏輯綜合的結(jié)果將作為版圖綜合的輸入數(shù)據(jù),進(jìn)行版圖綜合。版圖綜合則是將門級和電路級的結(jié)構(gòu)描述轉(zhuǎn)換成物理版圖的描述,版圖綜合時將通過自動交互的設(shè)計環(huán)境,實現(xiàn)按面積、速度和功率完成布局布線的優(yōu)化,實現(xiàn)最佳的版圖設(shè)計。人們希望將設(shè)計測試工作盡可能地提前到設(shè)計前期,以便縮短設(shè)計周期,減少測試費用,因此測試綜合貫穿在設(shè)計過程的始終。測試綜合時可以消除設(shè)計中的冗余邏輯,診斷不可測的邏輯結(jié)構(gòu),自動插入可測性結(jié)構(gòu),生成測試向量;當(dāng)整個電路設(shè)計完成時,測試設(shè)計也隨之完成。

面對當(dāng)今飛速發(fā)展的電子產(chǎn)品市場,電子設(shè)計人員需要更加實用、快捷的EDA工具,使用統(tǒng)一的集成化設(shè)計環(huán)境,改變傳統(tǒng)設(shè)計思路,即優(yōu)先考慮具體物理實現(xiàn)方式,而將精力集中到設(shè)計構(gòu)思、方案比較和尋找優(yōu)化設(shè)計等方面,以最快的速度開發(fā)出性能優(yōu)良、質(zhì)量一流的電子產(chǎn)品。今天的EDA工具將向著功能強(qiáng)大、簡單易學(xué)、使用方便的方向發(fā)展。1.6EDA的工程設(shè)計流程

1.源程序的編輯和編譯利用EDA技術(shù)進(jìn)行一項工程設(shè)計,首先需利用EDA工具的文本編輯器或圖形編輯器將它用文本方式或圖形方式表達(dá)出來,進(jìn)行排錯編譯,變成VHDL文件格式,為進(jìn)一步的邏輯綜合作準(zhǔn)備。常用的源程序輸入方式有三種。(1)原理圖輸入方式:利用EDA工具提供的圖形編輯器以原理圖的方式進(jìn)行輸入。原理圖輸入方式比較容易掌握,直觀且方便,所畫的電路原理圖(請注意,這種原理圖與利用Protel畫的原理圖有本質(zhì)的區(qū)別)與傳統(tǒng)的器件連接方式完全一樣,很容易被人接受,而且編輯器中有許多現(xiàn)成的單元器件可以利用,自己也可以根據(jù)需要設(shè)計元件。然而原理圖輸入法的優(yōu)點同時也是它的缺點:①隨著設(shè)計規(guī)模增大,設(shè)計的易讀性迅速下降,對于圖中密密麻麻的電路連線,極難搞清電路的實際功能;②一旦完成,電路結(jié)構(gòu)的改變將十分困難,因而幾乎沒有可再利用的設(shè)計模塊;③移植困難、入檔困難、交流困難、設(shè)計交付困難,因為不可能存在一個標(biāo)準(zhǔn)化的原理圖編輯器。圖1.1EDA工程設(shè)計流程圖(2)狀態(tài)圖輸入方式:以圖形的方式表示狀態(tài)圖進(jìn)行輸入。當(dāng)填好時鐘信號名、狀態(tài)轉(zhuǎn)換條件、狀態(tài)機(jī)類型等要素后,就可以自動生成VHDL程序。這種設(shè)計方式簡化了狀態(tài)機(jī)的設(shè)計,比較流行。

(3)VHDL軟件程序的文本方式:最一般化、最具普遍性的輸入方法,任何支持VHDL的EDA工具都支持文本方式的編輯和編譯。

2.邏輯綜合和優(yōu)化欲把VHDL的軟件設(shè)計與硬件的可實現(xiàn)性掛鉤,需要利用EDA軟件系統(tǒng)的綜合器進(jìn)行邏輯綜合。綜合器的功能就是將設(shè)計者在EDA平臺上完成的針對某個系統(tǒng)項目的HDL、原理圖或狀態(tài)圖形的描述,針對給定硬件結(jié)構(gòu)組件進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合,最終獲得門級電路甚至更底層的電路描述文件。由此可見,綜合器工作前,必須給定最后實現(xiàn)的硬件結(jié)構(gòu)參數(shù),它的功能就是將軟件描述與給定硬件結(jié)構(gòu)用某種網(wǎng)表文件的方式聯(lián)系起來。顯然,綜合器是軟件描述與硬件實現(xiàn)的一座橋梁。綜合過程就是將電路的高級語言描述轉(zhuǎn)換成低級的,可與FPGA/CPLD或構(gòu)成ASIC的門陣列基本結(jié)構(gòu)相映射的網(wǎng)表文件。

由于VHDL仿真器的行為仿真功能是面向高層次的系統(tǒng)仿真,只能對VHDL的系統(tǒng)描述作可行性的評估測試,不針對任何硬件系統(tǒng),因此基于這一仿真層次的許多VHDL語句不能被綜合器所接受。這就是說,這類語句的描述無法在硬件系統(tǒng)中實現(xiàn)(至少是現(xiàn)階段),這時,綜合器不支持的語句在綜合過程中將忽略掉。綜合器對源VHDL文件的綜合是針對某一PLD供應(yīng)商的產(chǎn)品系列的,因此,綜合后的結(jié)果是可以為硬件系統(tǒng)所接受,具有硬件可實現(xiàn)性。

3.目標(biāo)器件的布線/適配邏輯綜合通過后必須利用適配器將綜合后的網(wǎng)表文件針對某一具體的目標(biāo)器進(jìn)行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優(yōu)化、布線與操作,適配完成后可以利用適配所產(chǎn)生的仿真文件作精確的時序仿真。

適配器的功能是將由綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,產(chǎn)生最終的下載文件,如JEDEC格式的文件。適配所選定的目標(biāo)器件(FPGA/CPLD芯片)必須屬于原綜合器指定的目標(biāo)器件系列。對于一般的可編程模擬器件所對應(yīng)的EDA軟件來說,一般僅需包含一個適配器就可以了,如Lattice的PAC-DESIGNER。通常,EDA軟件中的綜合器可由專業(yè)的第三方EDA公司提供,而適配器則需由FPGA/CPLD供應(yīng)商自己提供,因為適配器的適配對象直接與器件結(jié)構(gòu)相對應(yīng)。

4.目標(biāo)器件的編程/下載如果編譯、綜合、布線/適配和行為仿真、功能仿真、時序仿真等過程都沒有發(fā)現(xiàn)問題,即滿足原設(shè)計的要求,則可以將由FPGA/CPLD布線/適配器產(chǎn)生的配置/下載文件通過編程器或下載電纜載入目標(biāo)芯片F(xiàn)PGA或CPLD中。5.設(shè)計過程中的有關(guān)仿真在綜合以前可以先對VHDL所描述的內(nèi)容進(jìn)行行為仿真,即將VHDL設(shè)計源程序直接送到VHDL仿真器中仿真,這就是所謂的VHDL行為仿真。因為此時的仿真只是根據(jù)VHDL的語義進(jìn)行的,與具體電路沒有關(guān)系。在這時的仿真中,可以充分發(fā)揮VHDL中的適用于仿真控制的語句及有關(guān)的預(yù)定義函數(shù)和庫文件。

在綜合之后,VHDL綜合器一般都可以生成一個VHDL網(wǎng)表文件。網(wǎng)表文件中描述的電路與生成的EDIF/XNF等網(wǎng)表文件一致。VHDL網(wǎng)表文件采用VHDL語法,只是其中的電路描述采用了結(jié)構(gòu)描述方法,即首先描述了最基本的門電路,然后將這些門電路用例化語句連接起來。這樣的VHDL網(wǎng)表文件再送到VHDL仿真器中進(jìn)行所謂功能仿真,仿真結(jié)果與門級仿真器所做的功能仿真的結(jié)果基本一致。

需要注意的是,圖1.1中有兩個仿真器,一是VHDL仿真器,另一個是門級仿真器,它們都能進(jìn)行功能仿真和時序仿真。所不同的是仿真用的文件格式不同,即網(wǎng)表文件不同。這里所謂的網(wǎng)表(Netlist),是特指電路網(wǎng)絡(luò),網(wǎng)表文件描述了一個電路網(wǎng)絡(luò)。目前流行多種網(wǎng)表文件格式,其中最通用的是EDIF格式的網(wǎng)表文件,XilinxXNF網(wǎng)表文件格式也很流行,不過一般只在使用Xilinx的FPGA/CPLD時才會用到XNF格式。VHDL文件格式也可以用來描述電路網(wǎng)絡(luò),即采用VHDL語法描述各級電路互連,稱之為VHDL網(wǎng)表。

功能仿真是僅對VHDL描述的邏輯功能進(jìn)行測試模擬,以了解其實現(xiàn)的功能是否滿足原設(shè)計的要求,仿真過程不涉及具體器件的硬件特性,如延時特性。時序仿真是接近真實器件運行的仿真,仿真過程中已將器件特性考慮進(jìn)去了,因而,仿真精度要高得多。但時序仿真的仿真文件必須來自針對具體器件的布線/適配器所產(chǎn)生的仿真文件。綜合后所得的EDIF/XNF門級網(wǎng)表文件通常作為FPGA布線器或CPLD適配器的輸入文件。通過布線/適配的處理后,布線/適配器將生成一個VHDL網(wǎng)表文件,這個網(wǎng)表文件中包含了較為精確的延時信息,網(wǎng)表文件中描述的電路結(jié)構(gòu)與布線/適配后的結(jié)果是一致的。此時,將這個VHDL網(wǎng)表文件送到VHDL仿真器中進(jìn)行仿真,就可以得到精確的時序仿真結(jié)果了。

6.硬件仿真/硬件測試這里所謂的硬件仿真是針對ASIC設(shè)計而言的。在ASIC設(shè)計中,比較常用的方法是利用FPGA對系統(tǒng)的設(shè)計進(jìn)行功能檢測,通過后再將其VHDL設(shè)計以ASIC形式實現(xiàn);而硬件測試則是針對FPGA或CPLD直接用于應(yīng)用系統(tǒng)的檢測而言的。

硬件仿真和硬件測試的目的,是為了在更真實的環(huán)境中檢驗VHDL設(shè)計的運行情況,特別是對于VHDL程序設(shè)計上不是十分規(guī)范、語義上含有一定歧義的程序。一般的仿真器包括VHDL行為仿真器和VHDL功能仿真器,它們對于同一VHDL設(shè)計的“理解”,即仿真模型的產(chǎn)生,與VHDL綜合器的“理解”,即綜合模型的產(chǎn)生,常常是不一致的。此外,由于目標(biāo)器件功能的可行性約束,綜合器對于設(shè)計的“理解”常在一有限范圍內(nèi)選擇,而VHDL仿真器的“理解”是純軟件行為,其“理解”的選擇范圍要寬得多,結(jié)果這種“理解”的偏差勢必導(dǎo)致仿真結(jié)果與綜合后實現(xiàn)的硬件電路在功能上的不一致。當(dāng)然,還有許多其他的因素也會產(chǎn)生這種不一致,由此可見,VHDL設(shè)計的硬件仿真和硬件測試是十分必要的。1.7數(shù)字系統(tǒng)的設(shè)計1.7.1數(shù)字系統(tǒng)的設(shè)計模型數(shù)字系統(tǒng)指的是交互式的、以離散形式表示的具有存儲、傳輸、信息處理能力的邏輯子系統(tǒng)的集合。用于描述數(shù)字系統(tǒng)的模型有多種,各種模型描述數(shù)字系統(tǒng)的側(cè)重點不同。下面介紹一種普遍采用的模型。這種模型根據(jù)數(shù)字系統(tǒng)的定義,將整個系統(tǒng)劃分為兩個模塊或兩個子系統(tǒng):數(shù)據(jù)處理子系統(tǒng)和控制子系統(tǒng),如圖1.2所示。圖1.2數(shù)字系統(tǒng)的設(shè)計模型

數(shù)據(jù)處理子系統(tǒng)主要完成數(shù)據(jù)的采集、存儲、運算和傳輸。數(shù)據(jù)處理子系統(tǒng)主要由存儲器、運算器、數(shù)據(jù)選擇器等功能電路組成。數(shù)據(jù)處理子系統(tǒng)與外界進(jìn)行數(shù)據(jù)交換,在控制子系統(tǒng)(或稱控制器)發(fā)出的控制信號作用下,數(shù)據(jù)處理子系統(tǒng)將進(jìn)行數(shù)據(jù)的存儲和運算等操作。數(shù)據(jù)處理子系統(tǒng)將接收由控制器發(fā)出的控制信號,同時將自己的操作進(jìn)程或操作結(jié)果作為條件信號傳送給控制器。應(yīng)當(dāng)根據(jù)數(shù)字系統(tǒng)實現(xiàn)的功能或算法設(shè)計數(shù)據(jù)處理子系統(tǒng)。

控制子系統(tǒng)是執(zhí)行數(shù)字系統(tǒng)算法的核心,具有記憶功能,因此控制子系統(tǒng)是時序系統(tǒng)??刂谱酉到y(tǒng)由組合邏輯電路和觸發(fā)器組成,與數(shù)據(jù)處理子系統(tǒng)共用時鐘??刂谱酉到y(tǒng)的輸入信號是外部控制信號和由數(shù)據(jù)處理子系統(tǒng)送來的條件信號,按照數(shù)字系統(tǒng)設(shè)計方案要求的算法流程,在時鐘信號的控制下進(jìn)行狀態(tài)的轉(zhuǎn)換,同時產(chǎn)生與狀態(tài)和條件信號相對應(yīng)的輸出信號,該輸出信號將控制數(shù)據(jù)處理子系統(tǒng)的具體操作。應(yīng)當(dāng)根據(jù)數(shù)字系統(tǒng)功能及數(shù)據(jù)處理子系統(tǒng)的需求設(shè)計控制子系統(tǒng)。

把數(shù)字系統(tǒng)劃分成數(shù)據(jù)處理子系統(tǒng)和控制子系統(tǒng)進(jìn)行設(shè)計,這只是一種手段,不是目的。它用來幫助設(shè)計者有層次地理解和處理問題,進(jìn)而獲得清晰、完整正確的電路圖。因此,數(shù)字系統(tǒng)的劃分應(yīng)當(dāng)遵循自然、易于理解的原則。設(shè)計一個數(shù)字系統(tǒng)時,采用該模型的優(yōu)點是:

(1)把數(shù)字系統(tǒng)劃分為控制子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)兩個主要部分,使設(shè)計者面對的電路規(guī)模減小,二者可以分別設(shè)計。

(2)由于數(shù)字系統(tǒng)中控制子系統(tǒng)的邏輯關(guān)系比較復(fù)雜,將其獨立劃分出來后,可突出設(shè)計重點和分散設(shè)計難點。(3)當(dāng)數(shù)字系統(tǒng)劃分為控制子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)后,邏輯分工清楚,各自的任務(wù)明確,這可以使電路的設(shè)計,調(diào)測和故障處理都比較方便。但采用該模型設(shè)計一個數(shù)字系統(tǒng)時,必須先分析和找出實現(xiàn)系統(tǒng)邏輯的算法,根據(jù)具體的算法要求提出系統(tǒng)內(nèi)部的結(jié)構(gòu)要求,再根據(jù)各個部分分擔(dān)的任務(wù)劃分出控制子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)。算法不同,系統(tǒng)的內(nèi)部結(jié)構(gòu)不同,控制子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)電路也不同。有時控制子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)的界限劃分也比較困難,需要反復(fù)比較和調(diào)整才能確定。1.7.2數(shù)字系統(tǒng)的設(shè)計方法數(shù)字系統(tǒng)設(shè)計有多種方法,如模塊設(shè)計法、自頂向下設(shè)計法和自底向上設(shè)計法等。數(shù)字系統(tǒng)的設(shè)計一般采用自頂向下、由粗到細(xì)、逐步求精的方法。自頂向下是指將數(shù)字系統(tǒng)的整體逐步分解為各個子系統(tǒng)和模塊,若子系統(tǒng)規(guī)模較大,則還需將子系統(tǒng)進(jìn)一步分解為更小的子系統(tǒng)和模塊,層層分解,直至整個系統(tǒng)中各子系統(tǒng)關(guān)系合理,并便于邏輯電路級的設(shè)計和實現(xiàn)為止。采用該方法設(shè)計時,高層設(shè)計進(jìn)行功能和接口描述,說明模塊的功能和接口,模塊功能的更詳細(xì)的描述在下一設(shè)計層次說明,最底層的設(shè)計才涉及具體的寄存器和邏輯門電路等實現(xiàn)方式的描述。

采用自頂向下的設(shè)計方法有如下優(yōu)點:(1)自頂向下設(shè)計方法是一種模塊化設(shè)計方法。對設(shè)計的描述從上到下逐步由粗略到詳細(xì),符合常規(guī)的邏輯思維習(xí)慣。由于高層設(shè)計同器件無關(guān),設(shè)計易于在各種集成電路工藝或可編程器件之間移植。(2)適合多個設(shè)計者同時進(jìn)行設(shè)計。隨著技術(shù)的不斷進(jìn)步,許多設(shè)計由一個設(shè)計者已無法完成,必須經(jīng)過多個設(shè)計者分工協(xié)作完成一項設(shè)計的情況越來越多。在這種情況下,應(yīng)用自頂向下的設(shè)計方法便于由多個設(shè)計者同時進(jìn)行設(shè)計,對設(shè)計任務(wù)進(jìn)行合理分配,用系統(tǒng)工程的方法對設(shè)計進(jìn)行管理。針對具體的設(shè)計,實施自頂向下的設(shè)計方法的形式會有所不同,但均需遵循以下兩條原則:逐層分解功能,分層次進(jìn)行設(shè)計。同時,應(yīng)在各個設(shè)計層次上,考慮相應(yīng)的仿真驗證問題。1.7.3數(shù)字系統(tǒng)的設(shè)計準(zhǔn)則進(jìn)行數(shù)字系統(tǒng)設(shè)計時,通常需要考慮多方面的條件和要求,如設(shè)計的功能和性能要求,元器件的資源分配和設(shè)計工具的可實現(xiàn)性,系統(tǒng)的開發(fā)費用和成本等。雖然具體設(shè)計的條件和要求千差萬別,實現(xiàn)的方法也各不相同,但數(shù)字系統(tǒng)設(shè)計還是具備一些共同的方法和準(zhǔn)則的。

1.分割準(zhǔn)則自頂向下的設(shè)計方法或其他層次化的設(shè)計方法,需要對系統(tǒng)功能進(jìn)行分割,然后用邏輯語言進(jìn)行描述。分割過程中,若分割過粗,則不易用邏輯語言表達(dá);分割過細(xì),則帶來不必要的重復(fù)和繁瑣。因此,分割的粗細(xì)需要根據(jù)具體的設(shè)計和設(shè)計工具情況而定。掌握分割程度,可以遵循以下的原則:分割后最底層的邏輯塊應(yīng)適合用邏輯語言進(jìn)行表達(dá);相似的功能應(yīng)該設(shè)計成共享的基本模塊;接口信號盡可能少;同層次的模塊之間,在資源和I/O分配上,盡可能平衡,以使結(jié)構(gòu)勻稱;??斓膭澐趾驮O(shè)計,盡可能做到通用性好,易于移植。

2.系統(tǒng)的可觀測性在系統(tǒng)設(shè)計中,應(yīng)該同時考慮功能檢查和性能的測試,即系統(tǒng)觀測性的問題。一些有經(jīng)驗的設(shè)計者會自覺地在設(shè)計系統(tǒng)的同時設(shè)計觀測電路,即觀測器,指示系統(tǒng)內(nèi)部的工作狀態(tài)。建立觀測器,應(yīng)遵循以下原則:具有系統(tǒng)的關(guān)鍵點信號,如時鐘、同步信號和狀態(tài)等信號;具有代表性的節(jié)點和線路上的信號;具備簡單的“系統(tǒng)工作是否正常”的判斷能力。

3.同步和異步電路異步電路會造成較大延時和邏輯競爭,容易引起系統(tǒng)的不穩(wěn)定,而同步電路則是按照統(tǒng)一的時鐘工作,穩(wěn)定性好。因此在設(shè)計時盡可能采用同步電路進(jìn)行設(shè)計,避免使用異步電路。在必須使用異步電路時,應(yīng)采取措施來避免競爭和增加穩(wěn)定性。

4.最優(yōu)化設(shè)計由于可編程器件的邏輯資源、連接資源和I/O資源有限,器件的速度和性能也是有限的,用器件設(shè)計系統(tǒng)的過程相當(dāng)于求最優(yōu)解的過程。因此,需要給定兩個約束條件:邊界條件和最優(yōu)化目標(biāo)。所謂邊界條件,是指器件的資源及性能限制。最優(yōu)化目標(biāo)有多種,設(shè)計中常見的最優(yōu)化目標(biāo)有:器件資源利用率最高;系統(tǒng)工作速度最快,即延時最??;布線最容易,即可實現(xiàn)性最好。具體設(shè)計中,各個最優(yōu)化目標(biāo)間可能會產(chǎn)生沖突,這時應(yīng)滿足設(shè)計的主要要求。

5.系統(tǒng)設(shè)計的藝術(shù)一個系統(tǒng)的設(shè)計,通常需要經(jīng)過反復(fù)的修改、優(yōu)化才能達(dá)到設(shè)計的要求。一個好的設(shè)計,應(yīng)該滿足“和諧”的基本特征,對數(shù)字系統(tǒng)可以根據(jù)以下幾點作出判斷:設(shè)計是否總體上流暢,無拖泥帶水的感覺;資源分配、I/O分配是否合理,是否沒有任何設(shè)計上和性能上的瓶頸,系統(tǒng)結(jié)構(gòu)是否協(xié)調(diào);是否具有良好的可觀測性;是否易于修改和移植;器件的特點是否能得到充分的發(fā)揮。1.7.4數(shù)字系統(tǒng)的設(shè)計步驟

1.系統(tǒng)任務(wù)分析數(shù)字系統(tǒng)設(shè)計中的第一步是明確系統(tǒng)的任務(wù)。在設(shè)計任務(wù)書中,可用各種方式提出對整個數(shù)字系統(tǒng)的邏輯要求,常用的方式有自然語言、邏輯流程圖、時序圖或幾種方法的結(jié)合。當(dāng)系統(tǒng)較大或邏輯關(guān)系較復(fù)雜時,系統(tǒng)任務(wù)(邏輯要求)邏輯的表述和理解都不是一件容易的工作。所以,分析系統(tǒng)的任務(wù)必須細(xì)致、全面,不能有理解上的偏差和疏漏。

2.確定邏輯算法實現(xiàn)系統(tǒng)邏輯運算的方法稱為邏輯算法,也簡稱為算法。一個數(shù)字系統(tǒng)的邏輯運算往往有多種算法,設(shè)計者的任務(wù)不但是要找出各種算法,還必須比較優(yōu)劣,取長補(bǔ)短,從中確定最合理的一種。數(shù)字系統(tǒng)的算法是邏輯設(shè)計的基礎(chǔ),算法不同,則系統(tǒng)的結(jié)構(gòu)也不同,算法的合理與否直接影響系統(tǒng)結(jié)構(gòu)的合理性。確定算法是數(shù)字系統(tǒng)設(shè)計中最具創(chuàng)造性的一環(huán),也是最難的一步。

3.建立系統(tǒng)及子系統(tǒng)模型當(dāng)算法明確后,應(yīng)根據(jù)算法構(gòu)造系統(tǒng)的硬件框架(也稱為系統(tǒng)框圖),將系統(tǒng)劃分為若干個部分,各部分分別承擔(dān)算法中不同的邏輯操作功能。如果某一部分的規(guī)模仍嫌大,則需進(jìn)一步劃分。劃分后的各個部分應(yīng)邏輯功能清楚,規(guī)模大小合適,便于進(jìn)行電路級的設(shè)計。

4.系統(tǒng)(或模塊)邏輯描述當(dāng)系統(tǒng)中各個子系統(tǒng)(指最低層子系統(tǒng))和模塊的邏輯功能和結(jié)構(gòu)確定后,則需采用比較規(guī)范的形式來描述系統(tǒng)的邏輯功能。設(shè)計方案的描述方法可以有多種,常用的有方框圖、流程圖和描述語言等。對系統(tǒng)的邏輯描述可先采用較粗略的邏輯流程圖,再將邏輯流程圖逐步細(xì)化為詳細(xì)邏輯流程圖,最后將詳細(xì)邏輯流程圖表示成與硬件有對應(yīng)關(guān)系的形式,為下一步的電路級設(shè)計提供依據(jù)。

5.邏輯電路級設(shè)計及系統(tǒng)仿真電路級設(shè)計是指選擇合理的器件和連接關(guān)系以實現(xiàn)系統(tǒng)邏輯要求。電路級設(shè)計的結(jié)果常采用兩種方式來表達(dá):電路圖方式和硬件描述語言方式。EDA軟件允許以這兩種方式輸入,以便作后續(xù)的處理。當(dāng)電路設(shè)計完成后必須驗證設(shè)計是否正確。在早期,只能通過搭試硬件電路才能得到設(shè)計的結(jié)果。目前,數(shù)字電路設(shè)計的EDA軟件都具有仿真功能,先通過系統(tǒng)仿真,當(dāng)系統(tǒng)仿真結(jié)果正確后再進(jìn)行實際電路的測試。由EDA軟件的驗證結(jié)果十分接近實際結(jié)果,因此,可極大地提高電路設(shè)計的效率。

6.系統(tǒng)的物理實現(xiàn)物理實現(xiàn)是指用實際的器件實現(xiàn)數(shù)字系統(tǒng)的設(shè)計,用儀表測量設(shè)計的電路是否符合設(shè)計要求?,F(xiàn)在的數(shù)字系統(tǒng)往往采用大規(guī)模和超大規(guī)模集成電路,由于器件集成度高、導(dǎo)線密集,故一般在電路設(shè)計完成后即設(shè)計印刷電路板,在印刷電路板上組裝電路進(jìn)行測試。需要注意的是,印刷電路板本身的物理特性也會影響電路的邏輯關(guān)系。1.8EDA技術(shù)的應(yīng)用展望

1.EDA技術(shù)將廣泛應(yīng)用于高校電類專業(yè)的實踐教學(xué)工作中各種數(shù)字集成電路芯片,用VHDL語言可以進(jìn)行方便的描述,經(jīng)過生成元件后可作為一個標(biāo)準(zhǔn)元件進(jìn)行調(diào)用。同時,借助于VHDL開發(fā)設(shè)計平臺,可以進(jìn)行系統(tǒng)的功能仿真和時序仿真,借助于實驗開發(fā)系統(tǒng)可以進(jìn)行硬件功能驗證等,因而可大大地簡化數(shù)字電子技術(shù)的實驗,并可根據(jù)學(xué)生的設(shè)計不受限制地開展各種實驗。

對于電子技術(shù)課程設(shè)計,特別是數(shù)字系統(tǒng)性的課題,在EDA實驗室不需添加任何新的東西,即可設(shè)計出各種比較復(fù)雜的數(shù)字系統(tǒng),并且借助于實驗開發(fā)系統(tǒng)可以方便地進(jìn)行硬件驗證,如設(shè)計頻率計、交通控制燈、秒表等。自1997年全國第三屆電子技術(shù)設(shè)計競賽采用FPGA/CPLD器件以來,F(xiàn)PGA/CPLD已得到了越來越多選手的利用,并且給定的課題如果不借助于FPGA/CPLD器件可能根本無法實現(xiàn)。因此EDA技術(shù)將成為各種電子技術(shù)設(shè)計競賽選手必須掌握的基本技能與制勝的法寶。

現(xiàn)代電子產(chǎn)品的設(shè)計離不開EDA技術(shù),作為電類專業(yè)的畢業(yè)生,借助于EDA技術(shù)在畢業(yè)設(shè)計中可以快速、經(jīng)濟(jì)地設(shè)計各種高性能的電子系統(tǒng),并且很容易實現(xiàn)、修改及完善。在整個大學(xué)學(xué)習(xí)期間,我們可以分階段、分層次地對電類專業(yè)的學(xué)生進(jìn)行EDA技術(shù)的學(xué)習(xí)和應(yīng)用,使他們迅速掌握并有效利用這一新技術(shù),同時還可大大地提高學(xué)生的實踐動手能力、創(chuàng)新能力和計算機(jī)應(yīng)用能力。

2.EDA技術(shù)將廣泛應(yīng)用于科研工作和新產(chǎn)品的開發(fā)中由于可編程邏輯器件性能價格比的不斷提高,開發(fā)軟件功能的不斷完善,EDA技術(shù)設(shè)計電子系統(tǒng)具有用軟件的方式設(shè)計硬件;設(shè)計過程中可用有關(guān)軟件進(jìn)行各種仿真;系統(tǒng)可現(xiàn)場編程,在線升級;整個系統(tǒng)可集成在一個芯片上等特點的利用,使其將廣泛應(yīng)用于科研工作和新產(chǎn)品的開發(fā)工作中。

3.EDA技術(shù)將廣泛應(yīng)用于專用集成電路的開發(fā)可編程器件制造廠家可按照一定的規(guī)格以通用器件大量生產(chǎn),用戶可按通用器件從市場上選購,然后按自己的要求通過編程實現(xiàn)專用集成電路的功能。因此,對于集成電路制造技術(shù)與世界先進(jìn)的集成電路制造技術(shù)尚有一定差距的我國,開發(fā)具有自主知識產(chǎn)權(quán)的專用集成電路,已成為相關(guān)專業(yè)人員的重要任務(wù)。

4.EDA技術(shù)將廣泛應(yīng)用于傳統(tǒng)機(jī)電設(shè)備的升級換代和技術(shù)改造傳統(tǒng)機(jī)電設(shè)備的電氣控制系統(tǒng),如果利用EDA技術(shù)進(jìn)行重新設(shè)計或進(jìn)行技術(shù)改造,不但設(shè)計周期短、設(shè)計成本低,而且將提高產(chǎn)品或設(shè)備的性能,縮小產(chǎn)品體積,提高產(chǎn)品的技術(shù)含量,提高產(chǎn)品的附加值。第2章大規(guī)??删幊踢壿嬈骷?.1可編程邏輯器件概述

2.2復(fù)雜可編程邏輯器件(CPLD)

2.3現(xiàn)場可編程門陣列(FPGA)

2.4在系統(tǒng)可編程(ISP)邏輯器件

2.5FPGA和CPLD的開發(fā)應(yīng)用選擇

2.1可編程邏輯器件概述2.1.1PLD的發(fā)展進(jìn)程最早的可編程邏輯器件出現(xiàn)在20世紀(jì)70年代初,主要是可編程只讀存儲器(PROM)和可編程邏輯陣列(PLA)。20世紀(jì)70年代末出現(xiàn)了可編程陣列邏輯(PAL—ProgrammableArrayLogic)器件。20世紀(jì)80年代初期,美國Lattice公司推出了一種新型的PLD器件,稱為通用陣列邏輯(GAL-GenericArrayLogic),一般認(rèn)為它是第二代PLD器件。隨著技術(shù)的進(jìn)步,生產(chǎn)工藝的不斷改進(jìn),器件規(guī)模不斷擴(kuò)大,邏輯功能不斷增強(qiáng),各種可編程邏輯器件如雨后春筍般地涌現(xiàn),如PROM、EPROM、E2PROM等。

在EPROM基礎(chǔ)上出現(xiàn)的高密度可編程邏輯器件稱為EPLD或CPLD?,F(xiàn)在一般把超過某一集成度的PLD器件都稱為CPLD。在20世紀(jì)80年代中期,美國Xilinx公司首先推出了現(xiàn)場可編程門陣列(FPGA)器件。FPGA器件采用邏輯單元陣列結(jié)構(gòu)和靜態(tài)隨機(jī)存取存儲器工藝,設(shè)計靈活,集成度高,可無限次反復(fù)編程,并可現(xiàn)場模擬調(diào)試驗證。在20世紀(jì)90年代初,Lattice公司又推出了在系統(tǒng)可編程大規(guī)模集成電路(ispLSI)。表2.1Altera系列產(chǎn)品主要性能

美國Xilinx公司在1985年推出了世界上第一塊現(xiàn)場可編程門陣列(FPGA)器件,最初3個完整的系列產(chǎn)品分別命名為XC2000、XC3000和XC4000,共有19個品種,后又增加了低電壓(3.3V)的“L”系列、多I/O引腳的“H”系列及更高速的“A”系列,并推出了與XC3000兼容的XC3100/A系列,在XC4000的基礎(chǔ)上又增加了“E”和“EX”系列。在1995年,Xilinx又增加了XC5000、XC6200和XC8100FPGA系列,并取得了突破性進(jìn)展。而后又推出了Spartan和Virture系列。Xilinx還有3個EPLD系列產(chǎn)品:XC7200、XC7300和XC9500,如表2.2所示。表2.2Xilinx系列產(chǎn)品主要性能Lattice公司成立于1983年,是E2CMOS技術(shù)的開拓者,發(fā)明了GAL器件,是低密度PLD的最大供應(yīng)商。該公司于20世紀(jì)90年代開始進(jìn)入HDPLD領(lǐng)域,并推出了pLSI/ispLSI器件,實現(xiàn)了在系統(tǒng)可編程技術(shù)(ISP)。ISP使用戶能夠在無須從系統(tǒng)板上拔下芯片或從系統(tǒng)中取出電路板的情況下,改變芯片的邏輯內(nèi)容乃至改變整個電子系統(tǒng)的功能。這種技術(shù)能大大縮短設(shè)計周期,簡化生產(chǎn)流程,降低設(shè)計成本。

Lattice公司目前的pLSI/ispLSI器件主要有6個系列:pLSI/ispLSI1000、2000、3000、5000、6000和8000系列,如表2.3所示。表2.3Lattice系列產(chǎn)品主要性能2.1.2PLD的種類及分類方法目前生產(chǎn)PLD的廠家有Xilinx、Altera、Actel、Atemel、AMD、AT&T、Cypress、Intel、Motorola、Quicklogic、TI(TexasInstrument)等。常見的PLD產(chǎn)品有:PROM、EPROM、EEPROM、PLA、FPLA、PAL、GAL、CPLD、EPLD、EEPLD、HDPLD、FPGA、pLSI、ispLSI、ispGAL和ispGDS等。PLD的分類方法較多,也不統(tǒng)一,下面簡單介紹4種。1.從結(jié)構(gòu)的復(fù)雜程度分類從結(jié)構(gòu)的復(fù)雜程度上一般可將PLD分為簡單PLD和復(fù)雜PLD(CPLD),或分為低密度PLD和高密度PLD(HDPLD)。通常,當(dāng)PLD中的等效門數(shù)超過500門時,則認(rèn)為它是高密度PLD。傳統(tǒng)的PAL和GAL是典型的低密度PLD,其余如EPLD、FPGA和pLSI/ispLSI則稱為HDPLD或CPLD。

2.從互連結(jié)構(gòu)上分類從互連結(jié)構(gòu)上可將PLD分為確定型和統(tǒng)計型兩類。確定型PLD提供的互連結(jié)構(gòu)每次用相同的互連線實現(xiàn)布線,所以,這類PLD的定時特性常??梢詮臄?shù)據(jù)手冊上查閱而事先確定。這類PLD是由PROM結(jié)構(gòu)演變而來的,目前除了FPGA器件外,基本上都屬于這一類結(jié)構(gòu)。統(tǒng)計型結(jié)構(gòu)是指設(shè)計系統(tǒng)每次執(zhí)行相同的功能,卻能給出不同的布線模式,一般無法確切地預(yù)知線路的延時。所以,設(shè)計系統(tǒng)必須允許設(shè)計者提出約束條件,如關(guān)鍵路徑的延時和關(guān)聯(lián)信號的延時差等。這類器件的典型代表是FPGA系列。

3.從可編程特性上分類從可編程特性上可將PLD分為一次可編程和重復(fù)可編程兩類。一次可編程的典型產(chǎn)品是PROM、PAL和熔絲型FPGA,其他大多是重復(fù)可編程的。其中,用紫外線擦除的產(chǎn)品的編程次數(shù)一般在幾十次的量級,采用電擦除方式的產(chǎn)品的編程的次數(shù)稍多些,采用E2CMOS工藝的產(chǎn)品,擦寫次數(shù)可達(dá)上千次,而采用SRAM(靜態(tài)隨機(jī)存取存儲器)結(jié)構(gòu),則被認(rèn)為可實現(xiàn)無限次的編程。

4.從可編程器件的編程元件上分類最早的PLD器件(如PAL)大多是TTL工藝,但后來的PLD器件(如GAL、EPLD、FPGA及pLSI/ISP器件)都采用MOS工藝(如NMOS、CMOS、E2CMOS等)。目前,一般有下列5種編程元件:①熔絲型開關(guān)(一次可編程,要求大電流);②可編程低阻電路元件(多次可編程,要求中電壓);③EPROM的編程元件(需要有石英窗口,紫外線擦除);④EEPROM的編程元件;⑤基于SRAM的編程元件。2.2復(fù)雜可編程邏輯器件(CPLD)2.2.1CPLD的基本結(jié)構(gòu)早期的CPLD主要用來替代PAL器件,所以其結(jié)構(gòu)與PAL、GAL基本相同,采用了可編程的與陣列和固定的或陣列結(jié)構(gòu)。再加上一個全局共享的可編程與陣列,把多個宏單元連接起來,并增加了I/O控制模塊的數(shù)量和功能。可以把CPLD的基本結(jié)構(gòu)看成由邏輯陣列宏單元和I/O控制模塊兩部分組成。

1.邏輯陣列宏單元在較早的CPLD中,由結(jié)構(gòu)相同的邏輯陣列組成宏單元模塊。一個邏輯陣列單元的基本結(jié)構(gòu)如圖2.1所示。輸入項由專用輸入端和I/O端組成,而來自I/O端口的輸入項,可通過I/O結(jié)構(gòu)控制模塊的反饋選擇,可以是I/O端信號的直接輸入,也可以是本單元輸出的內(nèi)部反饋。所有輸入項都經(jīng)過緩沖器驅(qū)動,并輸出其輸入的原碼及補(bǔ)碼。圖2.1中所有豎線為邏輯單元陣列的輸入線,每個單元各有9條橫向線,稱為積項線(或稱為乘積項)。在每條輸入線和積項線的交叉處設(shè)有一個EPROM單元進(jìn)行編程,以實現(xiàn)輸入項與乘積項的連接關(guān)系,這樣使得邏輯陣列中的與陣列是可編程的。其中,8條積項線用作或門的輸入,構(gòu)成一個具有8個積項和的組合邏輯輸出;另一條積項線(OE線)連到本單元的三態(tài)輸出緩沖器的控制端,以I/O端作輸出、輸入或雙向輸出等工作方式。圖2.1邏輯陣列單元結(jié)構(gòu)圖

可以看出,早期CPLD中的邏輯陣列結(jié)構(gòu)與PAL、GAL中的結(jié)構(gòu)極為類似,只是用EPROM單元取代了PAL中的熔絲和GAL中的E2PROM單元。和GAL器件一樣,可實現(xiàn)擦除和再編程功能。在基本結(jié)構(gòu)中,每個或門有固定乘積項(8個),也就是說,邏輯陣列單元中的或陣列是固定的、不可編程的,因而這種結(jié)構(gòu)的靈活性差。據(jù)統(tǒng)計,實際工作中常用到的組合邏輯,約有70%是只含3個乘積項及3個以下的積項和。另一方面,對遇到復(fù)雜的組合邏輯所需的乘積項可能超過8個,這又要用兩個或多個邏輯單元來實現(xiàn)。器件的資源利用率不高。為此,目前的CPLD在邏輯陣列單元結(jié)構(gòu)方面作了很大改進(jìn),下面討論幾種改進(jìn)的結(jié)構(gòu)形式。1)乘積項數(shù)目不同的邏輯陣列單元圖2.2所示是一個具有12個專用輸入端和10個I/O端的CPLD,共有10個邏輯陣列單元,分成5個邏輯單元對,各對分別由不同數(shù)量的乘積項組成。由圖2.2可見,中間的邏輯單元對可實現(xiàn)16個積項和的組合邏輯輸出,最外側(cè)的邏輯單元對由8個乘積項組成,其余3對分別由10、12、14個乘積項組成,從而可實現(xiàn)更為復(fù)雜的邏輯功能。各邏輯單元中另有一條積項線作輸出三態(tài)緩沖器的控制。具有這種結(jié)構(gòu)的代表產(chǎn)品為Atmel公司的AT220V10A器件。圖2.2積項線數(shù)不同的邏輯陣列單元2)具有兩個或項輸出的邏輯陣列單元圖2.3是具有兩個固定積項和輸出的CPLD的結(jié)構(gòu)圖。由圖可見,每個單元中含有兩個或項輸出,而每個或項均有固定的4個乘積項輸入。為提高內(nèi)部各或項的利用率,每個或項的輸出均先送到一個由EPROM單元可編程控制的1分2選擇電路,即陣列單元中上面的或項輸出由選擇電路控制,既可輸送到本單元中第2級或門的輸入端,也可饋送到相鄰的下一個陣列單元第2級或門的輸入端;

同樣,陣列單元中下面的或項輸出由選擇電路控制,可直接送到本單元第2級或門的輸入端,也可饋送到相鄰的前一個陣列單元中的第2級或門輸入端,使本單元不用的或項放到另一單元中發(fā)揮其作用。因而每個邏輯陣列單元又可共享相鄰單元中的乘積項,使每個陣列可具有4、8、12和16四種組合的積項和輸出,甚至本單元中的兩個或項都可用于相鄰的兩個單元中。這樣,既提高了器件內(nèi)部各單元的利用率,又可實現(xiàn)更為復(fù)雜的邏輯功能。以這種邏輯單元結(jié)構(gòu)實現(xiàn)的EPLD有Actel公司的EP512器件等。圖2.3具有兩個固定積項和輸出的結(jié)構(gòu)圖

在Atmel公司的ATV750等器件結(jié)構(gòu)調(diào)整中,每個邏輯單元中也含有兩個或項,但不同單元中構(gòu)成或項的積項數(shù)卻不同,它是分別由4、5、6、7和8個乘積項輸入到兩個或門所組成的5對陣列單元構(gòu)成的組合陣列。每個單元中的兩個或項輸出通過輸出邏輯模塊中的選擇電路控制,可實現(xiàn)各自獨立的輸出,也可將兩個或項再“線或”起來實現(xiàn)功能更為復(fù)雜的組合邏輯輸出,但各個陣列單元中的或項不能為相鄰的陣列單元所共享。3)功能更多、結(jié)構(gòu)更復(fù)雜的邏輯陣列單元隨著集成規(guī)模和工藝水平的提高,出現(xiàn)了大批結(jié)構(gòu)復(fù)雜、功能更多的邏輯陣列單元形式。如Altera公司的EP1810器件采用了全局總線和局部總線相結(jié)合的可編程邏輯宏單元結(jié)構(gòu):采用多陣列矩陣(MAX—MultipleArrayMatrix)結(jié)構(gòu)的大規(guī)模CPLD器件,如Altera公司的EPM系列和Atmel公司的ATV5000系列器件;采用通用互連矩陣(UIM—UniversalInterconnectMatrix)及雙重邏輯功能塊結(jié)構(gòu)的邏輯陣列單元,如Xilinx公司的XC7000和XC9500系列產(chǎn)品。

2.I/O控制模塊

CPLD中的I/O控制模塊,根據(jù)器件的類型和功能不同,可有各種不同的結(jié)構(gòu)形式,但基本上每個模塊都由輸出極性轉(zhuǎn)換電路、觸發(fā)器和輸出三態(tài)緩沖器三部分及與它們相關(guān)的選擇電路所組成。下面介紹在CPLD中廣泛采用的幾種I/O控制模塊。

1)與PAL器件相兼容的I/O模塊如圖2.4所示,可編程邏輯陣列中每個邏輯陣列邏輯單元的輸出都通過一個獨立的I/O控制模塊接到I/O端,通過I/O控制模塊的選擇實現(xiàn)不同的輸出方式。根據(jù)編程選擇,各模塊可實現(xiàn)組合邏輯輸出和寄存器輸出方式。圖2.4與PAL兼容的CPLD的I/O控制模塊結(jié)構(gòu)2)與GAL器件相兼容的I/O模塊——輸出宏單元如圖2.5所示,從邏輯陣列單元輸出的積項和首先送到輸出宏單元(OMC—OutputMacroCell)的輸出極性選擇電路,由EPROM單元構(gòu)成的可編程控制位來選擇該輸出極性(原碼或它的補(bǔ)碼)。每個OMC中還有由EPROM單元構(gòu)成的兩個結(jié)構(gòu)控制位,根據(jù)構(gòu)形單元表,OMC可實現(xiàn)如圖2.6所示的4種不同的工作方式。圖2.5OMC結(jié)構(gòu)圖圖2.6OMC的4種不同的工作方式3)觸發(fā)器可編程的I/O模塊為了進(jìn)一步改善I/O控制模塊的功能,對I/O模塊中的觸發(fā)器電路進(jìn)行改進(jìn)并由EPROM單元進(jìn)行編程,可實現(xiàn)不同類型的觸發(fā)器結(jié)構(gòu),即D、T、JK、RS等類型的觸發(fā)器,如圖2.7所示。這種改進(jìn)的I/O控制模塊,可組合成高達(dá)50種的電路結(jié)構(gòu)。圖2.7觸發(fā)器可編程的I/O控制模塊結(jié)構(gòu)4)具有兩路積項和輸入與兩個觸發(fā)器結(jié)構(gòu)的I/O控制模塊如圖2.8所示,模塊中兩個觸發(fā)器可獨立地反饋回邏輯陣列。由于這種結(jié)構(gòu)的靈活性,可使觸發(fā)器成為“內(nèi)藏(Burried)”工作方式,而且,它具有更多的觸發(fā)器,很容易實現(xiàn)更為復(fù)雜的狀態(tài)機(jī)功能。圖2.8具有兩路積項和輸入與兩個觸發(fā)器的I/O控制模塊結(jié)構(gòu)5)具有三路積項和輸入與兩個觸發(fā)器的I/O控制模塊如圖2.9所示,每個I/O模塊可接受三路積項和輸入,每路各有4個乘積項。利用EPROM控制單元的編程,可實現(xiàn)下列功能:

(1)一路積項和的輸出直接饋送到I/O端,而另兩路積項和的輸出則分別饋送到兩個觸發(fā)器的輸入端D1和D2,它們的輸出均可為“內(nèi)藏”工作方式,通過編程控制可反饋到邏輯陣列總線中去。圖2.9具有三路積項和輸入與兩個觸發(fā)器的I/O控制模塊結(jié)構(gòu)(2)在實現(xiàn)組合邏輯輸出或寄存器方式輸出之前,三路和項還可以通過編程組合在一起,以實現(xiàn)高達(dá)12個積項和的組合邏輯輸出或寄存器輸出。

(3)在組合邏輯輸出方式中,通過編程控制可實現(xiàn)4、8或12個積項和的組合邏輯輸出,而模塊中的中、下兩路和項仍可分別饋送到兩個觸發(fā)器的D1和D2端,它們的輸出Q1和Q2為“內(nèi)藏”工作方式,可通過編程反饋到邏輯陣列總線中去。

(4)在寄存器輸出方式中,上、中兩路組合成8個積項和自動饋送到觸發(fā)器D1輸入端,而下路的和項除饋送到觸發(fā)器D2輸入端為“內(nèi)藏”工作方式外,還可與D1共享。(5)兩個觸發(fā)器均可有各自的異步復(fù)位和時鐘信號:AR1、CLK1和AR2、CLK2,它們由編程邏輯陣列中的4條積項線提供。

(6)輸出三態(tài)緩沖器的控制信號由來自編程邏輯陣列的一條積項線提供。

(7)當(dāng)I/O端作輸入端使用,或I/O模塊的輸出反饋到邏輯陣列總線中去時,均通過同一個反饋緩沖器輸出它們的同相和反相兩路信號,饋送到邏輯陣列總線中去,而兩個觸發(fā)器的輸出Q1和Q2則通過各自的反饋緩沖器,將它們的信號(同相及反相信號)饋送到邏輯陣列總線中去。2.2.2Altera公司的器件產(chǎn)品

Altera公司的產(chǎn)品在我國有較多的用戶,如EP220、EP224、EP6010、EP1810等經(jīng)典產(chǎn)品應(yīng)用頗廣。后來推出的EPM系列和EPF系列的集成度更是大大提高,品種多樣,性能優(yōu)越。

Altera公司提供了7種通用PLD系列產(chǎn)品:FLEX10K、FLEX8000、MAX9000、MAX7000、FLASHlogic、MAX5000和Classic。FLEX(FlexibleLogicElementMatriX)結(jié)構(gòu)使用查找表(LUT—LookUpTable)來實現(xiàn)邏輯功能,而多陣列矩陣(MAX—MutipleArrayMatriX)、FLASHlogic和經(jīng)典系列,采用可編程“與”/固定“或”乘積項結(jié)構(gòu)。所有Altera器件系列都使用CMOS處理工藝,它比雙極性工藝具有更低的功耗和更高的可靠性。

1.FLEX10K系列器件

FLEX10K系列器件是高密度陣列嵌入式可編程邏輯器件系列。這類器件最大可達(dá)10萬個典型門,5392個寄存器;采用0.5μmCMOSSRAM工藝制造;具有在系統(tǒng)可配置特性;在所有I/O端口中有輸入/輸出寄存器;3.3V或5.0V工作模式;由Altera公司的MAX+plusⅡ開發(fā)系統(tǒng)提供軟件支持,可在PC機(jī)或工作站上運行。為了增加邏輯系統(tǒng)要求的集成度,可編程邏輯不僅要增加密度,而且要有效地實現(xiàn)大量的邏輯電路。FLEX10K系列以工業(yè)上最大的PLD為特征(達(dá)到10萬門),包括嵌入式陣列、多組低時延時鐘和內(nèi)部三態(tài)總線等結(jié)構(gòu)特性,提供了復(fù)雜邏輯設(shè)計所需的性能和利用主系統(tǒng)級集成的要求。FLEX10K器件可理想地用于復(fù)雜門陣列的各種場合,其特性如表2.4所示。表2.4FLEX10K(EPF10K10~10K100)器件特性FLEX10K器件的結(jié)構(gòu)類似于嵌入式門陣列。由于有標(biāo)準(zhǔn)的門陣列,嵌入式門陣列在通用的門海結(jié)構(gòu)中實現(xiàn)一般邏輯。除此之外,嵌入式門陣列有專門的芯片面積以實現(xiàn)大的專用功能。嵌入式門陣列在減少芯片面積的同時具有比標(biāo)準(zhǔn)門陣列更快的速度,這是通過嵌入在硅里的函數(shù)完成的。然而嵌入的宏函數(shù)不能被用戶化,限制了設(shè)計者的選項。相比之下,F(xiàn)LEX10K器件是可編程的,在調(diào)試時,給設(shè)計者提供了實現(xiàn)重復(fù)設(shè)計改變過程中對嵌入宏函數(shù)和一般邏輯的完全控制。

每個FLEX10K器件包含一個實現(xiàn)存儲和專用邏輯功能的嵌入陣列和一個實現(xiàn)一般邏輯的邏輯陣列。嵌入陣列和邏輯陣列的結(jié)合提供了嵌入式門陣列的高性能和高密度,可以使設(shè)計者在某個器件上實現(xiàn)一個完整的系統(tǒng)。嵌入陣列由一系列嵌入陣列塊(EAB)構(gòu)成。實現(xiàn)存儲功能時,每個EAB提供2048比特,可以用來完成RAM、ROM、雙口RAM或者FIF

溫馨提示

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

最新文檔

評論

0/150

提交評論