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

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

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

SpinalHDL的仿真中可以使用的后門讀寫操作

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-09-02 09:29 ? 次閱讀

UVM里面有前門訪問,后門訪問的概念。前門訪問無非通過總線來實(shí)現(xiàn)寄存器/Mem的訪問。而當(dāng)在一些仿真中為了減少通過總線進(jìn)行配置下發(fā)所需的時(shí)間,那么后門訪問就非常便捷了,它使得無需通過總線即可修改寄存器/Mem的值。今天,就來看看在SpinalHDL的仿真中我們可以使用的后門讀寫操作。

在SpinalHDL里,當(dāng)我們想要訪問設(shè)計(jì)內(nèi)部的信號(hào)時(shí),我們可以通過將電路對(duì)象添加simPublic屬性,從而達(dá)到我們想要的目的。正如下面的例子:

847334d8-2a50-11ed-ba43-dac502259ad0.png

如果我們想要實(shí)現(xiàn)后門讀寫,那么電路對(duì)象simPubic屬性是必須添加的。初次之外,SpinalHDL里面也自帶了一些后門讀寫的方法,足夠滿足我們的后門讀寫訪問需求。 》后門讀寫API

無論是對(duì)寄存器還是Memory,后門讀寫SpinalHDL均可以通過下面的API來進(jìn)行:

849d7b30-2a50-11ed-ba43-dac502259ad0.png

這里面前兩者專門針對(duì)Mem類型實(shí)現(xiàn)Memory存儲(chǔ)器的讀寫,而后者則針對(duì)寄存器等的寫操作,讀操作可以完全參照上面的simPubic即可。

》Example

我們以下面的代碼做為example:

84bf0cf0-2a50-11ed-ba43-dac502259ad0.png

仿真Log打?。?/p>

[Progress] Start MemoryTest test simulation with seed 350149846address=0   data=1address=1   data=180address=2   data=49address=3   data=128[Done] Simulation done in 15.481 ms

波形如下:

84f66718-2a50-11ed-ba43-dac502259ad0.png

完全如其所愿。

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

    關(guān)注

    31

    文章

    5250

    瀏覽量

    119197
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    3971

    瀏覽量

    132958
  • 讀寫操作
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    7108

