<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于平臺的CTG SoC系統(tǒng)建模方法

          基于平臺的CTG SoC系統(tǒng)建模方法

          作者: 時間:2008-02-19 來源: 收藏

            引言

          本文引用地址:http://www.ex-cimer.com/article/78988.htm

            基于平臺的設(shè)計PBD ( Platform-Based Design,簡稱PBD)方法是最近幾年提出的SoC系統(tǒng)設(shè)計新方法,它延伸并發(fā)展了IP重用的設(shè)計理念,強調(diào)系統(tǒng)重用。其基本思想是為應(yīng)用領(lǐng)域定義通用的設(shè)計模板,在此設(shè)計模板中涵蓋了IP庫、接口互連、軟/硬件系統(tǒng)結(jié)構(gòu)等設(shè)計信息。系統(tǒng)建模是基于平臺的SoC系統(tǒng)設(shè)計中需要解決的首要問題。電子產(chǎn)品設(shè)計領(lǐng)域常見的、基本的系統(tǒng)模型有離散事件模]、有限狀態(tài)機模型、數(shù)據(jù)流/控制流模型、通信進程模型與Petri網(wǎng)模型。這些模型各有特色,但它們用作基于平臺的SoC系統(tǒng)模型存在一些缺點:

            ( 1) 只能描述功能,不能描述性能;

            ( 2) 粒度過細且不可變;

            ( 3)有的模型不支持系統(tǒng)原型代碼生成,因此難以進行快速的系統(tǒng)仿真驗證以及系統(tǒng)設(shè)計空間探索。

            本文提出約束任務(wù)流圖CTG ( Constrained Taskflow Graph,簡稱CTG)模型作為SoC系統(tǒng)模型,提出了基于平臺的CTG 系統(tǒng)建模方法, 實現(xiàn)了SoC系統(tǒng)建模環(huán)境CPSME (CTG PBDModeling Environme

            nt,簡稱CPSME) 。CTG模型采用任務(wù)逐步細化求精的思想實現(xiàn)層次描述能力以及任務(wù)粒度的可變性,并且定義子任務(wù)執(zhí)行控制機描述任務(wù)并行、分支與循環(huán)控制等。CTG模型為任務(wù)定義了運行時間(速度) 、功耗、面積、成本等屬性,用以描述任務(wù)的性能約束。CTG模型將任務(wù)映射到實現(xiàn)算法,以描述任務(wù)功能。完成CTG模型中所有任務(wù)向算法的映射后,得到的算法流可快速生成系統(tǒng)原型代碼,用于系統(tǒng)仿真驗證。提出的基于平臺的CTG系統(tǒng)建模方法支持CTG模型庫管理以及CTG模型重用與定制,兼顧了系統(tǒng)模型的重用性與靈活性。

            基于平臺的設(shè)計方法

            在SoC系統(tǒng)軟硬件協(xié)同設(shè)計領(lǐng)域,平臺是關(guān)于虛擬組件(Virtual Component,又稱為虛部件)與體系結(jié)構(gòu)框架的庫。在平臺中包含一些可集成的并且預先驗證的軟件IP與硬件IP塊、模型、EDA工具與軟件工具、庫以及通過體系結(jié)構(gòu)探索 /集成/驗證來支持快速產(chǎn)品開發(fā)的方法學。基于平臺的設(shè)計方法是一種面向集成、強調(diào)系統(tǒng)級重用的SoC設(shè)計方法,可顯著降低SoC系統(tǒng)開發(fā)風險、代價與上市時間。

            圖1給出了我們基于層次平臺的SoC系統(tǒng)設(shè)計方法Hi-PBD (Hierarchical PBD,簡稱Hi-PBD) ,它將SoC系統(tǒng)設(shè)計分為系統(tǒng)模型層、虛部件層和實部件層,達到系統(tǒng)設(shè)計中功能與結(jié)構(gòu)分離、計算與通訊分離的目的。該方法通過設(shè)計規(guī)劃與虛實綜合完成三個設(shè)計層次之間的兩次映射。Hi-PBD方法不僅重用三個層次的設(shè)計模板,而且重用設(shè)計層次間兩次映射的結(jié)果,提高了重用效率。此外,Hi-PBD方法支持在三個層次修改相應(yīng)設(shè)計模板以增強設(shè)計靈活性,采用性能約束傳播機制確保最終設(shè)計目標滿足性能要求。特別是SoC虛部件層的采用,使虛部件層作為SoC系統(tǒng)模型與實部件RTL描述之間的橋梁,可有效降低從SoC系統(tǒng)模型直接映射到實部件RTL描述的難度。

            

          基于層次平臺的SoC系統(tǒng)設(shè)計方法

           

            圖1 基于層次平臺的SoC系統(tǒng)設(shè)計方法

            約束任務(wù)流圖模型

            定義

            (1) 任務(wù):任務(wù)是為達到某一特定目標而指定的動作序列,此動作序列獲取輸入信息,引發(fā)任務(wù)內(nèi)部某些狀態(tài)的變化,并產(chǎn)生輸出信息。任務(wù)可以被劃分到硬件或軟件上實現(xiàn)。可描述為:Task = { InputSeq, ActionSeq, OutputSeq }

            (2) 約束:這是一個包括時間、空間、功耗、面積、成本等代價的多元組。必須在所指定的代價范圍內(nèi)實現(xiàn)任務(wù),并以約束信息作為選擇任務(wù)軟硬件實現(xiàn)方式的依據(jù)??擅枋鰹椋篊onstraint = { TimeConstr, SpaceConstr, PowerConstr,AreaConstr, PriceConstr.}

            (3) 約束任務(wù)流圖:約束任務(wù)流圖CTG (Constrained Taskflow Graph,簡稱CTG)描述了任務(wù)間的層次關(guān)系與執(zhí)行關(guān)系。約束任務(wù)流圖中的每個任務(wù)都有約束限制,作為SoC系統(tǒng)設(shè)計規(guī)劃、軟硬件劃分、高層綜合與軟硬件協(xié)同仿真等過程中要求任務(wù)必須滿足的實現(xiàn)約束??擅枋鰹? CTG = { TaskTree, CommunSet, SubtaskFSMSet, ConstraintSet} 。

            用CTG模型描述SoC系統(tǒng)任務(wù)

            任務(wù)封裝

            分別定義屬性視圖、約束視圖、算法視圖、細化視圖與子任務(wù)執(zhí)行控制機視圖,將所有與任務(wù)相關(guān)的設(shè)計信息封裝在一起。

            任務(wù)細化

            任務(wù)細化的思想就是對大而復雜的設(shè)計任務(wù)進行逐步拆分,將難以在單個部件上完成的任務(wù)劃分為較小的子任務(wù),以有效降低任務(wù)實現(xiàn)難度。任務(wù)細化 可控制任務(wù)的粒度。在組織方式上,采用任務(wù)樹描述任務(wù)的細化過程。

            子任務(wù)執(zhí)行控制機

            子任務(wù)執(zhí)行控制機用來描述屬于相同父任務(wù)的子任務(wù)之間的控制執(zhí)行關(guān)系,從而方便地表達包括并發(fā)、分支轉(zhuǎn)移、循環(huán)(反饋)等在內(nèi)的多種任務(wù)調(diào)度方案。子任務(wù)執(zhí)行控制機可描述為:TaskFSM = { SubtaskSet,InitialTask,ConditionSet,TaskTransitionRuleSet} SubtaskSet描述了子任務(wù)執(zhí)行控制機中的所有任務(wù),InitialTask是第一個被執(zhí)行的任務(wù), ConditionSet是所有控制轉(zhuǎn)移條件的集合, TaskTransitionRuleSet描述了從一個子任務(wù)轉(zhuǎn)移到另一個子任務(wù)的轉(zhuǎn)移規(guī)則。TaskTransitionRuleSet可描述為: TaskTransitionRuleSet: SubtaskSet ×ConditionSet → subtaskSet 。

            基于平臺的CTG SoC系統(tǒng)原型生成

            我們用算法描述任務(wù)的功能(行為) ,并將一個應(yīng)用領(lǐng)域中的所有算法組織成領(lǐng)域算法庫。允許一個算法存在多種不同的實現(xiàn),不同的 算法實現(xiàn)在性能上不同。例如,有的算法實現(xiàn)方案具有較快的運行速度,有的算法實現(xiàn)方案具有更低的存儲空間需求。

            在生成SoC系統(tǒng)原型代碼之前,先將CTG任務(wù)流映射為算法流,映射過程如圖2所示。映射得到算法流之后,經(jīng)過對算法流的裝配、定義全局變量等過程,可生成所需的SoC系統(tǒng)原型代碼。

            

          任務(wù)流到算法流的映射

           

            圖2 任務(wù)流到算法流的映射

            基于平臺的CTG SoC系統(tǒng)建模與重用

            圖3顯示了我們基于平臺的CTG SoC系統(tǒng)建模與重用方法,主要分為CTG模型庫管理與CTG模型重用。

            

          基于平臺的CTG SoC系統(tǒng)建模與重用

           

            圖3 基于平臺的CTG SoC系統(tǒng)建模與重用

            在CTG模型庫中包含了不同SoC應(yīng)用領(lǐng)域的、經(jīng)過驗證的基本CTG模型,這些模型在功能與性能約束上反映了相關(guān)領(lǐng)域的基本應(yīng)用需求。除了包括基本的數(shù)據(jù)庫管理功能外, CTG模型庫管理還表現(xiàn)在建立CTG領(lǐng)域模型( ①)以及后來進行的CTG模型庫優(yōu)化( ⑤) 。

            在 SoC系統(tǒng)建模時,首先從CTG模型庫選取基本的CTG領(lǐng)域模型模板( ②) ;然后,根據(jù)SoC系統(tǒng)的特定功能、性能需求對所選CTG模板進行定制( ③) ,得到面向特定SoC應(yīng)用需求的CTG模型。定制操作包括添加、刪除與修改任務(wù)的功能行為或性能約束,與完全重新建立SoC系統(tǒng)模型相比,其工作量要小得多。并且, CTG模型庫中的模型已經(jīng)過較充分的驗證,因此僅僅需要對所得CTG模型中發(fā)生變化的部分進行驗證即可。可見,基于平臺的CTG SoC系統(tǒng)建模與重用除了確保CTG模型的整體重用,還通過定制操作保證系統(tǒng)建模的靈活性。 如果在后來的應(yīng)用中發(fā)現(xiàn)所定制的CTG模型具有優(yōu)良的應(yīng)用效果,可以通過CTG模型庫優(yōu)化( ⑤)將新的模型加入CTG庫中,以利于以后重用。

            需要指出的是, CTG模型庫中的各CTG模型不僅僅是前面定義的CTG模型本身,還包括了與此模型相關(guān)的、經(jīng)過驗證的SoC系統(tǒng)性能約束分配、系統(tǒng)模型仿真驗證等系統(tǒng)建模方法, CTG模型的重用也包括對這些系統(tǒng)建模方法的重用。

            基于平臺的CTG SoC系統(tǒng)建模環(huán)境及應(yīng)用

            SoC系統(tǒng)建模環(huán)境的結(jié)構(gòu)與功能

            圖4是本文基于平臺的CTG SoC 系統(tǒng)建模環(huán)境(CPSME)結(jié)構(gòu)圖,分為CTG模型庫管理與CTG模型重用兩個部分。

            

          CPSME結(jié)構(gòu)圖

           

            圖4 CPSME結(jié)構(gòu)圖

            CTG模型庫管理部分除提供基本的數(shù)據(jù)庫管理功能外( ⑦) ,主要是提供了根據(jù)SoC應(yīng)用領(lǐng)域的需求創(chuàng)建新CTG模型的支持( ①②③④⑤⑥) 。

            在我們基于平臺的CTG SoC系統(tǒng)建模過程中,進行SoC系統(tǒng)建模主要是進行CTG模型的重用:首先,依據(jù)SoC系統(tǒng)需求分析( ⑧)結(jié)果,從CTG模型庫中選擇CTG模型模板( ⑨) ;然后,對所選CTG模型模板進行定制( ⑩) ,以滿足特定應(yīng)用的功能與性能需求。

            在CTG模型模板的定制中,除了對系統(tǒng)功能行為的定制,還支持對任務(wù)性能約束的定制。功能行為的定制主要通過任務(wù)的添加、刪除、編輯等實現(xiàn)。性能約束的定制在任務(wù)的基礎(chǔ)上進行,可以對已有的性能約束信息進行修改,實現(xiàn)SoC系統(tǒng)性能約束隨設(shè)計過程逐步傳播。

            當CTG模型庫中沒有所需的SoC領(lǐng)域CTG模型時,就需要利用CTG模型庫管理部分的功能模塊為該領(lǐng)域創(chuàng)建基本的SoC CTG模型,并加入CTG模型庫中以供使用。

            應(yīng)用實驗

            在CPSME下,我們分別對MP3播放器以及MPEG2播放器SoC進行系統(tǒng)建模。實驗表明,應(yīng)用本文建模方法通常只要對所選的CTG模型模板進行10% ~25%的修改 。而且,由于所選的CTG模型模板已經(jīng)得到了充分的性能分配、功能驗證等,使所得SoC系統(tǒng)模型在質(zhì)量上更有保證。

            結(jié)束語

            基于平臺的CTG SoC系統(tǒng)建模方法通過建立CTG模型庫支持CTG模型的重用,通過提供模型定制操作支持對CTG模型模板的修改以滿足特定的SoC系統(tǒng)功能與性能需求,從而使得在確保CTG模型整體重用的同時保持具體應(yīng)用的靈活性。CTG模型庫的建立與完備是基于平臺的CTGSoC系統(tǒng)建模的關(guān)鍵。



          關(guān)鍵詞: SoC

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();