本帖最后由 小飞飞 于 2020-7-24 19:24 编辑
验证的费用
不可能逃掉处理器内核验证的费用。你要么直接自己支付,要么付钱给他人替你支付这个费用。
Cunningham 说:“顶级处理器公司已经进行了巨额投资,并且拥有很多专业经验,所以他们可以提供出色的产品。必须记住一点,RISC-V 只是个指令集,并不是 CPU 的实际实现。实现的 CPU 必须经过验证,而且必须保证足够高的质量,并满足某些功能、性能和面积目标。相比之下,Arm 不仅仅是一个指令集,他们提供了整个生态系统,他们为此花费了几亿美元。”
质量对处理器很重要。 Imperas 的 Davidmann 说:“ARM 的每个内核运行了大约 1015 秒。这对应相当多条指令,而普通的 RISC-V 开发者或 IP 提供商甚至都没有硬件模拟器。他们显然无法进行和 ARM 数量相当的验证。多年来,当人们购买 Arm、MIPS 和 Power 处理器时,他们依靠 IP 供应商进行验证。”
但是,并非所有内核都那么大或那么复杂。 Imagination 的 McKellar 说:“如今,许多 RISC-V 项目都非常小,而且其复杂性可以控制。与验证相关的开销不会很大。但是,当您开始提高性能或者添加多线程或者并行化等复杂的东西时,验证费用可能会迅速增长。我认为,尝试设计复杂处理器的公司中会有一半觉得验证的挑战太大,而这条产业链上游的人会停止资金支持,因为成本太昂贵了,而且还不一定能正常工作。”
Codasip 副总裁 Jerry Ardizzone 对此表示赞同。他举例说:“我们有一位客户打算用开源工具使用开源的 RISC-V 内核,他们创建了 108 个可重复的协处理器,然后就遇到了一些问题。首先,他们必须证明内核可以正常工作,然后他们意识到,该内核只有一套开源的测试套件,因为所有其他商业工具都在由 Arm、Codasip、MIPS 和 Synopsys 等公司开发的工具包中。然后,他们必须证明,所有这些处理器都可以处理 35 条指令以实现非常特定的加速,这些工作靠开源很难实现。当你用 ARM 时,你可以从 ARM 购买所有产品,保证它能正常工作。您还可以构建自己的内核,但是前提是您知道如何构建处理器,并且能够确保它不会死锁。但是不管怎样,验证始终是最大的瓶颈。”
验证是相当昂贵的。“验证是创建处理器的工作中最困难的部分,也是开销最大的部分,”Ardizzone 说。 “这是瓶颈所在,它至少需要占去四分之三的工作量。而且,每当您开始进行到硬件环节时,都必须重新验证它。”
降低成本是开源硬件的关键卖点之一。Aldec 的 De Luna 表示:“Intel 和 Arm 这样的公司非常擅长降成本,而且您知道,当你把处理器的内核集成到 SoC 中后,您将能够验证其是否有效。现在,业内人士说验证并非易事。如果您把眼光投向开源社区,那么您会发现,很多事情都是基于预算的。但是,整个过程需要把很多部分结合在一起。这个行业需要建立一个端到端的流程,只有更多的合作才能实现这点。”
验证专业知识
二十年前,有几家公司做处理器验证工具。当时,大多数系统公司都拥有自己专有的处理器内核。从那之后,做验证工具的公司都渐渐成为了大型处理器公司的一个部门,现在,验证专业知识都集中在了这些公司中。
“多年的经验和方法学在可靠地验证处理器方面发挥了巨大的优势,” Pryor 说。 “我们对处理器公司在验证流程中推动创新和提高效率的方式一直印象深刻。”
最近,帮助其它公司验证处理器内核的咨询公司谈起了这种经验的重要性。“我们的经验和专业知识至关重要,” VTool 的 Arbel 说。 “我 20 年前就开始从事处理器验证工作,但是如果这是我第一次接触这类问题,我可能也会栽跟头。即使您的处理器很小或很简单,设计验证团队也需要具备这种知识。针对您面向的特定应用,有几种可能的解决方案,我们可能没有找出最佳方案。但是,与竞争者其它类型的设计相比,您肯定需要以不同的方式解决问题。”
McKellar 表示同意这个观点。“您需要专业知识,也需要方法学,它们同等重要。没有专家,这些工具可能发挥不出太大价值,反之,如果没有工具,专家们也会因为工具包太差劲而生出巧妇难为无米之炊的慨叹。这个世界上缺少足够数量的高级验证工程师,许多公司都会相互争抢拥有这些技能的人才。另一方面,很多验证工程师的水平不够深,无法应对需要他们完成的任务。”
而且,想获得这方面的专业知识比较困难。Davidmann 说:“关于如何测试处理器的专业知识基本上已经封锁在三到四家头部厂商内部,这个领域没有多少可以提供帮助的论文、出版物或者工具。”
有用的建议
Cunningham 提供了一些建议。 “首先,你要先把相关人等聘请进来,确保您清楚自己是否真的需要构建自己的处理器,如果需要,请认真对待这件事情。还很重要。”
一切都始于计划。 McKellar 说:“对您实际上可以实现的目标以及所需的上市时间铭记于心。把精力集中于尝试限制功能组合并减少功能特性上。某些您所认为的高级功能或功能组合对最终客户而言可能不是那么有价值,但却会花费你大量的时间和精力来正确地验证它们。保持开放的心态,因为答案可能不止一个,没有任何一样事物能够满足所有人的需要。审查非常重要,进行独立的审查并接受批评非常重要,而且要注意要尽早测试。您应该尽早制作并把大量的时间和精力放在新的硬件上。”
还要反观自心,问一问自己为什么做这件事情。Davidmann 说:“除非您真的想做一些创新和定制的事情,否则好的解决方案已经存在了,根本不用您劳心。如果您想添加一些非常有趣的架构或者定制指令,那也许您应该走 RISC-V 路线。越来越多的人正在构建或者配置自己的处理器,这意味着验证行业需要面对更复杂的任务,进行更多的验证,当然也意味着更多的机会。”
开源验证
RISC-V 当然已经推进了开源硬件的概念,而且,有人开始在想开源验证会不会由 RISC-V 滋生而来。SmartDV 应用工程总监 Bipul Talukdar 表示:“开源模式的成功需要一个基础架构,你可以在这个基础架构上创建真实的设计和产品,并将其投入生产并交付市场。这个必要的基础架构的关键部分是 RISC-V 验证平台,该平台可以使用执行 ISA 的 CPU 的开源规范,以准确地验证设计。”
有些人从中看到了希望。“RISC-V 社区正在共同努力,以帮助找到解决方案,” Imperas Software 市场营销副总裁 Kevin McDermott 说。 “也许,对于使用免费的 riscvOVPsim 参考模型的 RISC-V 随机指令流生成器这个开源项目,一些人在谷歌云上进行该项目的开发和增强,就最好地说明了这一点。”
尽管如此,核心的 EDA 工具仍不太可能被开源工具替代。在处理器的创建过程中,真正的成本不在于 EDA 工具,而在于处理器本身的复杂性,尽管大型处理器供应商在处理这些问题上有多年的经验,但是他们仍然在发现意想不到的错误和漏洞。 本篇完*
|