




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1.1EDA技術的涵義
1.2EDA技術的發(fā)展歷程
1.3EDA技術的主要內容
1.4EDA軟件系統(tǒng)的構成
1.5EDA工具的發(fā)展趨勢
1.6EDA的工程設計流程
1.7數(shù)字系統(tǒng)的設計
1.8EDA技術的應用展望
第1章緒論
什么叫EDA技術?由于它是一門迅速發(fā)展的新技術,涉及面廣,內容豐富,因而理解各異,目前尚無統(tǒng)一的看法。作者認為:EDA技術有狹義的EDA技術和廣義的EDA技術之分。1.1EDA技術的涵義狹義的EDA技術,就是指以大規(guī)模可編程邏輯器件為設計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達方式,以計算機、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設計工具,通過有關的開發(fā)軟件,自動完成用軟件方式設計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對于特定目標芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或專用集成芯片的一門新技術,或稱為IES/ASIC自動設計技術。本書討論的對象專指狹義的EDA技術。廣義的EDA技術,除了狹義的EDA技術外,還包括計算機輔助分析CAA技術(如PSPICE、EWB、MATLAB等)和印刷電路板計算機輔助設計PCB-CAD技術(如PROTEL、ORCAD等)。在廣義的EDA技術中,CAA技術和PCB-CAD技術不具備邏輯綜合和邏輯適配的功能,因此它并不能稱為真正意義上的EDA技術。故作者認為將廣義的EDA技術稱為現(xiàn)代電子設計技術更為合適。利用EDA技術(特指IES/ASIC自動設計技術)進行電子系統(tǒng)的設計,具有以下幾個特點:①用軟件的方式設計硬件;②用軟件方式設計的系統(tǒng)到硬件系統(tǒng)的轉換是由有關的開發(fā)軟件自動完成的;③設計過程中可用有關軟件進行各種仿真;④系統(tǒng)可現(xiàn)場編程,在線升級;⑤整個系統(tǒng)可集成在一個芯片上,體積小、功耗低、可靠性高;⑥從以前的“組合設計”轉向真正的“自由設計”;⑦設計的移植性好,效率高;⑧非常適合分工設計,團體協(xié)作。因此,EDA技術是現(xiàn)代電子設計的發(fā)展趨勢。
1.20世紀70年代的計算機輔助設計CAD階段
早期的電子系統(tǒng)硬件設計采用的是分立元件,隨著集成電路的出現(xiàn)和應用,硬件設計進入到發(fā)展的初級階段。初級階段的硬件設計大量選用中、小規(guī)模標準集成電路。人們將這些器件焊接在電路板上,做成初級電子系統(tǒng),對電子系統(tǒng)的調試是在組裝好的PCB(PrintedCircuitBoard)板上進行的。1.2EDA技術的發(fā)展歷程由于設計師對圖形符號使用數(shù)量有限,因此傳統(tǒng)的手工布圖方法無法滿足產品復雜性的要求,更不能滿足工作效率的要求。這時,人們開始將產品設計過程中高度重復性的繁雜勞動,如布圖布線工作,用二維圖形編輯與分析的CAD工具替代,最具代表性的產品就是美國ACCEL公司開發(fā)的Tango布線軟件。20世紀70年代,是EDA技術發(fā)展初期,由于PCB布圖布線工具受到計算機工作平臺的制約,其支持的設計工作有限且性能比較差。
2.20世紀80年代的計算機輔助工程設計CAE階段
初級階段的硬件設計是用大量不同型號的標準芯片實現(xiàn)電子系統(tǒng)設計的。隨著微電子工藝的發(fā)展,相繼出現(xiàn)了集成上萬只晶體管的微處理器、集成幾十萬直到上百萬儲存單元的隨機存儲器和只讀存儲器。此外,支持定制單元電路設計的硅編輯、掩膜編程的門陣列,如標準單元的半定制設計方法以及可編程邏輯器件(PAL和GAL)等一系列微結構和微電子學的研究成果都為電子系統(tǒng)的設計提供了新天地。因此,可以用少數(shù)幾種通用的標準芯片實現(xiàn)電子系統(tǒng)的設計。伴隨著計算機和集成電路的發(fā)展,EDA技術進入到計算機輔助工程設計階段。20世紀80年代初推出的EDA工具則以邏輯模擬、定時分析、故障仿真、自動布局和布線為核心,重點解決電路設計沒有完成之前的功能檢測等問題。利用這些工具,設計師能在產品制作之前預知產品的功能與性能,能生成制造產品的相關文件,使設計階段對產品性能的分析前進了一大步。如果說20世紀70年代的自動布局布線的CAD工具代替了設計工作中繪圖的重復勞動,那么,20世紀80年代出現(xiàn)的具有自動綜合能力的CAE工具則代替了設計師的部分工作,對保證電子系統(tǒng)的設計,制造出最佳的電子產品起著關鍵的作用。到了20世紀80年代后期,EDA工具已經可以進行設計描述、綜合與優(yōu)化和設計結果驗證等工作。CAE階段的
EDA工具不僅為成功開發(fā)電子產品創(chuàng)造了有利條件,而且為高級設計人員的創(chuàng)造性勞動提供了方便。但是,大部分從原理圖出發(fā)的EDA工具仍然不能適應復雜電子系統(tǒng)的設計要求,而且具體化的元件圖形制約著優(yōu)化設計。
3.20世紀90年代電子系統(tǒng)設計自動化EDA階段
為了滿足千差萬別的系統(tǒng)用戶提出的設計要求,最好的辦法是由用戶自己設計芯片,讓他們把想設計的電路直接設計在自己的專用芯片上。微電子技術的發(fā)展,特別是可編程邏輯器件的發(fā)展,使得微電子廠家可以為用戶提供各種規(guī)模的可編程邏輯器件,使設計者通過設計芯片實現(xiàn)電子系統(tǒng)功能。EDA工具的發(fā)展,又為設計師提供了全線EDA工具。這個階段發(fā)展起來的EDA工具,目的是在設計前期將設計師從事的許多高層次設計工作由工具來完成,如可以將用戶要求轉換為設計技術規(guī)范,有效地處理可用的設計資源與理想的設計目標之間的矛盾,按具體的硬件、軟件和算法分解設計等。由于電子技術和EDA工具的發(fā)展,設計師可以在不太長的時間內使用EDA工具,通過一些簡單標準化的設計過程,利用微電子廠家提供的設計庫來完成數(shù)萬門ASIC和集成系統(tǒng)的設計與驗證。
20世紀90年代,設計師逐步從使用硬件轉向設計硬件,從單個電子產品開發(fā)轉向系統(tǒng)級電子產品開發(fā)(即片上系統(tǒng)集成,Systemonachip)。因此,EDA工具是以系統(tǒng)級設計為核心,包括系統(tǒng)行為級描述與結構綜合、系統(tǒng)仿真與測試驗證、系統(tǒng)劃分與指標分配、系統(tǒng)決策與文件生成等一整套的電子系統(tǒng)設計自動化工具。這時的EDA工具不僅具有電子系統(tǒng)設計的能力,而且能提供獨立于工藝和廠家的系統(tǒng)級設計能力,具有高級抽象的設計構思手段。只有具備上述功能的EDA工具,才可能使電子系統(tǒng)工程師在不熟悉各種半導體工藝的情況下,完成電子系統(tǒng)的設計。未來的EDA技術將向廣度和深度兩個方向發(fā)展,EDA將會超越電子設計的范疇進入其他領域,隨著基于EDA的SOC(單片系統(tǒng))設計技術的發(fā)展,軟、硬核功能庫的建立,以及基于VHDL的所謂自頂向下設計理念的確立,未來的電子系統(tǒng)的設計與規(guī)劃將不再是電子工程師們的專利。有專家認為,21世紀將是EDA技術快速發(fā)展的時期,并且EDA技術將是對21世紀產生重大影響的十大技術之一。1.3.1大規(guī)模可編程邏輯器件
可編程邏輯器件(簡稱PLD)是一種由用戶編程以實現(xiàn)某種邏輯功能的新型邏輯器件。FPGA和CPLD分別是現(xiàn)場可編程門陣列和復雜可編程邏輯器件的簡稱?,F(xiàn)在,F(xiàn)PGA和CPLD器件的應用已十分廣泛,它們將隨著EDA技術的發(fā)展成為電子設計領域的重要角色。1.3EDA技術的主要內容
FPGA在結構上主要分為三個部分,即可編程邏輯單元、可編程輸入/輸出單元和可編程連線三個部分。CPLD在結構上主要包括三個部分,即可編程邏輯宏單元、可編程輸入/輸出單元和可編程內部連線。
高集成度、高速度和高可靠性是FPGA/CPLD最明顯的特點,其時鐘延時可小至ns級。結合其并行工作方式,在超高速應用領域和實時測控方面,F(xiàn)PGA/CPLD有著非常廣闊的應用前景。在高可靠性應用領域,如果設計得當,將不會存在類似于MCU的復位不可靠和PC可能跑飛等問題。FPGA/CPLD的高可靠性還表現(xiàn)在幾乎可將整個系統(tǒng)下載于同一芯片中,實現(xiàn)所謂片上系統(tǒng),從而大大縮小了體積,易于管理和屏蔽。由于FPGA/CPLD的集成規(guī)模非常大,因此可利用先進的EDA工具進行電子系統(tǒng)設計和產品開發(fā)。由于開發(fā)工具的通用性、設計語言的標準化以及設計過程幾乎與所用器件的硬件結構無關,因而設計開發(fā)成功的各類邏輯功能塊軟件有很好的兼容性和可移植性。它們幾乎可用于任何型號和規(guī)模的FPGA/CPLD中,從而使得產品設計效率大幅度提高,可以在很短時間內完成十分復雜的系統(tǒng)設計,這正是產品快速進入市場最寶貴的特征。美國IT公司認為,一個ASIC80%的功能可用IP核等現(xiàn)成邏輯合成。而未來大系統(tǒng)的FPGA/CPLD設計僅僅是各類再應用邏輯與IP核(Core)的拼裝,其設計周期將更短。與ASIC設計相比,F(xiàn)PGA/CPLD顯著的優(yōu)勢是開發(fā)周期短、投資風險小、產品上市速度快、市場適應能力強和硬件升級回旋余地大,而且當產品定型和產量擴大后,可將在生產中充分檢驗過的VHDL設計迅速投產。
對于一個開發(fā)項目,究竟是選擇FPGA還是選擇CPLD呢?主要看開發(fā)項目本身的需要。對于普通規(guī)模,且產量不是很大的產品項目,通常使用CPLD比較好。對于大規(guī)模的邏輯設計、ASIC設計,或單片系統(tǒng)設計,則多采用FPGA。另外,F(xiàn)PGA掉電后將丟失原有的邏輯信息,所以在實用中需要為FPGA芯片配置一個專用ROM。1.3.2硬件描述語言(HDL)
常用的硬件描述語言有VHDL、Verilog和ABEL。
VHDL:作為IEEE的工業(yè)標準硬件描述語言,在電子工程領域已成為事實上的通用硬件描述語言。
Verilog:作為IEEE的工業(yè)標準硬件描述語言,支持的EDA工具較多,適用于RTL級和門電路級的描述,其綜合過程較VHDL稍簡單,但其在高級描述方面不如VHDL。
ABEL:一種支持各種不同輸入方式的HDL,被廣泛用于各種可編程邏輯器件的邏輯功能設計,由于其語言描述的獨立性,因而適用于各種不同規(guī)模的可編程器件的設計。
有專家認為,在新世紀中,VHDL與Verilog語言將承擔幾乎全部的數(shù)字系統(tǒng)設計任務。1.3.3EDA軟件開發(fā)工具
1.主流廠家的EDA軟件工具
目前比較流行的、主流廠家的EDA軟件工具有Altera公司的QuartusⅡ、Xilinx的ISE/ISE-WebPACKSeries和Lattice公司的ispLEVER。這些軟件的基本功能相同,主要差別在于:①面向的目標器件不一樣;②性能各有優(yōu)劣。
(1)?QuartusⅡ:是Altera公司新近推出的EDA軟件工具,其設計工具完全支持VHDL、Verilog的設計流程,其內部嵌有VHDL、Verilog邏輯綜合器。第三方的綜合工具,如LeonardoSpectrum、SynplifyPro、FPGACompiler?Ⅱ有著更好的綜合效果,因此通常建議使用這些工具來完成VHDL/Verilog源程序的綜合。Quartus?Ⅱ可以直接調用這些第三方工具。同樣,QuartusⅡ具備仿真功能,但也支持第三方的仿真工具,如Modelsim。此外,QuartusⅡ為AlteraDSP開發(fā)包進行系統(tǒng)模型設計提供了集成綜合環(huán)境,它與MATLAB和DSPBuilder結合可以進行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實現(xiàn)的關鍵EDA工具。QuartusⅡ還可與SOPCBuilder結合,實現(xiàn)SOPC系統(tǒng)開發(fā)。
(2)?ISE/ISE-WebPACKSeries:是Xilinx公司新近推出的EDA集成軟件開發(fā)環(huán)境(IntegratedSoftwareEnvironment,簡稱為ISE)。XilinxISE操作簡易方便,其提供的各種最新改良功能能解決以往各種設計上的瓶頸,加快了設計與檢驗的流程,如ProjectNavigator(先進的設計流程導向專業(yè)管理程式)讓顧客能在同一設計工程中使用Synplicity與Xilinx的合成工具,混合使用VHDL及VerilogHDL源程序,讓設計人員能使用固有的IP與HDL設計資源,達至最佳的結果。使用者亦可鏈接與啟動XilinxEmbeddedDesignKit(EDK)XPS專用管理器,以及使用新增的AutomaticWebUpdate功能來監(jiān)視軟件的更新狀況,也可讓使用者下載更新檔案,以令其ISE的設定維持最佳狀態(tài)。各版本的ISE軟件皆支持Windows2000、WindowsXP操作系統(tǒng)。
(3)?ispLEVER:是Lattice公司最新推出的一套EDA軟件。提供設計輸入、HDL綜合、驗證、器件適配、布局布線、編程和在系統(tǒng)設計調試。設計輸入可采用原理圖、硬件描述語言、混合輸入三種方式。能對所設計的數(shù)字電子系統(tǒng)進行功能仿真和時序仿真。軟件中含有不同的工具,適用于各個設計階段。軟件包含Synplicity公司的“Synplify”、ExemplarLogic公司的“Leonardo”綜合工具和Lattice公司的ispVM器件編程工具。
ispLEVER軟件提供給開發(fā)者一個有力的工具,用于設計所有Lattice公司可編程邏輯產品。軟件不僅支持所有Lattice公司的ispLSI、MACH、ispGDX、ispGAL、GAL器件,還支持Lattice公司新的FPGA、FPSC、ispXPGATM和ispXPLDTM產品系列。這使得ispLEVER的用戶能夠設計所有Lattice公司的業(yè)界領先的FPGA、FPSC、CPLD產品而不必學習新的設計工具。
2.第三方EDA工具
在基于EDA技術的實際開發(fā)設計中,由于所選用的EDA工具軟件的某些性能受局限或不夠好,為了使自己的設計整體性能最佳,往往需要使用第三方工具。業(yè)界最流行的第三方EDA工具有:邏輯綜合性能最好的Synplify和仿真功能最強大的ModelSim。
(1)?Synplify:是Synplicity公司(該公司現(xiàn)在是Cadence的子公司)的著名產品,是一個邏輯綜合性能最好的FPGA和CPLD的邏輯綜合工具。它支持工業(yè)標準的Verilog和VHDL硬件描述語言,能以很高的效率將它們的文本文件轉換為高性能的面向流行器件的設計網表;它在綜合后還可以生成VHDL和Verilog仿真網表,以便對原設計進行功能仿真;它具有符號化的FSM編譯器,以實現(xiàn)高級的狀態(tài)機轉化,并有一個內置的語言敏感的編輯器;它的編輯窗口可以在HDL源文件高亮顯示綜合后的錯誤,以便能夠迅速定位和糾正所出現(xiàn)的問題;它具有圖形調試功能,在編譯和綜合后可以以圖形方式(RTL圖、Technology圖)觀察結果;它具有將VHDL文件轉換成RTL圖形的功能,這十分有利于VHDL的速成學習;它能夠生成針對Actel、Altera、Lattice、Lucent、Philips、Quicklogic、Vantis(AMD)和Xilinx公司器件的網表;它支持VHDL1076—1993標準和Verilog1364—1995標準。
(2)?ModelSim:是ModelTechnology公司(該公司現(xiàn)在是MentorGraphics的子公司)的著名產品,支持VHDL和Verilog的混合仿真。使用它可以進行三個層次的仿真,即RTL(寄存器傳輸層次)、Functional(功能)和Gate-Level(門級)。RTL級仿真僅驗證設計的功能,沒有時序信息;功能級仿真是經過綜合器邏輯綜合后,針對特定目標器件生成的VHDL網表進行的仿真;門級仿真是經過布線器、適配器后,對生成的門級VHDL網表進行的仿真,此時在VHDL網表中含有精確的時序延遲信息,因而可以得到與硬件相對應的時序仿真結果。
ModelSimVHDL支持IEEE1076—1987和IEEE1076—1993標準。ModelSimVerilog基于IEEE1364—1995標準,在此基礎上針對OpenVerilog標準進行了擴展。此外,ModelSim支持SDF1.0、2.0和2.1,還有VITAL2.2b和VITAL’95。1.3.4EDA實驗開發(fā)系統(tǒng)
實驗開發(fā)系統(tǒng)提供芯片下載電路及EDA實驗/開發(fā)的外圍資源(類似于用于單片機開發(fā)的仿真器),以供硬件驗證用。一般包括:①實驗或開發(fā)所需的各類基本信號發(fā)生模塊,包括時鐘、脈沖、高低電平等;②FPGA/CPLD輸出信息顯示模塊,包括數(shù)碼顯示、發(fā)光管顯示、聲響指示等;③監(jiān)控程序模塊,提供“電路重構軟配置”;④目標芯片適配座以及上面的FPGA/CPLD目標芯片和編程下載電路;⑤其他轉換電路系統(tǒng)及各種擴展接口。目前從事EDA實驗開發(fā)系統(tǒng)研究的院校有:清華大學、北京理工大學、復旦大學、西安電子科技大學、東南大學、杭州電子科技大學等。
EDA技術研究的對象是電子設計的全過程,有系統(tǒng)級、電路級和物理級三個層次的設計。其涉及的電子系統(tǒng)是指從低頻、高頻到微波,從線性到非線性,從模擬到數(shù)字,從通用集成電路到專用集成電路構造的電子系統(tǒng),因此,EDA技術研究的范疇相當廣泛。從專用集成電路(ASIC)開發(fā)與應用角度看,EDA軟件系統(tǒng)應當包含:設計輸入子模塊、設計數(shù)據(jù)庫子模塊、分析驗證子模塊、綜合仿真子模塊、布局布線子模塊等。1.4EDA軟件系統(tǒng)的構成
(1)設計輸入子模塊:該模塊接受用戶的設計描述,并進行語義正確性、語法規(guī)則的檢查,檢查通過后,將用戶的設計描述數(shù)據(jù)轉換為EDA軟件系統(tǒng)的內部數(shù)據(jù)格式,存入設計數(shù)據(jù)庫,以便被其他子模塊調用。設計輸入子模塊不僅能接受圖形描述輸入、硬件描述語言(HDL)描述輸入,還能接受圖文混合描述輸入。該子模塊一般包含針對不同描述方式的編輯器,如圖形編輯器、文本編輯器等,同時包含對應的分析器。
(2)設計數(shù)據(jù)庫子模塊:該模塊存放系統(tǒng)提供的庫單元以及用戶的設計描述和中間設計結果。
(3)分析驗證子模塊:該模塊包括各個層次的模擬驗證、設計規(guī)則的檢查、故障診斷等。
(4)綜合仿真子模塊:該模塊包括各個層次的綜合工具。理想的情況是從高層次到低層次的綜合仿真全部由EDA工具自動實現(xiàn)。
(5)布局布線子模塊:該模塊實現(xiàn)由邏輯設計到物理實現(xiàn)的映射,因此與物理實現(xiàn)的方式密切相關。例如,最終的物理實現(xiàn)可以是門陣列、可編程邏輯器件等。由于對應的器件不同,因此各自的布局布線工具會有很大的差異。近些年,許多生產可編程邏輯器件的公司都相繼推出適于開發(fā)自己公司器件的EDA工具,這些工具一般都具有上面提到的各個模塊,且其操作簡單,對硬件環(huán)境要求低,運行平臺是PC機和Windows或WindowsNT操作系統(tǒng)。如Xilinx、Altera、Lattice、Actel、AMD等器件公司都有自己的EDA工具。
EDA工具不只面向ASIC的應用與開發(fā),還涉及電子設計的各個方面,包括數(shù)字電路設計、模擬電路設計、數(shù)?;旌显O計、系統(tǒng)設計、仿真驗證等。這些工具對硬件環(huán)境要求高,一般的運行平臺要求是工作站和UNIX操作系統(tǒng),其功能齊全、性能優(yōu)良,一般由專門開發(fā)EDA軟件工具的軟件公司提供,如Cadence、MentelGraphics、Viewlogic、Synopsys等軟件公司都有其特色工具。
1.設計輸入工具的發(fā)展趨勢
早期EDA工具設計輸入普遍采用原理圖輸入方式,以文字和圖形作為設計載體和文件,將設計信息加載到后續(xù)的EDA工具中,完成設計分析工作。原理圖輸入方式的優(yōu)點是直觀,能滿足以設計分析為主的一般要求,但是原理圖輸入方式不適合用EDA綜合工具。1.5EDA工具的發(fā)展趨勢
20世紀80年代末,電子設計開始采用新的綜合工具,設計描述開始由原理圖設計描述轉向以各種硬件描述語言為主的編程方式。因此,用硬件描述語言描述設計,更接近系統(tǒng)行為描述,且便于綜合,更適于傳遞和修改設計信息,還可以建立獨立于工藝的設計文件。
很多電子設計師都具有原理圖設計的經驗,不具有編程經驗,所以仍然希望繼續(xù)在比較熟悉的符號與圖形環(huán)境中完成設計,而不是利用編程完成設計。為此,EDA公司在20世紀90年代相繼推出了一批圖形化免編程的設計輸入工具,它們允許設計師用他們覺得最方便并熟悉的設計方式,如框圖、狀態(tài)圖、真值表和邏輯方程建立設計文件,然后由EDA工具自動生成綜合所需的硬件描述語言文件。
2.具有混合信號處理能力的EDA工具
目前,數(shù)字電路設計的EDA工具遠比模擬電路的EDA工具多。模擬集成電路EDA工具開發(fā)的難度較大,但是,由于物理量本身多以模擬形式存在,因此實現(xiàn)高性能的復雜電子系統(tǒng)的設計離不開模擬信號。20世紀90年代以來,EDA工具廠商都比較重視數(shù)/?;旌闲盘栐O計工具的開發(fā)。對數(shù)字信號的語言描述,IEEE已經制定了VHDL標準,對模擬信號的語言正在制定AHDL標準,此外,還提出了對微波信號的MHDL描述語言。具有混合信號設計能力的EDA工具能處理含有數(shù)字信號處理、專用集成電路宏單元、數(shù)/模變換和模/數(shù)變換模塊及各種壓控振蕩器在內的混合系統(tǒng)設計。美國Cadence、Synopsys等公司開發(fā)的EDA工具已經具有混合設計能力。
3.更為有效的仿真工具的發(fā)展
通常,可以將電子系統(tǒng)設計的仿真過程分為兩個階段:設計前期的系統(tǒng)級仿真和設計過程的電路級仿真。系統(tǒng)級仿真主要驗證系統(tǒng)的功能;電路級仿真主要驗證系統(tǒng)的性能,決定怎樣實現(xiàn)設計所需的精度。在整個電子設計過程中,仿真是花費時間最多的工作也是占用EDA工具資源最多的一個環(huán)節(jié)。通常,設計活動的大部分時間在做仿真,如驗證設計的有效性、測試設計的精度、處理和保證設計要求等。仿真過程中仿真收斂的快慢同樣是關鍵因素之一。提高仿真的有效性一方面是建立合理的仿真算法,另一方面是系統(tǒng)級仿真中系統(tǒng)級模型的建模及電路級仿真中電路級模型的建模。
4.更為理想的設計綜合工具的開發(fā)
隨著電子系統(tǒng)和電路的集成規(guī)模越來越大,幾乎不可能直接面向版圖做設計,若要找出版圖中的錯誤,更是難上加難。將設計者的精力從繁瑣的版圖設計和分析中轉移到設計前期的算法開發(fā)和功能驗證上,這是設計綜合工具要達到的目的。高層次設計綜合工具可以將低層次的硬件設計一直轉換到物理級的設計,實現(xiàn)不同層次的不同形式的設計描述轉換,通過各種綜合算法實現(xiàn)設計目標所規(guī)定的優(yōu)化設計。當然,設計者的經驗在設計綜合中仍將起到重要的作用,自動綜合工具將有效地提高優(yōu)化設計效率。設計綜合工具由最初的只能實現(xiàn)邏輯綜合,逐步發(fā)展到可以實現(xiàn)設計前端的綜合,直到設計后端的版圖綜合以及測試綜合的理想且完整的綜合工具。設計前端的綜合工具,可以實現(xiàn)從算法級的行為描述到寄存器傳輸級結構描述的轉換,給出滿足約束條件的硬件結構。在確定寄存器傳輸結構描述后,由邏輯綜合工具完成硬件的門級結構的描述,邏輯綜合的結果將作為版圖綜合的輸入數(shù)據(jù),進行版圖綜合。版圖綜合則是將門級和電路級的結構描述轉換成物理版圖的描述,版圖綜合時將通過自動交互的設計環(huán)境,實現(xiàn)按面積、速度和功率完成布局布線的優(yōu)化,實現(xiàn)最佳的版圖設計。人們希望將設計測試工作盡可能地提前到設計前期,以便縮短設計周期,減少測試費用,因此測試綜合貫穿在設計過程的始終。測試綜合時可以消除設計中的冗余邏輯,診斷不可測的邏輯結構,自動插入可測性結構,生成測試向量;當整個電路設計完成時,測試設計也隨之完成。面對當今飛速發(fā)展的電子產品市場,電子設計人員需要更加實用、快捷的EDA工具,使用統(tǒng)一的集成化設計環(huán)境,改變傳統(tǒng)設計思路,即優(yōu)先考慮具體物理實現(xiàn)方式,而將精力集中到設計構思、方案比較和尋找優(yōu)化設計等方面,以最快的速度開發(fā)出性能優(yōu)良、質量一流的電子產品。今天的EDA工具將向著功能強大、簡單易學、使用方便的方向發(fā)展。1.6.1FPGA/CPLD工程設計流程
假設我們需要建造一棟樓房,第一,我們需要進行“建筑設計”——用各種設計圖紙把我們的建筑設想表示出來;第二,我們要進行“建筑預算”——根據(jù)投資規(guī)模、擬建樓房的結構及有關建房的經驗數(shù)據(jù)等計算需要多少基本建筑材料(如磚、水泥、預制塊、門、窗戶等);第三,根據(jù)建筑設計和建筑預算進行“施工設計”——這些磚、水泥、預制塊、門、窗戶等具體砌在房子的什么部位,相互之間怎樣連接;1.6EDA的工程設計流程第四,根據(jù)施工圖進行“建筑施工”——將這些磚、水泥、預制塊、門、窗戶等按照規(guī)定施工建成一棟樓房;最后,施工完畢后,還要進行“建筑驗收”——檢驗所建樓房是否符合設計要求。同時,在整個建設過程中,我們可能需要做出某些“建筑模型”或進行某些“建筑實驗”。那么,對于目標器件為FPGA和CPLD的VHDL設計,其工程設計步驟如何呢?FPGA/CPLD的工程設計流程與上面所描述的基建流程類似:第一,需要進行“源程序的編輯和編譯”——用一定的邏輯表達手段將設計表達出來;第二,要進行“邏輯綜合”——將用一定的邏輯表達手段表達出來的設計,經過一系列的操作,分解成一系列的基本邏輯電路及對應關系(電路分解);第三,要進行“目標器件的布線/適配”——在選定的目標器件中建立這些基本邏輯電路及對應關系(邏輯實現(xiàn));第四,目標器件的編程/下載——將前面的軟件設計經過編程變成具體的設計系統(tǒng)(物理實現(xiàn));最后,要進行硬件仿真/硬件測試——驗證所設計的系統(tǒng)是否符合設計要求。同時,在設計過程中要進行有關“仿真”——模擬有關設計結果,看是否與設計構想相符。綜上所述,F(xiàn)PGA/CPLD的工程設計的基本流程如圖1.1所示,現(xiàn)具體闡述如下。圖1.1FPGA/CPLD工程設計流程圖
1.源程序的編輯和編譯
利用EDA技術進行一項工程設計,首先需利用EDA工具的文本編輯器或圖形編輯器將它用文本方式或圖形方式表達出來,進行排錯編譯,變成VHDL文件格式,為進一步的邏輯綜合做準備。常用的源程序輸入方式有三種。
(1)原理圖輸入方式:利用EDA工具提供的圖形編輯器以原理圖的方式進行輸入。原理圖輸入方式比較容易掌握,直觀且方便,所畫的電路原理圖(請注意,這種原理圖與利用Protel畫的原理圖有本質的區(qū)別)與傳統(tǒng)的器件連接方式完全一樣,很容易被人接受,而且編輯器中有許多現(xiàn)成的單元器件可以利用,自己也可以根據(jù)需要設計元件。然而原理圖輸入法的優(yōu)點同時也是它的缺點:①隨著設計規(guī)模的增大,設計的易讀性迅速下降,對于圖中密密麻麻的電路連線,極難搞清電路的實際功能;②一旦完成,電路結構的改變就十分困難,因而幾乎沒有可再利用的設計模塊;③移植困難、入檔困難、交流困難、設計交付困難,因為不可能存在一個標準化的原理圖編輯器。
(2)狀態(tài)圖輸入方式:以圖形的方式表示狀態(tài)圖進行輸入。當填好時鐘信號名、狀態(tài)轉換條件、狀態(tài)機類型等要素后,就可以自動生成VHDL程序。這種設計方式簡化了狀態(tài)機的設計,比較流行。
(3)?VHDL軟件程序的文本方式:最一般化、最具普遍性的輸入方法,任何支持VHDL的EDA工具都支持文本方式的編輯和編譯。
2.邏輯綜合和優(yōu)化
欲把VHDL的軟件設計與硬件的可實現(xiàn)性掛鉤,需要利用EDA軟件系統(tǒng)的綜合器進行邏輯綜合。
所謂邏輯綜合,就是將電路的高級語言描述(如HDL、原理圖或狀態(tài)圖形的描述)轉換成低級的,可與FPGA/CPLD或構成ASIC的門陣列基本結構相映射的網表文件。邏輯映射的過程,就是將電路的高級描述,針對給定硬件結構組件,進行編譯、優(yōu)化、轉換和綜合,最終獲得門級電路甚至更底層的電路描述文件的過程。網表文件就是按照某種規(guī)定描述電路的基本組成及如何相互連接的文件。由于VHDL仿真器的行為仿真功能是面向高層次的系統(tǒng)仿真,只能對VHDL的系統(tǒng)描述作可行性的評估測試,不針對任何硬件系統(tǒng),因此基于這一仿真層次的許多VHDL語句不能被綜合器所接受。這就是說,這類語句的描述無法在硬件系統(tǒng)中實現(xiàn)(至少是現(xiàn)階段),這時,綜合器不支持的語句在綜合過程中將被忽略掉。綜合器對VHDL源文件的綜合是針對某一PLD供應商的產品系列的,因此,綜合后的結果是可以為硬件系統(tǒng)所接受的,具有硬件可實現(xiàn)性。
3.目標器件的布線/適配
所謂邏輯適配,就是將由綜合器產生的網表文件針對某一具體的目標器進行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優(yōu)化、布線與操作等,配置于指定的目標器件中,產生最終的下載文件,如JEDEC格式的文件。
適配所選定的目標器件(FPGA/CPLD芯片)必須屬于原綜合器指定的目標器件系列。對于一般的可編程模擬器件所對應的EDA軟件來說,一般僅需包含一個適配器就可以了,如Lattice的PAC-DESIGNER。通常,EDA軟件中的綜合器可由專業(yè)的第三方EDA公司提供,而適配器則需由FPGA/CPLD供應商自己提供,因為適配器的適配對象直接與器件結構相對應。
4.目標器件的編程/下載
如果編譯、綜合、布線/適配和行為仿真、功能仿真、時序仿真等過程都沒有發(fā)現(xiàn)問題,即滿足原設計的要求,則可以將由FPGA/CPLD布線/適配器產生的配置/下載文件通過編程器或下載電纜載入目標芯片F(xiàn)PGA或CPLD中。
5.設計過程中的有關仿真
設計過程中的仿真有三種,分別是行為仿真、功能仿真和時序仿真。
所謂行為仿真,就是將VHDL設計源程序直接送到VHDL仿真器中所進行的仿真。該仿真只是根據(jù)VHDL的語義進行的,與具體電路沒有關系。在這種仿真中,可以充分發(fā)揮VHDL中的適用于仿真控制的語句及有關的預定義函數(shù)和庫文件。所謂功能仿真,就是將綜合后的VHDL網表文件再送到VHDL仿真器中所進行的仿真。這時的仿真僅對VHDL描述的邏輯功能進行測試模擬,以了解其實現(xiàn)的功能是否滿足原設計的要求,仿真過程不涉及具體器件的硬件特性,如延時特性。該仿真的結果與門級仿真器所做的功能仿真結果基本一致。綜合之后的VHDL網表文件采用VHDL語法,首先描述了最基本的門電路,然后將這些門電路用例化語句連接起來。描述的電路與生成的EDIF/XNF等網表文件一致。所謂時序仿真,就是將布線器/適配器所產生的VHDL網表文件送到VHDL仿真器中所進行的仿真。該仿真已將器件特性考慮進去了,因此可以得到精確的時序仿真結果。
布線/適配處理后生成的VHDL網表文件中包含了較為精確的延時信息,網表文件中描述的電路結構與布線/適配后的結果是一致的。需要注意的是,圖1.1中有兩個仿真器,一個是VHDL仿真器,另一個是門級仿真器,它們都能進行功能仿真和時序仿真。所不同的是仿真用的文件格式不同,即網表文件不同。所謂的網表(Netlist),是特指電路網絡,網表文件描述了一個電路網絡。目前流行多種網表文件格式,其中最通用的是EDIF格式的網表文件。XilinxXNF網表文件格式也很流行,不過一般只在使用Xilinx的FPGA/CPLD時才會用到XNF格式。VHDL文件格式也可以用來描述電路網絡,即采用VHDL語法描述各級電路互連,稱之為VHDL網表。
6.硬件仿真/硬件測試
所謂硬件仿真,就是在ASIC設計中,常利用FPGA對系統(tǒng)的設計進行功能檢測,通過后再將其VHDL設計以ASIC形式實現(xiàn)的過程。
所謂硬件測試,就是把FPGA或CPLD直接用于應用系統(tǒng)的設計中,將下載文件下載到FPGA后,對系統(tǒng)設計進行功能檢測的過程。硬件仿真和硬件測試的目的,是為了在更真實的環(huán)境中檢驗VHDL設計的運行情況,特別是對于設計上不是十分規(guī)范、語義上含有一定歧義的VHDL程序。一般的仿真器包括VHDL行為仿真器和VHDL功能仿真器,它們對于同一VHDL設計的“理解”,即仿真模型的產生,與VHDL綜合器的“理解”,即綜合模型的產生,常常是不一致的。此外,由于目標器件功能的可行性約束,綜合器對于設計的“理解”常在一有限范圍內選擇,而VHDL仿真器的“理解”是純軟件行為,其“理解”的選擇范圍要寬得多。這種“理解”的偏差勢必導致仿真結果與綜合后實現(xiàn)的硬件電路在功能上的不一致。當然,還有許多其他的因素也會產生這種不一致。由此可見,VHDL設計的硬件仿真和硬件測試是十分必要的。1.6.2ASIC工程設計流程
ASIC(ApplicationSpecificIntegratedCircuits,專用集成電路)是相對于通用集成電路而言的,ASIC主要指用于某一專門用途的集成電路。ASIC大致可分為數(shù)字ASIC、模擬ASIC和數(shù)/?;旌螦SIC。
對于數(shù)字ASIC,其設計方法有多種。按版圖結構及制造方法分,有半定制(Semi-custom)和全定制(Full-custom)兩種方法。全定制方法是一種基于晶體管級的,手工設計版圖的制造方法。設計者需要使用全定制版圖設計工具來完成。設計者必須考慮晶體管版圖的尺寸、位置、互連線等技術細節(jié),并據(jù)此確定整個電路的布局布線,以使設計的芯片的性能、面積、功耗、成本達到最優(yōu)。但全定制設計中,人工參與的工作量大,設計周期長,而且容易出錯。全定制方法在通用中小規(guī)模集成電路設計、模擬集成電路,包括射頻級集成器件的設計,以及有特殊性能要求和功耗要求的電路或處理器中的特殊功能模塊電路的設計中被廣泛采用。半定制法是一種約束設計方式,約束的目的是簡化設計,縮短設計周期,降低設計成本,提高設計正確率。半定制法按邏輯實現(xiàn)的方式不同,可再分為門陣列法、標準單元法和可編程邏輯器件法。門陣列(GateArray)法是較早使用的一種ASIC設計方法,又稱為母片(MasterSlice)法。它預先設計和制造好各種規(guī)模的母片,其內部成行成列,并等間距地排列著基本單元的陣列。除金屬連線及引線孔以外的各層版圖圖形均固定不變,只剩下一層或兩層金屬鋁連線及孔的掩膜需要根據(jù)用戶電路的不同而定制。每個基本單元是以三對或五對晶體管組成,基本單元的高度、寬度都是相等的,并按行排列。設計人員只需要設計到電路一級,將電路的網表文件交給IC廠家即可。IC廠家根據(jù)網表文件描述的電路連接關系,完成母片上電路單元的布局及單元間的連線。然后對這部分金屬線及引線孔的圖形進行制版、流片。這種設計方式涉及的工藝少、模式規(guī)范、設計自動化程度高、設計周期短、造價低,且適合于小批量的ASIC設計。門陣列法的缺點是芯片面積利用率低,靈活性差,對設計限制得過多。標準單元(StandardCell)法必須預建完善的版圖單元庫,庫中包括以物理版圖級表達的各種電路元件和電路模塊“標準單元”,可供用戶調用以設計不同的芯片。這些單元的邏輯功能、電性能及幾何設計規(guī)則等都已經過分析和驗證。與門陣列單元不同的是,標準單元物理版圖將最低層的各層版圖設計都包括在內。在設計布圖時,從單元庫中調出標準單元按行排列,行與行之間留有布線通道,同行或相鄰行的單元相連可通過單元行的上、下通道完成。隔行單元之間的垂直方向互連則必須借用事先預留在“標準單元”內部的走線道(feed-through)或單元間設置的“走線道單元”(feed-throughcell)或“空單元”(emptycell)來完成。標準單元設計ASIC的優(yōu)點是:
(1)比門陣列法具有更加靈活的布圖方法;
(2)“標準單元”預先存在單元庫中,可以極大地提高設計效率;
(3)可以從根本上解決布通率問題,可以極大地提高設計效率;
(4)可以使設計者更多地從設計項目的高層次關注電路的優(yōu)化和性能問題;
(5)標準單元設計模式自動化程度高、設計周期短、設計效率高。十分適合利用功能強大的EDA工具進行ASIC設計。因此標準單元法是目前ASIC設計中應用最廣泛的設計方法之一。但標準單元法存在的問題是,當工藝更新之后,標準單元庫要隨之更新,這是一項十分繁重的工作。
門陣列法或標準單元法設計ASIC共存的缺點是無法避免冗雜繁復IC制造的后向流程,而且與IC設計工藝緊密相關,最終的設計也需要集成電路制造廠家來完成,一旦設計有誤,將導致巨大的損失。另外還有設計周期長、基礎投入大、更新?lián)Q代難等方面的缺陷。可編程邏輯器件法是用可編程邏輯器件設計用戶定制的數(shù)字電路系統(tǒng)。可編程邏輯器件芯片實質上是門陣列及標準單元設計的延伸和發(fā)展??删幊踢壿嬈骷且环N半定制的邏輯芯片,但與門陣列標準單元法不同,芯片內的硬件資源和連線資源是由廠家預先制定好的,可以方便地通過編程下載獲得重新配置。這樣,用戶就可以借助EDA軟件和編程器在實驗室或車間中自行進行設計、編程或電路更新。如果發(fā)現(xiàn)錯誤,則可以隨時更改,完全不必關心器件實現(xiàn)的具體工藝。用可編程邏輯器件法設計ASIC(或稱可編程ASIC),設計效率大為提高,上市的時間大為縮短。當然,這種用可編程邏輯器件直接實現(xiàn)的ASIC在性能、速度和單位成本上,相對于全定制或標準單元法設計的ASIC,不具備競爭性。此外,也不可能用可編程ASIC去取代通用產品,如CPU、單片機、存儲器等的應用。目前,為了降低單位成本,可以在用可編程邏輯器件實現(xiàn)設計后,用特殊的方法轉成ASIC電路,如Altera的部分FPGA器件在設計成功后可以通過HardCopy技術轉成對應的
門陣列ASIC產品。
一般的ASIC從設計到制造,其工程設計流程如下。
1.系統(tǒng)規(guī)格說明
系統(tǒng)規(guī)格說明(SystemSpecification)就是分析并確定整個系統(tǒng)的功能、要求達到的性能、物理尺寸,確定采用何種制造工藝、設計周期和設計費用,最終建立系統(tǒng)的行為模型,進行可行性驗證。
2.系統(tǒng)劃分
系統(tǒng)劃分(SystemDivision)就是將系統(tǒng)分割成各個功能子模塊,給出子模塊之間的信號連接關系,并驗證各個功能塊的模型,確定系統(tǒng)的關鍵時序。
3.邏輯設計與綜合
邏輯設計與綜合(LogicDesignandSynthesis)就是將劃分的各個子模塊用文本(網表或硬件描述語言)、原理圖等進行具體邏輯描述。對于硬件描述語言描述的設計模塊,需要用綜合器進行綜合,以獲得具體的電路網表文件,對于原理圖等描述方式描述的設計模塊,經簡單編譯后可得到邏輯網表文件。
4.綜合后仿真
綜合后仿真(SimulateafterSynthesis)就是根據(jù)邏輯綜合后得到網表文件,并進行仿真驗證。
5.版圖設計
版圖設計(LayoutDesign)就是將邏輯設計中每一個邏輯元件、電阻、電容等以及它們之間的連線轉換成集成電路制造所需要的版圖信息??墒止せ蜃詣舆M行版圖規(guī)劃(Floorplanning)、布局(Placement)、布線(Routing)。這一步由于涉及邏輯設計到物理實現(xiàn)的映射,又稱為物理設計(PhysicalDesign)。
6.版圖驗證
版圖驗證(LayoutVerification)主要包括:版圖原理圖比對(LVS)、設計規(guī)則檢查(DRC)、電氣規(guī)則檢查(ERC)。在手工版圖設計中,這是非常重要的一步。
7.參數(shù)提取與后仿真
版圖驗證完畢后,需進行版圖的電路網表提取(NE)和參數(shù)提取(PE),把提取出的參數(shù)反注(Back-Annotate)至網表文件,進行最后一步仿真驗證工作。
8.制版、流片
將設計結果送IC生產線進行制版、光罩和流片,進行實驗性生產。
9.芯片測試
測試芯片是否符合設計要求,并評估成品率。1.7.1數(shù)字系統(tǒng)的設計模型
數(shù)字系統(tǒng)指的是交互式的、以離散形式表示的,具有存儲、傳輸、信息處理能力的邏輯子系統(tǒng)的集合。用于描述數(shù)字系統(tǒng)的模型有多種,各種模型描述數(shù)字系統(tǒng)的側重點不同。下面介紹一種普遍采用的模型。這種模型根據(jù)數(shù)字系統(tǒng)的定義,將整個系統(tǒng)劃分為兩個模塊或兩個子系統(tǒng):數(shù)據(jù)處理子系統(tǒng)和控制子系統(tǒng),如圖1.2所示。1.7數(shù)字系統(tǒng)的設計圖1.2數(shù)字系統(tǒng)的設計模型數(shù)據(jù)處理子系統(tǒng)主要完成數(shù)據(jù)的采集、存儲、運算和傳輸。數(shù)據(jù)處理子系統(tǒng)主要由存儲器、運算器、數(shù)據(jù)選擇器等功能電路組成。數(shù)據(jù)處理子系統(tǒng)與外界進行數(shù)據(jù)交換,在控制子系統(tǒng)(或稱控制器)發(fā)出的控制信號作用下,數(shù)據(jù)處理子系統(tǒng)將進行數(shù)據(jù)的存儲和運算等操作。數(shù)據(jù)處理子系統(tǒng)將接收由控制器發(fā)出的控制信號,同時將自己的操作進程或操作結果作為條件信號傳送給控制器。應當根據(jù)數(shù)字系統(tǒng)實現(xiàn)的功能或算法設計數(shù)據(jù)處理子系統(tǒng)??刂谱酉到y(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)送來的條件信號??刂谱酉到y(tǒng)按照數(shù)字系統(tǒng)設計方案要求的算法流程,在時鐘信號的控制下進行狀態(tài)的轉換,同時產生與狀態(tài)和條件信號相對應的輸出信號,該輸出信號將控制數(shù)據(jù)處理子系統(tǒng)的具體操作。應當根據(jù)數(shù)字系統(tǒng)功能及數(shù)據(jù)處理子系統(tǒng)的需求設計控制子系統(tǒng)。把數(shù)字系統(tǒng)劃分成數(shù)據(jù)處理子系統(tǒng)和控制子系統(tǒng)進行設計,這只是一種手段,不是目的。它用來幫助設計者有層次地理解和處理問題,進而獲得清晰、完整、正確的電路圖。因此,數(shù)字系統(tǒng)的劃分應當遵循自然、易于理解的原則。
設計一個數(shù)字系統(tǒng)時,采用該模型的優(yōu)點是:
(1)把數(shù)字系統(tǒng)劃分為控制子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)兩個主要部分,使設計者面對的電路規(guī)模減小,二者可以分別設計。
(2)數(shù)字系統(tǒng)中控制子系統(tǒng)的邏輯關系比較復雜,將其獨立劃分出來后,可突出設計重點和分散設計難點。
(3)當數(shù)字系統(tǒng)劃分為控制子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)后,邏輯分工清楚,各自的任務明確,這可以使電路的設計、調測和故障處理都比較方便。但采用該模型設計一個數(shù)字系統(tǒng)時,必須先分析和找出實現(xiàn)系統(tǒng)邏輯的算法,根據(jù)具體的算法要求提出系統(tǒng)內部的結構要求,再根據(jù)各個部分分擔的任務劃分出控制子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)。算法不同,系統(tǒng)的內部結構不同,控制子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)電路也不同。有時,控制子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)的界限劃分也比較困難,需要反復比較和調整才能確定。1.7.2數(shù)字系統(tǒng)的設計方法
數(shù)字系統(tǒng)的設計一般采用自頂向下、由粗到細、逐步求精的方法。自頂向下是指將數(shù)字系統(tǒng)的整體逐步分解為各個子系統(tǒng)和模塊,若子系統(tǒng)規(guī)模較大,則還需將子系統(tǒng)進一步分解為更小的子系統(tǒng)和模塊,層層分解,直至整個系統(tǒng)中各子系統(tǒng)關系合理,并便于邏輯電路級的設計和實現(xiàn)為止。采用該方法設計時,高層設計進行功能和接口描述,說明模塊的功能和接口,模塊功能的更詳細的描述在下一設計層次說明,最底層的設計才涉及具體的寄存器和邏輯門電路等實現(xiàn)方式的描述。采用自頂向下的設計方法有如下優(yōu)點:
(1)自頂向下設計方法是一種模塊化設計方法。對設計的描述從上到下逐步由粗略到詳細,符合常規(guī)的邏輯思維習慣。由于高層設計與器件無關,因此設計易于在各種集成電路工藝或可編程器件之間移植。
(2)適合多個設計者同時進行設計。隨著技術的不斷進步,許多設計由一個設計者已無法完成,由多個設計者分工協(xié)作完成一項設計的情況越來越多。在這種情況下,應用自頂向下的設計方法便于由多個設計者同時進行設計,對設計任務進行合理分配,用系統(tǒng)工程的方法對設計進行管理。針對具體的設計,實施自頂向下的設計方法的形式會有所不同,但均需遵循兩條原則:逐層分解功能和分層次進行設計。同時,應在各個設計層次上,考慮相應的仿真驗證問題。1.7.3數(shù)字系統(tǒng)的設計準則
進行數(shù)字系統(tǒng)設計時,通常需要考慮多方面的條件和要求,如設計的功能和性能要求,元器件的資源分配和設計工具的可實現(xiàn)性,系統(tǒng)的開發(fā)費用和成本等。雖然具體設計的條件和要求千差萬別,實現(xiàn)的方法也各不相同,但數(shù)字系統(tǒng)設計還是具備一些共同的方法和準則的。
1.分割準則
自頂向下的設計方法或其他層次化的設計方法,需要對系統(tǒng)功能進行分割,然后用邏輯語言進行描述。分割過程中,若分割過粗,則不易用邏輯語言表達;若分割過細,則帶來不必要的重復和繁瑣。因此,分割的粗細需要根據(jù)具體的設計和設計工具情況而定。掌握分割程度需遵循的原則為:分割后最底層的邏輯塊應適合用邏輯語言進行表達;相似的功能應該設計成共享的基本模塊;接口信號盡可能少;同層次的模塊之間,在資源和I/O分配上,盡可能平衡,以使結構勻稱;??斓膭澐趾驮O計,應盡可能做到通用性好,易于移植。
2.系統(tǒng)的可觀測性
在系統(tǒng)設計中,應該同時考慮功能檢查和性能的測試,即系統(tǒng)觀測性的問題。一些有經驗的設計者會自覺地在設計系統(tǒng)的同時設計觀測電路,即觀測器,指示系統(tǒng)內部的工作狀態(tài)。
建立觀測器,應遵循的原則為:具有系統(tǒng)的關鍵點信號,如時鐘、同步信號和狀態(tài)等信號;具有代表性的節(jié)點和線路上的信號;具備簡單的“系統(tǒng)工作是否正常”的判斷能力。
3.同步和異步電路
異步電路會造成較大延時和邏輯競爭,容易引起系統(tǒng)的不穩(wěn)定,而同步電路則是按照統(tǒng)一的時鐘工作,穩(wěn)定性好。因此,在設計時應盡可能采用同步電路進行設計,避免使用異步電路。在必須使用異步電路時,應采取措施來避免競爭和增加穩(wěn)定性。
4.最優(yōu)化設計
由于可編程器件的邏輯資源、連接資源和I/O資源有限,器件的速度和性能也是有限的,用器件設計系統(tǒng)的過程相當于求最優(yōu)解的過程,因此,需要給定兩個約束條件:邊界條件和最優(yōu)化目標。
所謂邊界條件,是指器件的資源及性能限制。最優(yōu)化目標有多種,設計中常見的最優(yōu)化目標有:器件資源利用率最高;系統(tǒng)工作速度最快,即延時最?。徊季€最容易,即可實現(xiàn)性最好。具體設計中,各個最優(yōu)化目標間可能會產生沖突,這時應滿足設計的主要要求。
5.系統(tǒng)設計的藝術
一個系統(tǒng)的設計,通常需要經過反復的修改、優(yōu)化才能達到設計的要求。一個好的設計,應該滿足“和諧”的基本特征,對數(shù)字系統(tǒng)可以根據(jù)幾點做出判斷:①設計是否總體上流暢,無拖泥帶水的感覺;②資源分配、I/O分配是否合理,設計上和性能上是否有瓶頸,系統(tǒng)結構是否協(xié)調;③是否具有良好的可觀測性;④是否易于修改和移植;⑤器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 賠償責任劃分協(xié)議書
- 終止合作補償協(xié)議書
- 租車換車協(xié)議書模板
- 架線用地協(xié)議書范本
- 離異小孩探視協(xié)議書
- 贈與款項協(xié)議書范本
- 租賃房屋轉讓協(xié)議書
- 績效工資考核協(xié)議書
- 雙方賠款協(xié)議書手寫
- 林地農莊轉讓協(xié)議書
- DB11T 1424-2017 信息化項目軟件運維費用測算規(guī)范
- 急診科小講課腦卒中
- 膾炙人口的歌-小城故事 課件 2024-2025學年粵教花城版(簡譜)(2024)初中音樂七年級上冊
- 廣告設計師三級理論知識鑒定要素細目表
- 2024年二手設備買賣合同參考樣本(二篇)
- 抗旱報告申請書
- 粵教版四年級勞動與技術 第二單元 小泥巴變變變 活動2 泥塑杯子 教案
- 2024-2030年中國駱駝奶制造市場銷售格局與發(fā)展趨勢前景分析研究報告
- 2024年實驗室保密規(guī)定
- 2024年廣東省廣州市市中考英語試卷真題(含答案解析)
- 2024年國家林業(yè)和草原局華東調查規(guī)劃設計院招聘高校畢業(yè)生10人歷年(高頻重點復習提升訓練)共500題附帶答案詳解
評論
0/150
提交評論