在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5497|回复: 4

[求助] 请教个问题。 sequencer里面有 run_phase, main_phase这样的成员吗

[复制链接]
发表于 2012-5-31 22:00:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 feiying_cq 于 2012-5-31 22:07 编辑

在例子里看到这样的代码:


    uvm_config_db#(uvm_object_wrapper)::set(this,
             "ubus_example_tb0.ubus0.slaves[0].sequencer.run_phase",
              "default_sequence",
               slave_memory_seq::type_id::get());


也就是说  run_phase是sequencer的一个成员变量,(不是成员函数吧?)    但是查找了一下源代码, 只找到了 task run_phase()

在别的例子中也看到用 uvm_config_db::set()  给main_phase 进行配置的

那么这个地方的  run_phase和 main_phase是指 sequencer里面的一个成员变量呢  还是 指  task?    uvm_config_db 里面也存放着task 的信息吗?

有点糊涂了

请大家讨论讨论  谢谢
发表于 2012-6-1 22:33:48 | 显示全部楼层
其实这里不是这么去理解。run_phase和main_phase都是sequencer的成员函数。
这里通过uvm_config_db来设置default_sequence。uvm_config_db::set设置,而uvm_config_db::get则来获取。这是一种共享资源的方式,一端set共享给另一端去get。
具体可以看uvm_sequencer_base的start_phase_sequence函数。
 楼主| 发表于 2012-6-2 11:17:04 | 显示全部楼层





   谢谢

我迷惑的地方是, uvm_config_db::set() 的参数列表里面 有一个参数是 一个task:“run_phase”, 而不是实实在在的 int, string, object 这样的类型

按我所理解 uvm_config_db 是 一个centralized 的database,  是uvm_top 这个东东直接管辖的。   他的set和get  应该等同于之前老版本里面的set_config_*() 和 get_config_*().   星号就是那几个类型: int string  object这些

现在我看到  task run_phase() 这样的 task名字 出现在了参数聊表里,  有点儿迷惑了
发表于 2012-6-2 23:06:32 | 显示全部楼层
"ubus_example_tb0.ubus0.slaves[0].sequencer.run_phase"
我理解这只是一个hierachy或context, uvm_config_db::set会将这个hierachy和field_name(也就是default_sequence)配对存到一个数组里面。当你uvm_config_db::get的时候会去查询这样的配对,获取的field_name的value。
发表于 2012-11-22 11:43:03 | 显示全部楼层
楼上能告诉我 “run_phase和main_phase都是sequencer的成员函数“中的成员函数在哪里么,我找不到啊,跟start_phase_sequence关联不大,很郁闷
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-14 15:21 , Processed in 0.020436 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表