第1章EDA課件可編程邏輯器件FPGA課件_第1頁
第1章EDA課件可編程邏輯器件FPGA課件_第2頁
第1章EDA課件可編程邏輯器件FPGA課件_第3頁
第1章EDA課件可編程邏輯器件FPGA課件_第4頁
第1章EDA課件可編程邏輯器件FPGA課件_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章EDA課件可編程邏輯器件FPGA課件第一頁,共92頁。<<EDA技術(shù)及CPLD/FPGA應(yīng)用簡明教程>>

劉愛榮等編著,清華大學(xué)出版社<<EDA技術(shù)及應(yīng)用>>朱正偉等編著,清華大學(xué)出版社<<數(shù)字系統(tǒng)設(shè)計與VerilogHDL>>王金明等編著,電子工業(yè)出版社出版本課件相關(guān)參考書目2007年2月10日2第二頁,共92頁。第一章緒論第二章大規(guī)??删幊踢壿嬈骷﨏PLD/FPGA第三章硬件描述語言VHDL編程基礎(chǔ)第四章常用EDA工具軟件操作指南第五章基本邏輯電路設(shè)計第六章CPLD/FPGA在數(shù)字系統(tǒng)中的應(yīng)用第七章CPLD/FPGA在通信工程中實踐應(yīng)用第八章CPLD/FPGA在DSP領(lǐng)域中的應(yīng)用第九章CPLD/FPGA在微機(jī)工程中實踐應(yīng)用第十章CPLD/FPGA實驗本教材共10章內(nèi)容2007年2月10日3第三頁,共92頁。第1章緒論教學(xué)目標(biāo)教學(xué)重點教學(xué)過程2007年2月10日4第四頁,共92頁。了解EDA技術(shù)的含義了解EDA技術(shù)發(fā)展歷程理解和掌握EDA技術(shù)的主要內(nèi)容理解和掌握EDA技術(shù)的工程設(shè)計流程理解數(shù)字系統(tǒng)的設(shè)計方法簡介

教學(xué)目標(biāo)2007年2月10日5第五頁,共92頁。理解和掌握EDA技術(shù)的主要內(nèi)容理解和掌握EDA技術(shù)的工程設(shè)計流程掌握數(shù)字系統(tǒng)的設(shè)計方法

教學(xué)重點2007年2月10日6第六頁,共92頁。EDA技術(shù)的含義及主要內(nèi)容闡述EDA技術(shù)的工程設(shè)計流程的研究數(shù)字系統(tǒng)設(shè)計方法綜述

