數(shù)字系統(tǒng)的EDA設(shè)計_第1頁
數(shù)字系統(tǒng)的EDA設(shè)計_第2頁
數(shù)字系統(tǒng)的EDA設(shè)計_第3頁
數(shù)字系統(tǒng)的EDA設(shè)計_第4頁
數(shù)字系統(tǒng)的EDA設(shè)計_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)字系統(tǒng)的EDA設(shè)計數(shù)字系統(tǒng)是指由若干數(shù)字電路和邏輯部件構(gòu)成的能夠處理或傳送、存儲數(shù)字信息的設(shè)備。數(shù)字系統(tǒng)通常可以分為三個部分,即系統(tǒng)接口、數(shù)據(jù)處理器和控制器。其中,系統(tǒng)接口是完成將物理量轉(zhuǎn)化為數(shù)字量或?qū)?shù)字量轉(zhuǎn)化為物理量的功能部件。例如鍵盤、打印機接口即是系統(tǒng)接口;數(shù)據(jù)處理器的邏輯功能可分解為若干個子處理單元,通常稱為子系統(tǒng),例如譯碼器、運算器等都可作為一個子系統(tǒng);控制器接收外部輸入信號,以及數(shù)據(jù)處理器反饋的信號,管理各個子系統(tǒng)的局部及整個系統(tǒng)按規(guī)定順序工作。一般情況下,系統(tǒng)接口、數(shù)據(jù)處理器由組合電路時序電路構(gòu)成;控制器由同步時序電路構(gòu)成。數(shù)字系統(tǒng)結(jié)構(gòu)框圖如圖6-1所示。圖6-1數(shù)字系統(tǒng)結(jié)構(gòu)

2、框圖其中:控制器部分:是數(shù)字電子系統(tǒng)的核心部分。它由記錄當(dāng)前邏輯狀態(tài)的時序電路和進行邏輯運算的組合電路組成。根據(jù)控制器的外部輸入信號、執(zhí)行部分送回的反饋信號以及控制部分的當(dāng)前狀態(tài)控制邏輯運算的進程,并向執(zhí)行部分和系統(tǒng)外部發(fā)送控制命令。數(shù)據(jù)處理器部分:由組合電路和時序電路組成。它接受控制命令,執(zhí)行相應(yīng)的動作。同時,還要將自身的狀態(tài)反饋給摔制部分。邏輯功能可分解為若干個子處理單元,通常稱為子系統(tǒng),例如譯碼器、運算器等都可作為一個子系統(tǒng)。該部分的輸入信號:控制部分的外部輸入信號,作為控制部分的參數(shù)或控制;輸出信號:由控制部分產(chǎn)生的送到外部的控制信號;反饋信號:由執(zhí)行部分產(chǎn)生,反映執(zhí)行部分狀態(tài)的信號;

3、輸入數(shù)據(jù):送到數(shù)字系統(tǒng)的待處理數(shù)據(jù);輸出數(shù)據(jù):由數(shù)字系統(tǒng)處理過的輸出到外部的數(shù)據(jù)。時鐘:為整個系統(tǒng)提供時鐘、同步信號。輸入接口電路:為系統(tǒng)的輸入信號提供預(yù)處理功能。輸出接口電路;輸出系統(tǒng)的各類信號、信息。 由圖6-1可知,控制器接收外輸入和處理器的各個子系統(tǒng)的反饋輸人,然后綜合為各種控制信號,分別控制各個子系統(tǒng)在定時信號到來時完成某種操作,并向外輸出控制信號。 有沒有控制器是區(qū)別功能部件(數(shù)字單元電路)和數(shù)字系統(tǒng)的標(biāo)志。凡是有控制器,且能按照一定程序進行數(shù)據(jù)處理的系統(tǒng),不論其規(guī)模大小,均稱之為數(shù)字系統(tǒng):否則,只能是功能部件或是數(shù)字系統(tǒng)中的子系統(tǒng)?,F(xiàn)在的數(shù)字系統(tǒng)設(shè)計已經(jīng)逐漸向片上系統(tǒng)(Syste

4、m on Chip)發(fā)展。從芯片的功能和規(guī)模來講,一個芯片就是一個完整的數(shù)字電子系統(tǒng),也稱之為系統(tǒng)芯片。在數(shù)字電子技術(shù)領(lǐng)域中,“系統(tǒng)芯片”的基本定義是:這種芯片含有一個或多個主要功能塊(CPU核心,數(shù)字信號處理器核心和其他的專門處理功能模塊)。它還含有其他功能塊,如靜態(tài)RAM、ROM、EPROM、閃存或動態(tài)RAM以及通用或?qū)S肐/O功能塊。盡管如此,沒有兩種系統(tǒng)芯片是完全相同的。大多數(shù)系統(tǒng)芯片都經(jīng)過功能調(diào)整,使之專門適合指定的用途。本章將通過一些數(shù)字系統(tǒng)開發(fā)實例說明怎樣利用層次化結(jié)構(gòu)的設(shè)計方法來構(gòu)造大型系統(tǒng)。通過這些實例,逐步講解設(shè)計任務(wù)的分解、層次化結(jié)構(gòu)設(shè)計的重要性、可重復(fù)使用的庫、程序包參

