色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

UVM中更簡單的內(nèi)存管理

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者: Siddharth Nair ? 2022-06-10 16:37 ? 次閱讀

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

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

驗證工程師通常不得不花費大量時間來調(diào)試應(yīng)用的約束,而這種形式的約束會導(dǎo)致刺激的約束不足,這是一條非常冒險的道路。

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

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

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

UVM 中有四個與內(nèi)存管理相關(guān)的類。它們在下面提到 -

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

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

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

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

現(xiàn)在我們對默認(rèn)內(nèi)存管理器的操作以及與 UVM 中的內(nèi)存管理相關(guān)的類有了一個簡要的了解,讓我們看看我們在內(nèi)存管理器中添加了哪些現(xiàn)有功能。

支持的功能

“ Easy memory manager ”支持以下一組功能,可以在各種項目中重用:

整個內(nèi)存分為memory、master、region分配三個維度,支持這三個維度上region的分配和釋放。

將內(nèi)存劃分為虛擬區(qū)域。

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

多個主控的非重疊分配。

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

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

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

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

頂部寄存器塊和管理器可通過腳本進(jìn)行配置。

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

建筑學(xué)

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

pYYBAGKdv3KAHu26AAC-pUOZz2c514.png

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

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

poYBAGKdv4qALunBAAKLJGd4PXw489.png

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

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

pYYBAGKdv5WAVdZ7AAKSz4g_low617.png

圖3預(yù)留/釋放區(qū)域時 master 與 manager 的交互

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

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

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

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

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

整合步驟

pYYBAGKdv52AHS8PAAFNAoENk5U067.png

圖 4 集成步驟

向 XLS 提供輸入——在 .xls 文件中以適當(dāng)?shù)母袷綄懭霐?shù)據(jù)以創(chuàng)建單獨的內(nèi)存。

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

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

獲取管理器的句柄——管理器的實例需要獲取管理器的句柄,因為它是一個單例。管理器包含一個返回單例句柄的方法。

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

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

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

審核編輯:郭婷

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

    關(guān)注

    40

    文章

    5436

    瀏覽量

    171934
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7507

    瀏覽量

    163965
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1708

    瀏覽量

    91723