教學(xué)過程2007年2月10日7第七頁,共92頁。 什么叫EDA技術(shù)?由于它是一門迅速發(fā)展的新技術(shù),涉及面廣,內(nèi)容豐富,理解各異,目前尚無統(tǒng)一的看法。作者認(rèn)為:EDA技術(shù)有狹義和廣義之分,狹義EDA技術(shù)就是以大規(guī)模可編程邏輯器件為設(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計算機(jī)、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具。

1.1EDA技術(shù)的涵義2007年2月10日8第八頁,共92頁。

什么叫EDA技術(shù)?由于它是一門迅速發(fā)展的新技術(shù),涉及面廣,內(nèi)容豐富,理解各異,目前尚無統(tǒng)一的看法。作者認(rèn)為:EDA技術(shù)有狹義和廣義之分,狹義EDA技術(shù)就是以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計算機(jī)、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具。

1.1EDA技術(shù)的涵義2007年2月10日9第九頁,共92頁。什么叫EDA技術(shù)?通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至完成對于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù),或稱為IES/ASIC自動設(shè)計技術(shù)。2007年2月10日10第十頁,共92頁。什么叫EDA技術(shù)?本書討論的對象為狹義的EDA技術(shù)。廣義的EDA技術(shù)除狹義的EDA技術(shù)之外,還包括計算機(jī)輔助分析CAA技術(shù)(如PSPICE,EWB,MATLAB等),印刷電路板計算機(jī)輔助設(shè)計PCB-CAD技術(shù)(如PROTEL,ORCAD等)。2007年2月10日11第十一頁,共92頁。利用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ā)展趨勢。2007年2月10日12第十二頁,共92頁。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ā)展階段。2007年2月10日13第十三頁,共92頁。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ù)雜性的要求,更不能滿足工作效率的要求。2007年2月10日14第十四頁,共92頁。這時,人們開始將產(chǎn)品設(shè)計過程中高度重復(fù)性的繁雜勞動,如布圖布線工作,用二維圖形編輯與分析的CAD工具替代,最具代表性的產(chǎn)品就是美國ACCEL公司開發(fā)的Tango布線軟件。20世紀(jì)70年代,是EDA技術(shù)發(fā)展初期,由于PCB布圖布線工具受到計算機(jī)工作平臺的制約,其支持的設(shè)計工作有限且性能比較差。2007年2月10日15第十五頁,共92頁。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è)計提供了新天地。2007年2月10日16第十六頁,共92頁。因此,可以用少數(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)了一大步。2007年2月10日17第十七頁,共92頁。如果說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è)計。2007年2月10日18第十八頁,共92頁。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工具。2007年2月10日19第十九頁,共92頁。這個階段發(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è)計與驗證。2007年2月10日20第二十頁,共92頁。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è)計自動化工具。2007年2月10日21第二十一頁,共92頁。這時的EDA工具不僅具有電子系統(tǒng)設(shè)計的能力,而且能提供獨立于工藝和廠家的系統(tǒng)級設(shè)計能力,具有高級抽象的設(shè)計構(gòu)思手段。例如,提供方框圖、狀態(tài)圖和流程圖的編輯能力,具有適合層次描述和混合信號描述的硬件描述語言(如VHDL、AHDL或Verilog-HDL),同時含有各種工藝的標(biāo)準(zhǔn)元件庫。只有具備上述功能的EDA工具,才可能是電子設(shè)計工程師在不熟悉各種半導(dǎo)體工藝的情況下,完成電子系統(tǒng)的設(shè)計。2007年2月10日22第二十二頁,共92頁。未來的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ù)之一。2007年2月10日23第二十三頁,共92頁。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)。2007年2月10日24第二十四頁,共92頁。其中,大規(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)行概要的介紹。2007年2月10日25第二十五頁,共92頁。1.3.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三家公司。2007年2月10日26第二十六頁,共92頁。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)部連線。2007年2月10日27第二十七頁,共92頁。高集成度、高速度和高可靠性是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ā)。2007年2月10日28第二十八頁,共92頁。由于開發(fā)工具的通用性、設(shè)計語言的標(biāo)準(zhǔn)化以及設(shè)計過程幾乎與所用器件的硬件結(jié)構(gòu)沒有關(guān)系,因而設(shè)計開發(fā)成功的各類邏輯功能塊軟件有很好的兼容性和可移植性。它幾乎可用于任何型號和規(guī)模的FPGA/CPLD中,從而使得產(chǎn)品設(shè)計效率大幅度提高。2007年2月10日29第二十九頁,共92頁??梢栽诤芏虝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)。2007年2月10日30第三十頁,共92頁。對于一個開發(fā)項目,究竟是選擇FPGA還是選擇CPLD呢?主要看開發(fā)項目本身的需要。對于普通規(guī)模,且產(chǎn)量不是很大的產(chǎn)品項目,通常使用CPLD比較好。對于大規(guī)模的邏輯設(shè)計ASIC設(shè)計,或單片系統(tǒng)設(shè)計,則多采用FPGA。另外,F(xiàn)PGA掉電后將丟失原有的邏輯信息,所以在實用中需要為FPGA芯片配置一個專用ROM。2007年2月10日31第三十一頁,共92頁。1.3.2.硬件描述語言(HDL)

