大三上eda技術第1章緒論_第1頁
大三上eda技術第1章緒論_第2頁
大三上eda技術第1章緒論_第3頁
大三上eda技術第1章緒論_第4頁
大三上eda技術第1章緒論_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

1、第1章 緒論 1.1 EDA技術的涵義1.2 EDA技術的發(fā)展歷程 1.3 EDA技術的主要內(nèi)容 1.4 EDA軟件系統(tǒng)的構成 1.5 EDA工具的發(fā)展趨勢 1.6 EDA的工程設計流程 1.7 數(shù)字系統(tǒng)的設計 1.8 EDA技術的應用展望 習題 1.1 EDA技術的涵義 什么叫EDA技術?由于它是一門迅速發(fā)展的新技術,涉及面廣,內(nèi)容豐富,理解各異,目前尚無統(tǒng)一的看法。作者認為:EDA技術有狹義的EDA技術和廣義的EDA技術之分。 利用EDA技術(特指IES/ASIC自動設計技術)進行電子系統(tǒng)的設計,具有以下幾個特點: 用軟件的方式設計硬件; 用軟件方式設計的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由有關的開發(fā)

2、軟件自動完成的; 設計過程中可用有關軟件進行各種仿真; 系統(tǒng)可現(xiàn)場編程,在線升級; 整個系統(tǒng)可集成在一個芯片上,體積小、功耗低、可靠性高。因此,EDA技術是現(xiàn)代電子設計的發(fā)展趨勢。1.2 EDA技術的發(fā)展歷程 1. 20世紀70年代的計算機輔助設計CAD階段 早期的電子系統(tǒng)硬件設計采用的是分立元件,隨著集成電路的出現(xiàn)和應用,硬件設計進入到發(fā)展的初級階段。初級階段的硬件設計大量選用中、小規(guī)模標準集成電路。 由于設計師對圖形符號使用數(shù)量有限,因此傳統(tǒng)的手工布圖方法無法滿足產(chǎn)品復雜性的要求,更不能滿足工作效率的要求。 2. 20世紀80年代的計算機輔助工程設計CAE階段 初級階段的硬件設計是用大量不

3、同型號的標準芯片實現(xiàn)電子系統(tǒng)設計的。隨著微電子工藝的發(fā)展,相繼出現(xiàn)了集成上萬只晶體管的微處理器、集成幾十萬直到上百萬儲存單元的隨機存儲器和只讀存儲器。 伴隨著計算機和集成電路的發(fā)展,EDA技術進入到計算機輔助工程設計階段。20世紀80年代初推出的EDA工具則以邏輯模擬、定時分析、故障仿真、自動布局和布線為核心,重點解決電路設計沒有完成之前的功能檢測等問題。利用這些工具,設計師能在產(chǎn)品制作之前預知產(chǎn)品的功能與性能,能生成產(chǎn)品制造文件,使設計階段對產(chǎn)品性能的分析前進了一大步。 3. 20世紀90年代電子系統(tǒng)設計自動化EDA階段 為了滿足千差萬別的系統(tǒng)用戶提出的設計要求,最好的辦法是由用戶自己設計芯

4、片,讓他們把想設計的電路直接設計在自己的專用芯片上。微電子技術的發(fā)展,特別是可編程邏輯器件的發(fā)展,使得微電子廠家可以為用戶提供各種規(guī)模的可編程邏輯器件,使設計者通過設計芯片實現(xiàn)電子系統(tǒng)功能。 EDA工具的發(fā)展,又為設計師提供了全線EDA工具。這個階段發(fā)展起來的EDA工具,目的是在設計前期將設計師從事的許多高層次設計工作由工具來完成,如可以將用戶要求轉(zhuǎn)換為設計技術規(guī)范,有效地處理可用的設計資源與理想的設計目標之間的矛盾,按具體的硬件、軟件和算法分解設計等。由于電子技術和EDA工具的發(fā)展,設計師可以在不太長的時間內(nèi)使用EDA工具,通過一些簡單標準化的設計過程,利用微電子廠家提供的設計庫來完成數(shù)萬門

