91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

在UVM中更輕松地進行內(nèi)存管理

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Siddharth Nair ? 2022-11-29 17:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

典型的SOC由多個接口組成,這些接口可以訪問設計中的存儲器。當我們驗證這樣的設計時,我們需要確保各種接口訪問的內(nèi)存不重疊,從而導致數(shù)據(jù)完整性損失。

在使用涉及多個接口的基于 System Verilog 的驗證環(huán)境中進行驗證時,我們需要對激勵提供簡潔的約束,以確保這些訪問不會重疊并導致數(shù)據(jù)完整性丟失。

驗證工程師通常不得不花費大量時間來調(diào)試應用的約束,這種形式的約束導致激勵約束不足,這是一條非常危險的路徑。

隨著基于 UVM 的單例內(nèi)存管理器的引入,隨著 UVM 提供的內(nèi)存管理類的可用性,此任務變得更加易于實現(xiàn)。但是,這些新的驗證組件仍然不是專門為開發(fā)涉及多個主站的環(huán)境而設計的。我們在這里開發(fā)的“簡易內(nèi)存管理器”最大限度地利用了現(xiàn)有的UVM方法,并且還提供了多個主服務器之間更輕松的內(nèi)存訪問。

什么是 UVM 內(nèi)存管理器?

關于uvm_mem_mam類的可用資源非常稀缺,因此如果讀者對其功能沒有太多了解,這是可以理解的。在繼續(xù)討論內(nèi)存管理器提供的功能之前,我們想簡要介紹一下默認 UVM 內(nèi)存管理器的功能。

在 UVM 中,有四個類與內(nèi)存管理相關聯(lián)。它們在下面提到 -

uvm_mem_mam_cfg– 它允許我們選擇要由管理器管理的字節(jié)數(shù)以及開始和結(jié)束偏移量。

uvm_mem_mgr– 它由希望分配內(nèi)存的靜態(tài)/動態(tài)實體啟動。

uvm_mem_alloc_policy– 它還可用于控制管理器的開始和結(jié)束偏移量,并根據(jù)我們的要求約束這些變量。

uvm_mem_region– 這些表示內(nèi)存管理器要分配的區(qū)域。這些區(qū)域包含開始偏移量和管理器要分配的字節(jié)數(shù)。

現(xiàn)在我們已經(jīng)簡要了解了默認內(nèi)存管理器的操作以及與 UVM 中的內(nèi)存管理關聯(lián)的類,讓我們看看我們在內(nèi)存管理器中的這個現(xiàn)有功能上添加了什么。

支持的功能

“簡易內(nèi)存管理器”支持以下一組功能,可以在各種項目中重用:

整個內(nèi)存分為內(nèi)存、主內(nèi)存和分配的區(qū)域,支持這三個維度上的區(qū)域分配和釋放。

將記憶劃分為虛擬區(qū)域。

區(qū)域的運行時分配和釋放。

多個主節(jié)點的非重疊分配。

通過提供要分配的區(qū)域的物理地址和字節(jié)數(shù)來分配區(qū)域。

可以保留內(nèi)存塊,以便任何主節(jié)點都無法訪問它。

提供有關已分配區(qū)域的詳細信息的調(diào)試機制。

根據(jù).xls文件中的輸入創(chuàng)建記憶。

頂部寄存器塊和管理器可通過腳本進行配置。

即插即用,因此可以直接在任何現(xiàn)有的UVM環(huán)境中使用。

建筑

本節(jié)描述了內(nèi)存管理器的結(jié)構(gòu)以及將介紹“簡易內(nèi)存管理器”的環(huán)境。管理器由頂部uvm_reg_block 組成,其中包含單個存儲器(例如 – Flash、JTAG、SRAM 等)。單個存儲器是根據(jù).xls文件中提供的數(shù)據(jù)創(chuàng)建的。各個內(nèi)存類配置可根據(jù)項目要求完全定制。以類似的方式,我們可以通過腳本的命令行選項配置頂部內(nèi)存。管理器是單例,因此不會有數(shù)據(jù)重復。

poYBAGOFzMWADgzvAAB5PhuVPSs408.png

圖1使用簡易內(nèi)存管理器的環(huán)境

pYYBAGOFzM6AbuMWAABDvAtgHBs280.png

poYBAGOFzM-AbVBuAABIwbW8vdk807.png

圖2使用 Easy 內(nèi)存管理器分配和釋放內(nèi)存區(qū)域

pYYBAGOFzNaAJvQZAAE4Thk9Nh0750.png

表1管理器內(nèi)的方法列表

