SoC驗證流程和方法_第1頁
SoC驗證流程和方法_第2頁
SoC驗證流程和方法_第3頁
SoC驗證流程和方法_第4頁
SoC驗證流程和方法_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

我們需要越來越復雜的芯片和SOC,用于所有使用人工智能等最新技

術(shù)的新應用。例如,蘋果公司的5nmsOCA14具有6核CPU、4核

gpu和16核神經(jīng)引擎,每秒11萬億次運算,包含118億個晶體管,

AWS的7nm64位Graviton2定制處理器包含300億個晶體管。設

計這樣復雜的芯片需要一個標準和經(jīng)過驗證的驗證流程,包括在每個

級別上廣泛的驗證?從塊到IP到子系統(tǒng)到SoCz使用各種驗證方法和

技術(shù)。

在本文中讓我向您介紹用于驗證ip、子系統(tǒng)和soc的各種驗證方法,

并解釋為什么我們需要PSS這樣的新方法/標準。

了解我們?nèi)绾问褂肧oC構(gòu)建電子系統(tǒng)對于處理SoC驗證流程的驗證

工程師是至關(guān)重要的,無論是在IP級別進行白盒驗證,子系統(tǒng)級別的

灰盒驗證,還是在SoC級別的黑盒驗證。

我們?nèi)绾问褂肧oC構(gòu)建電子系統(tǒng)?

任何芯片,一個簡單的嵌入式微控制器,或一個復雜的片上系統(tǒng)[SoC]

將有一個或多個處理器。圖1顯示了一個復雜的電子系統(tǒng),包括智能

手機等電子設備所需的硬件和軟件。

ApplicationSoftware/YouTube4T1AVW仆

11l1CON

/Netflix

/Clock

SyttemSoftware/1/0operations

DeviceDriven/Allocatetforagcandmemory

ProtocolStack/Multipleapplicationprogram!inparallel

OperatiD^System

ARMCdmpikrARMISA?ARMAwoablyhagu<c

ARMAssemblerARMISA-ARMMadunc)

HARDWARE

ARMI/OIniEacd

Manory

Processor

電子系統(tǒng)

圖1:電子系統(tǒng)和片上系統(tǒng)

硬件是由一個復雜的SoC組成的,它包含了設備所需的幾乎所有組件。

在智能手機的案例中,我們集成了所有稱為IPs[知識產(chǎn)權(quán)]的硬件組件,

如cpu.gpu、DSP、應用處理器,接口ip,如USB、UART、SPI、

I2C、GPIO,以及子系統(tǒng),如系統(tǒng)控制器、帶有控制器的內(nèi)存、藍牙

和WiFi等,并創(chuàng)建SoC。使用SoC有助于我們減少設備的尺寸和功

耗,同時提高其性能。

軟件由應用軟件和系統(tǒng)軟件兩部分組成。應用軟件提供用戶界面,系

統(tǒng)軟件提供應用軟件與硬件的交互界面。以智能手機為例,應用軟件

可以是YouTube、Netflix、GoogleM叩等移動應用程序,系統(tǒng)軟件

可以是ios或android等操作系統(tǒng)。系統(tǒng)軟件提供了諸如固件和協(xié)議

棧之類的所有東西,以及應用程序軟件與硬件接口所需的操作系統(tǒng)。

操作系統(tǒng)作為系統(tǒng)軟件的中心組件,并行管理多個應用程序線程、內(nèi)

存分配和I/O操作。

讓我來解釋一下整個系統(tǒng)是如何運作的,就像智能手機一樣。例如,

當您在智能手機上調(diào)用計算器之類的應用程序時,操作系統(tǒng)將可執(zhí)行

二進制文件從存儲內(nèi)存加載到RAM中。然后它立即加載它的開始地

址到它的處理器的程序計數(shù)器[PC]。處理器[ARM/X86/RISC-V]執(zhí)行

PC[RAM地址]指向的RAM/Cache中加載的二進制。這個預編譯的

二進制文件只是處理器的機器語言,因此處理器根據(jù)它的指令

[ADD/SUB/MULT/LOAD]執(zhí)行應用程序并計算結(jié)果。

了解使用處理器的SoC設計過程可以幫助驗證工程師在系統(tǒng)級處理

任何復雜的子系統(tǒng)/芯片驗證。作為SoC驗證過程的一部分,驗證工

程師在他們的長期職業(yè)生涯中可能需要處理各種各樣的事情,如系統(tǒng)

建模的虛擬原型、IP、子系統(tǒng)和SoC功能驗證、軟硬件協(xié)同驗證、仿

真、ASIC原型、后硅驗證等。因此,作為驗證專家,需要具備完整的

軟硬件知識和理解才能獨立工作,有時還需要與軟件團隊密切合作,

處理軟件、RTOS/回件/棧,以便進行芯片/系統(tǒng)級驗證。

現(xiàn)在讓我們探討各種驗證方法。

IP驗證

IP是任何SoC的基本構(gòu)建模塊。因此,IP驗證需要徹底的白盒驗證,

這種驗證需要像正式驗證和隨機模擬這樣的方法,特別是對于處理器

IP,因為在任何SOC中,一切都是由它們發(fā)起和驅(qū)動的。圖2顯示了