5、ASIC和集成系統(tǒng)的設計與驗證。 20世紀90年代,設計師逐步從使用硬件轉(zhuǎn)向設計硬件,從單個電子產(chǎn)品開發(fā)轉(zhuǎn)向系統(tǒng)級電子產(chǎn)品開發(fā)(即片上系統(tǒng)集成,System on a chip)。 1.3 EDA技術的主要內(nèi)容1. 大規(guī)??删幊踢壿嬈骷?可編程邏輯器件(簡稱PLD)是一種由用戶編程以實現(xiàn)某種邏輯功能的新型邏輯器件。FPGA和CPLD分別是現(xiàn)場可編程門陣列和復雜可編程邏輯器件的簡稱?,F(xiàn)在,F(xiàn)PGA和CPLD器件的應用已十分廣泛,它們將隨著EDA技術的發(fā)展而成為電子設計領域的重要角色。 FPGA 在結(jié)構上主要分為三個部分,即可編程邏輯單元,可編程輸入/輸出單元和可編程連線三個部分。CPLD在結(jié)構上

6、主要包括三個部分,即可編程邏輯宏單元,可編程輸入/輸出單元和可編程內(nèi)部連線。 高集成度、高速度和高可靠性是FPGA/CPLD最明顯的特點,其時鐘延時可小至ns級。結(jié)合其并行工作方式,在超高速應用領域和實時測控方面有著非常廣闊的應用前景。 2. 硬件描述語言(HDL) 常用的硬件描述語言有VHDL、Verilog、ABEL。 VHDL:作為IEEE的工業(yè)標準硬件描述語言,在電子工程領域,已成為事實上的通用硬件描述語言。 Verilog:支持的EDA工具較多,適用于RTL級和門電路級的描述,其綜合過程較VHDL稍簡單,但其在高級描述方面不如VHDL。 ABEL:一種支持各種不同輸入方式的HDL,被

7、廣泛用于各種可編程邏輯器件的邏輯功能設計,由于其語言描述的獨立性,因而適用于各種不同規(guī)模的可編程器件的設計。 有專家認為,在新世紀中,VHDL與Verilog語言將承擔幾乎全部的數(shù)字系統(tǒng)設計任務。 3. 軟件開發(fā)工具 早期及目前比較流行的、主流廠家的EDA的軟件工具有Altera的MAX+plus II、Lattice的ispEXPERT、Xilinx的Foundation Series。 MAX+plus II:支持原理圖、VHDL和Verilog語言文本文件以及以波形與EDIF等格式的文件作為設計輸入,并支持這些文件的任意混合設計。它具有門級仿真器,可以進行功能仿真和時序仿真,能夠產(chǎn)生精確

8、的仿真結(jié)果。 在適配之后,MAX+plus II生成供時序仿真用的EDIF、VHDL和Verilog這三種不同格式的網(wǎng)表文件。它界面友好,使用便捷,被譽為業(yè)界最易學易用的EDA的軟件,并支持主流的第三方EDA工具,支持除APEX20K系列之外的所有Altera公司的FPGA/CPLD大規(guī)模邏輯器件。 ispEXPERT:ispEXPERT System是ispEXPERT的主要集成環(huán)境。通過它可以進行VHDL、Verilog及ABEL語言的設計輸入、綜合、適配、仿真和在系統(tǒng)下載。ispEXPERT System是目前流行的EDA軟件中最容易掌握的設計工具之一,它界面友好,操作方便,功能強大,并

9、與第三方EDA工具兼容良好。 Foundation Series:Xilinx公司最新集成開發(fā)的EDA工具。它采用自動化的、完整的集成設計環(huán)境。Foundation項目管理器集成了Xilinx實現(xiàn)工具,并包含了強大的Synopsys FPGA Express綜合系統(tǒng),是業(yè)界最強大的EDA設計工具之一。 這三個軟件的基本功能相同,主要差別在于: 面向的目標器件不一樣; 三者的性能各有優(yōu)劣。 4. 實驗開發(fā)系統(tǒng) 實驗開發(fā)系統(tǒng)提供芯片下載電路及EDA實驗/開發(fā)的外圍資源(類似于用于單片機開發(fā)的仿真器),以供硬件驗證用。一般包括: 實驗或開發(fā)所需的各類基本信號發(fā)生模塊,包括時鐘、脈沖、高低電平等; F

