0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AMBA:將所有內(nèi)容拼接到ACE您的測(cè)試

星星科技指導(dǎo)員 ? 來(lái)源:synopsys ? 作者:Amit Sharma ? 2023-05-29 09:44 ? 次閱讀

用于片上系統(tǒng) (SoC) 中功能塊連接和管理的 ARM? AMBA4? 規(guī)范現(xiàn)在具有支持多核計(jì)算的高級(jí)可擴(kuò)展接口 (AXI) ? 一致性擴(kuò)展 (ACE ?)。ACE 規(guī)范支持跨多核處理器群集的系統(tǒng)級(jí)緩存一致性。在規(guī)劃此類系統(tǒng)的功能驗(yàn)證時(shí),這些一致性擴(kuò)展帶來(lái)了自己的復(fù)雜挑戰(zhàn),例如系統(tǒng)級(jí)緩存一致性驗(yàn)證和緩存狀態(tài)轉(zhuǎn)換驗(yàn)證。在任何給定時(shí)間,驗(yàn)證 ACE 互連是否可以在系統(tǒng)中的不同 ACE 主節(jié)點(diǎn)之間保持緩存一致性非常重要。隨著硬件中的一致性支持以及相關(guān)的支持協(xié)議,系統(tǒng)和底層組件的復(fù)雜性大大增加。因此,這種系統(tǒng)的核查面臨若干挑戰(zhàn)。讓我們掌握對(duì)激勵(lì)生成基礎(chǔ)設(shè)施的要求,以驗(yàn)證緩存一致性系統(tǒng)。

基于 AMBA ACE 互連的系統(tǒng)可以通過(guò)相干互連連接各種主站和從站。每個(gè)主組件和從組件都可以單獨(dú)支持完整的 ACE、ACE-Lite?、AXI4? 或 AXI3? 協(xié)議,并且可以使用不同的總線寬度或時(shí)鐘頻率。不同的排列涉及以下參數(shù):緩存狀態(tài)、事務(wù)類型、突發(fā)長(zhǎng)度和大小、偵聽(tīng)機(jī)制、偵聽(tīng)緩存狀態(tài)、偵聽(tīng)響應(yīng)、對(duì)推理獲取的支持、對(duì)偵聽(tīng)過(guò)濾的支持以及用戶指定的互連調(diào)度。

所有這些交叉組合導(dǎo)致了非常大的驗(yàn)證空間,從而產(chǎn)生了四個(gè)關(guān)鍵挑戰(zhàn):

生成映射到所有這些的激勵(lì)包括,確保每個(gè)單獨(dú)的主、從或互連與其支持的協(xié)議完全兼容;

確保啟動(dòng)主存儲(chǔ)器、偵聽(tīng)主存儲(chǔ)器和從主存儲(chǔ)器之間所有可能的并發(fā)訪問(wèn)組合都經(jīng)過(guò)驗(yàn)證,并符合ACE規(guī)范;

確保涵蓋所有用戶特定的功能并按預(yù)期工作;和

確保核查的完整性


您如何創(chuàng)建一個(gè)可以處理所有這些的刺激發(fā)電基礎(chǔ)設(shè)施?

在這里,我們嘗試向您展示如何做到這一點(diǎn)?這個(gè)想法是確保您擁有所有正確的構(gòu)建塊,并逐步組織它們并將它們拼接在一起以獲得您需要的東西。

我們?cè)赩C驗(yàn)證IP(VIP)中所做的非常相似:我們從一些久經(jīng)考驗(yàn)的原生SystemVerilog UVM原子序列開(kāi)始,并逐步轉(zhuǎn)向創(chuàng)建復(fù)雜的序列。鑒于 UVM 提供的功能,將低級(jí)、經(jīng)過(guò)驗(yàn)證或驗(yàn)證的方案拼接在一起以創(chuàng)建更復(fù)雜的方案要方便得多。無(wú)需在序列主體中創(chuàng)建扁平化實(shí)現(xiàn),可以創(chuàng)建分層或嵌套序列以利用之前創(chuàng)建的基本序列。這可以上升到多個(gè)層次結(jié)構(gòu)級(jí)別,因此可以收斂以滿足最復(fù)雜方案的要求。

pYYBAGR0AzaATWDGAAFG7SYDBx0259.png