原文標(biāo)題:三分鐘教會(huì)你SpinalHDL仿真中的后門讀寫

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于SpinalHDL仿真中信號(hào)驅(qū)動(dòng)那點(diǎn)事兒

    到時(shí)鐘信號(hào)從低電平到高電平變化完成之后才推出。那么我們?cè)陔S后對(duì)dataIn的賦值其實(shí)是發(fā)生在clk上升沿到來后的0+時(shí)間才發(fā)生的。 從這里代碼分析我們可以看出,在SpinalHDL仿真里:復(fù)位信號(hào)會(huì)
    發(fā)表于 06-24 16:34

    看看在SpinalHDL仿真中我們可以使用的后門讀寫操作

    寄存器/Mem的值。今天,就來看看在SpinalHDL仿真中我們可以使用的后門讀寫操作。》si
    發(fā)表于 07-04 15:19

    SpinalHDL是如何讓仿真跑起來的

    SpinalHDL的測(cè)試代碼里也可以起多個(gè),不過其為協(xié)程。SpinalHDL仿真庫已經(jīng)幫我們封裝好了底層協(xié)程的處理,兩個(gè)協(xié)程之間的通信(類似systemVerilog中的mailb
    發(fā)表于 07-25 15:09

    如何在SpinalHDL里啟動(dòng)一個(gè)仿真

    工具單步調(diào)試的便捷性了。所以這種“高層次”仿真,還是值得一用。啟動(dòng)仿真的方式SpinalHDL中的仿真入口一般情況下都是這么來寫的:通過引入spinal.core.sim._ ,我們
    發(fā)表于 07-26 16:59

    SpinalHDL仿真信號(hào)的驅(qū)動(dòng)實(shí)現(xiàn)

    對(duì)于仿真信號(hào)的驅(qū)動(dòng),在SpinalHDL里通過“#=”方法實(shí)現(xiàn):值得注意的是當(dāng)我們的設(shè)計(jì)里有一個(gè)輸入信號(hào)為:val a=in UInt(32 bits)在進(jìn)行仿真信號(hào)驅(qū)動(dòng)時(shí),下面的寫法會(huì)報(bào)錯(cuò)的:a#
    發(fā)表于 07-27 14:37

    基于Windows系統(tǒng)的SpinalHDL開發(fā)環(huán)境搭建步驟

    相應(yīng)的更新,等待更新完畢即可。使用該插件可以參考插件的介紹,按照步驟操作即可。VScode-SpinalHDL效果如圖所示;原作者:Joshua_FPGA
    發(fā)表于 10-24 15:40

    FRED在背光板仿真中的應(yīng)用

    FRED在背光板仿真中的應(yīng)用
    發(fā)表于 12-22 16:02 ?34次下載
    FRED在背光板<b class='flag-5'>仿真中</b>的應(yīng)用

    PSpice教程:PSpice仿真中收斂問題的研究

    PSpice教程:PSpice仿真中收斂問題的研究
    發(fā)表于 04-07 15:33 ?0次下載

    IC卡讀寫仿真

    IC卡讀寫仿真IC卡讀寫仿真IC卡讀寫仿真
    發(fā)表于 11-10 16:49 ?5次下載

    SpinalHDL中如何優(yōu)雅地實(shí)現(xiàn)寄存器總線讀寫

    通過bus slave factory,我們可以方便地實(shí)現(xiàn)寄存器讀寫,其提供了一系列寄存器讀寫方法。這里列舉幾個(gè)常用的方法(完整的方法列表可參照SpinalHDL-Doc):
    發(fā)表于 08-05 09:57 ?933次閱讀

    SpinalHDL運(yùn)行VCS+Vivado相關(guān)仿真

    本篇文章來源于微信群中的網(wǎng)友,分享下在SpinalHDL里如何絲滑的運(yùn)行VCS跑Vivado相關(guān)仿真。自此仿真設(shè)計(jì)一體化不是問題。
    的頭像 發(fā)表于 08-10 09:15 ?2314次閱讀

    Verilog代碼封裝后門訪問

    關(guān)于仿真里的后門訪問,之前的文章《三分鐘教會(huì)你SpinalHDL仿真中后門讀寫》中有做過介紹,
    的頭像 發(fā)表于 07-15 10:22 ?760次閱讀
    Verilog代碼封裝<b class='flag-5'>后門</b>訪問

    借助GPT4理解仿真中競(jìng)爭(zhēng)處理的方法

    上周微信群里的一個(gè)小伙伴提到的一個(gè)關(guān)于仿真中不達(dá)預(yù)期的一個(gè)問題,其中牽涉到關(guān)于仿真中信號(hào)競(jìng)爭(zhēng)等問題。這個(gè)問題之前算是不求甚解。
    的頭像 發(fā)表于 11-25 14:23 ?487次閱讀
    借助GPT4理解<b class='flag-5'>仿真中</b>競(jìng)爭(zhēng)處理的方法

    MATLAB電路仿真中能講電流匯總的元件

    在MATLAB電路仿真中,可以使用許多元件來匯總電流。以下是一些常見的元件和它們?cè)陔娐分械淖饔茫?電阻(Resistor):電阻是電路中最基本的元件之一,用于限制電流的流動(dòng)。在MATLAB電路仿真中
    的頭像 發(fā)表于 04-21 09:23 ?1716次閱讀

    高速信號(hào)仿真中的FFE均衡技術(shù)

    高速信號(hào)仿真中的均衡技術(shù)按照發(fā)射端和接收端來看可以分為如下圖中的幾種類型。
    的頭像 發(fā)表于 07-29 14:15 ?482次閱讀
    高速信號(hào)<b class='flag-5'>仿真中</b>的FFE均衡技術(shù)