课程链接:https://www.bilibili.com/video/BV1k7411H7Jo?p=9
对于大型设计,通过端口进行连接将会让硬件集成变得乏味和容易出错。
SV在Verilog的基础上扩展出了接口(interface),接口提供了一种新型的抽象级建模方式,接口的使用可以简化对大型复杂设计的建模和验证。
在使用Verilog时,因为使用的是端口。在子模块很多的情况下,除了要对每一个子模块进行端口声明,在上层环境还需要声明非常多的线网用来在各个模块之间进行连接。(刚刚写完毕设的我深有体会,才才四个模块就要定义一堆端口了,真的麻烦)
图中表明了Verilog端口声明的其他几个负面影响。
SV中使用的接口(interface)允许多个信号整合在一起来表示一个单一的抽象端口,因此多个模块可以使用同一个interface来避免定义多个端口信号。
接口不仅可以包含变量和线网,还可以封装模块之间的通信协议(还没接触到过)。接口不允许包含设计层次(例化模块),但接口可以例化接口。模块的端口在例化时可以不连接,但接口不可以,在例化时必须连接到另一个接口或端口。
接口的优点:①接口对于设计复用非常有帮助。复用设计一般是指根据其他工程,图纸没变化,复用到另一个工程的设计。②接口减小了模块之间错误连接的可能性。
接口集合的信号往往是相关信号,这样有利于代码的维护。