5、數(shù)化的元件引用等方面的內(nèi)容。把設(shè)計任務(wù)分解到可控制的規(guī)模的方法形成了層次結(jié)構(gòu)。通過本章學(xué)習(xí),不僅要學(xué)會層次化結(jié)構(gòu)設(shè)計,還應(yīng)體驗層次化分解,這是一個項目管理者應(yīng)具備的素質(zhì)和才能。我們不僅培養(yǎng)程序設(shè)計員,也培養(yǎng)項目高級管理人才。這也是本書的寫作目的和不懈追求的目標(biāo)。6.1 數(shù)字系統(tǒng)的EDA層次化設(shè)計方法 層次化結(jié)構(gòu)設(shè)計既是一種設(shè)計方法更是一種設(shè)計思想。在用分立元件或者中、小規(guī)模集成電路進行邏輯設(shè)計時,整個電路都是由許多集成電路塊或者分立元件組成。設(shè)計者有意無意地都會接受些結(jié)構(gòu)化設(shè)計的思想,因為整個電路或者系統(tǒng)就是由許多模塊組成的。 但是,在用大規(guī)模集成電路進行系統(tǒng)設(shè)計時,所有的模塊都是集成在一塊大

6、規(guī)模芯片上,系統(tǒng)的結(jié)構(gòu)就變得不明顯。特別是在用HDL語言對系統(tǒng)進行描述時有的設(shè)計者只用一個ENTITY和一個ARCHITECTURE就完成對整個電路或系統(tǒng)的描述,沒有對系統(tǒng)作任何的模塊設(shè)計。就好像寫軟件一樣把所有的話句都放在個主程序中,沒有任何的子程序或者函數(shù)的定義。這些都不是好的設(shè)計思想和方法。 設(shè)計的層次 對于數(shù)字系統(tǒng)設(shè)計者來說,設(shè)計的層次可以從兩個不同的角度來表示,一個是結(jié)構(gòu)層次一個是系統(tǒng)的性能層次。系統(tǒng)的結(jié)構(gòu)層次是指系統(tǒng)是由一些模塊組成的,模塊的適當(dāng)連接就構(gòu)成了系統(tǒng)。同樣,模塊也可以是一些基本元件的連接來組成的;系統(tǒng)的性能是指系統(tǒng)的輸出對輸入的響應(yīng),而系統(tǒng)的響應(yīng)也是系統(tǒng)的輸入,經(jīng)過系統(tǒng)

7、內(nèi)部模塊的響應(yīng),逐漸地傳遞到輸出,所以,系統(tǒng)的性能也是由系統(tǒng)內(nèi)部模塊的性能及其傳遞來決定的。 對于一個數(shù)字系統(tǒng)一般來說,可以分為這樣的6個層次;系統(tǒng)級、芯片級、寄存器級、門級、電路級、硅片級。由于系統(tǒng)可以分為6個層次,系統(tǒng)的性能描述和系統(tǒng)的結(jié)構(gòu)組成也可以分為6個層次。表6-l表示了這幾個層次之間的對應(yīng)關(guān)系。硅片是結(jié)構(gòu)的最底層:從結(jié)構(gòu)描述的角度來說,硅片上不同形狀的區(qū)域代表了不同類型的電子元件,如晶體管、MOS管、電阻、電容等。另外,不同形狀的金屬區(qū)域表示了元件之間的連接。 但是,只有到了電路級,電路的具體結(jié)構(gòu)才能顯示出來。電路級比門級描述來說是更加具體。同樣是一個與門,可以有許多種電路實現(xiàn)的方

