微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 刚开始看VMM,请教~

刚开始看VMM,请教~

时间:10-02 整理:3721RD 点击:
刚开始看这东西,也看了些例子。搞不大明白的就是callback和factory。看到说明里说的意思大概是callback是用来添加一些自己定义的功能的,但是例子里面总是在调callback里面的pre和post这两个函数。是不是只能在之前添加和之后添加的意思?另外factory里面提到了randomize_obj不知道是不是让数据随机的意思?总之还是不太明白。
求高人指点一二!

your understanding are right!

为什么是are不是is?

Callbacks are used to add user specified actions for selected events, for example if we have memory, we can add pre_put callback to inject error data to be written in memory and post_put callback, to see the final contents beign written to memory. Callback functions are organized in classes so we can have array of callback objects, each object with it's own behavior. For specified example, the transactor calls the pre_put function of the head ellement of callback object's array, then transactor calls pre_put of the 2nd object e.t.c.
Factory is a class specified for customizing the vmm_data objects in a way, user wants, for example, adding special constraints.

我也在学习vmm这是我的QQ号有空可以交流交流
995114082

我也正在学这个,对这两个也是感觉很困惑

学习学习

顶一个!

是在之前,还是在之后调用,不是取决于它的名字,是PRE,还是POST,要看你插入callback的位置

xiexie

vmm的一个理念是,通过test case去修改testbench的行为而不是直接修改testbench本身。callback和factory都是为了这个理念而提出来的。
举个例子,在testbench里面有一个transactor会根据输入产生对应的crc,在一个corner case里面需要这个transactor产生错误的crc来测试dut的响应。以前的做法是修改这个tr来支持这种模式,这样一来随着corner case的增加,这个tr的行为会越来越复杂,甚至新增加的代码会影响以前的代码。
现在的做法是,通过事先植入的callback,test case可以直接修改这个transactor的行为而不去修改testbench本身。
通常callback只加在输入输出端上,修改能力非常有限。个人认为通过factory模式去直接替换tr更有效。

VMM?有什么用的,不懂。

上一篇:IC layout
下一篇:请教一TCL脚本

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top