常用的硬件描述語言有VHDL、Verilog、ABEL。VHDL:作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。2007年2月10日32第三十二頁,共92頁。Verilog:支持的EDA工具較多,適用于RTL級和門電路級的描述,其綜合過程較VHDL稍簡單,但其在高級描述方面不如VHDL。ABEL:一種支持各種不同輸入方式的HDL,被廣泛用于各種可編程邏輯器件的邏輯功能設(shè)計,由于其語言描述的獨立性,因而適用于各種不同規(guī)模的可編程器件的設(shè)計。有專家認(rèn)為,在新世紀(jì)中,VHDL與Verilog語言將承擔(dān)幾乎全部的數(shù)字系統(tǒng)設(shè)計任務(wù)。2007年2月10日33第三十三頁,共92頁。1.3.3.軟件開發(fā)工具目前比較流行的、主流廠家的EDA的軟件工具有Altera的MAX+plusII、Lattice的ispEXPERT、Xilinx的FoundationSeries。MAX+plusII:支持原理圖、VHDL和Verilog語言文本文件,以及以波形與EDIF等格式的文件作為設(shè)計輸入,并支持這些文件的任意混合設(shè)計。它具有門級仿真器,可以進(jìn)行功能仿真和時序仿真,能夠產(chǎn)生精確的仿真結(jié)果。2007年2月10日34第三十四頁,共92頁。在適配之后,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)下載。2007年2月10日35第三十五頁,共92頁。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è)計工具之一。2007年2月10日36第三十六頁,共92頁。1.3.4.實驗開發(fā)系統(tǒng)提供芯片下載電路及EDA實驗/開發(fā)的外圍資源(類似于用于單片機(jī)開發(fā)的仿真器),供硬件驗證用。一般包括:①實驗或開發(fā)所需的各類基本信號發(fā)生模塊,包括時鐘、脈沖、高低電平等;②FPGA/CPLD輸出信息顯示模塊,包括數(shù)碼顯示、發(fā)光管顯示、聲響指示等;2007年2月10日37第三十七頁,共92頁。③監(jiān)控程序模塊,提供“電路重構(gòu)軟配置”;④目標(biāo)芯片適配座以及上面的FPGA/CPLD目標(biāo)芯片和編程下載電路。目前從事EDA實驗開發(fā)系統(tǒng)研究的院校有:清華大學(xué),北京理工大學(xué),復(fù)旦大學(xué),西安電子科技大學(xué),東南大學(xué),浙江天煌科技實業(yè)有限公司等。2007年2月10日38第三十八頁,共92頁。1.3.5.關(guān)于EDA技術(shù)的學(xué)習(xí)重點及學(xué)習(xí)方法

EDA技術(shù)作為一門發(fā)展迅速、有著廣闊應(yīng)用前景的新技術(shù),涉及面廣,內(nèi)容豐富。作者結(jié)合自己的學(xué)習(xí)及教學(xué)體會,就EDA技術(shù)學(xué)習(xí)的有關(guān)問題提出一些指導(dǎo)意見,供讀者參考。2007年2月10日39第三十九頁,共92頁。1)EDA技術(shù)的學(xué)習(xí)重點

從實用和教學(xué)的角度講,作者認(rèn)為,EDA技術(shù)的學(xué)習(xí)主要應(yīng)掌握四個方面的內(nèi)容:①大規(guī)??删幊踢壿嬈骷?;②硬件描述語言;③軟件開發(fā)工具;④實驗開發(fā)系統(tǒng)。其中,硬件描述語言是重點。2007年2月10日40第四十頁,共92頁。對于大規(guī)??删幊踢壿嬈骷?,主要是了解其分類、基本結(jié)構(gòu)、工作原理、各廠家產(chǎn)品的系列、性能指標(biāo)以及如何選用,而對于各個產(chǎn)品的具體結(jié)構(gòu)不必研究過細(xì)。對于硬件描述語言,除了掌握基本語法規(guī)定外,更重要的是要理解VHDL的三個“精髓”:軟件的強(qiáng)數(shù)據(jù)類型與硬件電路的惟一性、硬件行為的并行性決定了VHDL語言的并行性、軟件仿真的順序性與實際硬件行為的并行性;要掌握系統(tǒng)的分析與建模方法,能夠?qū)⒏鞣N基本語法規(guī)定熟練地運用于自己的設(shè)計中。2007年2月10日41第四十一頁,共92頁。對于軟件開發(fā)工具,應(yīng)熟練掌握從源程序的編輯、邏輯綜合、邏輯適配以及各種仿真、硬件驗證各步驟的使用。對于實驗開發(fā)系統(tǒng),主要能夠根據(jù)自己所擁有的設(shè)備,熟練地進(jìn)行硬件驗證或變通地進(jìn)行硬件驗證。2007年2月10日42第四十二頁,共92頁。2)EDA技術(shù)的學(xué)習(xí)方法