在這里,我們展示了如何在多主場景中使用“簡易內(nèi)存管理器”的場景。存儲器由兩個主站訪問,一個是SPI主機,另一個是以太網(wǎng)主機,它們正在執(zhí)行自己的測試序列。在該示例中,您可以觀察到主節(jié)點在訪問內(nèi)存時提供的唯一編號如何使用戶更易于控制測試用例中的區(qū)域處理。此外,用戶不需要知道RAL模型中內(nèi)存的結(jié)構(gòu)。他可以簡單地提供實際地址,經(jīng)理足夠聰明,可以根據(jù)地址保留區(qū)域。

5e14a851f2990-Picture4.png

圖3預留/釋放區(qū)域時主節(jié)點與管理器的交互

最初,整個內(nèi)存范圍都可用,SPI主站請求兩個區(qū)域,以便它可以在這些區(qū)域上啟動其序列。

同樣,以太網(wǎng)主站也請求了三個區(qū)域。以太網(wǎng)主站和SPI主站區(qū)域?qū)⑼ㄟ^主站編號進行區(qū)分,主站編號在分配時由主站作為參數(shù)傳遞。

SPI 主站已完成其序列,并通過在調(diào)用釋放函數(shù)時指定其唯一主站編號來釋放它分配的兩個區(qū)域。

以太網(wǎng)主站現(xiàn)在希望訪問先前分配給SPI主站的區(qū)域。因此,它將通過指定物理地址來請求這些區(qū)域。

以太網(wǎng)序列已完成,它將釋放它請求的區(qū)域。

整合步驟

poYBAGOFzOmAFSxxAABVZsjRFL4426.png

圖4 集成步驟

向XLS提供輸入–以適當?shù)母袷綄?shù)據(jù)寫入.xls文件以創(chuàng)建單個內(nèi)存。

通過腳本生成內(nèi)存和reg_block – 使用適當?shù)拿钚羞x項運行腳本。如果未提供命令行選項,則使用默認選項。

在環(huán)境中獲取經(jīng)理的實例 –內(nèi)存和管理器將根據(jù).xls文件和命令行選項中提供的數(shù)據(jù)創(chuàng)建。在要訪問管理器的組件中創(chuàng)建管理器的對象實例。

獲取管理器的句柄 – 管理器的實例需要獲取管理器的句柄,因為它是單例。管理器由返回單一實例句柄的方法組成。

通過句柄訪問方法可以使用管理器的句柄訪問管理器的方法。

“簡易內(nèi)存管理器”本質(zhì)上是通用的,可用于任何現(xiàn)有的基于UVM的驗證環(huán)境。管理器包易于配置,可以擴展到任何特定于項目的環(huán)境中,而無需對內(nèi)部代碼進行任何更改。

在eInfochips,我們已經(jīng)在系統(tǒng),子系統(tǒng)和IP級環(huán)境中使用了這種內(nèi)存管理器,并取得了預期的結(jié)果。我們已經(jīng)使用QuestaSim和NCSim模擬器驗證了此組件。