8、法,只有將門級的描述再具體到電路級的描述,才能最后在硅片上形成芯片。 從邏輯的角度來說,門級是最基礎(chǔ)的描述。最基本的邏輯門應(yīng)該是與門、或門、非門:用這3種基本邏輯門,可以構(gòu)成任何組合電路以及時序電路。不過,現(xiàn)在也將基本觸發(fā)器作為門級的基本單元,因為它是組成時序電路的最基本的單元。 寄存器級實際上是由邏輯部件的互相連接而構(gòu)成的。寄存器、計數(shù)器、移位寄存器等邏輯部件是這個層次的基本元件,行時也稱它們?yōu)楣δ苣K、或者“宏單元”:雖然這些部件也是由邏輯門組成,但是在這個層次,關(guān)鍵的是整個功能模塊的特性,以及它們之間的連接。 再向上一個層次就是芯片級,從傳統(tǒng)的觀點來看芯片級應(yīng)該是最高級,芯片本身就是一個

9、系統(tǒng),芯片本身就是產(chǎn)品。芯片級的基本組成是處理器、存儲器、各種接口、中斷控制器等。當(dāng)然,首先應(yīng)該對這些組成模塊進行描述,再用它們的連接來構(gòu)成整個芯片。 最高的層次是系統(tǒng)級。一個系統(tǒng)可以包括若干芯片。如果是“System on chip”設(shè)計,那么在一個系統(tǒng)芯片上也有若干類似于處理器、存儲器等這樣的元件。 表6-1的中間一列是各個層次的性能描述。從系統(tǒng)級來說,就是對于系統(tǒng)整體指標(biāo)的要求,例如運算的速度,傳輸?shù)膸?,工作的頻率范圍等。這類性能指標(biāo)一般用文字表示就可以了,不會用HDL語言來描述。 芯片級的性能描述是通過算法來表示的,也就是通過芯片這樣的硬件可以實現(xiàn)什么算法。算法是可以用HDL語言來描

10、述的。當(dāng)然,算法描述的范圍可以很寬,以前我們對于時序機的性能描述,實際上也是一種算法。因為,這樣的描述也只是表示輸出對于輸入的響應(yīng),而不考慮如何來實現(xiàn)相應(yīng)的邏輯功能。 寄存器級的性能描述是數(shù)據(jù)流描述。門級的性能描述是邏輯代數(shù)方程,從VHDL捕述的角度來說,VHDL的數(shù)據(jù)流描述主要是對于寄存器級的描述,用它們來表示邏輯代數(shù)方程也是可以的。表6-1系統(tǒng)設(shè)計層次之間的對應(yīng)關(guān)系系統(tǒng)層次性能描述系統(tǒng)的結(jié)構(gòu)系統(tǒng)級系統(tǒng)的功能描述計算機、路由器等芯片級算法描述CPU、RAM、ROM、I/O寄存器傳輸級數(shù)據(jù)機流描述運算器、選擇器、計數(shù)器、寄存器門級邏輯代數(shù)方程基本門電路、基本觸發(fā)器電路級微分方程由晶體管、電阻、

11、電容組成的電路硅片級電子、穴運動方程硅片不同形狀的區(qū)域傳統(tǒng)的數(shù)字電路設(shè)計方法是通過利用真值表、卡諾圖、狀態(tài)方程組和轉(zhuǎn)移表(圖)等描述工具建立系統(tǒng)模型來進行系統(tǒng)設(shè)計,而對于一個復(fù)雜的(例如一個含有幾萬、甚至幾十萬個邏輯門)數(shù)字系統(tǒng),若用傳統(tǒng)的數(shù)字電路設(shè)計方法求解,往往是非常困難的,有時根本無法進行,因此人們希望得到一種從總體出發(fā)來描述和設(shè)計數(shù)字系統(tǒng)的方法。系統(tǒng)結(jié)構(gòu)是分層次的,這意味著在系統(tǒng)設(shè)計過程中,必然伴隨著對于系統(tǒng)的分解,而且這樣的分解可以在各個不同的層次上進行。整個系統(tǒng)就是由不同層次的各種模塊的連接而組成的,使得系統(tǒng)的結(jié)構(gòu)就像一棵樹。如圖6-2所示,在這樣的樹形結(jié)構(gòu)中,應(yīng)該包括兩種基本的描

