如果芯片设计有一张脸,它就会有一两道皱纹,尤其是由于硬件和软件验证日益复杂的挑战而造成的皱纹。
直到最近,系统设计的这两个元素都是在不同的时间分别完成的,硬件设计通常先于软件开发开始。系统集成商将通用硬件块组装到系统中,而不考虑最终将在其上运行的应用软件。通用硬件可能承载了任意数量的可能类型的软件,但并未针对其中任何一种进行优化。该设置对项目团队来说是一个挑战,因为硬件验证和验证必须证明预期的软件可以在硬件上运行,在功耗预算内实现足够的性能以确保成功。
今天,设计已经演变成片上系统 (SoC),这是一种独立的定制硅芯片,可以处理大部分计算工作。同样,SoC 验证重新关注底层硬件和运行在其上的软件之间的交互。因此,验证和确认演变为基于工作负载分析的软件支持验证和确认方法,并在从早期硬件验证到软件集成一直到系统验证的整个设计流程中使用。
抚平由软件依赖性引起的皱纹的关键是设计块和软件工作负载的虚拟化,以及集成各种工具的流线型流程。包括硬件和软件功能的模块虚拟化应在最终设计完成之前完成。
例如,如果定制的操作系统不可用,则可以使用更通用的版本来测试具有大量测试的系统,而无需定制。这减轻了项目后期的测试负担,当完整的定制操作系统可用时,只需要一小部分验证。应用软件也是如此。用于高性能计算的 SoC 可以通过实际工作负载进行验证,以证明数据平面。简化流程可确保每个工具都遵循相同的基本格式。当然,每个工具都需要做一些工作。他们可以在已经完成的工作的基础上,只关注与不同验证阶段相关的增量工作,而不是每次工具转移都从头开始。
使用软件配置验证环境可以实现模型和存根,以对关键元素进行有针对性的验证,而无需完全可用不相关的模块。可以对数据工作负载进行虚拟化,以彻底审查处理效率。设计演变为一组源自架构阶段的互连块。随着设计的进展,这些块逐渐被细化,环境的共同性质有助于在组和工具之间来回移动不同的块,而无需大量返工。
硬件辅助验证非常适合支持软件的验证和验证方法。开发开始得更快,并且在整个真实世界软件工作负载环境的上下文中验证硬件可以在早期使用模型进行,随着开发中的不同部分逐渐建立系统。虽然可以立即开始验证,但最终的硅前测试侧重于最后一分钟的改进和全系统验证,加速设计流片,提高设计质量,并降低重新设计的风险和成本。它还简化了硅后验证。
统一的支持软件的验证和确认环境打破了硬件设计团队和软件开发人员之间的依赖关系。未来日益复杂的 SoC 需要这种方法。虽然芯片设计没有得到改善,但深层皱纹被抚平了。
-
芯片
+关注
关注
454文章
50426浏览量
421860 -
操作系统
+关注
关注
37文章
6742浏览量
123192 -
硬件
+关注
关注
11文章
3255浏览量
66122 -
软件
+关注
关注
69文章
4781浏览量
87163
发布评论请先 登录
相关推荐
评论