嵌入式系統(tǒng)設(shè)計(jì)方法的演化——從單片機(jī)到單片系統(tǒng)
EDA工具允許有兩種設(shè)計(jì)輸入工具,分別適應(yīng)硬件電路設(shè)計(jì)人員和軟件編程人員兩種不同背景的需要。讓具有硬件背景的設(shè)計(jì)人員用已習(xí)慣的原理圖輸 入方式,而讓具有軟件背景的設(shè)計(jì)人員用硬件描述語言輸入方式。由于用HDL描述進(jìn)行輸入,因而與系統(tǒng)行為描述更接近,且更便于綜合、時(shí)域傳遞和修改,還能 建立獨(dú)立于工藝的設(shè)計(jì)文件,所以,擅長軟件編程的人一旦掌握了HDL和一些必要的硬件知識,往往可以比習(xí)慣于傳統(tǒng)設(shè)計(jì)的工程師設(shè)計(jì)出更好的硬件電路和系 統(tǒng)。所以,習(xí)慣于傳統(tǒng)設(shè)計(jì)的工程師應(yīng)該學(xué)會用HDL來描述和編程。
三、 嵌入式系統(tǒng)設(shè)計(jì)的3個(gè)層次
嵌入式系統(tǒng)設(shè)計(jì)有3個(gè)不同層次。
1 第1層次:以PCB CAD軟件和ICE為主要工具的設(shè)計(jì)方法。
這是過去直至現(xiàn)在我國單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)人員一直沿用的方法,其步驟是先抽象后具體。
抽象設(shè)計(jì)主要是根據(jù)嵌入式應(yīng)用系統(tǒng)要實(shí)現(xiàn)的功能要求,對系統(tǒng)功能細(xì)化,分成若干功能模塊,畫出系統(tǒng)功能框圖,再對功能模塊進(jìn)行硬件和軟件功能實(shí)現(xiàn)的分配。
具體設(shè)計(jì)包括硬件設(shè)計(jì)和軟件設(shè)計(jì)。硬件設(shè)計(jì)主要是根據(jù)性能參數(shù)要求對各功能模塊所需要使用的元器件進(jìn)行選擇和組合,其選擇的基本原則就是市場上 可以購買到的性價(jià)比最高的通用元器件。必要時(shí),須分別對各個(gè)沒有把握的部分進(jìn)行搭試、功能檢驗(yàn)和性能測試,從模塊到系統(tǒng)找到相對優(yōu)化的方案,畫出電路原理 圖。硬件設(shè)計(jì)的關(guān)鍵一步就是利用印制板(PCB)計(jì)算機(jī)輔助設(shè)計(jì)(CAD)軟件對系統(tǒng)的元器件進(jìn)行布局和布線,接著是印制板加工、裝配和硬件調(diào)試。
工作量最大的部分是軟件設(shè)計(jì)。軟件設(shè)計(jì)貫穿整個(gè)系統(tǒng)的設(shè)計(jì)過程,主要包括任務(wù)分析、資源分配、模塊劃分、流程設(shè)計(jì)和細(xì)化、編碼調(diào)試等。軟件設(shè)計(jì)的工作量主要集中在程序調(diào)試,所以軟件調(diào)試工具就是關(guān)鍵。最常用和最有效的工具是在線仿真器(ICE)。
2 第2層次:以EDA工具軟件和EOS為開發(fā)平臺的設(shè)計(jì)方法。
隨著微電子工藝技術(shù)的發(fā)展,各種通用的可編程半定制邏輯器件應(yīng)運(yùn)而生。在硬件設(shè)計(jì)時(shí),設(shè)計(jì)師可以利用這些半定制器件,逐步把原先要通過印制板線 路互連的若干標(biāo)準(zhǔn)邏輯器件自制成專用集成電路(ASIC)使用,這樣,就把印制板布局和布線的復(fù)雜性轉(zhuǎn)換成半定制器件內(nèi)配置的復(fù)雜性。然而,半定制器件的 設(shè)計(jì)并不需要設(shè)計(jì)人員有半導(dǎo)體工藝和片內(nèi)集成電路布局和布線的知識和經(jīng)驗(yàn)。隨著半定制器件的規(guī)模越來越大,可集成的器件越來越多,使印制板上互連器件的線 路、裝配和調(diào)試費(fèi)用越來越少,不僅大大減少了印制板的面積和接插件的數(shù)量,降低了系統(tǒng)綜合成本,增加了可編程應(yīng)用的靈活性,更重要的是降低了系統(tǒng)功耗,提 高了系統(tǒng)工作速度,大大提高了系統(tǒng)的可靠性和安全性。
這樣,硬件設(shè)計(jì)人員從過去選擇和使用標(biāo)準(zhǔn)通用集成電路器件,逐步轉(zhuǎn)向自己設(shè)計(jì)和制作部分專用的集成電路器件,而這些技術(shù)是由各種EDA工具軟件提供支持的。
半定制邏輯器件經(jīng)歷了可編程邏輯陣列PLA、可編程陣列邏輯PAL、通用陣列邏輯GAL、復(fù)雜可編程邏輯器件CPLD和現(xiàn)場可編程門陣列FPGA的發(fā)展過程。其趨勢是集成度和速度不斷提高,功能不斷增強(qiáng),結(jié)構(gòu)趨于更合理,使用變得更靈活和方便。
設(shè)計(jì)人員可以利用各種EDA工具和標(biāo)準(zhǔn)的CPLD和FPGA等,設(shè)計(jì)和自制用戶專用的大規(guī)模集成電路。然后再通過自下而上的設(shè)計(jì)方法,把用半定制器件設(shè)計(jì)自制的集成電路、可編程外圍器件、所選擇的ASIC與嵌入式微處理器或微控制器在印制板上布局、布線構(gòu)成系統(tǒng)。
3 第3層次:以IP內(nèi)核庫為設(shè)計(jì)基礎(chǔ),用軟硬件協(xié)同設(shè)計(jì)技術(shù)的設(shè)計(jì)方法。
20世紀(jì)90年代后,進(jìn)一步開始了從“集成電路”級設(shè)計(jì)不斷轉(zhuǎn)向“集成系統(tǒng)”級設(shè)計(jì)。目前已進(jìn)入單片系統(tǒng)SOC(System on a chip)設(shè)計(jì)階段,并開始進(jìn)入實(shí)用階段。這種設(shè)計(jì)方法不是把系統(tǒng)所需要用到的所有集成電路簡單地二次集成到1個(gè)芯片上,如果這樣實(shí)現(xiàn)單片系統(tǒng),是不可能 達(dá)到單片系統(tǒng)所要求的高密度、高速度、高性能、小體積、低電壓、低功耗等指標(biāo)的,特別是低功耗要求。單片系統(tǒng)設(shè)計(jì)要從整個(gè)系統(tǒng)性能要求出發(fā),把微處理器、 模型算法、芯片結(jié)構(gòu)、外圍器件各層次電路直至器件的設(shè)計(jì)緊密結(jié)合起來,并通過建立在全新理念上的系統(tǒng)軟件和硬件的協(xié)同設(shè)計(jì),在單個(gè)芯片上完成整個(gè)系統(tǒng)的功 能。有時(shí)也可能把系統(tǒng)做在幾個(gè)芯片上。因?yàn)椋瑢?shí)際上并不是所有的系統(tǒng)都能在一個(gè)芯片上實(shí)現(xiàn)的;還可能因?yàn)閷?shí)現(xiàn)某種單片系統(tǒng)的工藝成本太高,以至于失去商業(yè) 價(jià)值。目前,進(jìn)入實(shí)用的單片系統(tǒng)還屬簡單的單片系統(tǒng),如智能IC卡等。但幾個(gè)著名的半導(dǎo)體廠商正在緊鑼密鼓地研制和開發(fā)像單片PC這樣的復(fù)雜單片系統(tǒng)。
單片系統(tǒng)的設(shè)計(jì)如果從零開始,這既不現(xiàn)實(shí)也無必要。因?yàn)槌嗽O(shè)計(jì)不成熟、未經(jīng)過時(shí)間考驗(yàn),其系統(tǒng)性能和質(zhì)量得不到保證外,還會因?yàn)樵O(shè)計(jì)周期太長而失去商業(yè)價(jià)值。
為了加快單片系統(tǒng)設(shè)計(jì)周期和提高系統(tǒng)的可靠性,目前最有效的一個(gè)途徑就是通過授權(quán),使用成熟優(yōu)化的IP內(nèi)核模塊來進(jìn)行設(shè)計(jì)集成和二次開發(fā),利用 膠粘邏輯技術(shù)GLT(Glue Logic Technology),把這些IP內(nèi)核模塊嵌入到SOC中。IP內(nèi)核模塊是單片系統(tǒng)設(shè)計(jì)的基礎(chǔ),究竟購買哪一級IP內(nèi)核模塊,要根據(jù)現(xiàn)有基礎(chǔ)、時(shí)間、資 金和其他條件權(quán)衡確定。購買硬IP內(nèi)核模塊風(fēng)險(xiǎn)最小,但付出最大,這是必然的。但總的來說,通過購買IP內(nèi)核模塊不僅可以降低開發(fā)風(fēng)險(xiǎn),還能節(jié)省開發(fā)費(fèi) 用,因?yàn)橐话阗徺IIP內(nèi)核模塊的費(fèi)用要低于自己單獨(dú)設(shè)計(jì)和驗(yàn)證的費(fèi)用。當(dāng)然,并不是所需要的IP內(nèi)核模塊都可以從市場上買得到。為了壟斷市場,有一些公司 開發(fā)出來的關(guān)鍵IP內(nèi)核模塊(至少暫時(shí))是不愿意授權(quán)轉(zhuǎn)讓使用的。像這樣的IP內(nèi)核模塊就不得不自己組織力量來開發(fā)。
這3個(gè)層次各有各的應(yīng)用范圍。從應(yīng)用開發(fā)角度看,在相當(dāng)長的一段時(shí)間內(nèi),都是采用前2種方法。第3層次設(shè)計(jì)方法對一般具體應(yīng)用人員來說,只能用 來設(shè)計(jì)簡單的單片系統(tǒng)。而復(fù)雜的單片系統(tǒng)則是某些大的半導(dǎo)體廠商才能設(shè)計(jì)和實(shí)現(xiàn)的,并且用這種方法實(shí)現(xiàn)的單片系統(tǒng),只可能是那些廣泛使用、具有一定規(guī)模的 應(yīng)用系統(tǒng)才值得投入研制。還有些應(yīng)用系統(tǒng),因?yàn)榧夹g(shù)問題或商業(yè)價(jià)值問題并不適宜用單片實(shí)現(xiàn)。當(dāng)它們以商品形式推出相應(yīng)單片系統(tǒng)后,應(yīng)用人員只要會選用即 可。所以,3個(gè)層次的設(shè)計(jì)方法會并存,并不會簡單地用后者取代前者。 初級應(yīng)用設(shè)計(jì)人員會以第1種方法為主;富有經(jīng)驗(yàn)的設(shè)計(jì)人員會以第2種方法為主;很專業(yè)的設(shè)計(jì)人員會用第3種方法進(jìn)行簡單單片系統(tǒng)的設(shè)計(jì)和應(yīng)用。但所有的設(shè) 計(jì)人員都可以應(yīng)用半導(dǎo)體大廠商推出的用第3種方法設(shè)計(jì)的專用單片系統(tǒng)。
結(jié)束語
目前,在我國3個(gè)層次的設(shè)計(jì)分別呈“面”、“線”、“點(diǎn)”的狀態(tài)。習(xí)慣于第1層次設(shè)計(jì)方法的電子信息系統(tǒng)設(shè)計(jì)人員需要逐步向第2層次過渡和發(fā) 展;第2層次設(shè)計(jì)方法要由“線”逐步發(fā)展成“面”;第3層次設(shè)計(jì)方法需要國家有關(guān)部門根據(jù)IT發(fā)展戰(zhàn)略和規(guī)劃,組織各方面力量攻關(guān)、協(xié)調(diào)發(fā)展。第3層次設(shè) 計(jì)方法要由“點(diǎn)”逐步發(fā)展成“線”。
c++相關(guān)文章:c++教程
評論