10、PGA/CPLD輸出信息顯示模塊,包括數(shù)碼顯示、發(fā)光管顯示、聲響指示等; 監(jiān)控程序模塊,提供“電路重構軟配置”; 目標芯片適配座以及上面的FPGA/CPLD目標芯片和編程下載電路。1.4 EDA軟件系統(tǒng)的構成 EDA技術的對象是電子設計的全過程,有系統(tǒng)級、電路級和物理級三個層次的設計。從專用集成電路(ASIC)開發(fā)與應用角度看,EDA軟件系統(tǒng)應當包含以下子模塊:設計輸入子模塊、設計數(shù)據(jù)庫子模塊、分析驗證子模塊、綜合仿真子模塊、布局布線子模塊等。 (1) 設計輸入子模塊:該模塊接受用戶的設計描述,并進行語義正確性、語法規(guī)則的檢查,檢查通過后,將用戶的設計描述數(shù)據(jù)轉(zhuǎn)換為EDA軟件系統(tǒng)的內(nèi)部數(shù)據(jù)格式

11、,存入設計數(shù)據(jù)庫,以便被其他子模塊調(diào)用。 (2) 設計數(shù)據(jù)庫子模塊:該模塊存放系統(tǒng)提供的庫單元以及用戶的設計描述和中間設計結(jié)果。 (3) 分析驗證子模塊:該模塊包括各個層次的模擬驗證、設計規(guī)則的檢查、故障診斷等。 (4) 綜合仿真子模塊:該模塊包括各個層次的綜合工具。理想的情況是從高層次到低層次的綜合仿真全部由EDA工具自動實現(xiàn)。 (5) 布局布線子模塊:該模塊實現(xiàn)由邏輯設計到物理實現(xiàn)的映射,因此與物理實現(xiàn)的方式密切相關。例如,最終的物理實現(xiàn)可以是門陣列、可編程邏輯器件等。由于對應的器件不同,因此各自的布局布線工具會有很大的差異。 EDA工具不只面向ASIC的應用與開發(fā),還有涉及電子設計各個方

12、面的EDA工具,包括數(shù)字電路設計、模擬電路設計、數(shù)?;旌显O計、系統(tǒng)設計、仿真驗證等電子設計的許多領域EDA工具。這些工具對硬件環(huán)境要求高,一般的運行平臺要求是工作站和UNIX操作系統(tǒng),其功能齊全、性能優(yōu)良,一般由專門開發(fā)EDA軟件工具的軟件公司提供,如Cadence、Mentel Graphics、Viewlogic、Synopsys等軟件公司都有其特色工具。 Viewlogic公司的EDA工具就有基本工具、系統(tǒng)設計工具和ASIC/FPGA設計工具三大類20多個工具。其中: 基本工具包括:原理圖輸入工具ViewDraw、數(shù)字仿真器ViewSim、波形編輯與顯示器ViewTrace、靜態(tài)時序分析

13、工具Motive、設計流程管理工具ViewFlow等。 系統(tǒng)設計工具包括:模擬電路仿真器ViewSpice、PLD開發(fā)工具包ViewPLD、庫開發(fā)工具ViewLibrarian、PCB信號串擾分析工具XTK、PCB布線前信號分析工具PDQ、電磁兼容設計工具QUIET、PCB版面規(guī)劃工具ViewFloorplanner等。 ASIC/FPGA設計工具包括:VHD 仿真器SpeedWave、SpeedWave Verilog仿真器VCS、邏輯綜合工具ViewSynthesis、自動測試向量生成工具Test Gen/Sunrise、原理圖自動生成工具ViewGen、有限狀態(tài)機設計工具ViewFSM、

14、Datapath設計工具ViewDatapath、VHD 與Verilog混合仿真環(huán)境FusionHD 等。 1.5 EDA工具的發(fā)展趨勢 1. 設計輸入工具的發(fā)展趨勢 早期EDA工具設計輸入普遍采用原理圖輸入方式,以文字和圖形作為設計載體和文件,將設計信息加載到后續(xù)的EDA工具中,完成設計分析工作。原理圖輸入方式的優(yōu)點是直觀,能滿足以設計分析為主的一般要求,但是原理圖輸入方式不適合用EDA綜合工具。 2. 具有混合信號處理能力的EDA工具 目前,數(shù)字電路設計的EDA工具遠比模擬電路的EDA工具多。模擬集成電路EDA工具開發(fā)的難度較大,但是,由于物理量本身多以模擬形式存在,所以實現(xiàn)高性能的復雜

