我在用HDL Designe2018.2做代码规范审查,即Design Checker功能,我选择的代码审查规则包是DO-254,如下图:
检测结果表明我代码中状态机的状态类型不正确,报错是状态机状态不能是parameter类型的,如下所示:
但是软件内置DO-254规则包中状态机的状态跳转就是可以用parameter类型的啊,官方给出的例程也是parameter,如下图:
状态机报错的这段我的代码如下:
根据官方给出的详细规则,我将状态改为localparam或者`define都还是会报错,我把官方给出的例程用DO-254规则包做代码审查,同样也会报状态机参数的错误,不知道要怎么改了。有无懂HDL Designer中DO-254规则包下代码审查的具体要求,期待大家的解答。
在 HDL Designer 2018.2 中使用 DO-254 规则包进行代码审查时,可能会遇到一些问题。首先,确保你正确理解了 DO-254 规则包中的规则,并按照规则的要求对代码进行修改。接下来,我将提供一些建议来解决状态机参数类型的错误。
根据你提供的信息和截图,我注意到 DO-254 规则包中的状态机状态要求不能是 parameter 类型,而你的代码中使用了 parameter 类型的状态。但是在官方例程中,确实使用了 parameter 类型的状态,这可能导致混淆。
在这种情况下,你可以尝试以下方法来解决问题:
检查 DO-254 规则包的版本: 确保你使用的 HDL Designer 版本与 DO-254 规则包的版本兼容。如果可能,尝试升级到最新版本的规则包,以确保与最新版 HDL Designer 兼容。
确认规则包设置: 检查 DO-254 规则包的设置,确保没有对状态机状态参数类型做特殊要求或限制。有时候,规则包中的设置可能会导致误报。
检查状态机状态的其他属性: 除了参数类型外,还需要检查状态机状态的其他属性,例如是否包含合法的状态转移、状态转移是否满足 DO-254 的规定等。
与供应商支持联系: 如果尝试了以上方法仍然无法解决问题,可以联系 HDL Designer 的供应商支持,向他们咨询关于 DO-254 规则包的具体问题,并获得更进一步的帮助。
最后,如果你仍然无法解决问题,可以考虑在设计审查中放宽状态机状态的类型要求,或者使用其他工具进行设计审查。但在做出这样的决定前,请确保你理解 DO-254 标准对状态机的要求,并与相关人员进行确认。