SpyGlass实战:如何用set_option命令精准控制Verilog/VHDL顶层模块分析范围
在数字芯片设计领域,SpyGlass作为业界公认的RTL Sign-off解决方案,其强大的静态分析能力能够帮助工程师在设计早期发现潜在问题。然而,当面对复杂的混合语言设计(Verilog/VHDL)时,工程师们常常会遇到一个令人头疼的问题——SpyGlass会默认分析所有顶层设计单元,包括那些与当前验证目标无关的模块,这不仅浪费宝贵的计算资源,还可能因为无关模块的干扰而影响分析结果的准确性。
1. 理解SpyGlass的顶层模块分析机制
SpyGlass在启动设计读取阶段会自动执行一个名为DetectTopDesignUnits的内置规则,这个规则的特殊之处在于:
- 不可关闭性:与大多数可配置规则不同,该规则无法被禁用
- 高优先级:在所有标准报告中总是第一个被执行的规则
- 全语言支持:同时适用于Verilog和VHDL设计
当SpyGlass检测到一个顶层设计单元时,会生成如下格式的消息:
<type> <du-name> is a top level design unit
其中<type>可能是:
- Verilog中的
Module - VHDL中的
Architecture或Configuration
典型问题场景:在一个包含USB控制器、音频解码器和总线连接矩阵的混合设计中,工程师可能只关心USB模块的CDC问题,但SpyGlass默认会分析所有顶层模块,包括音频解码器等无关组件。

596

被折叠的 条评论
为什么被折叠?



