我的硬件模型有一个 UVM 测试台(约束随机验证)。我的黄金模型是用 systemC 和 c++ 编写的。在某些情况下,我的硬件结果与软件结果不匹配,但它们都可能是正确的。
例如,我的硬件进行了一些内存管理(分配、释放资源),这会影响管道中的一些其他逻辑。根据硬件“何时”获得分配或释放请求以及一些时间敏感的仲裁策略,它会产生一些输出。在黄金模型中没有时间概念,在某些情况下,它的输出与硬件不匹配,但硬件和黄金模型都可能是正确的。
验证这种场景的标准方法是什么?当黄金模型和硬件输出都正确但它们的值不同时,我不太确定记分板是否有助于检查正确性。我是这个领域的新手。因此,任何建议/指针都将受到高度赞赏。