抓住一個重點:VHDL的編程;掌握兩個工具:FPGA/CPLD開發(fā)軟件和EDA實驗開發(fā)系統(tǒng)的使用;運用三種手段:案例分析、應(yīng)用設(shè)計、上機(jī)實踐;采用四個結(jié)合:邊學(xué)邊用相結(jié)合,邊用邊學(xué)相結(jié)合,理論與實踐相結(jié)合,課內(nèi)與課外相結(jié)合。2007年2月10日43第四十三頁,共92頁。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ù)庫子模塊、分析驗證子模塊、綜合仿真子模塊、布局布線子模塊等2007年2月10日44第四十四頁,共92頁。1.4.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)的分析器。2007年2月10日45第四十五頁,共92頁。1.4.2設(shè)計數(shù)據(jù)庫子模塊:

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

該模塊包括各個層次的綜合工具,理想的情況是:從高層次到低層次的綜合仿真全部由EDA工具自動實現(xiàn)。2007年2月10日46第四十六頁,共92頁。1.4.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工具。2007年2月10日47第四十七頁,共92頁。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等軟件公司都有其特色工具。2007年2月10日48第四十八頁,共92頁。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,2007年2月10日49第四十九頁,共92頁。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。2007年2月10日50第五十頁,共92頁。1.5EDA的工程設(shè)計流程假設(shè)我們需要建造一棟樓房,第一,我們需要進(jìn)行”建筑設(shè)計”---用各種設(shè)計圖紙把我們的建筑設(shè)想表示出來;第二,我們要進(jìn)行建筑預(yù)算;第三,根據(jù)建筑設(shè)計和建筑預(yù)算進(jìn)行”施工設(shè)計”;第四,根據(jù)施工圖進(jìn)行”建筑施工”;最后還要進(jìn)行”建筑驗收”----檢驗所建筑房屋是否符合設(shè)計要求。那么,對于目標(biāo)器件為FPGA和CPLD的VHDL設(shè)計,其工程設(shè)計步驟如何哪?EDA的工程設(shè)計流程與建筑設(shè)計流程相似:第一,需要進(jìn)行“源程序的編輯和編譯”—用一定的邏輯表達(dá)手段將設(shè)計表達(dá)出來;2007年2月10日51第五十一頁,共92頁。第二,要進(jìn)行“邏輯綜合”---將用一定的邏輯表達(dá)手段將表達(dá)出來的設(shè)計經(jīng)過一系列的操作,分解成一系列的邏輯電路及對應(yīng)的關(guān)系(電路分解);第三,要進(jìn)行目標(biāo)器件的“布線/適配”---在選用的目標(biāo)器件中建立這些基本邏輯電路的對應(yīng)關(guān)系(邏輯實現(xiàn))第四,目標(biāo)器件的編程下載---將前面的軟件設(shè)計經(jīng)過編程變成具體的設(shè)計系統(tǒng)(物理實現(xiàn));最后要進(jìn)行硬件仿真/硬件測試---驗證所設(shè)計的系統(tǒng)是否符合要求。同時,在設(shè)計過程中要進(jìn)行有關(guān)“仿真”---模擬有關(guān)設(shè)計結(jié)果與設(shè)計構(gòu)想是否相符。綜上所述,EDA的工程設(shè)計基本流程如圖1.1所示,現(xiàn)具體闡述如下。2007年2月10日52第五十二頁,共92頁。圖1-1EDA的工程設(shè)計基本流程2007年2月10日53第五十三頁,共92頁。1.源程序的編輯和編譯利用EDA技術(shù)進(jìn)行一項工程設(shè)計,首先需利用EDA工具的文本編輯器或圖形編輯器將它用文本方式或圖形方式表達(dá)出來,進(jìn)行排錯編譯,變成VHDL文件格式,為進(jìn)一步的邏輯綜合作準(zhǔn)備。2.常用的源程序輸入方式有三種2007年2月10日54第五十四頁,共92頁。(1)原理圖輸入方式:利用EDA工具提供的圖形編輯器以原理圖的方式進(jìn)行輸入。原理圖輸入方式比較容易掌握,直觀且方便,所畫的電路原理圖(請注意,這種原理圖與利用Protel畫的原理圖有本質(zhì)的區(qū)別)與傳統(tǒng)的器件連接方式完全一樣,很容易被人接受,而且編輯器中有許多現(xiàn)成的單元器件可以利用,自己也可以根據(jù)需要設(shè)計元件。然而原理圖輸入法的優(yōu)點同時也是它的缺點:2007年2月10日55第五十五頁,共92頁。①隨著設(shè)計規(guī)模增大,設(shè)計的易讀性迅速下降,對于圖中密密麻麻的電路連線,極難搞清電路的實際功能;②一旦完成,電路結(jié)構(gòu)的改變將十分困難,因而幾乎沒有可再利用的設(shè)計模塊;③移植困難、入檔困難、交流困難、設(shè)計交付困難,因為不可能存在一個標(biāo)準(zhǔn)化的原理圖編輯器。2007年2月10日56第五十六頁,共92頁。(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工具都支持文本方式的編輯和編譯。2007年2月10日57第五十七頁,共92頁。1.5.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)換和綜合,最終獲得門級電路甚至更底層的電路描述文件。2007年2月10日58第五十八頁,共92頁。由此可見,綜合器工作前,必須給定最后實現(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)表文件。2007年2月10日59第五十九頁,共92頁。由于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)性。2007年2月10日60第六十頁,共92頁。1.5.3目標(biāo)器件的布線/適配邏輯綜合通過后必須利用適配器將綜合后的網(wǎng)表文件針對某一具體的目標(biāo)器進(jìn)行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優(yōu)化、布線與操作,適配完成后可以利用適配所產(chǎn)生的仿真文件作精確的時序仿真。2007年2月10日61第六十一頁,共92頁。適配器的功能是將由綜合器產(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)。2007年2月10日62第六十二頁,共92頁。1.5.4.設(shè)計過程中的有關(guān)仿真在綜合以前可以先對VHDL所描述的內(nèi)容進(jìn)行行為仿真,即將VHDL設(shè)計源程序直接送到VHDL仿真器中仿真,這就是所謂的VHDL行為仿真。因為此時的仿真只是根據(jù)VHDL的語義進(jìn)行的,與具體電路沒有關(guān)系。在這時的仿真中,可以充分發(fā)揮VHDL中的適用于仿真控制的語句及有關(guān)的預(yù)定義函數(shù)和庫文件。2007年2月10日63第六十三頁,共92頁。在綜合之后,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)行功能仿真和時序仿真。2007年2月10日64第六十四頁,共92頁。所不同的是仿真用的文件格式不同,即網(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è)計的要求,仿真過程不涉及具體器件的硬件特性,如延時特性。

