嵌入式系統(tǒng)設(shè)計方法的演化――從單片機到單片系統(tǒng)
摘要 在介紹嵌入式系統(tǒng)設(shè)計方法變化背景的基礎(chǔ)上,綜述嵌入式系統(tǒng)設(shè)計方法的不同層次,從單片 機應(yīng)用到單片系統(tǒng)設(shè)計的演化,并提出了發(fā)展戰(zhàn)略。
本文引用地址:http://www.ex-cimer.com/article/151310.htm關(guān)鍵詞 嵌入式系統(tǒng) 設(shè)計 單片系統(tǒng)(SOC) 硬件描述語言(HDL) IP內(nèi)核
一、 嵌入式系統(tǒng)設(shè)計方法變化的背景
嵌入式系統(tǒng)設(shè)計方法的演化總的來說是因為應(yīng)用需求的牽引和IT技術(shù)的推動。
1 隨著微電子技術(shù)的不斷創(chuàng)新和發(fā)展,大規(guī)模集成電路的集成度和工藝水平不斷提高。硅材料與人類智慧的結(jié)合,生產(chǎn)出大批量的低成本、高可靠性和高精度的微電子 結(jié)構(gòu)模塊,推動了一個全新的技術(shù)領(lǐng)域和產(chǎn)業(yè)的發(fā)展。在此基礎(chǔ)上發(fā)展起來的器件可編程思想和微處理(器)技術(shù)可以用軟件來改變和實現(xiàn)硬件的功能。微處理器和 各種可編程大規(guī)模集成專用電路、半定制器件的大量應(yīng)用,開創(chuàng)了一個嶄新的應(yīng)用世界,以至廣泛影響著并在逐步改變著人類的生產(chǎn)、生活和學(xué)習(xí)等社會活動。
2奔撲慊硬件平臺性能的大幅度提高,使很多復(fù)雜算法和方便使用的界面得以實現(xiàn),大大提高了工作效率,給復(fù)雜嵌入式系統(tǒng)輔助設(shè)計提供了物理基礎(chǔ)。
3備咝閱艿EDA綜合開發(fā)工具(平臺)得到長足發(fā)展,而且其自動化和智能化程度不斷提高,為復(fù)雜的嵌入式系統(tǒng)設(shè)計提供了不同用途和不同級別集編輯、布局、布線、編譯、綜合、模擬、測試、驗證和器件編程等一體化的易于學(xué)習(xí)和方便使用的開發(fā)集成環(huán)境。
4庇布描述語言HDL(Hardware Description Language)的發(fā)展為復(fù)雜電子系統(tǒng)設(shè)計提供了建立各種硬件模型的工作媒介。它的描述能力和抽象能力強,給硬件電路,特別是半定制大規(guī)模集成電路設(shè)計 帶來了重大的變革。目前,用得較多的有已成為IEEE為 STD1076標準的VHDL、IEEE STD 1364標準的Verilog HDL和Altera公司企業(yè)標準的AHDL等。
由于HDL的發(fā)展和標準化,世界上出現(xiàn)了一批利用HDL進行各種集成電路功能模塊專業(yè)設(shè)計的公司。其任務(wù)是按常用或?qū)S霉δ?,用HDL來描述集成電路的功能和結(jié)構(gòu),并經(jīng)過不同級別的驗證形成不同級別的IP內(nèi)核模塊,供芯片設(shè)計人員裝配或集成選用。
IP(Intellectual Property)內(nèi)核模塊是一種預(yù)先設(shè)計好的甚至已經(jīng)過驗證的具有某種確定功能的集成電路、器件或部件。它有幾種不同形式。IP內(nèi)核模塊有行為 (behavior)、結(jié)構(gòu)(structure)和物理(physical)3級不同程度的設(shè)計,對應(yīng)有主要描述功能行為的“軟IP內(nèi)核(soft IP core)”、完成結(jié)構(gòu)描述的“固IP內(nèi)核(firm IP core)”和基于物理描述并經(jīng)過工藝驗證的“硬IP內(nèi)核(hard IP core)”3個層次。這相當(dāng)于集成電路(器件或部件)的毛坯、半成品和成品的設(shè)計技術(shù)。
軟IP內(nèi)核通常是用某種HDL文本提交用戶,它已經(jīng)過行為級設(shè)計優(yōu)化和功能驗證,但其中不含有任何具體的物理信息。據(jù)此,用戶可以綜合出正確的 門電路級網(wǎng)表,并可以進行后續(xù)結(jié)構(gòu)設(shè)計,具有最大的靈活性,可以很容易地借助于EDA綜合工具與其他外部邏輯電路結(jié)合成一體,根據(jù)各種不同的半導(dǎo)體工藝, 設(shè)計成具有不同性能的器件??梢陨唐坊能汭P內(nèi)核一般電路結(jié)構(gòu)總門數(shù)都在5000門以上。但是,如果后續(xù)設(shè)計不當(dāng),有可能導(dǎo)致整個結(jié)果失敗。軟IP內(nèi)核 又稱作虛擬器件。
硬IP內(nèi)核是基于某種半導(dǎo)體工藝的物理設(shè)計,已有固定的拓撲布局和具體工藝,并已經(jīng)過工藝驗證,具有可保證的性能。其提供給用戶的形式是電路物理結(jié)構(gòu)掩模版圖和全套工藝文件,是可以拿來就用的全套技術(shù)。
固IP內(nèi)核的設(shè)計深度則是介于軟IP內(nèi)核和硬IP內(nèi)核之間,除了完成硬IP內(nèi)核所有的設(shè)計外,還完成了門電路級綜合和時序仿真等設(shè)計環(huán)節(jié)。一般以門電路級網(wǎng)表形式提交用戶使用。
TI,Philips和Atmel等廠商就是通過Intel授權(quán),用其MCS-51的IP內(nèi)核模塊結(jié)合自己的特長開發(fā)出有個性的與Intel MCS-51兼容的單片機。
常用的IP內(nèi)核模塊有各種不同的CPU(32/64位CISC/RISC結(jié)構(gòu)的CPU或8/16位微控制器/單片機,如8051等)、32 /64位DSP(如320C30)、DRAM、SRAM、EEPROM、Flashmemory、A/D、D/A、MPEG/JPEG、USB、PCI、 標準接口、網(wǎng)絡(luò)單元、編譯器、編碼/解碼器和模擬器件模塊等。豐富的IP內(nèi)核模塊庫為快速地設(shè)計專用集成電路和單片系統(tǒng)以及盡快占領(lǐng)市場提供了基本保證。
5比砑技術(shù)的進步,特別是嵌入式實時操作系統(tǒng)EOS(Embedded Operation System)的推出,為開發(fā)復(fù)雜嵌入式系統(tǒng)應(yīng)用軟件提供了底層支持和高效率開發(fā)平臺。EOS是一種功能強大、應(yīng)用廣泛的實時多任務(wù)系統(tǒng)軟件。它一般都具 有操作系統(tǒng)所具有的各種系統(tǒng)資源管理功能,用戶可以通過應(yīng)用程序接口API調(diào)用函數(shù)形式來實現(xiàn)各種資源管理。用戶程序可以在EOS的基礎(chǔ)上開發(fā)并運行。它 與通用系統(tǒng)機中的OS相比,主要有系統(tǒng)內(nèi)核短小精悍、開銷小、實時性強和可靠性高等特點。完善的EOS還提供各種設(shè)備的驅(qū)動程序。為了適應(yīng)網(wǎng)絡(luò)應(yīng)用和 Internet應(yīng)用。還可以提供TCP/IP協(xié)議支持。目前流行的EOS有3Com公司的Palm OS、Microsoft公司的Windows CE和Windows NT Embedded4.0、日本東京大學(xué)的Tron和各種開放源代碼的嵌入式Linux以及國內(nèi)開發(fā)成功的凱思集團的Hopen OS和浙江大學(xué)的HBOS。
二、 嵌入式系統(tǒng)設(shè)計方法的變化
過去擅長于軟件設(shè)計的編程人員一般對硬件電路設(shè)計“敬而遠之”,硬件設(shè)計和軟件設(shè)計被認為是性質(zhì)完全不同的技術(shù)。
隨著電子信息技術(shù)的發(fā)展,電子工程出身的設(shè)計人員,往往還逐步涉足軟件編程。其主要形式是通過微控制器(國內(nèi)習(xí)慣稱作單片機)的應(yīng)用,學(xué)會相應(yīng) 的匯編語言編程。在設(shè)計規(guī)模更大的集散控制系統(tǒng)時,必然要用到已普及的PC機,以其為上端機,從而進一步學(xué)習(xí)使用Quick BASIC,C,C++,VC和VB等高級語言編程作系統(tǒng)程序,設(shè)計系統(tǒng)界面,通過與單片機控制的前端機進行多機通信構(gòu)成集中分布控制系統(tǒng)。
軟件編程出身的設(shè)計人員則很少有興趣去學(xué)習(xí)應(yīng)用電路設(shè)計。但是,隨著計算機技術(shù)的飛速發(fā)展,特別是硬件描述語言HDL的發(fā)明,系統(tǒng)硬件設(shè)計方法 發(fā)生了變化,數(shù)字系統(tǒng)的硬件組成及其行為完全可以用HDL來描述和仿真。在這種情況下,設(shè)計硬件電路不再是硬件設(shè)計工程師的專利,擅長軟件編程的設(shè)計人員 可以借助于HDL工具來描述硬件電路的行為、功能、結(jié)構(gòu)、數(shù)據(jù)流、信號連接關(guān)系和定時關(guān)系,設(shè)計出滿足各種要求的硬件系統(tǒng)。
EDA工具允許有兩種設(shè)計輸入工具,分別適應(yīng)硬件電路設(shè)計人員和軟件編程人員兩種不同背景的需要。讓具有硬件背景的設(shè)計人員用已習(xí)慣的原理圖輸 入方式,而讓具有軟件背景的設(shè)計人員用硬件描述語言輸入方式。由于用HDL描述進行輸入,因而與系統(tǒng)行為描述更接近,且更便于綜合、時域傳遞和修改,還能 建立獨立于工藝的設(shè)計文件,所以,擅長軟件編程的人一旦掌握了HDL和一些必要的硬件知識,往往可以比習(xí)慣于傳統(tǒng)設(shè)計的工程師設(shè)計出更好的硬件電路和系 統(tǒng)。所以,習(xí)慣于傳統(tǒng)設(shè)計的工程師應(yīng)該學(xué)會用HDL來描述和編程。
三、 嵌入式系統(tǒng)設(shè)計的3個層次
嵌入式系統(tǒng)設(shè)計有3個不同層次。
1 第1層次:以PCB CAD軟件和ICE為主要工具的設(shè)計方法。
這是過去直至現(xiàn)在我國單片機應(yīng)用系統(tǒng)設(shè)計人員一直沿用的方法,其步驟是先抽象后具體。
抽象設(shè)計主要是根據(jù)嵌入式應(yīng)用系統(tǒng)要實現(xiàn)的功能要求,對系統(tǒng)功能細化,分成若干功能模塊,畫出系統(tǒng)功能框圖,再對功能模塊進行硬件和軟件功能實現(xiàn)的分配。
具體設(shè)計包括硬件設(shè)計和軟件設(shè)計。硬件設(shè)計主要是根據(jù)性能參數(shù)要求對各功能模塊所需要使用的元器件進行選擇和組合,其選擇的基本原則就是市場上 可以購買到的性價比最高的通用元器件。必要時,須分別對各個沒有把握的部分進行搭試、功能檢驗和性能測試,從模塊到系統(tǒng)找到相對優(yōu)化的方案,畫出電路原理 圖。硬件設(shè)計的關(guān)鍵一步就是利用印制板(PCB)計算機輔助設(shè)計(CAD)軟件對系統(tǒng)的元器件進行布局和布線,接著是印制板加工、裝配和硬件調(diào)試。
工作量最大的部分是軟件設(shè)計。軟件設(shè)計貫穿整個系統(tǒng)的設(shè)計過程,主要包括任務(wù)分析、資源分配、模塊劃分、流程設(shè)計和細化、編碼調(diào)試等。軟件設(shè)計的工作量主要集中在程序調(diào)試,所以軟件調(diào)試工具就是關(guān)鍵。最常用和最有效的工具是在線仿真器(ICE)。
2 第2層次:以EDA工具軟件和EOS為開發(fā)平臺的設(shè)計方法。
隨著微電子工藝技術(shù)的發(fā)展,各種通用的可編程半定制邏輯器件應(yīng)運而生。在硬件設(shè)計時,設(shè)計師可以利用這些半定制器件,逐步把原先要通過印制板線 路互連的若干標準邏輯器件自制成專用集成電路(ASIC)使用,這樣,就把印制板布局和布線的復(fù)雜性轉(zhuǎn)換成半定制器件內(nèi)配置的復(fù)雜性。然而,半定制器件的 設(shè)計并不需要設(shè)計人員有半導(dǎo)體工藝和片內(nèi)集成電路布局和布線的知識和經(jīng)驗。隨著半定制器件的規(guī)模越來越大,可集成的器件越來越多,使印制板上互連器件的線 路、裝配和調(diào)試費用越來越少,不僅大大減少了印制板的面積和接插件的數(shù)量,降低了系統(tǒng)綜合成本,增加了可編程應(yīng)用的靈活性,更重要的是降低了系統(tǒng)功耗,提 高了系統(tǒng)工作速度,大大提高了系統(tǒng)的可靠性和安全性。
這樣,硬件設(shè)計人員從過去選擇和使用標準通用集成電路器件,逐步轉(zhuǎn)向自己設(shè)計和制作部分專用的集成電路器件,而這些技術(shù)是由各種EDA工具軟件提供支持的。
半定制邏輯器件經(jīng)歷了可編程邏輯陣列PLA、可編程陣列邏輯PAL、通用陣列邏輯GAL、復(fù)雜可編程邏輯器件CPLD和現(xiàn)場可編程門陣列FPGA的發(fā)展過程。其趨勢是集成度和速度不斷提高,功能不斷增強,結(jié)構(gòu)趨于更合理,使用變得更靈活和方便。
設(shè)計人員可以利用各種EDA工具和標準的CPLD和FPGA等,設(shè)計和自制用戶專用的大規(guī)模集成電路。然后再通過自下而上的設(shè)計方法,把用半定制器件設(shè)計自制的集成電路、可編程外圍器件、所選擇的ASIC與嵌入式微處理器或微控制器在印制板上布局、布線構(gòu)成系統(tǒng)。
3 第3層次:以IP內(nèi)核庫為設(shè)計基礎(chǔ),用軟硬件協(xié)同設(shè)計技術(shù)的設(shè)計方法。
20世紀90年代后,進一步開始了從“集成電路”級設(shè)計不斷轉(zhuǎn)向“集成系統(tǒng)”級設(shè)計。目前已進入單片系統(tǒng)SOC(System on a chip)設(shè)計階段,并開始進入實用階段。這種設(shè)計方法不是把系統(tǒng)所需要用到的所有集成電路簡單地二次集成到1個芯片上,如果這樣實現(xiàn)單片系統(tǒng),是不可能 達到單片系統(tǒng)所要求的高密度、高速度、高性能、小體積、低電壓、低功耗等指標的,特別是低功耗要求。單片系統(tǒng)設(shè)計要從整個系統(tǒng)性能要求出發(fā),把微處理器、 模型算法、芯片結(jié)構(gòu)、外圍器件各層次電路直至器件的設(shè)計緊密結(jié)合起來,并通過建立在全新理念上的系統(tǒng)軟件和硬件的協(xié)同設(shè)計,在單個芯片上完成整個系統(tǒng)的功 能。有時也可能把系統(tǒng)做在幾個芯片上。因為,實際上并不是所有的系統(tǒng)都能在一個芯片上實現(xiàn)的;還可能因為實現(xiàn)某種單片系統(tǒng)的工藝成本太高,以至于失去商業(yè) 價值。目前,進入實用的單片系統(tǒng)還屬簡單的單片系統(tǒng),如智能IC卡等。但幾個著名的半導(dǎo)體廠商正在緊鑼密鼓地研制和開發(fā)像單片PC這樣的復(fù)雜單片系統(tǒng)。
單片系統(tǒng)的設(shè)計如果從零開始,這既不現(xiàn)實也無必要。因為除了設(shè)計不成熟、未經(jīng)過時間考驗,其系統(tǒng)性能和質(zhì)量得不到保證外,還會因為設(shè)計周期太長而失去商業(yè)價值。
為了加快單片系統(tǒng)設(shè)計周期和提高系統(tǒng)的可靠性,目前最有效的一個途徑就是通過授權(quán),使用成熟優(yōu)化的IP內(nèi)核模塊來進行設(shè)計集成和二次開發(fā),利用 膠粘邏輯技術(shù)GLT(Glue Logic Technology),把這些IP內(nèi)核模塊嵌入到SOC中。IP內(nèi)核模塊是單片系統(tǒng)設(shè)計的基礎(chǔ),究竟購買哪一級IP內(nèi)核模塊,要根據(jù)現(xiàn)有基礎(chǔ)、時間、資 金和其他條件權(quán)衡確定。購買硬IP內(nèi)核模塊風(fēng)險最小,但付出最大,這是必然的。但總的來說,通過購買IP內(nèi)核模塊不僅可以降低開發(fā)風(fēng)險,還能節(jié)省開發(fā)費 用,因為一般購買IP內(nèi)核模塊的費用要低于自己單獨設(shè)計和驗證的費用。當(dāng)然,并不是所需要的IP內(nèi)核模塊都可以從市場上買得到。為了壟斷市場,有一些公司 開發(fā)出來的關(guān)鍵IP內(nèi)核模塊(至少暫時)是不愿意授權(quán)轉(zhuǎn)讓使用的。像這樣的IP內(nèi)核模塊就不得不自己組織力量來開發(fā)。
這3個層次各有各的應(yīng)用范圍。從應(yīng)用開發(fā)角度看,在相當(dāng)長的一段時間內(nèi),都是采用前2種方法。第3層次設(shè)計方法對一般具體應(yīng)用人員來說,只能用 來設(shè)計簡單的單片系統(tǒng)。而復(fù)雜的單片系統(tǒng)則是某些大的半導(dǎo)體廠商才能設(shè)計和實現(xiàn)的,并且用這種方法實現(xiàn)的單片系統(tǒng),只可能是那些廣泛使用、具有一定規(guī)模的 應(yīng)用系統(tǒng)才值得投入研制。還有些應(yīng)用系統(tǒng),因為技術(shù)問題或商業(yè)價值問題并不適宜用單片實現(xiàn)。當(dāng)它們以商品形式推出相應(yīng)單片系統(tǒng)后,應(yīng)用人員只要會選用即 可。所以,3個層次的設(shè)計方法會并存,并不會簡單地用后者取代前者。 初級應(yīng)用設(shè)計人員會以第1種方法為主;富有經(jīng)驗的設(shè)計人員會以第2種方法為主;很專業(yè)的設(shè)計人員會用第3種方法進行簡單單片系統(tǒng)的設(shè)計和應(yīng)用。但所有的設(shè) 計人員都可以應(yīng)用半導(dǎo)體大廠商推出的用第3種方法設(shè)計的專用單片系統(tǒng)。
結(jié)束語
目前,在我國3個層次的設(shè)計分別呈“面”、“線”、“點”的狀態(tài)。習(xí)慣于第1層次設(shè)計方法的電子信息系統(tǒng)設(shè)計人員需要逐步向第2層次過渡和發(fā) 展;第2層次設(shè)計方法要由“線”逐步發(fā)展成“面”;第3層次設(shè)計方法需要國家有關(guān)部門根據(jù)IT發(fā)展戰(zhàn)略和規(guī)劃,組織各方面力量攻關(guān)、協(xié)調(diào)發(fā)展。第3層次設(shè) 計方法要由“點”逐步發(fā)展成“線”。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論