15、電子系統(tǒng)的設計離不開模擬信號。 3. 更為有效的仿真工具的發(fā)展 通常,可以將電子系統(tǒng)設計的仿真過程分為兩個階段:設計前期的系統(tǒng)級仿真和設計過程的電路級仿真。系統(tǒng)級仿真主要驗證系統(tǒng)的功能;電路級仿真主要驗證系統(tǒng)的性能,決定怎樣實現(xiàn)設計所需的精度。 4. 更為理想的設計綜合工具的開發(fā) 今天,電子系統(tǒng)和電路的集成規(guī)模越來越大,幾乎不可能直接面向版圖做設計,若要找出版圖中的錯誤,更是難上加難。 面對當今飛速發(fā)展的電子產(chǎn)品市場,電子設計人員需要更加實用、快捷的EDA工具,使用統(tǒng)一的集成化設計環(huán)境,改變傳統(tǒng)設計思路,即優(yōu)先考慮具體物理實現(xiàn)方式,而將精力集中到設計構思、方案比較和尋找優(yōu)化設計等方面,以最快的

16、速度開發(fā)出性能優(yōu)良、質(zhì)量一流的電子產(chǎn)品。 1.6 EDA的工程設計流程 假設我們需要建造一棟樓房,第一,我們需要進行“建筑設計”用各種設計圖紙把我們的建筑設想表示出來;第二,我們要進行“建筑預算”根據(jù)投資規(guī)模、擬建樓房的結(jié)構及有關建房的經(jīng)驗數(shù)據(jù)等計算需要多少基本的建筑材料(如磚、水泥、預制塊、門、窗戶等); 第三,根據(jù)建筑設計和建筑預算進行“施工設計”這些磚、水泥、預制塊、門、窗戶等具體砌在房子的什么部位,相互之間怎樣連接;第四,根據(jù)施工圖進行“建筑施工”將這些磚、水泥、預制塊、門、窗戶等按照規(guī)定施工建成一棟樓房;最后,施工完畢后,還要進行“建筑驗收”檢驗所建樓房是否符合設計要求。同時,在整個

17、建設過程中,我們可能需要做出某些“建筑模型”或進行某些“建筑實驗”。 那么,對于目標器件為FPGA和CPLD的VHDL 設計,其工程設計步驟如何呢?EDA的工程設計流程與上面所描述的基建流程類似:第一需要進行“源程序的編輯和編譯”用一定的邏輯表達手段將設計表達出來;第二要進行“邏輯綜合”將用一定的邏輯表達手段表達出來的設計,經(jīng)過一系列的操作,分解成一系列的基本邏輯電路及對應關系(電路分解); 第三要進行“目標器件的布線/適配”在選定的目標器件中建立這些基本邏輯電路及對應關系(邏輯實現(xiàn));第四,目標器件的編程/下載將前面的軟件設計經(jīng)過編程變成具體的設計系統(tǒng)(物理實現(xiàn));最后,要進行硬件仿真/硬件

