Cadence宣布了其最新的Palladium模拟器家族升级。它具有许多您可能期望的常见改进-更快的执行、更高的容量、更好的调试等等。但是,还有另外两个新功能是增量式的。
第一个混合了虚拟平台和模拟器之间的验证。这与模拟加速不同,在模拟加速中,模拟器运行一个周期精确的模型,并使用模拟器来加速特别密集的比特。在该模型中,模拟器是模拟器的“奴隶”。
在他们宣布的混合模型中,情况几乎正好相反:模拟器正在进行真正的验证;虚拟平台用于加速非关键元素。
一个很明显的例子就是操作系统。如果您实际上是在测试操作系统加载过程,看看它是否有效并找到错误,那么在模拟器上进行这些操作是必要的,以便逐个周期地建模真正的硬件周期。
但是一旦你完成了这些,然后在每次你想测试一些东西的时候重新运行操作系统加载并不是很好地利用时间。因此虚拟平台可以做到这一点,然后建立模拟器可以继续运行的状态。它比简单的保存和恢复更通用,因为如果您愿意,您可以指示虚拟平台每次执行不同的操作。
在这个模型中,整个SoC(或其他)及其状态分布在虚拟平台和模拟器之间。但关键是要记住,虚拟平台正在运行抽象模型,而模拟器正在运行实际电路。因此,任何真正被验证的东西都需要在模拟器中:虚拟平台中的东西被假设是正确的(至少为了运行测试的目的-您可以在以后交换它)。
通常,处理器将在虚拟平台中,而图形和其他加速器将在模拟器中。(除非你真的在测试处理器……)
Cadence说,最棘手的部分是在虚拟平台和模拟器之间实现同步,以确保它们可以在有意义的时候各自做自己的事情——但在需要的时候它们要互相签入和同步。这对于确保在任何给定时间,组合的模拟器/虚拟平台实体处于有效状态至关重要。
使用这个模型,除了为其他一些测试建立正确的状态之外,执行的一些无关紧要的部分可以快速进行,只有在执行被测试的块时才会减慢速度。结果他们声称硬件/软件验证快了10倍,操作系统启动快了60倍。
另一个新元素是能够将虚拟测试平台元素(如数据生成器)下载到Palladium中以进行基于软件的执行。这听起来有点像VirtuaLAB我们去年讨论过的,但有个关键区别。虽然它们都旨在摆脱将真实数据源连接到模拟器所必需的速率匹配器,但VirtuaLAB方法是通过披萨盒硬件作为模拟器的附件。Cadence的方法不涉及新的硬件,因为它只是在现有的Palladium硬件上执行软件。
你可以在他们的释放.