隨著多個(gè) ACE 組件的復(fù)雜性增加,可能需要跨多個(gè)序列器和驅(qū)動(dòng)程序協(xié)調(diào)序列。這些都是通過(guò)虛擬序列和序列器實(shí)現(xiàn)的。從刺激生成的角度來(lái)看,另一個(gè)重要功能是序列的分組和分層序列的創(chuàng)建。在UVM中,相似的序列可以組合到一個(gè)序列庫(kù)中。使用 UVM 基類,您可以創(chuàng)建庫(kù)基礎(chǔ)結(jié)構(gòu),該基礎(chǔ)結(jié)構(gòu)允許通過(guò)庫(kù) API 將任何序列注冊(cè)到序列庫(kù)。在仿真中選取庫(kù)后,默認(rèn)功能會(huì)導(dǎo)致選取并執(zhí)行隨機(jī)數(shù)量的序列。因此,AXI VIP附帶的序列庫(kù)可以用作滿足用戶要求的起點(diǎn)。

可以通過(guò)更改關(guān)聯(lián)配置類的參數(shù)來(lái)修改序列庫(kù)的默認(rèn)模式。因此,可以拾取特定數(shù)量的序列,啟用隨機(jī)循環(huán)序列,以及編程用戶定義的序列執(zhí)行。

為序列庫(kù)創(chuàng)建自定義規(guī)則不僅有助于簡(jiǎn)化不同仿真中的多個(gè)序列,還有助于避免冗余,并逐步實(shí)現(xiàn)所有有趣的系統(tǒng)級(jí)場(chǎng)景的融合。因此,無(wú)需編寫多個(gè)測(cè)試,我就可以通過(guò)虛擬序列器跨多個(gè)序列庫(kù)、跨不同接口創(chuàng)建自定義序列執(zhí)行,從而生成激勵(lì)管理設(shè)置,有助于更快地滿足所有激勵(lì)生成要求。在某些情況下,序列必須知道功能配置,以便根據(jù)系統(tǒng)級(jí)要求進(jìn)行重新配置。VC VIP 利用 UVM 資源機(jī)制提供的大部分功能,在 ACE 環(huán)境中提供可配置性和復(fù)雜的激勵(lì)生成要求。通過(guò)資源機(jī)制啟用的可配置性本身就是一個(gè)非常有趣的話題,我可以在后續(xù)文章中討論它。

poYBAGR0AzqAZ8lHAAEoLmc7OCQ065.png