2007年2月10日65第六十五頁,共92頁。時序仿真是接近真實器件運行的仿真,仿真過程中已將器件特性考慮進(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é)果了。2007年2月10日66第六十六頁,共92頁。1.5.5.目標(biāo)器件的編程/下載如果編譯、綜合、布線/適配和行為仿真、功能仿真、時序仿真等過程都沒有發(fā)現(xiàn)問題,即滿足原設(shè)計的要求,則可以將由FPGA/CPLD布線/適配器產(chǎn)生的配置/下載文件通過編程器或下載電纜載入目標(biāo)芯片F(xiàn)PGA或CPLD中。2007年2月10日67第六十七頁,共92頁。1.5.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行為仿真器和VHDL2007年2月10日68第六十八頁,共92頁。功能仿真器,它們對于同一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è)計的硬件仿真和硬件測試是十分必要的。2007年2月10日69第六十九頁,共92頁。1.6數(shù)字系統(tǒng)的設(shè)計方法簡介

在我們的周圍可以發(fā)現(xiàn)無數(shù)個數(shù)字系統(tǒng)的例子,如自動播音器、CD播放機(jī)、電話系統(tǒng)、個人計算機(jī)以及視頻游戲等??梢院敛豢鋸埖卣f,數(shù)字系統(tǒng)已經(jīng)成為我們?nèi)粘I畹闹匾M成部分。數(shù)字系統(tǒng)設(shè)計有多種方法,如模塊設(shè)計法、自頂向下設(shè)計法和自底向上設(shè)計法等。