12、述,一種是表示模塊之間連接的“結(jié)構(gòu)描述”;另一種是表示模塊性能的性能描述。由于每一個上層模塊都是若干個下層模塊的連接構(gòu)成的,所以性能描述一般只用于對樹形結(jié)構(gòu)中的子模塊的描述,而不論這個子模塊處于哪一個層次。圖6-2系統(tǒng)的樹形結(jié)構(gòu) 對于這樣的樹形結(jié)構(gòu)的系統(tǒng)存在著兩種設(shè)計思想,一種是自頂向下(Top to Down)的思想,一種是自底向上(from Buttom to Up) 思想,這兩種思想統(tǒng)稱為層次化設(shè)計方法。 自頂向下設(shè)計的出發(fā)點是樹的根,也就是對于整個系統(tǒng)件能的描述或者說是要求。按照這樣的要求,進行第一次系統(tǒng)的分解,也就是分解為苦干子系統(tǒng),規(guī)定每個子系統(tǒng)應(yīng)該實現(xiàn)什么功能。這樣的分解可以一直

13、進行下去??赡苣骋粋€分文已經(jīng)到達(dá)了低層子模塊,而其他分支還要繼續(xù)分解下去,直到各自的低層模塊。對于子模塊必須進行性能描述,而對于每棵子樹,只要進行結(jié)構(gòu)描述。 自頂向下的設(shè)計,強調(diào)的是在進行每一次的分解時,都是要從保證系統(tǒng)性能指標(biāo)的實現(xiàn)出發(fā),而不是考慮現(xiàn)在已經(jīng)存在什么基本的模塊。當(dāng)然,分解后如果和已有的模塊性能相同,就可以使用已有的模塊,如果沒有合適的模塊可用,就再創(chuàng)建一個這樣的模塊。目的還是要達(dá)到系統(tǒng)性能指標(biāo)的最優(yōu)化。 自底向上的設(shè)計并不是像它名稱所隱喻的從子模塊開始設(shè)計,設(shè)計仍然是從系統(tǒng)的“樹”出發(fā)仍然是要滿足整體的功能。但是,在考慮系統(tǒng)分解的時候,要選擇那些可用的模塊或元件。這些模塊或元件

14、可能是標(biāo)準(zhǔn)部件,也可能是其他項目設(shè)計所產(chǎn)生的結(jié)果,這樣處理的最大優(yōu)點是設(shè)計的經(jīng)濟性和高效性。因為基本的模塊或元件都不需要重新設(shè)計,設(shè)計成本和生產(chǎn)成本都可以降低。 自頂向下方法的含義 自頂向下方法是一種從系統(tǒng)抽象定義到具體電路的實現(xiàn),從高層次(例如總體框圖)到低層次(例如子框圖)直至具體邏輯電路,逐步由粗到細(xì)的分層次、分模塊的設(shè)計方法。常用的設(shè)計語言為VHDL語言。 自頂向下的設(shè)計方法利用功能分割手段,將設(shè)計由上到下進行層次化和模塊化分割,即對系統(tǒng)進行分層次(總系統(tǒng)層、子系統(tǒng)層、功能塊層、電路邏輯塊層等)設(shè)計和仿真。功能分割時,將系統(tǒng)功能分解為功能塊,功能塊再分解為邏輯塊,邏輯塊再分解為更小的邏

15、輯塊和電路元件,如此分割逐步地將設(shè)計細(xì)化,將功能逐步具體化、模塊化。這種設(shè)汁是逐漸逼近于具體電路的。 邏輯塊的劃分應(yīng)遵循盡可能獨立、便于描述的原則。在對系統(tǒng)進行劃分時需要注意子系統(tǒng)的數(shù)日典合適。子系統(tǒng)劃分得太少,則失去了模塊化設(shè)計的優(yōu)點:子系統(tǒng)劃分得太多則系統(tǒng)之間的連接過于復(fù)雜,容易出錯。應(yīng)當(dāng)指出的是,若數(shù)字系統(tǒng)不復(fù)雜,則可以不劃分出于系統(tǒng)。子系統(tǒng)設(shè)計的首要任務(wù)是對其功能進行正確劃分,即能正確地把子系統(tǒng)劃分為控制器模型。 基于VHDL語言的自頂向下設(shè)計方法的實現(xiàn)流程如下:1系統(tǒng)劃分:根據(jù)系統(tǒng)定義、功能等要素將系統(tǒng)劃分為多個相對獨立的子系統(tǒng),并假設(shè)各子系統(tǒng)功能已知,對系統(tǒng)進行仿真,以驗證系統(tǒng)劃分