18、測試驗證所設計的系統(tǒng)是否符合設計要求。同時,在設計過程中要進行有關“仿真”模擬有關設計結(jié)果與設計構想是否相符。綜上所述,EDA的工程設計的基本流程如圖1.1所示,現(xiàn)具體闡述如下。圖1.1 EDA工程設計流程圖 1. 源程序的編輯和編譯 利用EDA技術進行一項工程設計,首先需利用EDA工具的文本編輯器或圖形編輯器將它用文本方式或圖形方式表達出來,進行排錯編譯,變成VHD 文件格式,為進一步的邏輯綜合做準備。 常用的源程序輸入方式有三種。 (1) 原理圖輸入方式:利用EDA工具提供的圖形編輯器以原理圖的方式進行輸入。原理圖輸入方式比較容易掌握,直觀且方便,所畫的電路原理圖(請注意,這種原理圖與利用

19、Protel畫的原理圖有本質(zhì)的區(qū)別)與傳統(tǒng)的器件連接方式完全一樣,很容易被人接受,而且 編輯器中有許多現(xiàn)成的單元器件可以利用,自己也可以根據(jù)需要設計元件。然而原理圖輸入法的優(yōu)點同時也是它的缺點: 隨著設計規(guī)模的增大,設計的易讀性迅速下降,對于圖中密密麻麻的電路連線,極難搞清電路的實際功能; 一旦完成,電路結(jié)構的改變將十分困難,因而幾乎沒有可再利用的設計模塊; 移植困難、入檔困難、交流困難、設計交付困難,因為不可能存在一個標準化的原理圖編輯器。 (2) 狀態(tài)圖輸入方式:以圖形的方式表示狀態(tài)圖進行輸入。當填好時鐘信號名、狀態(tài)轉(zhuǎn)換條件、狀態(tài)機類型等要素后,就可以自動生成VHD 程序。這種設計方式簡化

20、了狀態(tài)機的設計。 (3) VHD 軟件程序的文本方式:最一般化、最具普遍性的輸入方法,任何支持VHD 的EDA工具都支持文本方式的編輯和編譯。 2. 邏輯綜合和優(yōu)化 欲把VHDL的軟件設計與硬件的可實現(xiàn)性掛鉤,需要利用EDA軟件系統(tǒng)的綜合器進行邏輯綜合。 所謂邏輯綜合,就是將電路的高級語言描述(如HDL、原理圖或狀態(tài)圖形的描述)轉(zhuǎn)換成低級的,可與FPGA/CPLD或構成ASIC的門陣列基本結(jié)構相映射的網(wǎng)表文件。 由于VHDL仿真器的行為仿真功能是面向高層次的系統(tǒng)仿真,只能對VHDL的系統(tǒng)描述作可行性的評估測試,不針對任何硬件系統(tǒng),因此基于這一仿真層次的許多VHDL語句不能被綜合器所接受。 3.

21、 目標器件的布線/適配 所謂邏輯適配,就是將由綜合器產(chǎn)生的網(wǎng)表文件針對某一具體的目標器進行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優(yōu)化、布線與操作等,配置于指定的目標器件中,產(chǎn)生最終的下載文件,如JEDEC格式的文件。 適配所選定的目標器件(FPGA/CPLD芯片)必須屬于原綜合器指定的目標器件系列。對于一般的可編程模擬器件所對應的EDA軟件來說,一般僅需包含一個適配器就可以了,如 lattice的PACDESIGNER。通常,EDA軟件中的綜合器可由專業(yè)的第三方EDA公司提供,而適配器則需由FPGA/CPLD供應商自己提供,因為適配器的適配對象直接與器件結(jié)構相對應。 4. 目標器件

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

23、器中所進行的仿真。 所謂時序仿真,就是將布線器/適配器所產(chǎn)生的VHDL網(wǎng)表文件送到VHDL仿真器中所進行的仿真。 6. 硬件仿真/硬件測試 所謂硬件仿真,就是在ASIC設計中,常利用FPGA對系統(tǒng)的設計進行功能檢測,通過后再將其VHDL設計以ASIC形式實現(xiàn)的過程。 所謂硬件測試,就是FPGA或CPLD直接用于應用系統(tǒng)的設計中,將下載文件下載到FPGA后,對系統(tǒng)的設計進行的功能檢測的過程。 硬件仿真和硬件測試的目的,是為了在更真實的環(huán)境中檢驗VHDL設計的運行情況,特別是對于VHDL程序設計上不是十分規(guī)范、語義上含有一定歧義的程序。 1.7 數(shù)字系統(tǒng)的設計 1.7.1 數(shù)字系統(tǒng)的設計模型 數(shù)字

24、系統(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ù)據(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ā)出的控制信號

