SpinalHDL的仿真中可以使用的后门读写操作

描述

UVM里面有前门访问,后门访问的概念。前门访问无非通过总线来实现寄存器/Mem的访问。而当在一些仿真中为了减少通过总线进行配置下发所需的时间,那么后门访问就非常便捷了,它使得无需通过总线即可修改寄存器/Mem的值。今天,就来看看在SpinalHDL的仿真中我们可以使用的后门读写操作。

 

 在SpinalHDL里,当我们想要访问设计内部的信号时,我们可以通过将电路对象添加simPublic属性,从而达到我们想要的目的。正如下面的例子:

寄存器

    如果我们想要实现后门读写,那么电路对象simPubic属性是必须添加的。初次之外,SpinalHDL里面也自带了一些后门读写的方法,足够满足我们的后门读写访问需求。     》后门读写API

    无论是对寄存器还是Memory,后门读写SpinalHDL均可以通过下面的API来进行:

寄存器

    这里面前两者专门针对Mem类型实现Memory存储器的读写,而后者则针对寄存器等的写操作,读操作可以完全参照上面的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

 

    波形如下:

寄存器

    完全如其所愿。

  
      审核编辑:彭静
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分