· uvm_blocking_get_port/uvm_blocking_get_export实现的简单模型
2016-3-6 21:26:02 阅读1328 评论0 62016/03 Mar6
1 前言
绝大部分数字逻辑最终是由标准单元实现的,而一般的标准单元里只有单沿触发器,要么上升沿触发,要么下降沿 触发;没有即上升沿触发也下降沿触发的双沿触发器。
2014-10-22 22:51:53 阅读1162 评论0 222014/10 Oct22
在芯片设计中,大家通常都会注意到几个重要的指标:
书本上说,速度、面积、功耗是互相牵制的,在相同的制造工艺(制程)条件下,一般来说,
2011-3-9 15:39:05 阅读3221 评论0 92011/03 Mar9
对于put_port/put_export; get_port/get_export的模型前面都有介绍,对于这样的直接连接,函数调用的initiator直接指向最终target,不耗费Delta时间。而UVM_TLM_FIFO的引入,提供了内部的put/get的实现同步机制,让消费者和生产者都可以通过port直接调用。不过,带来的效果是,get/put的同步是在tlm_fifo内部的进程进行实现的,通过mailbox的同步来完成,所以会消耗Delta时间。
一个简化的uvm_tlm_fifo实现程序,便于理解tlm_fifo背后的机制。
源代码如下:
2011-2-23 8:42:07 阅读2281 评论0 232011/02 Feb23
之前介绍了uvm_blocking_put_port/uvm_blocking_put_export, 其对应的uvm_blocking_get_port/uvm_blocking_get_export的简单模型可以照猫画虎的设计,
源代码如下:
2011-1-13 18:44:02 阅读1784 评论0 132011/01 Jan13
UVM中TLM的使用非常方便,通过简单的connect()函数,就可以将两个不相关的对象紧紧联系在一起。为什么会如此简单,其背后的原理是什么呢?今天抽空分析了UVM的源代码,基本上了解了put_port/put_imp的实现机制。于是借用UVM的实现原理,我简单了编写了一个小程序,抛掉不必要的繁文缛节,基本上能够展示其背后的实现原理。
代码如下: