中文 英语

的越来越多的普通任务验证RISC-V

将一个开源核心集成到一个复杂的SoC看起来非常熟悉。

受欢迎程度

随着RISC-V处理器发展的成熟及其使用soc和微控制器的发展,工程团队正开始超越处理器内核本身的挑战。

到目前为止,大多数工业核查工作重点ISA遵循规范RISC-V核心。现在的重心是如何处理验证随着系统的发展,特别是在这个任务尺度与多核的现成的外围设备和自定义硬件模块。与任何处理器内核,它只是作为一个项目的复杂和耗时。

“我们可以看到两个验证的挑战,”博Zalewski说,总经理Aldec的硬件产品部门。“首先是核心本身的复杂性,如何确保它是正确的和ISA-compliant。二是如何使用核心测试系统。在这两种情况下,事务级硬件仿真是完美的选择,特别是如果模拟是基于Accellera SCE-MI标准,它允许不同的平台和供应商之间的可重用性。结合自动设计分区和宽调试功能,这使得一个完整的验证平台”。

当处理器核心变得更加强大和带来更多的功能,RTL模拟是不够的。也不提供完整的测试覆盖在合理的时间。与仿真、测试的速度要快得多。反过来,允许测试的复杂性和规模增加,随着周期的准确性,没有必要延长时间运行这些测试。


图1:RISC-V CPU测试下。它实现一个模拟器而RISC-V空间站是一个先进的一部分UVM testbench。来源:Aldec

Zalewski指出,使用仿真时,核心本身可能比RISC-V ISS黄金模型自动确认核心精度和覆盖ISA遵从性需求。此外,testbench在模拟可以重用模拟,所以它值得确保testbench“模拟准备好了,”即使在仿真阶段。可以启用模拟器之间的平滑切换,没有开发新testbench模拟器。战略也会还清的情况下添加自定义指令RISC-V,旨在加速算法的设计,因为硬件仿真可以测试和基准这些指令对发达算法比纯仿真环境中快得多。

这是熟悉的工程师处理任何嵌入式处理核心。RISC-V核心整合成一个更大的挑战SoC集成Arm和弧处理器是相似的。

“从原型的角度来看并不是不同的,”约翰内斯·斯塔尔说,高级主管、产品营销Synopsys对此。“这是RISC-V的美丽。作为一种工具和IP提供商,我们总是有这一困境,我们会真的爱船与处理器的一个例子,但我们不航运弧处理器RTL源代码大家看我们的验证工具。我们所做的在过去的两年里是使用开源火箭的筹码,伯克利RISC-V-based SoC发电机,为仿真和原型创建一个示例。它解释了方法和流程。最初,我最大的担忧之一是,它是机器生成的语言,以及是否会有问题,所有平台的编译。我们还没有看到,所以即使它是机器生成的语言——这是丑陋的,它是不可读的——我们编译前端似乎消化很好。”

一个可能的关注的领域可能是一个RTL核心仿真或原型平台上做得并不好,如果调试器无法连接。“国家的行业仍有相当的,”斯特尔说。“一些公司正试图使开发真正廉价使用开源的调试器连接到他们的核心,这工作不是很好。并不成熟,远镜头,相比传统的核心。”

成功的设计是发生在RISC-V-based核心在人工智能设计,并没有产生多少悲伤的支持。斯塔尔说用户似乎与IP供应商工作问题,所以从模拟和原型的角度来看就像任何其他核心——也许更强劲的支持。

罗迪厄克特、高级营销总监Codasip表示同意。“设计开发和验证RISC-V不是完全不同的处理器架构。因此,常用方法如创建虚拟原型与指令集模拟器使用fpga或商业仿真与RISC-V方法中。最终,必须达到足够高的代码和功能覆盖率。”

与此同时,有越来越多的选择开源RISC-V开发板和FPGA实现,省观察萨拉赫丁省Hetalani,现场应用工程师OneSpin解决方案。“这些都是很好的目标应用程序的软件开发和性能测试,和更低的成本开发一个想法变成一个原型。但是他们不能代替严格的功能验证的核心,尤其是核心扩展与定制指令。正式的验证应用程序特定RISC-V允许快速和负担得起的核心验证,提供一定程度的质量,通常会被只有IP提供商财大气粗,几十年的经验。这是至关重要的发展阶段,为了避免浪费时间在实验室调试功能问题,或吹一个项目提供低质量的硬件。”

