VMM callback

vmm 的callback调用的是基类,而不是扩展类。这样做的目的,就是不修改原程序结构的基础上来增加或者替换内容,大大的提高了重用性。修改的内容在扩展类中增添。

这种思想应该来源于SV中的虚方法,虚方法可以重写其所有基类中的方法,然普通的重写只能在本身及其扩展类中有效。这样就可以调用基类的时候,访问到扩展类中对基类中虚函数的重写。

由虚函数发展到虚类,虚类是一个定义抽象概念的类模板,不可以实例化,只能被扩展,在扩展类中必须对所有的虚函数再重写并具体化。

虚类

virtual class uart_manger_callbacks;

.....................

endclass

纯虚 加pure  ok;

vmm的factory 只是一个概念问题,在testcase中来替换自己不想要的内容,而不更改曾经的环境。

posted @ 2012-02-08 19:21  mollieee  阅读(525)  评论(0编辑  收藏  举报