请教版主及高手uvm_register相关问题
时间:10-02
整理:3721RD
点击:
最近在研究uvm_register的应用。
之前的项目的寄存器那一块都是通过生成相应的sequence在总线上直接读取,然后将读出来的值存起来以备其他模块以及SCB使用,
我在读了张强的那个文档之后,说可以在SCB中直接通过调用下面类似语句来完成:
my_reg_model.my_reg.read(status, data, backdoor_frontdoor);
最近看了帮助文档以及样例,还是没有确切搞明白这个地方是怎么使用的?
麻烦各位高人指点一下!这里一起讨论讨论!
有没有代码实例?可以共享一下!
谢谢各位!
之前的项目的寄存器那一块都是通过生成相应的sequence在总线上直接读取,然后将读出来的值存起来以备其他模块以及SCB使用,
我在读了张强的那个文档之后,说可以在SCB中直接通过调用下面类似语句来完成:
my_reg_model.my_reg.read(status, data, backdoor_frontdoor);
最近看了帮助文档以及样例,还是没有确切搞明白这个地方是怎么使用的?
麻烦各位高人指点一下!这里一起讨论讨论!
有没有代码实例?可以共享一下!
谢谢各位!
把样例发上来 哪里不会 哥给你讲下
就是那个文档中的,我也想知道这个问题的解答!
有困难找强哥!
你写的这个方法相当于直接向driver传递一个transaction。你要写一个adpater来做这个事情,my_reg_model.my_reg.read(status, data, backdoor_frontdoor);相当于发起一次对register的总线操作,个人觉得不应该在Scoreboard里用,你将来复用的时候,万一不用Driver了,你的SCB就一样不能用了。
这样的话scb不需要直接和seq打交道,架构比较清晰