我們?nèi)绾问褂没趕ystemverillog的UVMTB的徹底隨機模擬來驗

證處理器IP。所有處理器指令都可以用各種隨機值模擬,生成函數(shù)、

斷言和代碼覆蓋。我們使用覆蓋率來度量驗證的進度和質(zhì)量,然后為

最后的驗證簽字。IP級別的驗證需要在HVL編程、形式化和動態(tài)ABV、

仿真調(diào)試以及使用vip和EDA工具方面有良好的專業(yè)知識。

圖2RISC-VUVM驗證環(huán)境

ABV-基于斷言驗證,VIP-驗證IP

UVM-UniversalVerificationMethodologyUVC-UVM

Verification組件

bfm-總線功能模型vip-驗證IPral-寄存器抽象層

子系統(tǒng)瞼證

子系統(tǒng)主要由預先驗證的ip和一些新構(gòu)建的ip組成,如橋和特定于

芯片的系統(tǒng)控制器。圖3顯示了我們?nèi)绾螐囊粋€子系統(tǒng)構(gòu)建一個SoC,

該子系統(tǒng)使用像AMBA這樣的片上總線集成了所有必要的接口ip、

橋和系統(tǒng)控制器。在這種情況下,我們更喜歡基于模擬的灰盒驗證,

尤其是使用驗證ip的隨機模擬。所有vip,如AXI,AHB,APB,GPIO,

UART,SPI和I2CUVCs[UVM驗證組件]將被配置并與各自的接口連

接。如圖3所示,我們創(chuàng)建了其他TB組件,如參考模型、記分牌和

UVMRAL,用于驗證環(huán)境的自檢。我們在頂層執(zhí)行各種VIPUVM序

列,驗證數(shù)據(jù)流,并測量總線的性能。

圖3子系統(tǒng)UVM驗證環(huán)境

SoC驗證

soc主要由預先驗證的第三方ip和一些內(nèi)部ip組成。通常,我們更

喜歡使用硬件仿真或SoC級驗證的仿真技術(shù)的黑盒驗證。例如,您可

能會遇到一個復雜的SoC驗證環(huán)境,如圖4所示。SoC測試臺[TB]將

有各種各樣的測試臺組件,如標準的UVM驗證ip[USB/藍牙/WiFi

和標準接口],帶有UVM包裝的遺留HDLTB組件[JTAG代理],自定

義UVM代理[固件代理],以及一些監(jiān)視器,此外還有記分牌和

SystemC/C/C++功能模型。在這種情況下,您將不得不在芯片級別

處理固件和UVM序列。作為一名驗證工程師,您需要知道如何使用

標準的vip、舊的HDLBFMs和固件代碼來實現(xiàn)這種混合驗證環(huán)境,

更重要的是,如何使用EDA工具來自動化模擬/仿真。

圖4:SoC驗證環(huán)境

UVM-UniversalVerificationMethodologyUVC-UVM

Verification組件

bfm-總線功能模型vip-驗證IPral-寄存器抽象層。讓我來解釋一下

它是如何工作的。例如,如果SoC使用ARM處理器,通常我們將

ARMRTL[加密網(wǎng)表/RTL]替換為其稱為DSM[設計仿真模型]的功能

模型,該模型可以使用固件[用C編寫]作為啟動任何操作和驅(qū)動所有

其他外設[RTLIPs]的刺激。因此,SoC驗證人員編寫UVM序列,通

過固件測試案例生成各種定向場景,并驗證SoC功能。在模擬過程中,

固件C源代碼被編譯為目標代碼[ARM機器語言二進制],并加載到片

內(nèi)RAM中。ARM處理器模型[DSM]從內(nèi)存中讀取目標代碼,并通過

配置和驅(qū)動所有RTL外圍設備塊[Verilog/VHDL]來啟動操作。它適用

于模擬和仿真。如果SoC非常復雜,則首選硬件仿真,以加快驗證過

程,實現(xiàn)更快的驗證簽收。

WhyPSS?

圖5:IP、子系統(tǒng)和SoC臉證方法

PSS定義:便攜測試和刺激標準定義了一個規(guī)范,用于創(chuàng)建刺激和測試

場景的單一表示,可以由不同配置下不同集成級別的各種用戶使用,

支持生成在各種執(zhí)行平臺上運行的場景的不同實現(xiàn),包括但不限于模

擬、仿真、FPGA原型設計和后硅。有了這個標準,用戶可以一次性指

定一組行為,從這些行為可以派生出多個實現(xiàn)。

圖6:PSS流程

如圖6所示,使用PSS,我們可以定義測試場景,并使用任何驗證技

術(shù)在任何級別的IP/子系統(tǒng)/SoC上執(zhí)行它們。例如,我們可以在PSS

中定義IP的測試場景。在IP級驗證中,我們可以使用EDA從其PSS

規(guī)范生成斷言,用于正式驗證,如果需要,我們可以從相同的PSS規(guī)

范生成UVM測試用例,用于模擬或SoC級的仿真。我們不需要手動

重寫IP/子系統(tǒng)級別的測試用例來在SoC級別遷移和重用它們。PSS

規(guī)范對于所有的技術(shù)都是相同的。根據(jù)我們的選擇,如正式/模擬/仿

真,EDA工具可以從P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論