作者:布雷克驗(yàn)證系統(tǒng)(Breker Verification Systems)驗(yàn)證架構(gòu)師Leigh Brady
HSI是一項(xiàng)至關(guān)重要的功能,現(xiàn)在已引起Accellera PSWG的全力關(guān)注,而缺少HSI則為希望采用便攜式Stimulus工具而無需某種形式的此功能的公司帶來了額外的工作。
該博客系列沿襲了Accellera Portable Stimulus 1.0標(biāo)準(zhǔn)(PSS)的要求,但是在此特定博客中,我們將有所不同。我們將討論未納入該標(biāo)準(zhǔn)的第一版的功能,即硬件軟件接口(HSI)。這是一項(xiàng)至關(guān)重要的功能,現(xiàn)在已引起Accellera便攜式刺激工作組(PSWG)的全力關(guān)注。缺少它會為想要采用便攜式刺激工具而不需要某種形式的此功能的公司帶來額外的工作。
通過考慮測試的可移植性,最容易理解該問題。所謂的,是指能夠?qū)y試意圖進(jìn)行單一描述,并且無需修改即可在各種執(zhí)行引擎上執(zhí)行該測試的能力。這些執(zhí)行引擎包括在事務(wù)級別或寄存器傳輸級別(RTL)上運(yùn)行的模擬器,模擬器,原型解決方案,虛擬平臺和真實(shí)芯片?,F(xiàn)在,考慮需要將數(shù)據(jù)獲取到某個寄存器或存儲器位置或檢索該寄存器或存儲器的內(nèi)容以確保測試正確運(yùn)行的測試。
在模擬器上執(zhí)行時,很容易使用后門訪問機(jī)制,而不會干擾被測設(shè)計(jì)(DUT)的任何方面。使用通用驗(yàn)證方法(UVM)的人們將熟悉寄存器抽象層(RAL)和后門內(nèi)存訪問的概念。當(dāng)您從晶圓廠取回第一個芯片或嘗試遷移測試以在仿真器上驅(qū)動完整的SoC時,便可以重新運(yùn)行這些測試。使用UVM,通常需要完全重寫測試工具。
這通常并不像聽起來那樣容易??紤]目標(biāo)為仿真器的情況。您可能必須運(yùn)行必要的總線周期才能訪問內(nèi)存,并且必須在不干擾與該訪問無關(guān)的任何電路的情況下進(jìn)行操作。對于用戶而言,其中某些可能并不明顯。便攜式刺激器的真正目的是解決這個問題。但是,1.0版本未能解決該問題,因此留給讀者練習(xí)。
雖然PSS基本上可以完成UVM能夠執(zhí)行的所有操作,但PSS具有其他操作模式。它可以生成在設(shè)計(jì)中包含的處理器上運(yùn)行的測試,從而從內(nèi)而外進(jìn)行驗(yàn)證。如果要在這些處理器上運(yùn)行測試,則要么需要某種形式的操作系統(tǒng)在處理器上運(yùn)行,這對于RTL測試會產(chǎn)生很大的影響,或者必須將其視為裸機(jī)處理器。驗(yàn)證團(tuán)隊(duì)要做的最后一件事是花費(fèi)大量時間編寫必要的軟件來執(zhí)行此操作。恒指是這個問題的干凈的解決方案。
HSI提供了基本的類似于OS的功能,這些功能允許將測試寫入標(biāo)準(zhǔn)的API,同時隱藏執(zhí)行這些測試的機(jī)制。無論您是通過UVM序列訪問塊寄存器,還是寄存器包含在嵌入式處理器或最終芯片中,它都使UVM寄存器訪問看起來一樣。對于嵌入式處理器,它可以將寄存器內(nèi)容傳輸?shù)娇蓮耐獠吭L問的存儲器中的位置,也可以通過UART饋送該數(shù)據(jù)。對于真正的硅,可以通過掃描鏈訪問或修改寄存器。對每個目標(biāo)執(zhí)行此功能的機(jī)制與測試編寫者相同。在大多數(shù)情況下,這將作為提供的工具的一部分提供。
硬件軟件接口提供了類似于操作系統(tǒng)的基本功能,這些功能允許將測試寫入標(biāo)準(zhǔn)的API,同時隱藏執(zhí)行這些測試的機(jī)制。
當(dāng)然,該工具可以走得更遠(yuǎn),就像功能完善的OS一樣,可以調(diào)度多個測試以及跨處理器線程的關(guān)鍵資源來真正銷毀SoC。
雖然我不宜與PSWG討論有關(guān)所提出解決方案的任何細(xì)節(jié),但這種功能已經(jīng)存在于我們的舊版工具中很多年了,我們的客戶完全意識到此接口所提供的功能。其他一些工具供應(yīng)商也在其工具中運(yùn)行該接口的自己的版本,但希望Accellera的努力將帶來這些接口的統(tǒng)一。
如前所述,UVM的用戶將非常熟悉RAL的概念,這是使DUT和測試平臺能夠就寄存器中位的通用布局達(dá)成一致所必需的。硬件/軟件協(xié)同驗(yàn)證解決方案的用戶也將熟悉定義內(nèi)存映射的需求-以便測試臺和設(shè)計(jì)可以保持同步。Test Suite Synthesis知道內(nèi)存的位置,對該內(nèi)存的任何限制以及處理器和外圍設(shè)備如何訪問該內(nèi)存。例如,字節(jié)序是小端還是大端,或者與某些地址范圍相關(guān)聯(lián)的安全限制嗎?
這是關(guān)于PSWG對PSS 1.1發(fā)行版所尋求的限制,并且不包含完整的HSI所需的全部內(nèi)容。但這是一個好的開始。真正了解問題空間并提供使完整的系統(tǒng)級驗(yàn)證方法得以實(shí)施的解決方案的工具提供商,在提供涵蓋整個裸機(jī)層的HSI時,已經(jīng)超出了這些基礎(chǔ)知識。
Breker,Vayavya,Agnisys等公司一直在開發(fā)這些解決方案,并且知道使測試變得可移植需要什么。這些解決方案提高了基于PSS的測試綜合的能力,并減少了用戶為獲得測試可移植性而必須付出的努力。PSS降低了每個供應(yīng)商使用其自己的語言所帶來的風(fēng)險,但它并未消除每個供應(yīng)商在所生成測試的質(zhì)量和用戶為生成這些測試所花費(fèi)的精力方面進(jìn)行競爭的能力。
編輯:hfy
-
寄存器
+關(guān)注
關(guān)注
31文章
5372瀏覽量
121312 -
存儲器
+關(guān)注
關(guān)注
38文章
7531瀏覽量
164422 -
仿真器
+關(guān)注
關(guān)注
14文章
1019瀏覽量
83963 -
模擬器
+關(guān)注
關(guān)注
2文章
884瀏覽量
43449
發(fā)布評論請先 登錄
相關(guān)推薦
USB接口電路圖解析
一文解析VDS接口
DTU的硬件與軟件是如何去設(shè)計(jì)的
ARM接口軟件如何控制和驅(qū)動硬件呢
請問一下內(nèi)部HSI RC時鐘精度如何
adau1452的iis接口硬件和軟件怎么設(shè)計(jì)?
一文看懂硬件環(huán)境和軟件環(huán)境是什么
應(yīng)用于嵌入式系統(tǒng)軟件和硬件接口問題的設(shè)計(jì)
![應(yīng)用于嵌入式系統(tǒng)<b class='flag-5'>軟件</b>和<b class='flag-5'>硬件</b><b class='flag-5'>接口</b>問題的設(shè)計(jì)](https://file.elecfans.com/web1/M00/62/91/pIYBAFuKMaKAYCsDAAAf_EEmd7U775.jpg)
USB接口的硬件和軟件架構(gòu)及應(yīng)用設(shè)計(jì)
![USB<b class='flag-5'>接口</b>的<b class='flag-5'>硬件</b>和<b class='flag-5'>軟件</b>架構(gòu)及應(yīng)用設(shè)計(jì)](https://file.elecfans.com/web1/M00/83/15/pIYBAFxAUWmACiI6AAEYZHhRvb8526.png)
GSU-16的硬件接口和軟件接口資料下載
![GSU-16的<b class='flag-5'>硬件</b><b class='flag-5'>接口</b>和<b class='flag-5'>軟件</b><b class='flag-5'>接口</b>資料下載](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32入坑(七)使用HSI配置系統(tǒng)時鐘
![STM32入坑(七)使用<b class='flag-5'>HSI</b>配置系統(tǒng)時鐘](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
在硬件/軟件接口調(diào)試
![在<b class='flag-5'>硬件</b>/<b class='flag-5'>軟件</b><b class='flag-5'>接口</b>調(diào)試](https://file.elecfans.com/web2/M00/4F/8D/pYYBAGLCqhKANw4mAAP9L5kBhcs244.png)
評論