25、,同時將自己的操作進程或操作結(jié)果作為條件信號傳送給控制器。應當根據(jù)數(shù)字系統(tǒng)實現(xiàn)的功能或算法設計數(shù)據(jù)處理子系統(tǒng)。 控制子系統(tǒng)是執(zhí)行數(shù)字系統(tǒng)算法的核心,具有記憶功能,因此控制子系統(tǒng)是時序系統(tǒng)??刂谱酉到y(tǒng)由組合邏輯電路和觸發(fā)器組成,與數(shù)據(jù)處理子系統(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ī)模減小,二者可以

26、分別設計。 (2) 由于數(shù)字系統(tǒng)中控制子系統(tǒng)的邏輯關系比較簡單,將其獨立劃分出來后,可突出設計重點和分散設計難點。 (3) 當數(shù)字系統(tǒng)劃分為控制子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)后,邏輯分工清楚,各自的任務明確 1.7.2 數(shù)字系統(tǒng)的設計方法 數(shù)字系統(tǒng)設計有多種方法,如模塊設計法、自頂向下設計法和自底向上設計法等。 數(shù)字系統(tǒng)的設計一般采用自頂向下、由粗到細、逐步求精的方法。 采用自頂向下的設計方法有如下優(yōu)點: (1) 自頂向下設計方法是一種模塊化設計方法。對設計的描述從上到下逐步由粗略到詳細,符合常規(guī)的邏輯思維習慣。 (2) 適合多個設計者同時進行設計。隨著技術的不斷進步,許多設計由一個設計者已無法完成,

27、由多個設計者分工協(xié)作完成一項設計的情況越來越多。 針對具體的設計,實施自頂向下的設計方法的形式會有所不同,但均需遵循以下兩條原則:逐層分解功能和分層次進行設計。同時,應在各個設計層次上,考慮相應的仿真驗證問題。 1.7.3 數(shù)字系統(tǒng)的設計準則 進行數(shù)字系統(tǒng)設計時,通常需要考慮多方面的條件和要求,如設計的功能和性能要求,元器件的資源分配和設計工具的可實現(xiàn)性,系統(tǒng)的開發(fā)費用和成本等。雖然具體設計的條件和要求千差萬別,實現(xiàn)的方法也各不相同,但數(shù)字系統(tǒng)設計還是具備一些共同的方法和準則的。 1分割準則 自頂向下的設計方法或其他層次化的設計方法,需要對系統(tǒng)功能進行分割,然后用邏輯語言進行描述。分割過程中,

28、若分割過粗,則不易用邏輯語言表達;分割過細,則帶來不必要的重復和繁瑣。 2系統(tǒng)的可觀測性 在系統(tǒng)設計中,應該同時考慮功能檢查和性能的測試,即系統(tǒng)觀測性的問題。一些有經(jīng)驗的設計者會自覺地在設計系統(tǒng)的同時設計觀測電路,即觀測器,指示系統(tǒng)內(nèi)部的工作狀態(tài)。 建立觀測器,應遵循以下原則:具有系統(tǒng)的關鍵點信號,如時鐘、同步信號和狀態(tài)等信號;具有代表性的節(jié)點和線路上的信號;具備簡單的“系統(tǒng)工作是否正?!钡呐袛嗄芰Α?3同步和異步電路 異步電路會造成較大延時和邏輯競爭,容易引起系統(tǒng)的不穩(wěn)定,而同步電路則是按照統(tǒng)一的時鐘工作,穩(wěn)定性好。因此,在設計時應盡可能采用同步電路進行設計,避免使用異步電路。在必須使用異步

29、電路時,應采取措施來避免競爭和增加穩(wěn)定性。 4最優(yōu)化設計 由于可編程器件的邏輯資源、連接資源和I/O資源有限,器件的速度和性能也是有限的,用器件設計系統(tǒng)的過程相當于求最優(yōu)解的過程,因此,需要給定兩個約束條件:邊界條件和最優(yōu)化目標。 所謂邊界條件,是指器件的資源及性能限制。最優(yōu)化目標有多種,設計中常見的最優(yōu)化目標有:器件資源利用率最高;系統(tǒng)工作速度最快,即延時最小;布線最容易,即可實現(xiàn)性最好。具體設計中,各個最優(yōu)化目標間可能會產(chǎn)生沖突,這時應滿足設計的主要要求。 5系統(tǒng)設計的藝術 一個系統(tǒng)的設計,通常需要經(jīng)過反復的修改、優(yōu)化才能達到設計的要求。一個好的設計,應該滿足“和諧”的基本特征,對數(shù)字系統(tǒng)

