在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

從跨平臺測試用例復用想到IP測試意圖交付

路科驗證 ? 來源:路科驗證 ? 2023-04-25 11:08 ? 次閱讀

記得在大概6、7年前的時候,我當時看到這家公司海量的emulation資源時那種驚掉下巴的樣子現在都還記得。現在國內使用EMU也越來越多了,不過從測試用例的比重上看,EMU所占比例總體還是有較大空間提升的。這篇論文的格式更為自由一些,就跟聊天似的把他們在做跨平臺復用的動機、架構、方法都介紹了,不過更為細節的東西并沒有透露。但是從一個initiative的角度出發,這篇論文還是能夠回答我在學習PSS(Portable Stimulus Standard)時的一個疑問,那就是在PSS execution層面的顆粒度應該做到多大才合適。我們接下來且順著這篇論文的思路一起捋一遍。

Intel這樣的大公司,在產品線每年跟摩爾定律一樣按照產品路線推出芯片的時候,他們在測試時的測試用例肯定不會跟初創公司似的,需要從零開始構建。大公司呆過的人都知道那里的流程封裝得多么完善,那里蹲著多少資深的工程師,當然那里的測試用例也都是每個項目一個個地繼承下來的。

談到繼承,就不得不接著探討類似像這樣產品線穩定,產品按版本、參數迭代的情況下,會對驗證(文中稱為validation,即分為pre-validation和post)的要求有哪些大格局的要求。

SoC和子系統(subsystems)也是IP的集合,在SoC或者子系統層面驗證時,相比于IP驗證時的功能深入,我們更關注于IP在系統中的角色、它與其它IP之間的互動。而如果SoC類芯片一代一代滾動起來,那么代與代之間的配置、參數差異,以及同一代產品的各個小版本之間的差異,都將會給測試的復用帶來挑戰。

b8d92636-ddad-11ed-bfe3-dac502259ad0.png

此外,不同測試階段使用的工具、環境也會帶來挑戰。比如你在FPGA上面做原型驗證它是可以帶著真實的外部板卡做測試的,但如果在EMU上面做,那么終端設備可能是真實板卡,也可以是虛擬板卡,還可以使用transactors去模擬IP和controller之間的數據交互。再比如,在制造環節篩選時,也由于post-silicon平臺的制約,可能會采取不同的設備和其它組件用作測試。這種跨平臺的差異,也給測試用例的復用帶來了挑戰。

這里其實沒有談到有關UVM的部分,有的時候UVM環境和用例往往意味著IP/子系統層面的測試,而到了SoC層面的測試,會更多關注于系統各個資源建模和調度場景。而且,為什么以前國內FPGA公司做產品會更早地在FPGA上線去跑應用呢?除了系統沒有SoC復雜之外,FPGA研發團隊距離客戶近、FPGA產品更方便迭代也是一個重要原因。

b90da046-ddad-11ed-bfe3-dac502259ad0.png

b93bc0ca-ddad-11ed-bfe3-dac502259ad0.png

在這篇論文里,沒有專門談到pre-silicon simulation的部分,這一點讀者們可能會好奇,但有的時候當一家公司“財大氣粗”的時候,他們真的是有財力可以把多數測試用例放在硬件仿真資源EMU上面去跑的。所以,這篇論文的語境其實是,當我們在開發一個SoC系統且已經到了SoC測試階段的時候,我們為了測試更多的應用場景,如果在裸機(bare metal)上、最小OS kernel上、或者更大OS層面去運行的時候,如何去解決這些跨平臺(wide diversity of platforms)、跨系統(various operating systems Windows/Linux etc)的挑戰?

b966ab78-ddad-11ed-bfe3-dac502259ad0.png

這里給的一個方案是提出IP validation software stack,即構建出彈性的結構以便讓IP測試時的測試意圖可以最終通過PSS生成測試代碼,而這些測試代碼可以利用這個IP validation software stack,根據所處的平臺、芯片系統的版本不同都能夠穩定運行,最終實現IP在集成層面的測試快速生成和運行。

