第四章HAL HDL 静态分析

概述

HDL 静态分析是 Xcelium 模拟器集成的 HDL 代码静态检查工具,提供丰富的规则集检查 RTL 代码质量、可综合性、时钟域交叉、编码风格等问题。

HAL 在设计流程中的位置

HAL 应用于多种验证流程:

HAL Features

HAL GUI 消息分析界面
HAL GUI 消息分析界面

常用术语

内置检查类别

类别说明
Advance DFT可测性设计检查(扫描链、测试模式等)
Clock Domain Crossing ChecksCDC 相关静态检查
Netlist Checks网表级检查(综合后设计)
SystemVerilog ChecksSystemVerilog 特定规则
e Checkse 语言相关检查
ALL_BEHAVIORAL行为级代码检查(BEHINI/DESULN/ENTDCL/FENAME 等)

Rules File (hal.def)

HAL 使用 BNF 语法定义规则文件:

# hal.def 示例
rule NOLABL -severity warning -enable
rule DESULN -severity error -enable
rule FENAME -severity info -disable

详细的 BNF 语法和每条规则的说明参见 HAL Reference Manual。

HAL 静态分析界面

HAL 静态分析方法论

HDL Analyst (HAL) 的定位

HAL 是 JasperGold 的 HDL 静态分析工具,不同于 FPV(动态证明属性),HAL 做的是结构化分析

什么时候用 HAL

HAL vs Superlint:HAL 侧重结构化、代码质量检查(不需要 prove,纯静态分析);Superlint 结合形式引擎证明 bug 可达。先用 HAL 清掉明显问题,再用 Superlint 找深层 bug。

来源文档

  • hal_userguide.pdf
  • hal_reference.pdf