30、可以根據(jù)以下幾點做出判斷: 設計是否總體上流暢,無拖泥帶水的感覺;資源分配、I/O分配是否合理,設計上和性能上是否有瓶頸,系統(tǒng)結(jié)構是否協(xié)調(diào);是否具有良好的可觀測性;是否易于修改和移植;器件的特點是否能得到充分的發(fā)揮。 1.7.4 數(shù)字系統(tǒng)的設計步驟 1系統(tǒng)任務分析 數(shù)字系統(tǒng)設計中的第一步是明確系統(tǒng)的任務。在設計任務書中,可用各種方式提出對整個數(shù)字系統(tǒng)的邏輯要求,常用的方式有自然語言、邏輯流程圖、時序圖或幾種方法的結(jié)合。當系統(tǒng)較大或邏輯關系較復雜時,系統(tǒng)任務(邏輯要求)邏輯的表述和理解都不是一件容易的工作。所以,分析系統(tǒng)的任務必須細致、全面,不能有理解上的偏差和疏漏。 2確定邏輯算法 實現(xiàn)系統(tǒng)邏

31、輯運算的方法稱為邏輯算法,也簡稱為算法。一個數(shù)字系統(tǒng)的邏輯運算往往有多種算法,設計者的任務不但是要找出各種算法,還必須比較優(yōu)劣,取長補短,從中確定最合理的一種。數(shù)字系統(tǒng)的算法是邏輯設計的基礎,算法不同,則系統(tǒng)的結(jié)構也不同,算法的合理與否直接影響系統(tǒng)結(jié)構的合理性。確定算法是數(shù)字系統(tǒng)設計中最具創(chuàng)造性的一環(huán),也是最難的一步。 3建立系統(tǒng)及子系統(tǒng)模型 當算法明確后,應根據(jù)算法構造系統(tǒng)的硬件框架(也稱為系統(tǒng)框圖),將系統(tǒng)劃分為若干個部分,各部分分別承擔算法中不同的邏輯操作功能。如果某一部分的規(guī)模仍嫌大,則需進一步劃分。劃分后的各個部分應邏輯功能清楚,規(guī)模大小合適,便于進行電路級的設計。 4系統(tǒng)(或模塊)

32、邏輯描述 當系統(tǒng)中各個子系統(tǒng)(指最低層子系統(tǒng))和模塊的邏輯功能和結(jié)構確定后,則需采用比較規(guī)范的形式來描述系統(tǒng)的邏輯功能。設計方案的描述方法可以有多種,常用的有方框圖、流程圖和描述語言等。 對系統(tǒng)的邏輯描述可先采用較粗略的邏輯流程圖,再將邏輯流程圖逐步細化為詳細邏輯流程圖,最后將詳細邏輯流程圖表示成與硬件有對應關系的形式,為下一步的電路級設計提供依據(jù)。 5邏輯電路級設計及系統(tǒng)仿真 電路級設計是指選擇合理的器件和連接關系以實現(xiàn)系統(tǒng)邏輯要求。電路級設計的結(jié)果常采用兩種方式來表達:電路圖方式和硬件描述語言方式。EDA軟件允許以這兩種方式輸入,以便作后續(xù)的處理。 6系統(tǒng)的物理實現(xiàn) 物理實現(xiàn)是指用實際的器件實現(xiàn)數(shù)字系統(tǒng)的設計,用儀表測量設計的電路是否符合設計要求?,F(xiàn)在的數(shù)字系統(tǒng)往往采用大規(guī)模和超大規(guī)模集成電路,由于器件集成度高、導線密集,故一般在電路設計完成后即設計印刷電路板,在印刷電路板上組裝電路進行測試。需要注意的是,印刷電路板本身的物理特性也會影響電路的邏輯關系。1.8 EDA技術的應用展望1. EDA技術將廣泛應用于高校電類專業(yè)的實踐教學工作中 用VHDL語言可以對各種數(shù)字集成電路芯片進行方便的

溫馨提示

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

評論

0/150

提交評論