前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【日更计划114】数字IC基础题【UVM部分】

【日更计划114】数字IC基础题【UVM部分】

作者头像
空白的贝塔
发布2021-06-17 14:46:34
6600
发布2021-06-17 14:46:34
举报
文章被收录于专栏:摸鱼范式

上期答案

[296] 下面哪些方法是阻塞的,哪些是非阻塞的?
  1. get()
  2. get_next_item()
  3. item_done()
  4. put()
  5. try_next_item()
  6. peek()

get(), get_next_item(), peek() 是阻塞的

try_next_item(), item_done(), and put() 是非阻塞的

[297] UVM driver中,下面哪些代码是错误的?
代码语言:javascript
复制
1)
function get_drive_req();
    forever begin 
        req = get(); 
        req = get();
    end
endfunction
2)
function get_drive_req();
    forever begin
        req = get_next_item();
        req = get_next_item();
        item_done();
    end
endfunction
3)
function get_drive_req();
    forever begin
        req = peek();
        req = peek();
        item_done();
        req = get();
    end
endfunction

2是错的,因为不能在调用item_done之前两次调用get_next_item,它无法完成与sequencer的握手。

[298] 如何停止sequencer上的所有sequence?

sequencer具有stop_sequences()方法,可用于停止所有sequence。但是,此方法不检查driver当前是否正在处理任何sequence_items。因此,如果driver调用item_done()或put(),则可能会出现致命错误,因为sequence指针可能无效。因此,用户需要注意,一旦调用stop_sequence(),就禁用了sequencer线程(如果在fork中启动)。

[299] 用户调用sequence.print()方法时,将调用sequence中的哪个方法?

convert2string():建议实现此函数,该函数返回对象的字符串表示形式(其数据成员的值)。这对于将调试信息打印到模拟器脚本或日志文件很有用。

[300] 找出UVM sequence的以下代码部分中的所有潜在问题
代码语言:javascript
复制
task body();
    seq_item_c req; 
    start_item(req); 
    #10 ns; 
    assert(req.randomize()); 
    finish_item(req);
endtask

应该避免在start_item和finish_item之间添加延迟。start_item返回后,该sequence将赢得仲裁并可以访问driver-sequencer。从那时起直到finish_item的任何延迟都将阻塞driver-sequencer,并且使得任何其他sequence都不能访问driver-sequencer。如果在一个接口上运行多个sequence,并且延迟很大,设计接口上有很多空闲时,这会造成很大的麻烦。

本期题目

[301] 什么是virtual sequence?如何使用virtual sequence?为什么要使用virtual sequence?
[302] 如下所示,给定一个简单的单端口RAM,它可以读取或写入,请shiyong1UVM编写一个sequence和driver以测试他的读取和写入。假设read_enable = 1表示读取,而write_enable = 1表示写入。读或写操作只能在一个周期内发生。
[303] 什么是工厂?
[304] 使用new()和create()创建对象有什么区别?
[305] 如何在工厂中注册uvm_component类和uvm_sequence类?

正确答案将在下一期公布,或者到下面的文章获取答案

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 摸鱼范式 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 上期答案
  • 本期题目
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档