微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > SystemVerilog中hook和callback的确切定义是什么?

SystemVerilog中hook和callback的确切定义是什么?

时间:12-12 整理:3721RD 点击:
个人觉得hook是build class的时候留下的interface,为以后的subclass重新定制(通过对该interface重写的方法)留下的后门;callback是class里的虚拟函数,是hook的一种方式。
但是一直没见过对这两者在文字上的确切定义,特地请教一下大家,有了解的不妨介绍介绍。
谢谢!

这些都不是SV的特性, 是相关方法学的内容,如VMM等等。

确切的说是OOP的特点吧,我是特指出SV来,是为了避免和windows的hook机制混淆。
您怎么看它俩的确切定义?

hook和call_back在《systemverilog for verification》中都被明确提到了,当然,这本书写的时候用了VMM做例子,收到了很多影响
从结构上说,这两个东西的确是方法学的东西,不是systemverilog内建的东西。
好像还有什么pre_randomize和post_randomize??

我不太了解windows中hook的定义
就我的理解,hook机制是为了保证SV Testbench的可重用性,如果测试人员需要修改测试平台的功能,则不必修改平台代码,直接覆盖虚函数,调用回调函数或使用blueprint都行。这样保证了测试平台的鲁棒性。可以把hook看成测试平台开的后门
call back是hook的一种,可以覆盖原操作,但是原操作仍然执行

   OOP强调的多态、封装和复用, 这些hook和callback等等都是软件的概念,说白就是
一些预留的接口,供扩展用。
   楼上说的,SV的里面的randomize函数的pre_randomize和post_randomize也可以说一
种callback或者是hook, 目的在于修改随机结果,方便扩展。

pre_randomize, post_randomize这个是systemverilog吧,这个和方法学没关系

谢谢大家的讨论
不过似乎确切的定义还是没出来。。。

这个没有确定的定义吧,方法学上的一种方法,知道为什么用、怎么用就行了吧

正解,不必拘泥于语言,知道是这么回事就可以。

从来没听说过hook啊    callback是软件理论的概念

我记得在C++里,hook是callback的特例。system verilog没去仔细研究过

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

网站地图

Top