<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 互連總線(xiàn)的產(chǎn)品生命周期(下)

互連總線(xiàn)的產(chǎn)品生命周期(下)

—— PSS建構效能模型、設計驗證及后芯片驗證
作者:ADI 時(shí)間:2022-03-17 來(lái)源:CTIMES 收藏

  可攜式刺激源標準()是最新的業(yè)界標準,其用來(lái)規范測試意圖與行為,讓測試刺激源可重復套用到不同的目標平臺。不僅改變系統單芯片(SoC)傳統的確認與驗證方法,也帶來(lái)了許多優(yōu)點(diǎn)以及衍生不少挑戰。本文繼上篇從SystemC效能分析探索架構的生命周期探討,下篇著(zhù)重于分析解說(shuō)如何透過(guò)通用型流量產(chǎn)生器進(jìn)行確認與驗證。

隨著(zhù)設計要求日趨復雜,驗證技巧與方法也隨之不斷演進(jìn)??蓴y式刺激源標準(PSS)是演進(jìn)的最新產(chǎn)物,它的目的是因應測試可移植性的挑戰。新型PSS允許用戶(hù)建立測試意圖,藉以重復套用到不同的目標平臺。除了可移植性之外,PSS驗證技巧還提供多方面的價(jià)值,包括視覺(jué)測試代表性、限制設定、數據流隨機性及更高的測試質(zhì)量。本文探討這些演變,提出一項架構的案例研究,進(jìn)行SystemC效能分析解說(shuō)確認與驗證過(guò)程。


的UVM式驗證
互連架構的效能分析可歸納出效能、功率及空間的最佳組態(tài)。確定互連組態(tài)后,即可用來(lái)產(chǎn)生AMBA互連RTL以及可設定的自動(dòng)化流程。但這種流程由于存在組態(tài)、軟件結構、以及人工解讀組態(tài)等方面的限制因此容易出錯,所以需要進(jìn)行驗證,確保無(wú)瑕疵的產(chǎn)生流程。在以往這方面都是采用業(yè)界標準UVM方法。

圖5顯示用來(lái)驗證互連總線(xiàn)的UVM環(huán)境,當中包含不同類(lèi)型的AMBA(AXI、AHB、APB)主控器與UVC從屬端,以客制化組態(tài)分別連到DUT從屬端與主控器。這個(gè)環(huán)境可用通用組態(tài)進(jìn)行設定。記分板(scoreboard)不僅會(huì )記錄交易,還會(huì )顯示任何數據不匹配的AI。

圖片.png
 
圖5 : 對互連總線(xiàn)進(jìn)行UVM式IP驗證

測試包含一系列程序以及虛擬程序,用來(lái)控制底層UVC與接口的功能。測試程序依循的測試計劃,是源自針對性與隨機性測試案例。功能覆蓋點(diǎn)亦是依據驗證計劃所建立,藉以確保符合規格。在此之后會(huì )執行多項模擬與建立一個(gè)覆蓋數據庫,藉以搜集程序代碼與功能覆蓋范圍。接著(zhù)會(huì )分析數據庫并檢驗覆蓋區的死角。接下來(lái)進(jìn)行回歸測試,然后產(chǎn)生報告并分析結果。這個(gè)流程會(huì )不斷重復,直到達到想要的覆蓋目標,以確保高質(zhì)量的驗證。

本文引用地址:http://dyxdggzs.com/article/202203/432109.htm

連同做為驗證計劃一部分的導引式測試,UVM技巧依賴(lài)隨機測試來(lái)達到覆蓋目標。它從隨機刺激源開(kāi)始,之后逐漸限縮限制條件,直到達成覆蓋目標為止,依賴(lài)隨機化的與運算主機群的蠻力來(lái)覆蓋狀態(tài)空間。程序代碼覆蓋率是定量衡量數據,但功能覆蓋則是DUT程序代碼執行的定性衡量。通常這項質(zhì)量受限于人們執行驗證計劃以及分析覆蓋報告方面的勤奮與堅持程度。

另一項決定驗證質(zhì)量的因素是高效率的自動(dòng)化檢查。結合利用記分板進(jìn)行封包比較,以及判定檢查點(diǎn),可在流程后段判定后芯片bug瑕疵的數量。UVM式驗證技巧是自給自足且有效的方法,可確保高質(zhì)量的驗證。然而,PSS技巧可透過(guò)各種功能進(jìn)一步改善驗證流程。

PSS式驗證一開(kāi)始是針對每項設計規格建立驗證計劃,然后設立驗證環(huán)境。之后針對可攜式刺激源模型、限制條件、以及組態(tài)檔案擷取出測試意圖。支持這項標準的工具之后可為特定種類(lèi)的驗證環(huán)境產(chǎn)生測試程序,以及搜集圖像式覆蓋圖表。分析這種類(lèi)型的覆蓋范圍,可顯示在測試限制條件與組態(tài)下的覆蓋漏洞,以及重新檢討流程。

