11 2017 档案

uvm_sequence_item——sequence机制(一)
摘要:让子弹飞一会 UVM框架,将验证平台和激励分开,env以下属于平台部分,test和sequence属于激励,这样各司其职。我们可以将sequence_item 比喻成子弹,sequencer 类比成弹夹,UVM平台就是个枪。如图所示uvm_sequence 的类继承关系。 The sequence 阅读全文

posted @ 2017-11-30 20:04 dpc525 阅读(2055) 评论(0) 推荐(0)

uvm_transaction——事物
摘要:文件: src/base/uvm_transaction.svh 类: uvm_transaction uvm_transaction继承自uvm_object,添加了timing和recording接口,该类是uvm_sequence_item的基类。这个类提供了时间戳属性(timestamp p 阅读全文

posted @ 2017-11-30 18:43 dpc525 阅读(832) 评论(0) 推荐(0)

uvm_marcos——UVM宏定义
摘要:I programmed all night.Through the window, on my screen,The rising sun shined.编程一整夜,透过窗户,照在屏幕上。初升的太阳。 计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式 阅读全文

posted @ 2017-11-30 13:45 dpc525 阅读(4177) 评论(0) 推荐(0)

uvm_pkg——老板,打包带走
摘要:Thus spake the master programmer: “After three day without programming, life becomes meaningless.” 编程大师曰:“倘若三天不编程,生活将变得毫无意义。” 在SV中引入了package 的概念,可以使多个 阅读全文

posted @ 2017-11-30 06:26 dpc525 阅读(1887) 评论(0) 推荐(0)

uvm.sv——UVM之道
摘要:文件: $UVM_HOME/src/uvm.sv 类: 无 `include "uvm_pkg.sv" Thus spake the UVM master programmer: “when you have learned to snatch the error code from the uvm 阅读全文

posted @ 2017-11-29 21:18 dpc525 阅读(373) 评论(0) 推荐(0)

uvm_comps.svh
摘要:UVM的文件组织方式很有意思,比如,在src/comps/ 下的所有文件都通过uvm_comps.svh 包含进去。 阅读全文

posted @ 2017-11-29 16:44 dpc525 阅读(248) 评论(0) 推荐(0)

uvm_subscriber——告诉她我们来过
摘要:Subscribers are basically listeners of an analysis port. They subscribe to a broadcaster and receive objects whenever an item is broadcasted via the c 阅读全文

posted @ 2017-11-29 16:28 dpc525 阅读(861) 评论(0) 推荐(0)

uvm_monitor——借我一双慧眼
摘要:monitor 用来捕获(监视)和检查总线的信号是否满足预期的要求。所有的user_monitor 继承自uvm_monitor,uvm_monitor继承自uvm_component,从源代码来看里面没有做什么工作,那为什么又费力去做这么一件事,这么做的原因是让不同的模块做不同事,从名字就可以区分 阅读全文

posted @ 2017-11-29 16:08 dpc525 阅读(597) 评论(0) 推荐(0)

uvm_object ——太极
摘要:无极生太极——无名天地之始 太极生两仪——有名万物之母 文件: $UVM_HOME/src/base/uvm_object.svh 类: uvm_object The uvm_object class is the base class for all UVM data and hierarchic 阅读全文

posted @ 2017-11-28 16:07 dpc525 阅读(357) 评论(0) 推荐(0)

uvm_driver——老司机带带我
摘要:文件:src/comps/uvm_driver.svh类: uvm_driver uvm_driver继承(C++中叫继承)自uvm_component,其中定义了两个Ports:seq_item_port,driver一般用这个接口向sequencer索要sequence。rsp_port,dri 阅读全文

posted @ 2017-11-28 05:00 dpc525 阅读(829) 评论(0) 推荐(0)

uvm_agent——007(特工)
摘要:詹姆斯·邦德作为007的代言人,很好地诠释了agent的含义。但是在计算机系统中agent(代理)指能自主活动的软件或者硬件实体。在UVC中agent作为容器,实例化VIP的所有模块包括driver, monitor, sequencer等等。现在然我们揭开它的神秘面目。 这里面最重要的变量是is_ 阅读全文

posted @ 2017-11-28 04:11 dpc525 阅读(618) 评论(0) 推荐(0)

uvm_config_db——半个全局变量
摘要:UVM中的配置机制uvm_config_db,uvm_config_db机制用于在UVM平台间传递参数。它们通常是成对出现的,set 寄信,而get函数是收信。config 机制大大提高了UVM的验证灵活性。例如module 和 class 连接通过config_db virtual interac 阅读全文

posted @ 2017-11-26 22:26 dpc525 阅读(1443) 评论(0) 推荐(0)

uvm_factory——我们的工厂(三)
摘要:现在让我们回过头来想想factory 是用来干什么,它做了什么? fantory就是生产uvm_object 和 uvm_component。用factory 生产和用SV直接new有什么区别了? factory机制的的特点就是根据类的名字来创建类的实例。 uvm_object 在定义时调用 uvm 阅读全文

posted @ 2017-11-20 22:22 dpc525 阅读(376) 评论(0) 推荐(0)

uvm_env——UVM大环境(UVM Environment )
摘要:1 What is uvm_env? uvm_env is used to create and connect the uvm_components like driver, monitors , sequeners etc. A environment class can also be use 阅读全文

posted @ 2017-11-20 18:38 dpc525 阅读(1006) 评论(0) 推荐(0)

uvm_test——测试用例的起点
摘要:在UVM平台验证中,所有的test cases都extends uvm_test,首先,来看源代码 除了new() method之外,什么都没有。所有的test case 都扩展自uvm_test.一般的做法: class default_test extends uvm_test endclass 阅读全文

posted @ 2017-11-20 17:32 dpc525 阅读(4131) 评论(0) 推荐(0)

uvm_factory——我们的工厂(二)
摘要:上节我们说到uvm_object_registry #(T),uvm_object_reistry 又继承自uvm_object_wrapper,所以首先,让我们先看看它爹是啥样子的: 从代码注释来看,都是虚类,这只是轻量级的代理proxy, 它只负责搭台,具体实现让子类去实现,也就是所在uvm中c 阅读全文

posted @ 2017-11-20 13:06 dpc525 阅读(703) 评论(0) 推荐(0)

uvm_factory——我们的工厂(一)
摘要:factory 机制是实现(功能):通过一个字符串来创建此字符串所代表的的类的一个实例。 factory 的使用方法: 在object 和component 实例化时用`uvm_object_utils(packet)和`uvm_component_utils(comp)进行注册,然后,使用driv 阅读全文

posted @ 2017-11-20 11:30 dpc525 阅读(777) 评论(0) 推荐(0)

run_test() 验证平台的入口
摘要:Run,just run! ——阿甘正传 一个简单的例子: 1 module tb_top; 2 dut u_dut (); 3 4 initial begin 5 run_test(); 6 end 7 8 config_db #()::set(); 9 10 endmoudle UVM验证平台从 阅读全文

posted @ 2017-11-19 14:30 dpc525 阅读(5446) 评论(0) 推荐(0)

uvm_void 寂静的空宇
摘要:空也是一种存在. ——《三体》 文件: $UVM_HOME/src/base/uvm_misc.svh virtual class uvm_void; endclass 在静寂的空宇里,一种神奇的物质形成并诞生了。它立刻便静止了,独自守候着,毫无动静,然而又处于永恒的运动之中。它是所有UVM cla 阅读全文

posted @ 2017-11-16 18:14 dpc525 阅读(495) 评论(0) 推荐(0)

Chisel语言
摘要:1 What is Chisel? Chisel(Constructing Hardware In a Scala Embedded Language)是一种嵌入在高级编程语言Scala的硬件构建语言。 Chisel是由伯克利大学发布的一种开源硬件构建语言,建立在Scala语言之上,是Scala特定 阅读全文

posted @ 2017-11-16 14:24 dpc525 阅读(3206) 评论(0) 推荐(0)

IP-XACT IP IEEE交换格式
摘要:1 What is IP-XACT? IP-XACT is an XML format that defines and describes electronic components and their designs. IP-XACT was created by the SPIRIT Cons 阅读全文

posted @ 2017-11-16 13:24 dpc525 阅读(2297) 评论(0) 推荐(0)

导航