摘要: 提供一个厂商独立的通用接口命令行参数,支持分类: 1. 基本参数和值:get_args,get_args_matches 2. 工具信息:get_tool_name(),get_tool_version() 3. 支持从命令行设置各种UVM变量如冗长和配置设置积分和字符串类型: +uvm_set_config_int, +uvm_set_config_string类:uvm_cmdline... 阅读全文
posted @ 2014-11-16 21:07 啊松 阅读(2806) 评论(0) 推荐(0) 编辑
摘要: 1. 有效的验证需要验证工程师使用不同于设计者的思维方式思考问题。具体来说,验证更加关心在严格遵循协议的基础上发现设计里面的bug,搜索corner cases,对设计的不一致要保持零容忍的态度。mindset:一套人们应该持有的确定的态度,有时候又被描述为心里惯性,群体思维,范式,在分析和决策过程中很难抵消mindset的影响。举一个简单的例子,当你看到任何verification engine... 阅读全文
posted @ 2014-10-25 21:37 啊松 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 代码的书写顺序会影响代码的实现,在不同的时间做不同的事情,这是UVM phase的设计哲学,UVM phase提供了一个通用的TB phase 解决方案。支持显示的隐式的同步方案,运行时刻的线程控制和跳转。只要把代码填入对应的phase,这些代码就会自动执行。phase 的引入在很大程度上解决了代码顺序杂乱可能会引发的问题。它本质上是通过把代码顺序强制固定来实现这个目的的,如 build_phas... 阅读全文
posted @ 2014-08-24 21:05 啊松 阅读(16604) 评论(1) 推荐(0) 编辑
摘要: override功能是UVM中一个比较重要的功能,这个功能也是在factory里面实现的,我们会在env或者具体的case中使用override功能。class case_x extends base_test; function void build_phase(uvm_phase phase); … set_type_override_by_type(my_dri... 阅读全文
posted @ 2014-08-06 21:07 啊松 阅读(9292) 评论(1) 推荐(0) 编辑
摘要: factory机制的一大特点就是根据类的名字来创建类的实例。factory 机制中根据类名来创建类的实例所用到的技术:一是参数化的类,二是静态变量和静态函数。这两者是factory机制实现的根本所在。UVM 中有两大关键类,uvm_object 和 uvm_component。一个 uvm_object 在定义时一般要调用 uvm_object_utils 宏,而一个 uvm_component ... 阅读全文
posted @ 2014-08-06 21:06 啊松 阅读(5482) 评论(0) 推荐(0) 编辑
摘要: 从名字上面就知道,uvm_factory用来制造uvm_objects和component。在一个仿真过程中,只有一个factory的例化存在。用户定义的object和component types通过typedef或者宏在factory中注册,factory产生和保存轻量级的代理(proxy): 1. uvm_object_registry #(T,Tname) for objects ... 阅读全文
posted @ 2014-08-02 11:44 啊松 阅读(1936) 评论(1) 推荐(0) 编辑
摘要: 后面的例子我会继续补充:1. 因为uvm默认定义的message格式比较长,非常不利于debug过程中的分析使用,一般情况下,开始使用uvm,都要利用uvm_report_server重新定义message输出的格式。下面给出一个例子:用于将name和ID限定在同一个width。class my_report_server extends uvm_report_server; int name_... 阅读全文
posted @ 2014-07-30 21:34 啊松 阅读(2092) 评论(0) 推荐(0) 编辑
摘要: uvm 中的信息报告机制相对来说比较简单,功能上来说主要分为两部分:第一通过ID对component的信息报告冗余级别进行控制,针对每个冗余级别进行不同的行为控制。这部分工作主要由uvm_report_hander来实现: 主要涉及到的方法有get_report_verbosity_level(severity, id)/get_report_action(severity,id) == ... 阅读全文
posted @ 2014-07-29 21:58 啊松 阅读(3934) 评论(0) 推荐(0) 编辑
摘要: Reporting 类提供了一组工具用于格式化报告输出report机制大概包括四个主要的类uvm_report_object,uvm_report_handler, uvm_report_server,uvm_report_catcher,UVM reporting主要的接口是uvm_report_object(这是一个接口类),这是uvm_components的父类。uvm_report_obj... 阅读全文
posted @ 2014-07-29 21:57 啊松 阅读(3146) 评论(0) 推荐(0) 编辑
摘要: Port Base Classes uvm_port_component_base This class defines an interface for obtaining a port’s connectivity lists after or during the end_of_elaboration phase.主要用来在end_of_elaboration phase后返回某... 阅读全文
posted @ 2014-07-28 22:10 啊松 阅读(1626) 评论(0) 推荐(0) 编辑