在這里,我有一個(gè)示例,展示了如何使用序列集合創(chuàng)建自定義序列生成要求。讓我們以需要驗(yàn)證與 Readclean 事務(wù)關(guān)聯(lián)的所有緩存行狀態(tài)的情況為例。(“ReadClean 是一個(gè)讀取事務(wù),用于可與其他主節(jié)點(diǎn)共享的內(nèi)存區(qū)域。保證 ReadClean 事務(wù)不會(huì)將更新主內(nèi)存的責(zé)任傳遞給啟動(dòng)主服務(wù)器。通常,ReadClean 事務(wù)由想要獲取緩存行的干凈副本的主節(jié)點(diǎn)使用,例如具有直寫緩存的主節(jié)點(diǎn)。那么,您如何發(fā)起此類交易?

ReadClean 事務(wù)需要緩存行初始化,然后是緩存行失效,然后是基本的 Readclean。讓我們看看你有什么作為構(gòu)建塊。首先,采用“緩存行初始化”序列,該序列將主緩存及其對(duì)等方緩存的緩存行狀態(tài)初始化為一組隨機(jī)但有效的狀態(tài)。這可確保驗(yàn)證由主服務(wù)器啟動(dòng)的一致事務(wù)的所有不同緩存行狀態(tài)轉(zhuǎn)換。這將需要一個(gè)序列,該序列將寫入啟動(dòng)主服務(wù)器本地緩存。數(shù)據(jù)現(xiàn)在在本地緩存中是臟的。隨后,另一個(gè)主節(jié)點(diǎn)啟動(dòng)“寫入”內(nèi)存?,F(xiàn)在,本地緩存中的數(shù)據(jù)是干凈的,緩存中的數(shù)據(jù)與內(nèi)存中的數(shù)據(jù)匹配。接下來(lái)是“BasicReadShared”,它將通過(guò)從啟動(dòng)主服務(wù)器獲取干凈的數(shù)據(jù)將數(shù)據(jù)讀入每個(gè)主服務(wù)器的本地緩存中。然后,您將需要一個(gè)使主節(jié)點(diǎn)的緩存行無(wú)效的序列。這將是緩存行失效序列。 對(duì)于非推理負(fù)載事務(wù),可能需要這樣做。最后,你需要有一個(gè)基本的 Readclean 序列:

pYYBAGR0Az6AAsXTAACEd8gGISo835.png

可以使用嵌套序列和虛擬序列模擬完整的驗(yàn)證場(chǎng)景。使用分層方法,無(wú)論任何場(chǎng)景生成需求有多復(fù)雜,對(duì)任何場(chǎng)景生成需求進(jìn)行建模都變得相對(duì)容易。這種方法與虛擬序列結(jié)合使用時(shí)有助于跨多個(gè)接口利用此功能,并且在系統(tǒng)上下文中高度相關(guān),如上所示。因此,作為庫(kù)一部分的多個(gè)虛擬序列可以執(zhí)行從不同主站到同一從站或不同從站的不同順序相干事務(wù)的組合。

隨著協(xié)議復(fù)雜性的不斷增加和發(fā)展,驗(yàn)證協(xié)議所需的基礎(chǔ)設(shè)施也需要在復(fù)雜性上擴(kuò)大規(guī)模。UVM等高級(jí)方法一直在不斷發(fā)展,以滿足許多復(fù)雜的要求。驗(yàn)證基本緩存一致性系統(tǒng)本身就具有挑戰(zhàn)性。ACE 協(xié)議帶來(lái)的額外復(fù)雜性對(duì)所使用的驗(yàn)證方法提出了很高的要求。UVM 庫(kù)提供的序列生成、分布式相位和配置管理以及最新更新(可通過(guò) UVM-1.2 庫(kù)獲得)的功能可以使 VIP 實(shí)施利用這些功能來(lái)滿足不同系統(tǒng)中的驗(yàn)證要求。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8701

    瀏覽量

    84563
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2817

    瀏覽量

    87712
  • AMBA
    +關(guān)注

    關(guān)注

    0

    文章

    67

    瀏覽量

    14874
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ARM系列之ACE協(xié)議資料匯總

    1、在AMBA4中ACE協(xié)議的變體提起 AMBA(Advanced Microcontroller Bus Architecture),估計(jì)做前端邏輯設(shè)計(jì)的朋友們都知道,尤其是稱霸業(yè)內(nèi)多年的 AHB
    發(fā)表于 04-07 09:35

    AMBA CHI協(xié)議介紹

    相干集線器接口(CHI)是AXI相干擴(kuò)展(ACE)協(xié)議的演進(jìn)。它是Arm提供的高級(jí)微控制器總線架構(gòu)(AMBA)的一部分。AMBA是一個(gè)自由的可用的、全球采用的、開(kāi)放的功能塊連接和管理標(biāo)準(zhǔn)在片上系統(tǒng)
    發(fā)表于 08-02 13:40

    AMBA-PV TLM擴(kuò)展用戶指南

    TLM 2.0的AMBA-PV擴(kuò)展(AMBA-PV)AMBA?總線映射到TLM 2.0之上。 其主要特點(diǎn)是: ?本課程專注于程序員視圖(PV),專注于高級(jí)、功能準(zhǔn)確的事務(wù)建模。低電平
    發(fā)表于 08-10 06:56

    AMBA 3 AXI協(xié)議檢查器用戶指南

    您可以協(xié)議檢查器與任何旨在實(shí)現(xiàn)AMBA 3 AXI協(xié)議v1.0的接口一起使用。協(xié)議檢查器中的一系列斷言會(huì)根據(jù)協(xié)議檢查測(cè)試的接口的行為。 本指南介紹Verilog文件的
    發(fā)表于 08-10 06:18

    AMBA 4 ACEACE Lite協(xié)議校驗(yàn)器用戶指南

    本書(shū)是為系統(tǒng)設(shè)計(jì)者、系統(tǒng)集成商和驗(yàn)證工程師編寫的,他們希望確認(rèn)設(shè)計(jì)符合相關(guān)AMBA4協(xié)議。這可以是ACEACE Lite
    發(fā)表于 08-10 07:01

    PCIe AMBA集成指南

    本文檔旨在提供關(guān)于PCIe接口集成到基于AMBA的片上系統(tǒng)(SoC)的指導(dǎo)。 假設(shè)PCIe接口通過(guò)基于AXI或ACE協(xié)議的互連連接到SoC的其余部分。 讀者應(yīng)熟悉PCIe、
    發(fā)表于 08-17 07:25

    AMBA靜態(tài)內(nèi)存接口數(shù)據(jù)表

    。 SMIAMBA高級(jí)系統(tǒng)總線(ASB)連接到AMBA微控制器的外部存儲(chǔ)器總線。 這允許連接多達(dá)8個(gè)256MB的32位寬靜態(tài)存儲(chǔ)器(SRAM、ROM等)。 并與
    發(fā)表于 08-21 06:22

    AMBA測(cè)試接口驅(qū)動(dòng)程序數(shù)據(jù)表

    本文檔介紹了AMBA測(cè)試接口驅(qū)動(dòng)程序(通常稱為TICBOX)。 應(yīng)該熟悉AMBA及其測(cè)試接口協(xié)議。 如果沒(méi)有,請(qǐng)參考
    發(fā)表于 08-21 06:43

    未來(lái)的物聯(lián)網(wǎng)物理世界中的所有內(nèi)容都連接到互聯(lián)網(wǎng)

    近年來(lái),看似不可避免的“物聯(lián)網(wǎng)”吸引了相當(dāng)多的關(guān)注:這種想法是,將來(lái),物理世界中的所有內(nèi)容(機(jī)器,物體,人)都將連接到互聯(lián)網(wǎng)。
    的頭像 發(fā)表于 04-21 19:50 ?4074次閱讀

    基于AMBA總線介紹?

    3.0:增加了AXI協(xié)議(了解);AMBA4.0:ACE協(xié)議(了解) 本文主要介紹AMBA2.0 (Advanced Microcontroller Bus Architecture,先進(jìn)微控制總線結(jié)構(gòu)),主要
    的頭像 發(fā)表于 05-19 14:22 ?2010次閱讀
    基于<b class='flag-5'>AMBA</b>總線介紹?

    的Magicbit(ESP32)連接到thingsboard

    電子發(fā)燒友網(wǎng)站提供《的Magicbit(ESP32)連接到thingsboard.zip》資料免費(fèi)下載
    發(fā)表于 11-15 11:46 ?0次下載
    <b class='flag-5'>將</b><b class='flag-5'>您</b>的Magicbit(ESP32)連<b class='flag-5'>接到</b>thingsboard

    的中央供暖連接到Arduino

    電子發(fā)燒友網(wǎng)站提供《的中央供暖連接到Arduino.zip》資料免費(fèi)下載
    發(fā)表于 11-21 09:33 ?5次下載
    <b class='flag-5'>將</b><b class='flag-5'>您</b>的中央供暖連<b class='flag-5'>接到</b>Arduino

    Arm AMBA ACE5-Lite協(xié)議規(guī)范更新

    在本博客中,我們將回顧作為 Arm? AMBA? ACE5-Lite 協(xié)議的一部分發(fā)布的最新功能,這些功能據(jù)說(shuō)可以提高吞吐量并滿足不斷發(fā)展的復(fù)雜多核 SoC 的低功耗需求,包括緩存一致性。
    的頭像 發(fā)表于 05-25 15:58 ?1903次閱讀
    Arm <b class='flag-5'>AMBA</b> <b class='flag-5'>ACE</b>5-Lite協(xié)議規(guī)范更新

    如何驗(yàn)證AMBA系統(tǒng)級(jí)環(huán)境

    為了使 SOC 驗(yàn)證工程師能夠創(chuàng)建高度可配置的 AMBA 結(jié)構(gòu),系統(tǒng)環(huán)境應(yīng)提供占位符,用于 DUT 與任何典型的 AMBA VIP 組件(如 AXI3/4/ACE、AHB 或 APB
    的頭像 發(fā)表于 05-29 09:33 ?600次閱讀
    如何驗(yàn)證<b class='flag-5'>AMBA</b>系統(tǒng)級(jí)環(huán)境

    基于AMBA的子系統(tǒng):驗(yàn)證它們需要什么

    從這張圖片中,我清楚地看到不同口味的多個(gè)AMBA組件的優(yōu)勢(shì)(AXI3 / 4,ACE,AHB,APB)。因此,即使我們有所有不同的 VIP 來(lái)代表這些 .不同的口味,就完成完整子系統(tǒng)的驗(yàn)證而言,這并不是一個(gè)灌籃。
    的頭像 發(fā)表于 05-29 10:35 ?514次閱讀
    基于<b class='flag-5'>AMBA</b>的子系統(tǒng):驗(yàn)證它們需要什么