16、的合理性。這是設(shè)計過程的第一階段,在層次化設(shè)計方法中常稱為頂層系統(tǒng)的設(shè)計,該階段要求對設(shè)計任務(wù)要有透徹的了解,并在此基礎(chǔ)上決定設(shè)計任務(wù),確定系統(tǒng)的整體功能、輸入信號及輸出信號。描述系統(tǒng)功能就是用符號、圖形、文字、表達(dá)式等形式來正確描述系統(tǒng)應(yīng)具有的邏輯功能和應(yīng)達(dá)到的技術(shù)指標(biāo)。2建模、仿真和分析:各子系統(tǒng)分別用其他高級語言對算法進行建模、仿真和分析,對其性能進行評估;使用數(shù)字系統(tǒng)的圖形算法,往往以畫出算法流程圖、原理框圖作為完成系統(tǒng)級設(shè)計的標(biāo)志。而使用數(shù)字系統(tǒng)的文本算法,則是用硬件描述語言對系統(tǒng)進行行為描述,并以通過仿真作為完成設(shè)計系統(tǒng)級的標(biāo)志。例如,用VHDL語言描述數(shù)字系統(tǒng)級設(shè)計時,首先進行系

17、統(tǒng)功能的原理仿真,而不涉及具體器件的綜合仿真,但原理仿真通過,就標(biāo)志了系統(tǒng)級設(shè)計工作的結(jié)束。3 VHDL實現(xiàn):各子系統(tǒng)分別用VHDL描述算法功能,用相應(yīng)的EDA工具仿真和分析,確保功能和時序滿足系統(tǒng)指標(biāo)要求。4 系統(tǒng)整合:利用VHDL的子程序和函數(shù)調(diào)用功能將各個子系統(tǒng)整合起來,在一個系統(tǒng)內(nèi)進行全局仿真和分析。系統(tǒng)整合的過程是根據(jù)算法選擇電路結(jié)構(gòu)系統(tǒng)算法決定電路結(jié)構(gòu)。雖然不同的算法可以實現(xiàn)相同的系統(tǒng)功能,但是其電路結(jié)構(gòu)是不同的;此外,相同的算法也可能對應(yīng)不同的電路結(jié)構(gòu)。5 物理實現(xiàn):要根據(jù)設(shè)計、生產(chǎn)條件,選擇適當(dāng)?shù)钠骷韺崿F(xiàn)電路,并導(dǎo)出詳細(xì)的電路圖。過去常常選用標(biāo)準(zhǔn)器件實現(xiàn)電路,這往往給設(shè)計帶來

18、許多限制和不便。層次化設(shè)計方法提倡繼往開來,即發(fā)現(xiàn)有適合需要的現(xiàn)成模塊或者器件時,可以直接使用它們;如沒有,就應(yīng)利用可編程邏輯器件設(shè)計制造新器件,以滿足系統(tǒng)功能的需求。其的優(yōu)勢還在于,一些設(shè)計只要完成了系統(tǒng)的行為描述,選擇器件的任務(wù)可交給EDA軟件幫助自動實現(xiàn),生成工藝文件,并利用工藝庫產(chǎn)生目標(biāo)工藝文件。整個過程的流程如圖6-3所示,值得說明的是,若其各子系統(tǒng)仍然比較復(fù)雜,則該子系統(tǒng)可看成一個系統(tǒng)再細(xì)分成更小的子系統(tǒng),在流程圖中框內(nèi)的子系統(tǒng)可以是形式上和該流程圖本身一樣的一個系統(tǒng),如果需要可以繼續(xù)分下去。圖6-3 自頂向下設(shè)計方法的基本設(shè)計流程 自底向上方法的含義 自底向上法是根據(jù)系統(tǒng)功能要求,從具體的器件、邏輯部件或者相似系統(tǒng)開始,憑借設(shè)計者熟練的技巧和

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論