審核編輯:郭婷

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

    關注

    41

    文章

    6058

    瀏覽量

    181141
  • 存儲器
    +關注

    關注

    39

    文章

    7744

    瀏覽量

    171861
  • soc
    soc
    +關注

    關注

    40

    文章

    4581

    瀏覽量

    229439
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MAX1917:DDR內(nèi)存電源管理的理想選擇

    MAX1917:DDR內(nèi)存電源管理的理想選擇 電子設備的設計,電源管理是至關重要的一環(huán)。特別是對于DDR
    的頭像 發(fā)表于 03-17 17:15 ?357次閱讀

    MAX17000A:DDR2和DDR3內(nèi)存電源管理的理想之選

    MAX17000A:DDR2和DDR3內(nèi)存電源管理的理想之選 產(chǎn)品概述 筆記本電腦DDR、DDR2和DDR3內(nèi)存的電源管理領域,Maxim
    的頭像 發(fā)表于 03-12 15:30 ?130次閱讀

    探秘DS2731:緩存內(nèi)存電池備份管理IC的卓越性能與應用

    探秘DS2731:緩存內(nèi)存電池備份管理IC的卓越性能與應用 電子設備的設計,電源管理是一個至關重要的環(huán)節(jié),尤其是對于需要可靠備份電源的應
    的頭像 發(fā)表于 02-24 16:40 ?351次閱讀

    rk基于linux/android內(nèi)存管理

    內(nèi)存整體使用布局如下,以 ARM64 為例(常規(guī)情況): ? ? 上表的 Start Addr Offset 一欄表示基于 DDR base 的地址偏移; Fastboot 地址和大小由
    的頭像 發(fā)表于 12-15 10:42 ?240次閱讀
    rk基于linux/android<b class='flag-5'>內(nèi)存</b><b class='flag-5'>管理</b>

    實際網(wǎng)關設計,如何利用電容的高紋波電流能力進行管理優(yōu)化?

    實際網(wǎng)關設計,如何利用電容的高紋波電流能力進行管理優(yōu)化?
    發(fā)表于 11-26 07:59

    為什么單片機很少使用malloc,而PC程序頻繁使用呢?

    進行內(nèi)存管理,尤其是處理復雜數(shù)據(jù)結(jié)構(gòu)和應用時。 開發(fā)的復雜度單片機:嵌入式開發(fā),開發(fā)者往往需要在有限的資源和對實時性的嚴格要求下
    發(fā)表于 11-20 06:55

    NVMe高速傳輸之擺脫XDMA設計24: UVM 驗證包設計

    UVM 驗證包的主要功能是對 DUT 提供激勵, 仿真驗證對應的功能, 并對測試結(jié)果進行自動對比分析與統(tǒng)計。 驗證包包含一個NoPHAE_env 驗證環(huán)境, 驗證環(huán)境下包含
    的頭像 發(fā)表于 09-14 11:29 ?4827次閱讀
    NVMe高速傳輸之擺脫XDMA設計24: <b class='flag-5'>UVM</b> 驗證包設計

    NVMe高速傳輸之擺脫XDMA設計24: UVM 驗證包設計

    UVM 驗證包設計結(jié)構(gòu)如圖 1 所示。 UVM 驗證包的主要功能是對 DUT 提供激勵, 仿真驗證對應的功能, 并對測試結(jié)果進行自動對比分析與統(tǒng)計。 驗證包包含一個NoPHAE_env 驗證環(huán)境
    發(fā)表于 08-29 14:33

    實時監(jiān)控與診斷,讓EtherCAT網(wǎng)絡管理更輕松!

    版AWStudio運動控制版提供了實時監(jiān)控功能,能夠?qū)崟r顯示EtherCAT網(wǎng)絡的運行狀態(tài),包括從站設備的通信狀態(tài)、數(shù)據(jù)交換情況等,這有助于開發(fā)者及時發(fā)現(xiàn)并解決網(wǎng)絡的潛在
    的頭像 發(fā)表于 08-28 11:36 ?759次閱讀
    實時監(jiān)控與診斷,讓EtherCAT網(wǎng)絡<b class='flag-5'>管理</b><b class='flag-5'>更輕松</b>!

    NVMe高速傳輸之擺脫XDMA設計23:UVM驗證平臺

    驗證的硬核 IP,因此驗證過程可以只使用其接口進行模擬,這將極大減小驗證平臺復雜度和構(gòu)建難度,同時對驗證的完備性影響較小.驗證平臺由 UVM 驗證包、DUT、AXI BRAM IP
    發(fā)表于 08-26 09:49

    NVMe高速傳輸之擺脫XDMA設計23:UVM驗證平臺

    抽象為 PCIeTLP 事務,因此為了方便的事務層構(gòu)建復雜的測試用例,項目基于 UVM 搭建驗證平臺進行功能驗證。
    的頭像 發(fā)表于 08-25 18:53 ?3088次閱讀
    NVMe高速傳輸之擺脫XDMA設計23:<b class='flag-5'>UVM</b>驗證平臺

    NVMe高速傳輸之擺脫XDMA設計18:UVM驗證平臺

    驗證的硬核 IP,因此驗證過程可以只使用其接口進行模擬,這將極大減小驗證平臺復雜度和構(gòu)建難度,同時對驗證的完備性影響較小.驗證平臺由 UVM 驗證包、DUT、AXI BRAM IP
    發(fā)表于 07-31 16:39

    HarmonyOS優(yōu)化應用內(nèi)存占用問題性能優(yōu)化一

    一、 概述 用戶功能的不斷增強,應用越來越復雜,占用的內(nèi)存不斷膨脹,而內(nèi)存作為系統(tǒng)的稀缺資源比較有限,當應用程序占用過多內(nèi)存時,系統(tǒng)可能會頻繁
    發(fā)表于 05-21 11:27

    IEC61508系統(tǒng)的動態(tài)內(nèi)存使用

    IEC 61508標準強烈推薦使用靜態(tài)內(nèi)存管理方式。安全應用設計,我們都在遵循這個建議。
    的頭像 發(fā)表于 04-11 15:17 ?1429次閱讀
    IEC61508系統(tǒng)<b class='flag-5'>中</b>的動態(tài)<b class='flag-5'>內(nèi)存</b>使用

    如何使用MCX N ROM API進行內(nèi)部閃存擦除/編程?

    使用 MCX N ROM API 進行內(nèi)部閃存擦除/編程
    發(fā)表于 03-27 07:04