收藏 人收藏

    評論

    相關(guān)推薦

    虛擬內(nèi)存溢出該怎么處理 虛擬內(nèi)存在服務(wù)器的應(yīng)用

    在現(xiàn)代計算機系統(tǒng),虛擬內(nèi)存是一種重要的資源管理技術(shù),它允許系統(tǒng)使用硬盤空間來擴展物理內(nèi)存的容量。然而,當(dāng)系統(tǒng)運行的程序和進(jìn)程超出了物理內(nèi)存
    的頭像 發(fā)表于 12-04 09:49 ?177次閱讀

    Linux下如何管理虛擬內(nèi)存 使用虛擬內(nèi)存時的常見問題

    在Linux系統(tǒng),虛擬內(nèi)存管理是操作系統(tǒng)內(nèi)核的一個重要功能,負(fù)責(zé)管理物理內(nèi)存和磁盤上的交換空間。以下是對Linux下如何
    的頭像 發(fā)表于 12-04 09:19 ?458次閱讀

    虛擬內(nèi)存對計算機性能的影響

    在現(xiàn)代計算機系統(tǒng)內(nèi)存管理是確保系統(tǒng)高效運行的關(guān)鍵因素之一。虛擬內(nèi)存技術(shù)作為內(nèi)存管理的核心組成
    的頭像 發(fā)表于 12-04 09:17 ?841次閱讀

    虛擬內(nèi)存的作用和原理 如何調(diào)整虛擬內(nèi)存設(shè)置

    虛擬內(nèi)存,也稱為虛擬內(nèi)存管理或頁面文件,是計算機操作系統(tǒng)的一種內(nèi)存管理技術(shù)。它允許系統(tǒng)使用硬盤
    的頭像 發(fā)表于 12-04 09:13 ?499次閱讀

    Linux內(nèi)存泄露案例分析和內(nèi)存管理分享

    作者:京東科技 李遵舉 一、問題 近期我們運維同事接到線上LB(負(fù)載均衡)服務(wù)內(nèi)存報警,運維同事反饋說LB集群有部分機器的內(nèi)存使用率超過80%,有的甚至超過90%,而且內(nèi)存使用率還再不停的增長。接到
    的頭像 發(fā)表于 10-24 16:14 ?747次閱讀
    Linux<b class='flag-5'>內(nèi)存</b>泄露案例分析和<b class='flag-5'>內(nèi)存</b><b class='flag-5'>管理</b>分享

    Linux內(nèi)存管理HVO的實現(xiàn)原理

    代碼閱讀工具:vim+ctags+cscope本文主要介紹內(nèi)存管理的HVO(HugeTLB Vmemmap Optimization)特性,通過HVO可以節(jié)省管理HugeTLB 頁面
    的頭像 發(fā)表于 10-22 16:51 ?257次閱讀
    Linux<b class='flag-5'>內(nèi)存</b><b class='flag-5'>管理</b><b class='flag-5'>中</b>HVO的實現(xiàn)原理

    Windows管理內(nèi)存的三種主要方式

    Windows操作系統(tǒng)提供了多種方式來管理內(nèi)存,以確保系統(tǒng)資源的有效利用和性能的優(yōu)化。以下是關(guān)于Windows管理內(nèi)存的三種主要方式的詳細(xì)闡述,包括堆
    的頭像 發(fā)表于 10-12 17:09 ?920次閱讀

    內(nèi)存管理的硬件結(jié)構(gòu)

    常見的內(nèi)存分配函數(shù)有malloc,mmap等,但大家有沒有想過,這些函數(shù)在內(nèi)核是怎么實現(xiàn)的?換句話說,Linux內(nèi)核的內(nèi)存管理是怎么實現(xiàn)的?
    的頭像 發(fā)表于 09-04 14:28 ?336次閱讀
    <b class='flag-5'>內(nèi)存</b><b class='flag-5'>管理</b>的硬件結(jié)構(gòu)

    ESP-IDF內(nèi)核內(nèi)存管理如何驗證?

    請教一下,ESP-IDF 內(nèi)核內(nèi)存管理如何驗證
    發(fā)表于 06-19 06:30

    深入理解Java 8內(nèi)存管理機制及故障排查實戰(zhàn)指南

    Java的自動內(nèi)存管理機制是由 JVM 的垃圾收集器來實現(xiàn)的,垃圾收集器會定期掃描堆內(nèi)存的對象,檢測并清除不再使用的對象,以釋放
    的頭像 發(fā)表于 04-04 08:10 ?1014次閱讀
    深入理解Java 8<b class='flag-5'>內(nèi)存</b><b class='flag-5'>管理</b>機制及故障排查實戰(zhàn)指南

    fpga驗證和uvm驗證的區(qū)別

    FPGA驗證和UVM驗證在芯片設(shè)計和驗證過程中都扮演著重要的角色,但它們之間存在明顯的區(qū)別。
    的頭像 發(fā)表于 03-15 15:00 ?1665次閱讀

    uvm1.1升級為uvm1.2 uvm_report_server報錯是何原因?

    ISP算法仿真中,小編會用reference model調(diào)用DPI接口用C++ 算法實現(xiàn)pixel算法處理,然后和DUT算法處理輸出的pixel值進(jìn)行比較,比較時候發(fā)現(xiàn)報錯,報錯代碼如下,原因是小編把uvm1.1升級為uvm1.2了。
    的頭像 發(fā)表于 03-04 14:18 ?827次閱讀
    <b class='flag-5'>uvm</b>1.1升級為<b class='flag-5'>uvm</b>1.2 <b class='flag-5'>uvm</b>_report_server報錯是何原因?

    UVM手把手教程系列(二)Phase機制簡單介紹

    UVM的phase,按照其是否消耗仿真時間($time打印出的時間)的特性,可以分成兩大類
    的頭像 發(fā)表于 02-29 09:26 ?1441次閱讀
    <b class='flag-5'>UVM</b>手把手教程系列(二)Phase機制<b class='flag-5'>簡單</b>介紹

    UVM手把手教程系列(一)UVM驗證平臺基礎(chǔ)知識介紹

    先拋開UVM,回想一下我們在平時寫完程序后,是不是肯定需要灌一個激勵給DUT,然后再從DUT獲取結(jié)果,并跟一個參考模塊進(jìn)行對比,檢查結(jié)果是否正確。就像下面這個圖:
    的頭像 發(fā)表于 02-27 09:08 ?6137次閱讀
    <b class='flag-5'>UVM</b>手把手教程系列(一)<b class='flag-5'>UVM</b>驗證平臺基礎(chǔ)知識介紹

    C語言中的動態(tài)內(nèi)存管理講解

    本章將講解 C 的動態(tài)內(nèi)存管理。C 語言為內(nèi)存的分配和管理提供了幾個函數(shù)。這些函數(shù)可以在 頭文件中找到。
    的頭像 發(fā)表于 02-23 14:03 ?401次閱讀
    C語言中的動態(tài)<b class='flag-5'>內(nèi)存</b><b class='flag-5'>管理</b>講解
    主站蜘蛛池模板: 69国产精品人妻无码免费| 熟女人妻AV五十路六十路| 扒开老师大腿猛进AAA片邪恶| 亚洲婷婷天堂综合国产剧情| 色欲国产麻豆一精品一AV一免费 | 美女扒开腿让男人桶个爽| 精品国产自在现线拍400部| 国产亚洲精品久久久闺蜜| 国产午夜精品自在自线之la| 国产免费久久精品国产传媒| 国产第一页浮力影院| 夫外出被公侵犯日本电影| 打扑克床上视频不用下载免费观看| S货SAO死你BL大点声叫BL| thermo脱色摇床安卓下载| babesvideos欧美最新| a圾片目录大全| qq快播电影网| 大胸美女被c| 国产精品免费一区二区三区视频 | 色欲AV亚洲永久无码精品麻豆| 乳欲性高清在线| 无码人妻99久久密AV| 性色欲情网站IWWW九文堂| 亚洲第一综合天堂另类专| 亚洲欧美偷拍视频一区| 伊人影院网| 99国产小视频| 成人精品视频| 国产欧美二区综合| 国产又黄又硬又粗| 久久国产伦子伦精品| 美女xx00| 日韩欧美1区| 亚洲 欧美 国产 综合 播放| 亚洲伊人久久综合影院2021| 中文字幕无码他人妻味| 办公室激情在线观看| 国产美女视频一区二区二三区 | 青青草在线视频| 无码不卡中文字幕在线观看|