在之前的文章,我们就bind 机制,进行了用法分析。其实,对于一些大型的复杂SOC设计,bind的操作,可以说是非常实用的。它不仅能够完成各种UVC的驱动激励操作,而且一定程度能够简便验证平台的搭建和后期维护。下面,我们举个例子说明bind在当今复杂环境下的妙用。
一 TB 思考
我们知道,随着集成度的不断提高,当前的手机SOC芯片设计复杂度也变得越来越大。一个设计中,不可能仅仅含有几个接口类型的结构。如果大量的接口文件在TB中的维护全靠人工,那是不是现实的,而且容易出错。
比如下图:我们能不能对传统接口顶层文件的实例化这一步,发散思维,找出一种自动化、可维护性强的方法实现呢?
二 源文件定义
如下图所示:
右侧,分别定义了interface_1、interface_2、interface_n三个接口文件。
左侧,则分别定义了三个与右侧相对应的bind 文件。分别为:interface_1_bind.sv、interface_2_bind.sv、interface_n_bind.sv三个文件。
解释说明:
(1)结合前面的例子,我们假定整个设计中,需要扩展 bind 0、1、2。。。n 个interface
(2)为了省去在top_tb 中,逐一去实例化interface 的麻烦,我们定义了多个interface 相应的bind 文件<