本篇文章4873字,读完约12分钟
原题:像risc-v一样开发新的解决方案有多难?
随着risc-v的成功,多家公司致力于开发自己的解决方案,但解决方案的验证是一个困难的课题。
risc-v解决方案的出现和现阶段的成功重新激活了行业设计定制解决方案的有趣性,但现在我们发现这些验证已经成为一个课题。 过去20年市场上的专业知识和工具现在集中在少数销售解决方案芯片和ip核心的企业手中。
解决方案验证与其他ip和soc验证不同,是通用硬件的终极形式之一,有自己的问题。
cadencedesignsystems企业副总裁兼社长paulcunningham说:“可以执行任意的软件程序。 这是你能想象的配置性最高的深能量状态的设备之一。 准确地说,如果cpu验证完成,表示该cpu上可以运行的所有软件程序都在运行。 当然,你不能这么做。 因为不简单,所以cpu的验证非常困难。 ”。
在硬件必须尽可能灵活的时代,用软件执行尽可能多的操作是明智的。 imperas软件首席执行官simondavidmann说:“与在verilog中创建状态机相比,只需创建一些软件就可以在解决方案中构建状态机。” 如果在verilog中构建状态机,则必须在发现错误时重新写入芯片。 但是,如果构建一个小控制器,然后在其中编程状态机,您可以在出现问题时稍后处理这个问题。 ”。
但这带来了两个问题。 vtool首席执行官hagaiarbel说:“最近的解决方案验证项目需要让软件团队参与验证过程。 这种方法带来了一系列新的挑战,因为软件人员在技术和心灵上都使用了与验证人员不同的语言。 ”。
第二个问题是验证。西门子商业部门mentor的首席技术专家duainepryor说:“根据解决方案的级别被验证了多少,不能使用暴力算法进行验证收敛,高端市场
解决方案的一些方面是共同的,无论项目规模如何。 arm中央工程团队设计师兼研究者danielschostak说:“解决方案验证大致分为控制验证和数据路径验证两个部分。” “两个验证都不简单,有点挑战。 控制验证的首要课题来自交互数量,必须切实涵盖所有极端情况。 数据路径验证的首要任务是明确边界,以便正确复盖这些边界。 微体系结构在面积、性能或电力方面的特点使这些挑战更加混合。 ”。
在开源行业,特别是risc-v,这个问题有更多的复杂性。 “另一方面,我们可以进行功能验证,”aldec市场总监louiedeluna说。 “但是,之后还要进行合规性测试。 你必须确保所有的自定义指令都与源代码兼容。 这影响了你的模型,但实际上这个块没有工具流。 这方面还进行了很多事业。 除了学习如何使用所有工具外,还必须了解如何用于测试。 ”。
不断增加的许多复杂性
从2000年左右开始,解决方案的性能没有显着提高,但这并不意味着其数量和复杂性不会改变。 “我们仍然可以发现解决方案的数量和复杂性在增加。 ”imaginationtechnologies验证平台副总裁colinmckellar说。 "人们强烈希望发掘某一过程的潜力,拥有某种形式的独特特征集,或以独特的方式实现某种功能. "
对独特之处的渴望推动着现在的趋势。 “在低端产品中,特别是在任何边缘设备上,功耗和价格都受到严格的限制,价格很低”mentor的pryor说。 “这意味着支持更紧密结合的加速算法、定制性,甚至部分指令的删除是非常有价值的。 与高端产品相比,缩小设计规模和专用软件有助于降低重新验证的价格。 risc-v以低廉的价格提供易于定制的平台。 总之,定制系统的利润大于缺点。 ”。
在高端产品中,其他力量在起作用。 cadence的cunningham说:“从更多复杂指令开始的解决方案体系结构开始向risc方向转移,开始进入多核行业。 而且,我们在多核扩展的难度在增加。 到达无法添加的临界点后,所有新级别的多样性和复杂性都围绕针对特定垂直区域定制的各种类型的计算引擎(如ai、图形、视频等),围绕定制的特定体系结构展开 内核管线的潜在数量和复杂性可能变化不那么快,但依然在变化。 关于安全性的问题也很多,比如推测执行中有很多”。
推测执行是一种优化技术,现在与幽灵和熔断等多种知名解决方案的脆弱性相结合。 解决方案安全是一个持续的挑战,是需要提高设计要求的行业。
brekerverificationsystems副总裁兼首席营销官Dave说:“安全是衡量现代解决方案的新维度,解决方案启用更有效的硬件信任渠道( HRT )很重要。” “为了验证安全性,反向验证(表示除了规定机制以外没有其他方法可以访问相关领域)很重要。 形式验证可以起到一定的作用,但在系统层面上力不从心。 在这种情况下,允许在系统状态空之间指定和分析的工具是解决方案测试团队工具箱的重要组成部分。 ”。
在解决方案中运行操作系统时,需要其他级别的支持。 valtrixsystems联合创始人shubhodeeproychoudhury说:“通用解决方案有望支持所有现代操作系统和多个顶层应用程序。 这些用例大多需要硬件支持,如虚拟内存的tlb/mmu、虚拟化的虚拟机管理程序和浮点计算的fpu。 并行执行线程的支持也意味着内存排序和高速缓存必须一致。 考虑到用例、解算器单元和矢量叉单元的数量,验证通用解决方案是比其他设计更困难的任务。 ”。
验证的费用
你不能逃避解析器内核验证的费用。 你是直接自己支付还是付给别人这笔费用?
cunningham说:“顶级解决方案公司已经进行了巨大的投资,拥有很多专业知识,因此可以提供优秀的产品。 必须记住,risc-v只是指令集,不是cpu的实际实现。 实现的cpu必须经过验证,保证足够的质量,满足部分功能、性能和面积目标。 相比之下,arm不仅仅是指令集,它提供了整个生态系统,为此消费了数亿美元。 ”。
质量对解决方案非常重要。 imperas的davidmann说:“arm的每个内核运行了大约1015秒钟。 这支持相当多的指令,但一般的risc-v开发人员和ip提供程序甚至没有硬件模拟器。 他们显然不能进行相当于arm数量的验证。 多年来,在购买arm、mips和power解决方案时,他们依赖ip供应商进行验证。 ”。
但是,所有的内核都不是那么大,也不是那么复杂。 imagination的mckellar说:“现在多个risc-v项目非常小,其中很多项目和复杂性都可以控制。 与验证相关的开销不大。 但是,如果提高性能,添加多线程和并行化等许多复杂的东西,验证费用可能会迅速增加。 设计很多尝试杂解决器的企业有一半认为验证挑战太大了,这个产业链上游的人将停止资金支持。 价格太高了,还不一定正常运转。 ”。
codasip副总裁jerryardizzone对此表示赞同。 他例如说:“我们的顾客打算使用开源工具采用开源的risc-v内核。 他们创建了108个可重复的合作者,然后出了点问题。 首先,说明内核正常工作,认识到由于所有其他业务工具都包含在arm、codasip、mips、synopsys等企业开发的工具包中,所以内核只有一个开源测试套件 而且,他们必须说明所有这些解决方案都能解决35个命令实现非常特定的加速,这些事业很难通过开源实现。 使用arm时,可以从arm购买所有产品,保证正常运行。 虽然您可以构建自己的内核,但您可以知道如何构建解决方案,同时不要死锁。 无论如何,验证总是最大的瓶颈。 ”。
验证相当昂贵。 ardizzone说:“验证是制作解决方案工作中最困难的部分,也是最昂贵的部分。” “这是瓶颈,需要至少占四分之三的业务量。 此外,每次进入硬件阶段都需要重新验证。 ”。
降低价值成本是开放源代码硬件的重要卖点之一.。 aldec的deluna说:“Intel和arm这样的公司擅长降价,我们知道将解决方案的核心集成到soc中是否会更有效。 现在业界人士说验证不容易。 放眼开源社区,你会发现很多事件都是基于预算的。 但是整个过程需要结合很多部分。 这个领域需要建立端到端的进程,需要越来越多的合作。 ”。
验证专业信息
20年前,几家企业制作了解决方案验证工具。 当时,大部分系统公司都有自己的解决方案核心。 从那以后,制作验证工具的企业逐渐成为大规模解决方案企业的一部分,现在验证专业信息集中在这些企业。
“多年的经验和法学在以可靠的方式验证解决方案方面发挥了很大的特点,”pryor说。 “我们对解决方案企业在验证过程中推进创新和提高效率的方法印象深刻。 ”。
最近,帮助其他企业验证解决方案内核的咨询公司谈到了这一经验的重要性。 vtool的arbel说:“我们的经验和专业信息非常重要。” “我从20年前开始从事解决器的验证,第一次接触这样的问题,我可能也会绊倒。 无论解决方案是小还是简单,设计验证团队都必须具备这个知识。 与你面临的特定应用程序相比,有一些可能的处理方案。 我们可能没有找到最好的方案。 但是,与竞争对手其他类型的设计相比,一定需要用不同的方法解决问题。 ”。
mckellar表示同意这一观点。 “需要专业的信息,也需要法学,它们同等重要。 如果没有专家,这些工具可能无法发挥太大的价值,相反,如果没有工具,专家们也感叹,因为套件不好,很难生产出巧妙的女性来做没有米的煮饭。 这个世界上缺乏足够数量的高级验证工程师,多个企业互相争夺具有这些技能的人才。 另一方面,很多验证工程师的水平不够高,无法适应他们要完成的任务。 ”。
而且,很难得到这方面的专业信息。 davidmann说:“解决方案测试方法的专业信息基本上被3-4家前端制造商封锁,在这个行业没有多少论文、出版物和工具可以帮助。”
有用的建议
cunningham提出了一点建议。 “首先,请邀请相关人员等确认自己是否真的需要构建自己的解决方案,必要时认真对待这个事件。 仍然非常重要”
一切都从计划开始。 mckellar说:“我们考虑到了实际实现的目标和必要的上市时间。 集中精力限制功能组合,减少功能特征的尝试。 有些高级功能或功能的组合对最终客户来说可能没有那么大的价值,但要正确验证它需要花费大量的时间和精力。 保持开放的心。 因为答案可能有多个,没有什么能满足所有人的需要。 审查很重要,进行独立的审查,接受批评很重要,需要注意尽快测试。 应该尽快创建,把更多的时间和精力放在新硬件上。 ”。
反过来,必须自问为什么做这件事。 davidmann说:“除非你真的想做创新定制的事件,否则好的处理方法已经存在,不需要你的精力。 如果你想添加非常感兴趣的体系结构和自定义命令,也许你应该走risc-v路线。 更多的人构建或配置自己的解决方案意味着验证领域需要面对更多复杂的任务并进行更多的验证,当然也意味着更多的机会。 ”。
开放源代码验证
risc-v当然推进了开源硬件的概念,有些人开始考虑开源验证是否会由risc-v繁殖。 smartdv应用工程总监bipultalukdar说:“开源模型的成功需要能够创建实际的设计和产品,投入生产并提供给市场的基础架构。” 这个必要的基础架构的重要部分是risc-v验证平台,这个平台采用运行isa的cpu的开源规范,可以正确地验证设计。 ”。
有些人从其中看到了希望。 imperassoftware市场营销副总裁kevinmcdermott说:“risc-v社区正在协助找到处理方案。” “对采用免费riscvovpsim参考模型的risc-v随机指令流生成器这个开源项目,在Google云上开发和加强这个项目,可能最能证明这一点。”
但是,核心eda工具很可能被开源工具取代。 在解决方案的创建过程中,真正的价格不是eda工具,而是解决方案本身的众多和复杂。 大型解决方案提供商在解决这些问题方面有多年的经验,但发现了意外的错误和漏洞。
责任:俞雪峰
标题:【要闻】像RISC
地址:http://www.tjsdzgyxh.com/tyxw/21329.html