不可不知的幾種真實(shí)設(shè)計(jì)環(huán)境中的系統(tǒng)設(shè)計(jì)
找到相關(guān)性
在理想的環(huán)境中,從幾種相容的觀點(diǎn)看,存在一個(gè)最早的設(shè)計(jì)——這是我們從中獲得新系統(tǒng)的設(shè)計(jì)。我們不僅僅會(huì)有形式需求文檔,而且還有行為模型——可能同時(shí)以更抽象的C代碼以及會(huì)話級(jí)版本的形式提供。我們還會(huì)有硬件和軟件的模塊級(jí)體系結(jié)構(gòu)模型。對(duì)于實(shí)際實(shí)現(xiàn),會(huì)有RTL和軟件代碼。
在這種環(huán)境中,下一步是觀察。我們通過修改行為模型來(lái)滿足行為需求的變化。結(jié)構(gòu)需求的變化會(huì)觸發(fā)對(duì)IP或者互聯(lián),甚至是軟件功能的調(diào)整。參數(shù)變化會(huì)導(dǎo)致實(shí)施層面代碼的修訂。
在每種情況下,我們都會(huì)有可追溯和設(shè)計(jì)無(wú)關(guān)文件,以確定我們進(jìn)行的調(diào)整會(huì)怎樣影響設(shè)計(jì)的其他部分(圖2 ),因此,例如,如果我們修改數(shù)據(jù)結(jié)構(gòu)的定義或者設(shè)計(jì)中某一部分信號(hào)的帶寬,那么,我們就會(huì)知道,這些修改會(huì)影響設(shè)計(jì)中的哪些區(qū)域。工具會(huì)幫助我們保存從需求到實(shí)現(xiàn)的所有文檔。
圖2.可追溯性簡(jiǎn)化了需求向工作聲明的轉(zhuǎn)換
每次調(diào)整后,我們會(huì)在適當(dāng)?shù)某橄蠹?jí)重新進(jìn)行仿真,以驗(yàn)證修改后的設(shè)計(jì)現(xiàn)在能否滿足新需求。然后,把這種修改傳遞到后面的底層抽象層,重新優(yōu)化,直到我們的新設(shè)計(jì)通過了驗(yàn)證。
Schirrmeister指出,這種理想化的過程非常依賴于兩組其他的數(shù)據(jù),但不能保證可以使用這些數(shù)據(jù)。首先是使用場(chǎng)景。在正確的使用場(chǎng)景中,我們可以限制對(duì)修改后的設(shè)計(jì)進(jìn)行驗(yàn)證,特別是對(duì)用戶比較重要的模式和輸入。如果沒有使用模型,我們需要確定新設(shè)計(jì)在所有可能的實(shí)際環(huán)境下都滿足現(xiàn)有以及修改后的需求。
其次是足夠的測(cè)試臺(tái),針對(duì)整個(gè)系統(tǒng)和關(guān)鍵子系統(tǒng)。在實(shí)際中,測(cè)試臺(tái)體現(xiàn)了人類語(yǔ)言文檔無(wú)法表示的需求。很多設(shè)計(jì)團(tuán)隊(duì)認(rèn)識(shí)到這方面的不足,重新建立系統(tǒng)測(cè)試臺(tái),這一項(xiàng)目規(guī)模與系統(tǒng)設(shè)計(jì)本身一樣大——如果不能提供第三方SoC等關(guān)鍵元器件的數(shù)據(jù),其規(guī)模會(huì)更大。
在真實(shí)環(huán)境中
對(duì)于一些設(shè)計(jì)人員組織而言,我們的理想化實(shí)例不一定具有可行性。汽車、交通、民用航空等領(lǐng)域的設(shè)計(jì)團(tuán)隊(duì)需要面對(duì)ISO 26262或者DO 178B等標(biāo)準(zhǔn),要求設(shè)計(jì)和測(cè)試臺(tái)中的每一單元都能夠追溯到需求文檔的控制單元。這些設(shè)計(jì)團(tuán)隊(duì)能夠找到設(shè)計(jì)中的哪一部分需要進(jìn)行測(cè)試,甚至進(jìn)行修改以符合需求的變化。他們可以指出哪些模塊需要在測(cè)試臺(tái)中進(jìn)行修改。這一開始就需要很大的投入。
但是在大部分實(shí)際設(shè)計(jì)中,很難實(shí)現(xiàn)形式需求的可追溯性。這種項(xiàng)目的可追溯性只存在于設(shè)計(jì)團(tuán)隊(duì)成員的大腦中。即使最初的設(shè)計(jì)人員還能夠說(shuō)出,是什么原因讓他以某種方式來(lái)實(shí)現(xiàn)某一模塊,但是,在有人向他提問之前,他可能已經(jīng)離開公司了,或者不在這一行業(yè)中了。我們不得不質(zhì)疑我們的理想場(chǎng)景怎樣應(yīng)用在這些真實(shí)環(huán)境中。
在一個(gè)平臺(tái)上
考慮設(shè)計(jì)團(tuán)隊(duì)使用平臺(tái)設(shè)計(jì)的情況。平臺(tái)一般是由SoC供應(yīng)商提供的,是系統(tǒng)設(shè)計(jì)的擴(kuò)展,而Android是個(gè)明顯的例外。您要針對(duì)這一體系結(jié)構(gòu)進(jìn)行的嘗試都含在規(guī)范中。概念非常簡(jiǎn)單。建立您自己的需求,找到您不需要的部分平臺(tái),不用它們(圖3 )。然后,根據(jù)需要來(lái)優(yōu)化其他部分,以滿足參數(shù)約束。
評(píng)論