瑞芯微Rockchip开发者社区
直播中

h1654155602.1504

8年用户 12经验值
擅长:嵌入式技术 控制/MCU
私信 关注
[问答]

synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?

公司某个项目用到了这个DW:DW_fpv_div,但是scan跑完,这个模块覆盖率只有60%多,现在要我用TMAX软件,通过功能去覆盖,我看了下rpt报的faults点,尝试去写了几个特殊值去做除法,覆盖率只有微微的提升,请问是否要遍历很多数才能提升覆盖率吗?一般这种浮点数有什么方法去跑吗? 每个数都跑岂不是天文数字,本人刚接触不久,请大佬指教下,谢谢

回帖(1)

张桂英

2024-10-15 18:38:48

最佳答案

要提升Synopsys DesignWare DW_fpv_div浮点数除法器的覆盖率,确实需要一些策略和方法。以下是一些建议和步骤,希望能帮助你提高覆盖率:

1. 理解DW_fpv_div浮点数除法器的工作原理和特性:首先,你需要了解DW_fpv_div浮点数除法器的工作原理,包括它的输入输出格式、精度、异常处理等。这有助于你更好地设计测试用例。

2. 制定测试策略:根据DW_fpv_div浮点数除法器的特性,制定合适的测试策略。例如,你可以关注以下几个方面:
   - 正负数的除法
   - 零除数的处理
   - 溢出和下溢的处理
   - 精度损失的处理
   - 异常值的处理(如NaN、无穷大等)

3. 设计测试用例:根据测试策略,设计一系列测试用例。这些测试用例应该覆盖各种可能的情况,包括正常情况、边界情况和异常情况。例如:
   - 正数除以正数
   - 负数除以负数
   - 正数除以负数
   - 负数除以正数
   - 除数为零
   - 被除数为零
   - 被除数和除数都为零
   - 被除数和除数都为无穷大
   - 被除数为NaN
   - 除数为NaN
   - 被除数和除数都为NaN

4. 使用TMAX软件进行测试:将设计好的测试用例输入到TMAX软件中,运行测试并收集覆盖率数据。根据测试结果,分析哪些测试用例没有覆盖到,然后针对性地设计新的测试用例。

5. 优化测试用例:根据测试结果,不断优化测试用例,以提高覆盖率。这可能需要多次迭代和调整。

6. 考虑使用随机测试:对于浮点数除法器,可以尝试使用随机测试方法。随机测试可以生成大量的测试用例,有助于提高覆盖率。但是,随机测试可能需要较长的时间和计算资源。

7. 与其他测试方法结合:除了功能测试,还可以考虑使用其他测试方法,如形式验证、静态分析等,以提高覆盖率。

总之,提高DW_fpv_div浮点数除法器的覆盖率需要综合运用多种测试方法和策略。通过不断优化测试用例和调整测试策略,你可以逐步提高覆盖率。希望这些建议对你有所帮助!
1 举报

更多回帖

发帖
×
20
完善资料,
赚取积分