单片机爱好者
我参与过几个大型FPGA项目,interface几乎是标配。除了代码简洁,更重要的是它强制了接口的一致性。比如项目里定义了axi_if,所有用AXI的模块都挂这个interface,这样不会出现某个模块漏连某个信号或者方向搞反。验证方面,验证工程师可以直接用这个interface做断言检查、功能覆盖,甚至自动生成测试序列。维护性提升是质的:以前改一个总线宽度,要搜遍所有模块的端口定义和实例化,现在只改interface一处就行。另外,interface里可以封装任务和函数,比如可以写个任务做总线读写,在设计模块里直接调用,减少重复代码。不过要注意,interface在综合时可能被当成一个整体,有些综合工具支持得不好,需要确认工具链是否支持。
