VCS编译进阶-lint

lint 是一个代码静态检查工具。vcs 中 -lint 可以在编译期间查找部分代码问题,辅助完成一些代码clean工作,例如长度不匹配,未初始化就使用等问题,利用它能在早期纠正代码中的问题。

通过 vcs -h 查看它的基本参数,其中all包括所有的 ID 选项检查,而 none 是排除所有的 ID 选项检查。

+lint=[no]ID|none|all,...

几种基本的使用组合:

+lint=ID1, ID2             //主动打开某些 ID 选项检查
+lint=all,noID1,noID2      //打开除了 ID1, ID2 之外所有 ID 选项检查
+lint=all                  //打开所有 ID 选项检查
+lint=none                 //关闭所有 ID 选项检查,这是默认选项

目前可用的 ID 选项检查:

Lint-[IRIMW] Illegal range in memory word

Lint-[NCEID} Non-constant expression in delay

Lint-[GCWM] Gate connection width mismatch

Lint-[CAWM] Continuous Assignment width mismatch

Lint-[IGSFPG] Illegal gate strength for pull gate

Lint-[TFIPC] Too few instance port connections

lint-[IPDP] Identifier previously declared as port

lint-[PCWM] Port connect width mismatch

其他选项:

  1. 可以通过 -error=all 来强制解决所有的 lint warning
  2. -warn=ID 可以达到和 -lint=ID 相同的效果; -supress=ID 可以达到和 -lint=noID 相同的效果
  3. vcs manual 文档中没有完整的 ID 列表,可以先使用 -lint=all 打开所有的检查,然后将认为不需要报警的 ID 检查屏蔽掉。

你可能感兴趣的:(IC,IC)