SV中的接口

一、什么是接口

  • 接口可以用作设计,也可以用作验证。
  • 在验证环境中,接口可以使得连接变得简洁而不易出错。
  • interface和module使用性质很像,它可以定义端口,也可以定义双向信号,它可以使用initial和always,也可以定义function和task。
  • interface可以在硬件环境和软件环境中传递,如module中的端口列表和软件方法中的形参。
  • 可以把interface看作一个“插排”,而DUT与TB之间的数据驱动关系都可以使用interface这个“插排”来完成。

二、接口的优势

  • 将有关信号封装在同一个接口中,对于设计和验证环境都便于维护和使用。
  • interface是SV中唯一的硬件和软件环境的媒介交互。
  • 接口可以例化,使得对于多组相同的总线,在例化和使用时变得更加灵活。

三、接口的定义和使用

  • interface的端口列表中只需要定义时钟、复位等公共信号,或不定义任何端口信号,转而在变量列表中定义各个需要跟DUT和TB连接的logic变量。
  • interface也可以依靠函数参数化方式提供复用性。
  • interface在例化时,同module例化方式一样。
  • 模块里面可以例化模块,也可以例化interface,interface里面可以例化interface但不能例化module。
上一篇:谈谈对信号量的理解


下一篇:system verilog调用python