這篇論文的邏輯,是從底部往上走的,即先提出這個IP測試的軟件棧,解釋需要利用它的data generator來存儲和產生跨不同測試平臺、不同芯片版本的配置參數,而后可以利用這些參數,再與runtime driver+business logic結合,以便讓目標IP得到恰當的配置,最初匹配的行為。

為此,保存和產生系統相應參數的data generator如下

b99e6d4c-ddad-11ed-bfe3-dac502259ad0.png

這些參數在獲取以后,可以利用IP驅動(IPDMA)進行配置,而在IPDMA內可以“彈性”地根據IP功能來實現(即底層的OS/HAL+寄存器配置)。

b9d26cb4-ddad-11ed-bfe3-dac502259ad0.png

“IPDMA”也并不需要指出該DMA的版本、通道、緩存等具體信息,它“暴露”給測試人員的,也無需指出IP版本或者具體寄存器等信息。而在“IPDMA”內可以利用“dp”來獲得該IP的參數,再利用它們進行功能配置。在配置時,所使用的“mem_write”等函數,也脫離實際的操作系統,實現更為底層的操作,即這些底層函數可以“剛性”地跨平臺(這一點不難做到)。

b9ec5430-ddad-11ed-bfe3-dac502259ad0.png

有了這樣的一個IP測試的軟件棧,便可以理解跨平臺、芯片系統版本差異的問題,繼而為各個IP和SoC系統測試意圖能夠在其之上進一步完成創造了條件。

事實上,這個簡化后的IP測試軟件棧也能解決一些讀者目前的困境,尤其是公司開始批量出貨,既想要繼承以前的測試用例(但受限于系統差異無法做到直接復用),也想要節省人力(如果測試能夠繼承,那么節省人力也就自然可以達成)。

我在更早前已經完整地梳理過一次PSS基礎語法,突出PSS的可移植特點也是體現在不同的測試平臺和測試語言層面,無論它解決的是測試平臺問題,還是測試層次問題,還是測試語言問題,PSS呈現出的都是從更高的視角去給每個IP進行建模,繼而將這些IP模型構建成為一個更大的系統,再在這個系統模型中去創建一些各個IP和資源之間的調度關系。也就是說,PSS做的是測試意圖(validation content)層面的工作,諸如PerSpec/inFact/Breker Trek做的是content2graph的工作即從意圖到測試場景生成的工作,而生成的測試場景,無論采用的是什么語言,都需要我們給到一個恰當的顆粒度。這樣才能把PSS在實際工作中運用好。

PSS學前準備篇(合輯)

PSS基礎篇(合輯)

PSS測試篇(合輯)

而這篇論文解決的正是“顆粒度”的這個問題,通過論文作者他們已經驗證過的IP validation software stack,不但他們給出了諸如“IPDMA”這樣的顆粒度適合的接口,也可以在該接口內部“彈性”地解決跨平臺、適配芯片系統版本差異的問題。

ba04c8a8-ddad-11ed-bfe3-dac502259ad0.png

至于PSS的具體應用,他們沒有在論文中談到(也不是他們要在論文中介紹的流程)。他們也提到了目前在應用的是Cadence PerSpec工具和SLN(System Level Notation)語言,而且有計劃將現有的模型過渡到PSS標準。隨著2021 PSS 2.0版本的推出以及PerSpec已經對PSS的支持來看,他們推進模型轉換的工作是遲早的。這也讓我想起了當時從OVM/VMM過渡到UVM的一段時間。

論文中同樣有價值的是作者在不同的項目之間,通過復用IP測試意圖,繼而由PerSpec生成可以跨平臺的測試用例以后,不但節省了很多的人力,也同樣提高了工作效率。下面是采取復用測試意圖生成測試用例所發現的bug數量,以及這些bug數量在每個項目中所占到的比重。無論是數量還是占比,這種復用方法,如果想要撥開跨平臺、系統差異、測試語言這些紛亂的因素,那么測試意圖的復用將會讓不同平臺的測試人員之間達成一致(大家不再因為技術因素而難以達成某種程度的聯合)。而且如果這種復用從一開始的架構就能夠規劃好,那么也將會在芯片代與代之間、產品與產品之間放大它的效力。

