開發(fā)片上系統(tǒng) (SoC) 需要管理設(shè)計(jì)的許多復(fù)雜方面。晶體管的絕對(duì)數(shù)量是壓倒性的,但復(fù)雜性不僅僅是數(shù)量。SoC 包含具有精確功能規(guī)范和一系列要求的高度復(fù)雜的特性。除了設(shè)計(jì)的復(fù)雜性之外,驗(yàn)證每個(gè)功能和整個(gè) SoC 是否滿足其規(guī)范和要求也是一個(gè)巨大的挑戰(zhàn)。
除了設(shè)計(jì)和驗(yàn)證的復(fù)雜性之外,整個(gè)過(guò)程的項(xiàng)目管理也令人生畏。沒(méi)有一種解決方案可以解決 SoC 復(fù)雜性的所有方面,甚至大部分方面。然而,一些技術(shù)可以解決問(wèn)題的特定部分,例如基于圖形的場(chǎng)景模型,這種形式可以直接降低驗(yàn)證復(fù)雜性,同時(shí)為管理 SoC 設(shè)計(jì)和項(xiàng)目復(fù)雜性提供附帶好處。
SoC驗(yàn)證
可以在示例數(shù)碼相機(jī) SoC 設(shè)計(jì)的上下文中說(shuō)明基于圖形的場(chǎng)景模型的作用(圖 1)。原始圖像由相機(jī)模塊從電荷耦合器件 (CCD) 陣列(正面或背面)捕獲。它可以顯示給用戶,由照片處理器操作,通過(guò) USB 端口傳輸,或保存到 SD 卡。一系列此類圖像可被視為視頻流,并由視頻處理器和 SoC 中的其他知識(shí)產(chǎn)權(quán) (IP) 塊進(jìn)行類似處理。
圖 1:具有數(shù)碼相機(jī)功能的 SoC 的復(fù)雜設(shè)計(jì)。
SoC 具有相互交織的數(shù)據(jù)流并支持一些并行性。使用兩個(gè)嵌入式 CPU,可以同時(shí)對(duì)多個(gè) IP 塊進(jìn)行編程。此外,如果結(jié)構(gòu)具有交叉開關(guān)功能,則多個(gè)數(shù)據(jù)流可以在不同的 IP 塊和內(nèi)存之間并行運(yùn)行,如果不需要內(nèi)存緩沖區(qū),則可以直接在 IP 塊之間運(yùn)行。驗(yàn)證要求在架構(gòu)支持時(shí)并行執(zhí)行所有這些可能的流程,以模仿相機(jī)中的實(shí)際最終用途。
如果要開發(fā)測(cè)試平臺(tái)環(huán)境,驗(yàn)證團(tuán)隊(duì)必須了解所有數(shù)據(jù)流和所有可能的交互。將 SoC 純粹視為黑匣子并不能提供足夠的驗(yàn)證;在大型設(shè)計(jì)中,嚴(yán)格地通過(guò)操縱輸入來(lái)激發(fā)深層行為是很困難的。因此,SoC 驗(yàn)證團(tuán)隊(duì)幾乎總是開發(fā)在嵌入式處理器上運(yùn)行的 C 語(yǔ)言測(cè)試,作為他們方法的一部分。當(dāng)然,手寫測(cè)試也很困難,要對(duì)相互協(xié)調(diào)的多個(gè)處理器和測(cè)試臺(tái)進(jìn)行手寫測(cè)試以充分發(fā)揮 SoC 的作用,幾乎是不可能的。
基于圖的場(chǎng)景模型
驗(yàn)證團(tuán)隊(duì)在理解芯片內(nèi)所有可能的行為和數(shù)據(jù)流方面面臨挑戰(zhàn)。紙質(zhì)規(guī)范很難消化,并且受制于自然語(yǔ)言的所有不精確性。由于描述的復(fù)雜性以及并非所有設(shè)計(jì)類型都適合聲明性語(yǔ)言這一事實(shí),嘗試使用純形式化方法描述完整的 SoC 的嘗試沒(méi)有成功。
一種獲得認(rèn)可的方法是基于圖形的場(chǎng)景模型。這樣的模型是一種形式主義——有向圖——但不需要形式語(yǔ)言。它可以使用標(biāo)準(zhǔn) C/C++ 語(yǔ)言加上一些來(lái)自標(biāo)準(zhǔn)巴科斯-瑙爾形式 (BNF) 表示法的結(jié)構(gòu)來(lái)描述。該圖顯示了 SoC 中 IP 塊之間的互連和合法數(shù)據(jù)流。場(chǎng)景模型類似于 SoC 架構(gòu)師可能在板上繪制的數(shù)據(jù)流圖,不同之處在于它的左側(cè)是輸出和結(jié)果,右側(cè)是輸入。
如圖 2所示,可能的最終用戶場(chǎng)景包括:
從其中一個(gè) CCD 陣列讀取并顯示在屏幕上、寫入 SD 卡或發(fā)送到 USB 端口的原始圖像
從其中一個(gè) CCD 陣列讀取的原始圖像,由照片處理器編碼為 JPEG,然后寫入 SD 卡或發(fā)送到 USB 端口
從其中一個(gè) CCD 陣列讀取的一系列原始圖像,由視頻處理器編碼為 MPEG,然后寫入 SD 卡或發(fā)送到 USB 端口
從 SD 卡或 USB 端口讀取并顯示在屏幕上的原始圖像,寫入 SD 卡或發(fā)送到 USB 端口
從 SD 卡或 USB 端口讀取的 JPEG 圖像,由照片處理器解碼并顯示在屏幕上,寫入 SD 卡或從 USB 端口發(fā)送
從 SD 卡或 USB 端口讀取的 MPEG 流,由視頻處理器解碼并顯示在屏幕上,寫入 SD 卡或從 USB 端口發(fā)送
圖 2:數(shù)碼相機(jī) SoC 的高級(jí)場(chǎng)景模型。
因?yàn)閳?chǎng)景模型是分層的,所以圖 2中的每個(gè)圖形節(jié)點(diǎn)(目標(biāo))都可以展開以顯示相應(yīng) IP 塊設(shè)計(jì)的詳細(xì)信息。該模型可以由 SoC 團(tuán)隊(duì)自上而下開發(fā),也可由 IP 開發(fā)人員自下而上開發(fā)。自上而下的開發(fā)更為常見,因?yàn)轫?xiàng)目通常開始使用場(chǎng)景模型來(lái)解決全芯片 SoC 驗(yàn)證問(wèn)題。這可能需要 IP 開發(fā)人員的一些參與來(lái)填寫較低級(jí)別的詳細(xì)信息。如果一個(gè)項(xiàng)目完全采用該方法,那么場(chǎng)景模型也用于驗(yàn)證單個(gè) IP 塊,然后組合成一個(gè)全芯片模型。
場(chǎng)景模型提供了對(duì) SoC 設(shè)計(jì)和芯片制造前必須覆蓋的驗(yàn)證空間的洞察。這通過(guò)幫助定義測(cè)試計(jì)劃來(lái)解決驗(yàn)證的復(fù)雜性。場(chǎng)景模型還有助于解決設(shè)計(jì)復(fù)雜性,因?yàn)樗芟裥酒軜?gòu)師可能繪制的數(shù)據(jù)流圖的擴(kuò)展版本來(lái)解釋設(shè)計(jì)的工作原理。因此,該圖成為架構(gòu)師、設(shè)計(jì)師、驗(yàn)證工程師、嵌入式程序員和啟動(dòng)團(tuán)隊(duì)之間可以使用的通用模型。這也降低了項(xiàng)目管理的復(fù)雜性,無(wú)論是在單個(gè)項(xiàng)目中,還是在共享設(shè)計(jì)部分的多個(gè)項(xiàng)目中。
場(chǎng)景模型自動(dòng)化
圖形場(chǎng)景模型的最大價(jià)值可能在于它可用于生成 C 測(cè)試用例,以在仿真、在線仿真 (ICE)、現(xiàn)場(chǎng)可編程門陣列 (FPGA) 原型或 SoC 芯片中的嵌入式處理器上運(yùn)行在培養(yǎng)實(shí)驗(yàn)室。生成器從左到右遍歷圖表,從期望的結(jié)果到輸入,組裝一系列步驟,這些步驟返回到產(chǎn)生特定結(jié)果所需的輸入值集。圖形決策點(diǎn)和數(shù)據(jù)值是隨機(jī)的,因此每個(gè)演練都會(huì)產(chǎn)生一個(gè)獨(dú)特的測(cè)試用例。這種自動(dòng)化消除了在 SoC 項(xiàng)目的任何階段(從模擬一直到實(shí)驗(yàn)室)手寫測(cè)試的需要。用戶報(bào)告說(shuō),他們可以使用以前用于手寫測(cè)試的 20% 的團(tuán)隊(duì)來(lái)獲得更好的自動(dòng)化結(jié)果,
可以將約束添加到圖形中以阻止根據(jù)規(guī)范非法的路徑,隔離尚未準(zhǔn)備好驗(yàn)證的設(shè)計(jì)部分,或?qū)y(cè)試用例生成偏向某些方向。例如,圖 2所示的圖表允許從 SD 卡讀取原始圖像,由照片處理器處理,然后顯示在屏幕上的場(chǎng)景。這是一個(gè)不必要的步驟,因?yàn)榭梢灾苯语@示原始圖像;用戶可以很容易地添加一個(gè)約束,即只有 JPEG 編碼的圖像被發(fā)送到照片處理器,以消除不必要的測(cè)試。
生成的測(cè)試用例是多線程和多處理器的,具有跨線程、處理器和內(nèi)置測(cè)試臺(tái)的所有通信。目標(biāo)是在允許的最大流量和并行度下對(duì) SoC 進(jìn)行壓力測(cè)試。在相機(jī) SoC 中,可能會(huì)在從 SD 卡讀取前一個(gè)圖像并顯示在屏幕上的同時(shí)將相機(jī)圖像寫入 USB端口。這種級(jí)別的活動(dòng)不太可能發(fā)生在手寫 C 測(cè)試或傳統(tǒng)的仿真測(cè)試平臺(tái)中,因此可以提供更完整的設(shè)計(jì)驗(yàn)證。
把它們放在一起
與任何自動(dòng)測(cè)試生成方法一樣,SoC 團(tuán)隊(duì)需要一種方法來(lái)評(píng)估驗(yàn)證的徹底性并確定何時(shí)流片。除了捕獲設(shè)計(jì)和驗(yàn)證空間外,場(chǎng)景模型還用作系統(tǒng)級(jí)覆蓋模型。由于遍歷圖表的確定性,驗(yàn)證工程師在測(cè)試用例生成時(shí)準(zhǔn)確地知道圖表中的最終用戶場(chǎng)景(路徑)和目標(biāo)已被覆蓋。他們不需要收集和整合運(yùn)行時(shí)覆蓋來(lái)評(píng)估驗(yàn)證進(jìn)度。更重要的是,他們可以避免花費(fèi)數(shù)周時(shí)間運(yùn)行額外的模擬測(cè)試,這些測(cè)試對(duì)覆蓋結(jié)果幾乎沒(méi)有任何影響。
場(chǎng)景模型和自動(dòng)測(cè)試用例生成形成閉環(huán)覆蓋系統(tǒng)。驗(yàn)證工程師可以指向任何未發(fā)現(xiàn)的路徑或目標(biāo),生成器將生成一個(gè)覆蓋它的測(cè)試用例。這同樣適用于跨覆蓋路徑或目標(biāo)。Breker 的 TrekSoC 系列產(chǎn)品提供閉環(huán)覆蓋和場(chǎng)景模型的其他優(yōu)勢(shì)。
基于圖的場(chǎng)景模型捕獲關(guān)鍵的設(shè)計(jì)和驗(yàn)證知識(shí),通過(guò)通用模型實(shí)現(xiàn) SoC 項(xiàng)目團(tuán)隊(duì)成員之間更好的溝通,減少流程中多個(gè)點(diǎn)的人工工作,加快進(jìn)度,更完整地驗(yàn)證設(shè)計(jì)以增加獲得第一名的機(jī)會(huì)- 硅成功。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19103瀏覽量
228834 -
usb
+關(guān)注
關(guān)注
60文章
7879瀏覽量
263738 -
soc
+關(guān)注
關(guān)注
38文章
4100瀏覽量
217782
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論