2007年2月10日70第七十頁,共92頁。數(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)方式的描述。2007年2月10日71第七十一頁,共92頁。采用自頂向下的設(shè)計方法有如下優(yōu)點:1)自頂向下設(shè)計方法是一種模塊化設(shè)計方法。對設(shè)計的描述從上到下逐步由粗略到詳細(xì),符合常規(guī)的邏輯思維習(xí)慣。由于高層設(shè)計同器件無關(guān),設(shè)計易于在各種集成電路工藝或可編程器件之間移植。2007年2月10日72第七十二頁,共92頁。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)行管理。2007年2月10日73第七十三頁,共92頁。針對具體的設(shè)計,實施自頂向下的設(shè)計方法的形式會有所不同,但均需遵循以下兩條原則:逐層分解功能,分層次進(jìn)行設(shè)計。同時,應(yīng)在各個設(shè)計層次上,考慮相應(yīng)的仿真驗證問題。數(shù)字系統(tǒng)設(shè)計有多種方法,如模塊設(shè)計法、自頂向下設(shè)計法和自底向上設(shè)計法等。

2007年2月10日74第七十四頁,共92頁。1.6.2數(shù)字系統(tǒng)的設(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)為止。2007年2月10日75第七十五頁,共92頁。采用該方法設(shè)計時,高層設(shè)計進(jìn)行功能和接口描述,說明模塊的功能和接口,模塊功能的更詳細(xì)的描述在下一設(shè)計層次說明,最底層的設(shè)計才涉及具體的寄存器和邏輯門電路等實現(xiàn)方式的描述。采用自頂向下的設(shè)計方法有如下優(yōu)點:(1)自頂向下設(shè)計方法是一種模塊化設(shè)計方法。對設(shè)計的描述從上到下逐步由粗略到詳細(xì),符合常規(guī)的邏輯思維習(xí)慣。由于高層設(shè)計同器件無關(guān),設(shè)計易于在各種集成電路工藝或可編程器件之間移植。2007年2月10日76第七十六頁,共92頁。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)的仿真驗證問題。2007年2月10日77第七十七頁,共92頁。1.7數(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)則的。2007年2月10日78第七十八頁,共92頁。1.7.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è)計,盡可能做到通用性好,易于移植。2007年2月10日79第七十九頁,共92頁。1.7.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)工作是否正常”的判斷能力。2007年2月10日80第八十頁,共92頁。1.7.3同步和異步電路異步電路會造成較大延時和邏輯競爭,容易引起系統(tǒng)的不穩(wěn)定,而同步電路則是按照統(tǒng)一的時鐘工作,穩(wěn)定性好。因此在設(shè)計時盡可能采用同步電路進(jìn)行設(shè)計,避免使用異步電路。在必須使用異步電路時,應(yīng)采取措施來避免競爭和增加穩(wěn)定性。2007年2月10日81第八十一頁,共92頁。1.7.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è)計的主要要求。2007年2月10日82第八十二頁,共92頁。1.7.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ā)揮。2007年2月1

溫馨提示

  • 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

提交評論