摘要: uvm_root 是uvm的顶层实例扮演了一个top-level and phase controller 的作用,对于component来说。该类不需要用户实例化,他是一个自动实例化了的类,用户直接通过uvm_top调用。任何component,只要没有指定其parent,那么他将作为top的一个child。top管理所有component的phase; 1.The UVM automa... 阅读全文
posted @ 2014-07-28 20:07 啊松 阅读(3769) 评论(0) 推荐(0) 编辑
摘要: uvm_transaction继承自uvm_object,添加了timing和recording接口,该类是uvm_sequence_item的基类。下边将做剖析1.这个类提供了时间戳属性(timestamp properties),通知事件(notification events),和交易记录(transaction recording)支持。2.使用这个类作为用户定义的基础交易是弃用。其子类u... 阅读全文
posted @ 2014-07-27 20:32 啊松 阅读(7117) 评论(0) 推荐(0) 编辑
摘要: uvm_voidThe uvm_void class is the base class for all UVM classes.uvm_object:The uvm_object class is the base class for all UVM data and hierarchical classes.uvm_object是一个uvm中data和component共同的基类,里边集成了很... 阅读全文
posted @ 2014-07-27 20:31 啊松 阅读(5518) 评论(0) 推荐(0) 编辑
摘要: UVM的调度也具有其独特的挑战,尤其是在调试的领域。其中的一些挑战如下:1. Phase的管理:objections and synchronization2. 线程调试3. Tracing issues through automatically generated code, macro expansion, and parameterized classes4. 默认的错误信息详细但是难以捉... 阅读全文
posted @ 2014-07-27 20:28 啊松 阅读(1607) 评论(0) 推荐(0) 编辑
摘要: UVM的Messages机制有些时候很繁琐,很多时候希望能够在UVM messages的基础上做一些个人化的订制,这里给出来一个找到的例子作为参考。my_macros.sv: `define my_info(MSG, VERBOSITY) \ begin \ if(uvm_report_enabled(VERBOSITY,UVM_INFO,get_full_name())) \ ... 阅读全文
posted @ 2014-02-28 12:15 啊松 阅读(1087) 评论(0) 推荐(0) 编辑
摘要: SystemVerilog Instance WorldsWhen generating an UVM testbench and in particular the DUT - testbench communication it is helpful to understand thedifferences between the two different "instance worlds"... 阅读全文
posted @ 2014-02-28 09:41 啊松 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 一份代码,在写完之后,一定要再经过一次或多次整理和打磨,才能算完成的;一份代码,一定要把其有效代码行,精简、锤炼到最少、最短、最有效,才能算完成的。下面这些问题和回答是忘记是在哪里看到的了,参考夏晶的文章,和我自己的验证经验,做了补充,作为日后学习的参考。Q:验证的目的?A:这也是发现Bug,发现所有的Bug,或者证明没有Bug(转自夏晶的帖子),无论任何验证语言、任何验证环境、任何验证方法学、任何Feature List,都是为了达成这一目的而使用的方法,或者所手段。这是夏晶给出来的回答,很对,验证里面大部分的工作都是在尽可能的发现更多的bug。注释:可是我觉得验证目的应该有更好的阐述,验证 阅读全文
posted @ 2014-02-28 09:14 啊松 阅读(6626) 评论(1) 推荐(4) 编辑
摘要: 使用win7硬盘安装suse双系统之后,首先面临的问题是,PC默认启动的系统更改的问题,有些人可能想默认启动是win7,只有在使用linux的时候在去选择suse系统,这里我告诉大家更改的办法:首先在/boot/grub2中找到这两个文件:grub.cfg 和grubenv首先查看grub.cfg,找到menuentry的那一行,看看在grub里面后面定义的引导系统的名字menuentry 'Windows 7' --class windows --class os $menuentry_id_option 'osprober-chain-707C0D0E7C0CD13 阅读全文
posted @ 2014-02-16 21:00 啊松 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 在付出了一天的努力之后终于在win7系统上面硬盘安装suse操作系统成功,可是随之而来的问题居然是没有安装GCC,这对我来说是一个不小的打击,因为很多工作和工具安装需要通过GCC来编译,因此我只好求助于百度,搜索了各种攻略,现在把我安装成功的经验分享一下。因为suse里面本身没有cc的编译工具,所以使用gcc-4.4.2.tar.bz2这种方式安装的报告失败,报告的问题如下:checking whether ln works... yeschecking whether ln -s works... yeschecking for gcc... nochecking for cc... noc 阅读全文
posted @ 2014-02-16 20:46 啊松 阅读(5833) 评论(0) 推荐(0) 编辑
摘要: 今天在聊天群里遇到一个有意思的问题,提问人的原文如下: “最近用VCS仿真,由于我们的设计很多,需要仿真很长时间,为了减少仿真期间突然断电,而造成的数据损失,能不能每隔几个小时保存一下数据,下次仿真时直接打开保存的数据,并在此时间点的基础上继续仿真?不知能否有办法解决?为了方便大家理解,我举个例子: 如果我的程序仿真时间需要几天,在仿真进行了2天,突然断电,可否将前面仿真的数据保存下来,并且在下次仿真时接着上面的时间(这里为2天的位置)继续仿真?因为如果不可以的话,下次仿真时又要重复仿真前2天的时间,浪费了很多时间。不知道我把问题说清楚了没有,请大家帮帮忙,感激不尽!!” 当时我... 阅读全文
posted @ 2013-05-16 11:46 啊松 阅读(16633) 评论(0) 推荐(2) 编辑