圖6顯示驗證流程以及介紹PSS模型。這里要提的重點(diǎn)是PSS模型不會(huì )取代UVM環(huán)境,實(shí)際上,它是加到現有UVM環(huán)境以增強其功能。UVM驗證環(huán)境仍會(huì )有主控器與從屬端UVC,以及SB與組態(tài),而虛擬程序則會(huì )繞過(guò)UVM SV基礎架構。這個(gè)環(huán)境是由頂層UVM測試來(lái)控制,一方面呼叫虛擬程序來(lái)控制UVC作業(yè),另一方面與可攜式刺激源互動(dòng),并透過(guò)PLI與DPI式系統呼叫產(chǎn)生格式。PSS模型完全可重復用在SystemC式效能建模程序。由PSS模型產(chǎn)生的測試邏輯會(huì )控制各UVC之間的作業(yè)。IP層級的模擬則會(huì )使用產(chǎn)生的測試來(lái)執行,并搜集覆蓋數據。


 圖片.png

圖6 : 互連總線(xiàn)進(jìn)行PSS式IP驗證

表2顯示在PSS與UVM驗證環(huán)境中進(jìn)行回歸檢驗的結果。由于采用UVM方法,讓達到最高覆蓋范圍(套用豁免條件)需執行的受限隨機測試的次數大幅降低。PSS驗證的隨機機制一開(kāi)始是執行抽象描述,描述DUT高層級狀態(tài)之間的合法交易,以及自動(dòng)仿真覆蓋這個(gè)狀態(tài)空間所需的最少測試。圖像覆蓋范圍讓用戶(hù)能檢視橫向傳遞路徑以及產(chǎn)生測試,藉以覆蓋最大長(cháng)度的圖像。

 

2. PSS UVM 設定與回歸

測試運行(Tests Run)

通過(guò)

失敗

不執行

整體程序代碼覆蓋率

(僅UVM) 125

125

0

0

298034/388949 (76.6%)

(UVM PSS) 75

75

0

0

298034/388949 (76.6%)


可攜式刺激源驗證方法可以控制的另一項因素,就是測試質(zhì)量。由于可透過(guò)圖像看到測試狀況,讓使用者可以更好地了解控制以及數據流。此外,相同的工具還能用來(lái)在運行時(shí)間進(jìn)行主動(dòng)檢查,允許有效的自動(dòng)檢查。這方面還能結合記分板檢查以及判定檢查點(diǎn),藉以改善驗證質(zhì)量。

可攜式刺激源方法是在更高的抽象層上執行,之后會(huì )整合底層的驗證流程。因此盡管在測試或刺激源產(chǎn)生流程方面有明確的改善,這種驗證方法仍以原始型態(tài)局限在底層流程。在和UVM環(huán)境整合方面,一方面它受益于重復使用驗證組件,另一方面它也會(huì )受限于本身的復雜性。類(lèi)似的狀況,在UVM方面,驗證的質(zhì)量受限于驗證計劃的質(zhì)量以及覆蓋報告的分析。


互連總線(xiàn)的SoC驗證
當互連整合成SoC的一部分,就必須檢查它與系統中各主控器與從屬端之間的整合狀況。這方面通常是在處理器上執行C語(yǔ)言測試,藉以檢查互連總線(xiàn)的整合狀況。IP層級上的通用主控器會(huì )變換成特定總線(xiàn)主控器,像是多重處理器、DSP、DMA控制器、各種序列協(xié)議的主控器,像是SPI、I2C、CAN等協(xié)議,以及各種客制化主控器與從屬端。這會(huì )引發(fā)特定程序或宏,藉以控制SoC中的不同主控器與從屬端。

宏或程序通常會(huì )進(jìn)行緩存器程序化,藉以從包括DMA控制器、內存等主控器接收與發(fā)送交易。在這個(gè)層級并沒(méi)有受限的隨機化,因此每種情境都必須探索以及進(jìn)行人工撰寫(xiě)程序。在重復使用方面,IP層級的某些UVM監視器可用來(lái)監視協(xié)議或利用記分板來(lái)檢查任何特定的興趣點(diǎn)。但一旦轉移關(guān)注焦點(diǎn),就必須重新執行涵蓋主要部分的測試與程序。

PSS驗證技巧是為SoC測試重復使用的IP所設計。圖7顯示在SoC層級驗證方面重復使用流量產(chǎn)生器PSS模型。在IP層級撰寫(xiě)的模型,系針對不同地址映像進(jìn)行設定,配合每種SoC規格與針對C測試產(chǎn)生程序。

模型中幾乎所有程序–除了整合執行程序代碼的部分以外–都可重復使用在為處理器應用撰寫(xiě)模型上,亦即這類(lèi)執行程序代碼遠遠較為復雜,包括各種主控器爭奪啟動(dòng)與關(guān)閉宏,或是像DMA與內存控制器,它們能啟動(dòng)互連總線(xiàn)上的單一或突發(fā)交易。

對于每個(gè)通用主控器,需要重新撰寫(xiě)執行程序代碼,藉以讓它們能和SoC中各種主控器進(jìn)行整合。工具的隨機性允許多種主控器與從屬端交易的組合。SoC層級上針對整合檢查建立目標測試的限制,可配合測試的視覺(jué)表征妥善管理。在產(chǎn)生C語(yǔ)言測試后,它們會(huì )和SoC設定以及一些系統標準基礎架構進(jìn)行整合。C語(yǔ)言測試之后會(huì )進(jìn)行編譯,然后在處理器執行,用來(lái)產(chǎn)生交易。

