UVM里面有前門(mén)訪(fǎng)問(wèn),后門(mén)訪(fǎng)問(wèn)的概念。前門(mén)訪(fǎng)問(wèn)無(wú)非通過(guò)總線(xiàn)來(lái)實(shí)現(xiàn)寄存器/Mem的訪(fǎng)問(wèn)。而當(dāng)在一些仿真中為了減少通過(guò)總線(xiàn)進(jìn)行配置下發(fā)所需的時(shí)間,那么后門(mén)訪(fǎng)問(wèn)就非常便捷了,它使得無(wú)需通過(guò)總線(xiàn)即可修改寄存器/Mem的值。今天,就來(lái)看看在SpinalHDL的仿真中我們可以使用的后門(mén)讀寫(xiě)操作。
在SpinalHDL里,當(dāng)我們想要訪(fǎng)問(wèn)設(shè)計(jì)內(nèi)部的信號(hào)時(shí),我們可以通過(guò)將電路對(duì)象添加simPublic屬性,從而達(dá)到我們想要的目的。正如下面的例子:
如果我們想要實(shí)現(xiàn)后門(mén)讀寫(xiě),那么電路對(duì)象simPubic屬性是必須添加的。初次之外,SpinalHDL里面也自帶了一些后門(mén)讀寫(xiě)的方法,足夠滿(mǎn)足我們的后門(mén)讀寫(xiě)訪(fǎng)問(wèn)需求。 》后門(mén)讀寫(xiě)API
無(wú)論是對(duì)寄存器還是Memory,后門(mén)讀寫(xiě)SpinalHDL均可以通過(guò)下面的API來(lái)進(jìn)行:
這里面前兩者專(zhuān)門(mén)針對(duì)Mem類(lèi)型實(shí)現(xiàn)Memory存儲(chǔ)器的讀寫(xiě),而后者則針對(duì)寄存器等的寫(xiě)操作,讀操作可以完全參照上面的simPubic即可。
》Example
我們以下面的代碼做為example:
仿真Log打印:
[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
波形如下:
完全如其所愿。
-
寄存器
+關(guān)注
關(guān)注
31文章
5430瀏覽量
123917 -
仿真
+關(guān)注
關(guān)注
52文章
4253瀏覽量
135530 -
讀寫(xiě)操作
+關(guān)注
關(guān)注
0文章
5瀏覽量
7211
原文標(biāo)題:三分鐘教會(huì)你SpinalHDL仿真中的后門(mén)讀寫(xiě)
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
關(guān)于SpinalHDL仿真中信號(hào)驅(qū)動(dòng)那點(diǎn)事兒
看看在SpinalHDL的仿真中我們可以使用的后門(mén)讀寫(xiě)操作
SpinalHDL是如何讓仿真跑起來(lái)的
如何在SpinalHDL里啟動(dòng)一個(gè)仿真
SpinalHDL中仿真信號(hào)的驅(qū)動(dòng)實(shí)現(xiàn)
基于Windows系統(tǒng)的SpinalHDL開(kāi)發(fā)環(huán)境搭建步驟
SystemView在通信系統(tǒng)仿真中的應(yīng)用研究

SpinalHDL中如何優(yōu)雅地實(shí)現(xiàn)寄存器總線(xiàn)讀寫(xiě)
SpinalHDL運(yùn)行VCS+Vivado相關(guān)仿真
Verilog代碼封裝后門(mén)訪(fǎng)問(wèn)

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

評(píng)論