为特定领域的架构,这尤其重要,其中包括一个更高程度的可配置性。“你最好有正确的工具,包括模拟和原型,因为你真正想要运行的工作负载,”Frank Schirrmeister说,高级组的解决方案营销总监节奏。“工具还包括正式的验证,以及更多的架构需求分析-本质上做这个分析现在的进入软件和有什么影响,对下面的硬件。”

RISC-V趋势的产物更多自定义计算和领域特定计算工作负载,而不是特定的体系结构。“你可以认为它更比产生影响的根本原因,因为真正的根源是客户需要特定领域/ workload-specific计算,通过特定于域的架构和领域特定语言,“Schirrmeister说。“整个可配置性的概念是所有的副产物,因此,您需要验证更多,因为您所作的改变,验证需要发生。最后你需要真正的工作负载运行以获得一组特定的报道。然后,当你做出这些改变,你想要看到的效果。”

整个系统验证
一旦检查处理器或CPU子系统,可以接触整个系统验证过程。相同的技术用于验证其他硬件的SoC的元素,包括自定义硬件和外围设备,可以在这里使用。所有可以在模拟器中实现和验证UVMSystemCtestbench期间使用仿真,Zalewski指出。这种方法允许长期测试序列,如UVM约束随机,构建复杂的测试场景和加速SoC架构基准测试模拟来优化硬件结构和组件。

SoC项目这些天不仅需要硬件开发,而且复杂,多层软件代码,这意味着软件和硬件工程团队将致力于同一个项目复杂的验证software-hardware接口需求和巨大的挑战,他说。新利体育在线完整版“软件开发团队通常开始孤立地发展,使用软件空间站或虚拟平台/机器,往往不够当没有依赖与新硬件交互。但当系统随着外围设备和自定义模块,软件必须支持不仅RISC-V及其亲密的环境,可以建模软件,也还剩下的硬件模块通过提供操作系统驱动程序、API或高层应用。”

确保这两个世界一起工作和同步开发和测试整个项目,Zalewski指出事务级仿真。“当使用硬件仿真器,我们可以测试所有RTL模块在更高的速度与灵活的调试功能,但还有更多。一个模拟器主机接口API,通常基于C / c++,允许我们连接使用的虚拟平台软件团队创建一个集成验证项目的软件和硬件环境领域。Co-emulation策略使用,例如,SCE-MI macro-based模拟器API和TLM接口在一个虚拟的平台,使整个系统运行速度MHz。缩短一个操作系统的启动时间和允许并行处理器的调试和硬件子系统。”

Zalewski认为混合co-emulation平台的好处是,软件工程师不需要迁移到一个完全不同的环境设计的RTL代码到期时。他们的主要开发工具还是一样的虚拟平台。但是由于co-emulation,现在代表完整的SoC,包括自定义硬件。这样两个软件和硬件小组可以工作在同一项目的修订和验证设计的正确性和性能没有等待对方。

“混合溶液的美丽是你的IP预定义的和稳定的但这是只能作为虚拟模型,”他说。“我们看到,在大多数混合业务。你有一个高端CPU。处理器模型是稳定的,,你不需要把它放到模拟器的一些软件,和一些你仍然需要验证方面的准确性。从验证的角度来看,你速度模型是关键,因为整个虚拟平台部分取决于模型的可用性,并且延伸到混合动力车。这是所有需要的产物域特异性和改变的能力。无论是RISC-V,无论是Tensilica,无论是手臂或弧,验证需要在这种情况下发生。”

结论
无论如何是一个处理器核心可能是基于行业的大趋势一致推举计算特异性,领域特定架构,领域特定的工作负载和工作负载优化。

“你不需要一个新的锤,“Schirrmeister说。“你可能会改变你的方法,这取决于什么类型的测试您创建等等,但它仍然是相同的螺丝刀和锤子。”

因此,可能没有很多开创性的验证RISC-V-based设计。但这是好消息,因为开发人员可以撞到地面运行,并且装备精良。



留下一个回复


(注意:这个名字会显示公开)

Baidu