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