)
相关阅读Spyglasshttps://blog.csdn.net/weixin_45791458/category_12828934.html?spm1001.2014.3001.5482目录简介相关参数或约束简介门控时钟单元方案主要用于数据信号跨时钟域同步该方案将一个控制信号同步至目标时钟域并用其作为目标触发器时钟路径上的门控时钟单元的使能信号如图1所示。图1 毛刺保护单元方案图2是Ac_sync01规则提供的Spreadsheet其中展示了控制信号跨时钟域相关细节如果该信号同步失败数据信号的同步也会失败。图2 Ac_sync01规则提供的Spreadsheet图3是Ac_sync02规则提供的Spreadsheet其中展示了数据信号跨时钟域相关细节注意到控制信号ee_ff2被识别为了Qualifier。图3 Ac_sync01规则提供的Spreadsheet除了图1所示的情况Spyglass允许门控时钟单元的使能信号的扇入中存在目标时钟域的触发器或输入端口但一定需要一个由源时钟域同步来的控制信号如图4所示。图4 毛刺保护单元方案相关参数或约束clock_gate_cell参数使用clock_gate_cell参数可以设置某个模块为门控时钟单元下面给出了一个例子。// test.prj set_parameter clock_gate_cell ICG除此之外拥有clock_gating_integrated_cell库属性的库单元也会被识别为门控时钟单元Spyglass也可从RTL中自动识别以下两种门控时钟单元。图5 正边沿触发的时钟门控图6 正边沿触发的时钟门控allow_combo_logic参数默认情况下Spyglass允许通过组合逻辑跨时钟域将allow_combo_logic参数设置为no可以禁止这种情况下面给出了一个例子。// test.prj set_parameter allow_combo_logic no图7展示了这种情况下通过组合逻辑跨时钟域时出现Ac_unsync02错误实际上即使allow_combo_logic参数设置yes也只是不出现Ac_unsync02错误但Ac_glitch03错误会出现即Spyglass识别到毛刺。图7 组合逻辑跨时钟域错误enable_clock_gate_sync参数默认情况下毛刺保护单元方案开启将enable_clock_gate_sync参数设置为no时可以禁止该方案。