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

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

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

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

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

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者: Siddharth Nair ? 2022-06-10 16:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

UVM 中有四個(gè)與內(nèi)存管理相關(guān)的類。它們?cè)谙旅嫣岬?-

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

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

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

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

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

支持的功能

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

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

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

運(yùn)行時(shí)分配和區(qū)域釋放。

多個(gè)主控的非重疊分配。

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

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

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

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

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

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

建筑學(xué)

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

pYYBAGKdv3KAHu26AAC-pUOZz2c514.png

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

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

poYBAGKdv4qALunBAAKLJGd4PXw489.png

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

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

pYYBAGKdv5WAVdZ7AAKSz4g_low617.png

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

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

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

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

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

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

整合步驟

pYYBAGKdv52AHS8PAAFNAoENk5U067.png

圖 4 集成步驟

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

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

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

獲取管理器的句柄——管理器的實(shí)例需要獲取管理器的句柄,因?yàn)樗且粋€(gè)單例。管理器包含一個(gè)返回單例句柄的方法。

通過(guò)句柄訪問(wèn)方法– 可以使用管理器的句柄訪問(wèn)管理器的方法。

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

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

審核編輯:郭婷

聲明:本文內(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ǎng)
    +關(guān)注

    關(guān)注

    41

    文章

    6035

    瀏覽量

    181063
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    39

    文章

    7741

    瀏覽量

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

    關(guān)注

    17

    文章

    1886

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    MAX1917:DDR內(nèi)存電源管理的理想選擇 在電子設(shè)備的設(shè)計(jì),電源管理是至關(guān)重要的一環(huán)。特別是對(duì)于DDR內(nèi)存等對(duì)電源要求較高的組件,需要
    的頭像 發(fā)表于 03-17 17:15 ?140次閱讀

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

    探秘DS2731:緩存內(nèi)存電池備份管理IC的卓越性能與應(yīng)用 在電子設(shè)備的設(shè)計(jì),電源管理是一個(gè)至關(guān)重要的環(huán)節(jié),尤其是對(duì)于需要可靠備份電源的應(yīng)用場(chǎng)景。今天,我們就來(lái)深入探討一款功能強(qiáng)大的
    的頭像 發(fā)表于 02-24 16:40 ?343次閱讀

    KubePi:開(kāi)源Kubernetes可視化管理面板,讓集群管理如此簡(jiǎn)單

    、總結(jié):為什么選擇KubePi? 在Kubernetes可視化管理工具的選擇,KubePi憑借其以下突出優(yōu)點(diǎn)脫穎而出: 簡(jiǎn)單易用 :直觀的界面設(shè)計(jì)顯著降低了學(xué)習(xí)成本,即使是對(duì)Kubernetes不太熟悉
    發(fā)表于 02-11 12:53

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

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

    TQKIT開(kāi)發(fā)板工具讓系統(tǒng)功能調(diào)用簡(jiǎn)單

    TQKIT開(kāi)發(fā)板工具,將復(fù)雜的系統(tǒng)控制能力以接口形式開(kāi)放給開(kāi)發(fā)者,讓系統(tǒng)功能調(diào)用簡(jiǎn)單。
    的頭像 發(fā)表于 12-08 09:27 ?425次閱讀
    TQKIT開(kāi)發(fā)板工具讓系統(tǒng)功能調(diào)用<b class='flag-5'>更</b><b class='flag-5'>簡(jiǎn)單</b>

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

    ,無(wú)法有效地進(jìn)行內(nèi)存回收和碎片整理。碎片問(wèn)題可能導(dǎo)致可用內(nèi)存不斷減少,最終無(wú)法進(jìn)行有效分配,造成系統(tǒng)穩(wěn)定性問(wèn)題。因此,嵌入式開(kāi)發(fā)通常避免使用 malloc,而選擇
    發(fā)表于 11-20 06:55

    WebGL/Canvas 內(nèi)存泄露分析

    在構(gòu)建高性能、長(zhǎng)周期運(yùn)行的 WebGL/Canvas 應(yīng)用(如 3D 編輯器、數(shù)據(jù)可視化平臺(tái))時(shí),內(nèi)存管理是一個(gè)至關(guān)重要且極具挑戰(zhàn)性的課題。 開(kāi)發(fā)者通常面臨的內(nèi)存泄漏問(wèn)題,其根源遠(yuǎn)比簡(jiǎn)單
    的頭像 發(fā)表于 10-21 11:40 ?431次閱讀
    WebGL/Canvas <b class='flag-5'>內(nèi)存</b>泄露分析

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)24: UVM 驗(yàn)證包設(shè)計(jì)

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

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)23:UVM驗(yàn)證平臺(tái)

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

    靈活高效ZBUFF — C內(nèi)存數(shù)據(jù)操作庫(kù):優(yōu)化內(nèi)存管理的利器

    在C語(yǔ)言開(kāi)發(fā),高效的內(nèi)存管理是提升程序性能的關(guān)鍵。ZBUFF作為一款靈活高效的內(nèi)存數(shù)據(jù)操作庫(kù),通過(guò)優(yōu)化內(nèi)存分配與釋放機(jī)制,為開(kāi)發(fā)者提供了
    的頭像 發(fā)表于 08-14 18:01 ?721次閱讀
    靈活高效ZBUFF — C<b class='flag-5'>內(nèi)存</b>數(shù)據(jù)操作庫(kù):優(yōu)化<b class='flag-5'>內(nèi)存</b><b class='flag-5'>管理</b>的利器

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)18:UVM驗(yàn)證平臺(tái)

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

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)九:隊(duì)列管理模塊設(shè)計(jì)(上)

    設(shè)計(jì),結(jié)合UVM驗(yàn)證加快設(shè)計(jì)速度。隊(duì)列管理模塊采用隊(duì)列的存儲(chǔ)與控制分離的設(shè)計(jì)結(jié)構(gòu),如圖1所示為隊(duì)列管理模塊的結(jié)構(gòu)框圖。 圖1隊(duì)列管理模塊結(jié)構(gòu)圖對(duì)于提交隊(duì)列,設(shè)置一塊完整的BRAM存儲(chǔ)空
    發(fā)表于 07-27 17:41

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

    使用的數(shù)據(jù)替換為新數(shù)據(jù)。 生命周期管理:在生命周期管理,可以釋放不再使用的系統(tǒng)資源,包括應(yīng)用內(nèi)存、監(jiān)聽(tīng)事件、網(wǎng)絡(luò)句柄等。 Purgeable Memory
    發(fā)表于 05-21 11:27

    安科瑞醫(yī)療建筑能效解決方案,讓能源管理簡(jiǎn)單!# 能源管理

    能源管理
    jf_55902079
    發(fā)布于 :2025年05月19日 16:52:11

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

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