圖7顯示運用PSS工具建立多核心測試,這類(lèi)測試很難以人工撰寫(xiě)出來(lái)。測試意圖的不同部分可設定在核心上執行,藉以建立有趣的情境。在含有多個(gè)總線(xiàn)主控器的狀況,上述功能特別有用。由于有這種功能組合,讓不同主控器進(jìn)行程序化變得可行。能夠重新產(chǎn)生SoC層級的圖像化受限隨機測試,但又不需實(shí)際重寫(xiě)這些情境,也是一項重大優(yōu)勢。

另外,它也允許測試產(chǎn)生,利用不同的地址映像檢查相同IP的不同執行例。而當我們在SoC層級上,在SoC層級為不同IP結合不同種類(lèi)的PSS模型,就可以創(chuàng )建出各種復雜情境,若是以人工撰寫(xiě)的方式就很難創(chuàng )建。


圖片.png
 
圖7 : 互連總線(xiàn)的PSS式SoC驗證流程

互連總線(xiàn)的驗證
業(yè)者需要執行驗證才能確定產(chǎn)品合規性,確保符合客戶(hù)的規格、可用性及符合允收(acceptance)測試的要求。傳統上,評估板需要執行C語(yǔ)言測試,通常都是根據原始規格以人工撰寫(xiě)程序代碼。這種重復性的工作可利用PSS方法大幅精減,讓系統自動(dòng)產(chǎn)生兼容于評估軟件的C語(yǔ)言測試碼。

圖8代表PSS方法的驗證流程。流量產(chǎn)生器的PSS模型可根據每種SoC規格以及配合Eval-C測試產(chǎn)生流程,針對不同地址映像進(jìn)行設定。PSS工具通常能夠針對多個(gè)核心產(chǎn)生測試程序,支持特定情境的測試。產(chǎn)生的C測試程序經(jīng)過(guò)除錯器的編譯,程序代碼會(huì )透過(guò)像JTAG的接口加載到評估板。執行測試程序代碼之后,結果就會(huì )顯示在評估板與除錯器接口。在SoC層級撰寫(xiě)的程序結合圖型限制的隨機性,這種成品完全具備重復使用的能力。

圖片.png
 
圖8 : 互連總線(xiàn)的PSS芯片驗證流程

此外,測試意圖的視覺(jué)代表性,以及方便套用限制的能力,讓使用者能建構方向性明確的流程。這種獨特且具控制性的方法在驗證過(guò)程中可建立各項測試,而這在以往通常都是完全以人工操作來(lái)進(jìn)行。

這里的執行程序代碼也必須針對芯片驗證的相關(guān)規范重新撰寫(xiě)。驗證平臺的基本驅動(dòng)程序用來(lái)控制總線(xiàn)上的不同主控器,像是這類(lèi)應用經(jīng)常用到的DMA以及內存控制器。產(chǎn)生的C程序代碼也需要進(jìn)行整合,并采用評估平臺接受的格式。通常這方面的流程包括重復使用表頭(header),擷取預寫(xiě)驗證碼的檔案,然后重復套用到產(chǎn)生的整合程序代碼。程序代碼之后進(jìn)行編譯,并和目標除錯器一起執行,藉以確保在這個(gè)層級進(jìn)行妥善的測試。

PSS工具通常能夠分析后處理應用得到的結果。結果數據的視覺(jué)分析除了反映測試通過(guò)或失敗的狀況,還能將產(chǎn)生結果的程序代碼區段一同顯示出來(lái)。這在驗證程序方面特別有用,因為傳統除錯功能在這方面的能力相當有限。

雖然我們還在后芯片應用針對流量產(chǎn)生器模型重復使用C測試流程,但我們有信心可能運用C語(yǔ)言測試法套用在任何評估平臺上。事實(shí)上,將SoC型PSS模型重復套用在后芯片評估板,這種模型已證實(shí)可用在其他處理器類(lèi)型的應用。這類(lèi)應用的可重復利用性,系可攜式刺激源方法的獨有特性。

總結
PSS類(lèi)型的通用流量產(chǎn)生器支持可重復使用的測試方案,透過(guò)SystemC執行效能分析測試互連總線(xiàn),藉以執行驗證與確認。其中每項流程都需要進(jìn)行整合以及基礎架構的開(kāi)發(fā)。不過(guò),這些一次性流程有機會(huì )在后續應用中重復使用。除了可重復使用外,PSS類(lèi)型的方法在特定隨機性、測試意圖的視覺(jué)代表性、以及初期覆蓋范圍分析等方面提供許多優(yōu)勢,使其價(jià)值進(jìn)一步增加。能夠建構通用型應用的彈性,讓廠(chǎng)商有機會(huì )開(kāi)發(fā)即插即用型解決方案,進(jìn)一步加速驗證與確認的流程。
(本文作者Gaurav Bhatnagar、Courtney Fricano為主任工程師)



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>