ba2b48a2-ddad-11ed-bfe3-dac502259ad0.png

ba50976a-ddad-11ed-bfe3-dac502259ad0.png

繼而在增效的前提下,為接下來制造環節和人力環節的成本節省,也就理所應當了。從數字來看還是相當可觀的,也許一些讀者目前還暫時沒有遇到這種處境(哎這也是產品線又長又廣的毛病,可謂是大廠們有些凡爾賽的苦惱),但如果想增效,就應該把測試層面去拔高,不管是simulation/emulation/fpga,還是pre-silicon/post-silicon,都應該站在更大的一個格局去考慮這些事情,從大廠出來的人看待這些問題更有視野,也更愿意在早期投入一部分精力去籌劃這些事情。

做久了工程,我常常覺得,你的團隊未來的工作模式就來自于各條技術線的總監在一開始的架構規劃。

ba6d32c6-ddad-11ed-bfe3-dac502259ad0.png

ba8473a0-ddad-11ed-bfe3-dac502259ad0.png

接下來再來談談我們篇文章的題目“從跨平臺測試用例復用想到IP測試意圖交付”里的“IP測試意圖交付”。以前IP交付時不管是內部IP還是第三方IP,并不會給我們交付RTL和功能文檔的同時交付功能測試點(因為這是人家內部的文檔,也牽扯到IP的完整開發,更可能被反向做IP開發)。我們這個時候要集成IP做測試的時候,有兩部分可以借鑒。一部分是IP配置生成后的測試代碼(Verilog/UVM居多),一部分是IP文檔中有時會出現的programming case/scenario的例子。但更多是將IP作為一個獨立組件,就實現其某些功能,做的配置描述。有的時候,IP還會提供一些驅動(這已經很友好了),但至于拿到這些IP如何在系統環境中與其它IP/資源進行交互,其實IP提供商是沒有這個義務的(他們不會包含在產品中,但你如果邀請他們提供service花這筆錢也是可以有的)。

在這種情況下,如果以后PSS普及、且PSS測試意圖到測試代碼的實現也更為規范的話,那么IP提供商是可以在交付IP的時候,同時交付這個IP的PSS模型的,以便我們以后既可以集成在上層系統模型中,也可以利用它的action在系統層面構建一些activity。只不過在文中也談到,這樣的要求有些不合理(unreasonable requirement)。

baa2e6c8-ddad-11ed-bfe3-dac502259ad0.png

為什么需要IP的PSS模型,以及針對它們構建的集成測試PSS場景呢?因為如果有了這樣高層次的描述,我們在拿到一個IP以后做集成測試的時候,也就有了指向性更為明確的方向。不然就容易造成目前國內很多SoC公司在集成IP時有些尷尬的情況,花了幾十個million買的各類IP,在集成測試的時候都有點盲人趕路,戰戰兢兢的(這個事實往往在初創公司都心照不宣了吧)。

要解決這個問題,就需要考慮實現“IP測試意圖交付”。目前大廠里不同平臺的人員針對IP集成測試,或者是看測試計劃、測試點,或者是看各個參考用例,可這是建立在驗證人員有經驗的情況下的。一旦脫離了這個條件,要在大的方向上完成“及格測試”,都會有些困難。于是乎,我們目前提出了在UVM/C層面的IP測試復用建議,該建議要求針對每個IP在SoC層面測試時,利用一致化的測試指令(例如V3課程提供的Liezhen平臺),構建每一個測試用例,而這些測試用例在項目發生變化時,可以較為方便地移植到(畢竟標準化測試平臺的底層指令是一樣的,無論是simulation還是emulation,無論是UVM還是C)。

