SV_2_interface

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本节学习SV第4章:interface


一、interface

接口(interface)是SV引入的很重要的特性,目前在绝大多数验证环境或者设计中都会出现。接口最直接的作用就是将一组相关的信号封装到一起,特别是一些标准协议的接口信号,比如常见的AMBA AXI/AHB/APB等等。接口的定义不仅可以方便信号在验证环境组件中的连接,还可以将其复用至其他芯片设计中,降低连接出错的概率。

接口并不只是提供一组信号这么简单,它还是可综合的,它还可以包含modport、clocking block、parameter、过程语句块、断言、覆盖组(covergroup)、函数和任务等。

interface特点

  • 接口便于设计重用,当两个块之间有两个以上的信号需要连接,并且使用特定的协议进行通信时应该使用接口
  • 接口可以用于替代原来需要在模块或者程序中反复声明并且位于代码内部的一系列信号,减少连接错误的可能性
  • 要增加新的信号时,只需要在接口中声明一次,不需要再更高层的模块中共声明,减少错误
  • modport允许一个模块很方便的将接口的一系列信号捆绑在一起,也可以为信号指定方向以便工具自动检查
  • 作为SV中唯一的硬件与软件环境的媒介交互,既可以在硬件世界(module)中使用,也可以在软件世界(class)中使用

module和interface区别

  • interface不能例化module的,module可以例化interface
  • 不能将module里面portlist含有另一个module的,可以含有interface
  • 如果function、task的端口声明中声明为ref,那么function、task必须是automatic
  • 在program或者module中,function、task默认都是static

下面举例说明interface:

//以仲裁器举例:
module arb_port (grant,request,rst,clk);
	output 
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值