import语法

ads

作为一个验证工程师,import是我们遇到比较多的一种语法,在各种各样的场合都有使用,网上对该语法使用也是五花八门,并没有特别说明,本文会从个人使用习惯和为什么要这么做两方面介绍下对import的理解。

使用pkg编译+import代替include pkg

这条与不少人的使用是不同的,比如有人喜欢在module中include pkg,这样在pkg内就可以使用路径找到喜欢的信号。


这么做觉得会有风险:

处处的include,会让我们不知道pkg在什么时候是第一次编译,这就导致宏的添加时机无法处理,而只能放到最上面。

使用include会对partition性能有影响(这条是自己试验所得,并非完全准确)

使用作用域代替import::*

比如需要使用amba中的某个enum,会写成svt_amba_xxx_pkg::svt_axi_transaction::xxx,虽然长了点,好在精确,毕竟写代码时间是远远小于debug的时间。如果真要import,使用import::xxx来代替。

如果不使用作用域,经常会发现有一个类有错误,但是因为不熟悉且命名不太规范,导致很难找到这个类在哪里。更别说还有typedef、全局static等,如果不好好规范这些写法,会让我们本就复杂的debug雪上加霜。

import::*的另一个副作用是,如果大家命名不太规范,较容易出现名称冲突。

个人习惯

将package放到flist直接编译,并将宏放到该package编译的前面

使用作用域进行相关class、enum等的使用,以方便后期自己的查看。

即使需要做import动作,也是import具体的类,而不是以*代替。



最后编辑于:2024/1/7 拔丝英语网

admin-avatar

英语作文代写、国外视频下载

高质量学习资料分享

admin@buzzrecipe.com