這種方案可以在客戶那里將前期項目中的測試更早地標準化下來,也便于在接下來的項目中復用,更實際地說,也較為符合我們國內公司目前普遍發展的階段。

只不過,我們如果要更為長遠地看,想要實現更多跨平臺的復用,就不能只在測試用例復用、測試指令標準化、測試平臺自動化上面下功夫,下一個要考慮的還是PSS、IP建模和測試意圖復用。這一階段我們總歸是要走到的,目前國內已經有小比例的公司在試行PSS和相應工具了。也希望這篇論文的解讀,能夠在接下來芯片一代代產品測試復用時帶來啟發,也希望讀者們(如果)在的初創公司能走到芯片量產,擁有這種一代一代芯片測試的幸福煩惱。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21801

    瀏覽量

    606360
  • 摩爾定律
    +關注

    關注

    4

    文章

    637

    瀏覽量

    79249
  • ip測試
    +關注

    關注

    0

    文章

    3

    瀏覽量

    5748

原文標題:DVCon文賞-2023w17 從跨平臺測試用例復用想到IP測試意圖交付

文章出處:【微信號:Rocker-IC,微信公眾號:路科驗證】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于UML的生成場景測試用研究

    使用UML生成場景測試用,有利于測試者設計測試用。使用UML的類圖、狀態圖和順序圖來說明DHCP實例的場景
    發表于 03-31 09:49 ?15次下載

    手機硬件測試用

    手機硬件測試用 1.RF 測試 2.BB測試 3.Audio 測試 4.EMC測試
    發表于 04-28 16:59 ?56次下載

    是德科技發布首款能夠驗證 GCF 射頻窄帶物聯網和 CAT-M 測試用測試平臺

    2017 年 5 月 4 日,北京――是德科技公司(NYSE:KEYS)近日在全球認證論壇(GCF)上宣布推出Keysight 首款一致性認證測試平臺 195。該測試平臺能同時覆蓋射頻
    發表于 05-05 15:40 ?1864次閱讀

    基于平臺系統中測試用復用的解決方法

    設計用過程中缺乏全局性的考量,設計出的測試用普遍缺少復用性,導致很多相同或相似場景的測試用
    發表于 11-14 15:55 ?10次下載
    基于<b class='flag-5'>跨</b><b class='flag-5'>平臺</b>系統中<b class='flag-5'>測試用</b><b class='flag-5'>例</b><b class='flag-5'>復用</b>的解決方法

    基于DSEA的弱變異測試用集生成方法

    為解決基于集合進化算法(SEA)的弱變異測試用集生成過程中個體規模固定和執行開銷大的問題,提出一種基于動態集合進化算法( DSEA)的弱變異測試用集生成方法。以
    發表于 11-28 16:11 ?0次下載

    基于二分K-means的測試用集約簡方法

    的路徑覆蓋為準則,對每個測試用進行量化,使每個用變成一個點。以黑盒測試的功能需求數作為聚類數,在聚類結果的每一簇中,按照離中心點的距離進行排序,依次
    發表于 03-12 15:06 ?0次下載
    基于二分K-means的<b class='flag-5'>測試用</b><b class='flag-5'>例</b>集約簡方法

    數據測試:輸入數據的設計方法和測試用設計方法

    測試用的設計是測試設計的重要內容,關于測試用的設計方法,當前不少出版的測試書和發表的
    的頭像 發表于 06-29 10:22 ?2985次閱讀

    詳談Web測試中的界面測試用設計

    詳談Web測試中的界面測試用設計
    的頭像 發表于 06-29 10:48 ?2175次閱讀

    數據測試:代替測試用的檢查表

    前幾年在大連出差的時候,幫一個項目做測試,順便寫下這個檢查表,這個檢查表對測試的初學者積累經驗比較有用,實際對于有經驗的測試人員尤其對于測試業務管理信息系統,基本上大量的
    的頭像 發表于 06-29 10:50 ?2774次閱讀

    測試用的管理 介紹測試用的幾種管理方法

    摘要 隨著軟件系統規模的持續增大,業務復雜度的持續增加,軟件測試的復雜度也隨之越來越大。而軟件測試工作復雜度的直接體現,就是測試用編寫、維護、執行和管理,所以編寫易讀、易維護和易管理
    的頭像 發表于 11-26 15:13 ?6770次閱讀
    <b class='flag-5'>測試用</b><b class='flag-5'>例</b>的管理 介紹<b class='flag-5'>測試用</b><b class='flag-5'>例</b>的幾種管理方法

    測試用質量的重要性

    在進行測試時,通常會花很多精力選擇“正確”的測試工具。這其實只是為了實現次要目標。當然,一個適合開發環境、項目和流程的工具是重要的。然而,對于良好測試而言,最重要的是測試用
    的頭像 發表于 09-03 15:13 ?903次閱讀
    <b class='flag-5'>測試用</b><b class='flag-5'>例</b>質量的重要性

    篇 | 單元測試用復用到集成測試?Testlet Library來助力!(上)

    提高搭建測試用效率的方法,比如自動生成測試用。除此以外,TPT還提供了TestletLibrary,可以復用Testlet,以及將一個工
    的頭像 發表于 11-04 10:14 ?931次閱讀
    用<b class='flag-5'>例</b>篇 | 單元<b class='flag-5'>測試用</b><b class='flag-5'>例</b><b class='flag-5'>復用</b>到集成<b class='flag-5'>測試</b>?Testlet Library來助力!(上)

    一文了解導入測試數據自動化生成測試用的方法

    復用,比如在MiL階段回放HiL階段的測試數據來debug,又如需要通過Excel實現測試用的存儲等等。上述問題TPT提供了非常契合的功能——Generate
    的頭像 發表于 11-23 08:24 ?1022次閱讀
    一文了解導入<b class='flag-5'>測試</b>數據自動化生成<b class='flag-5'>測試用</b><b class='flag-5'>例</b>的方法

    磁盤eCryptfs加密測試用

    apt安裝用戶態工具ecryptfs-utils即可。 4.1、測試用 下圖是一個腳本基礎測試用。先創建test目錄和文件hello,
    的頭像 發表于 11-29 11:27 ?1308次閱讀
    磁盤eCryptfs加密<b class='flag-5'>測試用</b><b class='flag-5'>例</b>

    端到端測試用怎么寫

    編寫端到端測試用是確保軟件系統從頭到尾能夠正常工作的關鍵步驟。以下是一個詳細的指南,介紹如何編寫端到端測試用: 一、理解端到端測試 端到
    的頭像 發表于 09-20 10:29 ?586次閱讀
    主站蜘蛛池模板: 天天爽夜夜爽夜夜爽 | 日本黄色大片免费观看 | 中文字幕第一页在线 | 视频h在线 | 2021国产成人精品久久 | 国产单男 | 嫩草影院永久入口在线观看 | 久久黄色视屏 | 日本三级在线播放线观看2021 | 亚洲色四在线视频观看 | 国产高清视频在线播放www色 | 日韩免费精品视频 | 狠狠插狠狠插 | 免费在线黄网站 | 国产免费卡1卡2卡 | 日韩免费毛片全部不收费 | 天天舔天天摸 | 色老头网址 | 亚洲天堂免费看 | 又黑又长黑人欧美三级 | 天天干天天在线 | 久久成人福利视频 | 夜夜爽毛片 | 欧美性视频一区二区三区 | 日一日操一操 | 久久综合久久久久 | 亚洲综合激情丁香六月 | 天堂在线看 | 一级毛片女人喷潮 | 狠狠se| 黄篇网站在线观看 | 一丝不遮视频免费观看 | 超级淫小黄文大全很污的那种 | 特色毛片 | 免费观看四虎精品国产永久 | 四虎影院视频在线观看 | 国产香蕉视频在线 | 曰本福利写真片视频在线 | 国产中文字幕一区 | avhd101天天看新片 | 成年男人午夜片免费观看 |