不可不知的幾種真實(shí)設計環(huán)境中的系統設計
對基于SoC系統設計正確方法的爭論非常激烈。是傳統的寄存器傳送級(RTL)流程?還是C語(yǔ)言行為模型的高級綜合?減少了代碼生成的知識產(chǎn)權(IP)重用方法又怎樣呢?
對于設計團隊應該怎樣從需求分析到制造實(shí)現,每個(gè)專(zhuān)家都有自己的觀(guān)點(diǎn)。每一觀(guān)點(diǎn)都基于自己的偏好,過(guò)去的經(jīng)驗,或者——EDA供應商本身會(huì )考慮產(chǎn)品供貨情況。但是在很多真實(shí)環(huán)境中,所有這些觀(guān)點(diǎn)可能都是不相干的。
原因很簡(jiǎn)單:大部分系統設計——據網(wǎng)站embedded.com最近的一項研究,55%的設計并不是新設計。它們實(shí)際上是對某類(lèi)現有設計的修改。這一事實(shí)意味著(zhù),實(shí)際設計過(guò)程不僅僅取決于某些方法專(zhuān)家的建議,而且還要考慮需求的變化特性,以及設計團隊能夠得到的數據。結果可能是從形式驅動(dòng)的修訂過(guò)程,直至徹底的修改,甚至還有不可預測的改動(dòng)等。通常是,結果實(shí)際對整個(gè)系統重新設計:不是因為改動(dòng)的范圍,而是因為沒(méi)有重用規劃,也沒(méi)有能夠管理改動(dòng)的方法。
在本文中,我們將與方法專(zhuān)家和實(shí)際設計人員進(jìn)行討論,當系統需求變化時(shí),到底會(huì )怎樣,有沒(méi)有一種一致的方法。然后,我們將在幾種真實(shí)設計環(huán)境中應用這種工作方法,通過(guò)它來(lái)建議應采用怎樣的設計過(guò)程,怎樣使其更好的工作。
一些分類(lèi)
至少在三種不同的環(huán)境下會(huì )出現衍生設計(圖1 )。最明顯的是,現有設計的一系列需求變化定義了新項目后:例如,新功能、新外設,或者新的性能指標等。
圖1.衍生設計分類(lèi)
而至少還有其他兩類(lèi)。一類(lèi)是使用平臺設計,例如谷歌的Android平臺。Cadence的系統開(kāi)發(fā)包產(chǎn)品市場(chǎng)集團總監Frank Schirrmeister特別指出了德州儀器的開(kāi)放多媒體應用平臺(OMAP),這是一個(gè)很好的例子。他觀(guān)察到,OMAP平臺定義的擴展平臺幾乎含有應用領(lǐng)域中能夠想到的所有系統。設計團隊通過(guò)把未使用的模塊拿到平臺之外來(lái)產(chǎn)生某種例化,在某些情況下,重新優(yōu)化得到的設計。
第三類(lèi)是相關(guān)的:使用參考設計。這一過(guò)程實(shí)際上是衍生設計的一個(gè)例子,但卻是重要的方法,它不同于自己修改現有設計,也不同于應用一個(gè)平臺。
對于這三種情形,只有第一種可以被分類(lèi)為衍生設計?;谄脚_的設計和基于參考的設計一般被認為是新設計。但所有這三種都有共同的特性。它們從一個(gè)已經(jīng)完成的設計開(kāi)始,然后,針對現有規范來(lái)對比新設計需求。它們找到與現有設計的不同,然后進(jìn)行實(shí)施。
第一步:有哪些變化?
這些設計過(guò)程都從一些新需求開(kāi)始。每一過(guò)程的第一步是找到新需求和現有設計之間的不同點(diǎn)。理論上,這是一個(gè)嚴格的過(guò)程。我們可以通過(guò)對比最初的需求文檔和修改后的需求文檔來(lái)找到這些不同。但是在很多情況下,設計團隊無(wú)法使用現有設計最初的、當前的、正確的需求文檔。我們將在本文的后面討論這些情形。
我們理論過(guò)程的下一步是將每一需求變化分成行為、結構和參數三類(lèi)。行為變化——系統功能的變化,這是最常見(jiàn)的,據embedded.com研究,它占據了衍生設計的一半以上。有趣的是,目前自動(dòng)化設計工具為它們提供的支持很少,只是提供一些表格。
作為對比,結構變化指出了系統硬件或者軟件的某些改變:例如,操作系統的變化,增加或者去除了硬件模塊,或者改變了模塊之間的互聯(lián)等。在某些應用中,例如通信基礎設施,系統I/O會(huì )經(jīng)常變化。Altera設計工作專(zhuān)家Kevin Weldon評論說(shuō):“我們一直和客戶(hù)一起工作,實(shí)現他們的目標工作頻率。但是現在,我們看到更多的變化出現在I/O中??蛻?hù)希望確定不會(huì )出現I/O阻塞?!?/P>

評論