Testing 如何在代码覆盖率中处理VHDL泛型

Testing 如何在代码覆盖率中处理VHDL泛型,testing,vhdl,code-coverage,Testing,Vhdl,Code Coverage,当测试用VHDL编写的数字体系结构时,我真的不知道如何处理通用输入 在我的例子中,我有一个具有泛型依赖行为的组件,它被实例化了两次。该实例对此泛型具有不同的('0'和'1')值,这意味着是,也不可能是。 因此,我的代码覆盖率不能为100%(一个实例的泛型值始终为“1”,另一个实例的泛型值始终为“0”) 我知道我可以决定将验证排除在保险范围之外,但我不确定这是最好的方法。在这种情况下,什么是最佳实践?代码覆盖率工具可能(并且应该)能够结合多个模拟运行的覆盖率 因此,您分别使用“0”和“1”进行两次

当测试用VHDL编写的数字体系结构时,我真的不知道如何处理通用输入

在我的例子中,我有一个具有泛型依赖行为的组件,它被实例化了两次。该实例对此泛型具有不同的('0'和'1')值,这意味着是,也不可能是。 因此,我的代码覆盖率不能为100%(一个实例的泛型值始终为“1”,另一个实例的泛型值始终为“0”)


我知道我可以决定将验证排除在保险范围之外,但我不确定这是最好的方法。在这种情况下,什么是最佳实践?

代码覆盖率工具可能(并且应该)能够结合多个模拟运行的覆盖率


因此,您分别使用“0”和“1”进行两次单独的模拟运行,将它们的覆盖率合并,然后合并的覆盖率应为100%。

我同意这一点,但问题是,此“通用”并不意味着为每个实例同时取两个值,因此在这种情况下进行两次单独的模拟没有多大意义。另外,如果可以避免的话,我不喜欢将模拟时间加倍。(很抱歉反应太晚)好的,那么您想做一个模拟,其中两个实例的泛型值分别为0和1。您也应该告诉覆盖率,以合并这两个实例的覆盖率,因此一个实例中覆盖的任何内容也将被视为另一个实例中的覆盖率,反之亦然。因此,您应该能够进行一次模拟。