关于IP的驱动程序软件开发和第三方IP的使用

半导体公司目前正面对两大基本现实:优化半导体项目的成本以及为了满足客户需求而提供全面性解决方案。客户的需求使得半导体开发商将注意力不仅集中在硅元素,而且还关注软件。
让我们首先来看一下半导体项目的成本。市场研究表明主流半导体项目(衍生物)的下列费用趋势。
上述图1(最新可用图)显示了主流设计的成本。虽然这些类型的设计已经出现了明显的成本增加的趋势,但是这些成本仍然远低于那些在新工艺节点(需要更高的投资)的全新结构的成本。比如,14nm工艺节点的初始项目成本大约为3亿美元1。
由于这些高额的项目成本,客户向半导体行业提出了具有挑战性的要求。比如,不断变化的市场,要求更优、更高效的用户体验、更小的设备、更低的成本、更低的功耗,这些都增加了芯片的复杂性以及工艺节点需求。半导体企业必须提供全面的soc及软件栈平台,以便使终端客户优先选择在该平台实现自己的应用、提供必要的外部界面、优化能耗。这些都已在规划中,并一一实现。在芯片层面,这些要求促进了带有多时钟和多电压的复杂结构,这种结构将所有部件整合到soc及相关软件栈中,并且这些要求继续增加(图2)。
本白皮书讨论了soc设计人员在解决soc复杂性问题以及关于上市时间的挑战时面临的问题。本白皮书也将讨论第三方ip的使用,并说明考虑到当今soc的复杂性,仅仅依靠高质量ip不足以加快上市时间。本白皮书还将讨论关于用于ip的驱动程序软件开发的问题。最后,本白皮书将回顾在soc设计过程中的五个主要开发步骤以及第三方ip供应商如何帮助加快这些步骤。
使用第三方ip提供者获得高质量ip 为了降低项目成本和风险,半导体设计机构需要获得第三方硅知识产权用于他们的soc项目,特别是一个soc所需的处理器、音频子系统、传感器子系统、标准外部接口。
标准接口子系统包括一个连接片上通讯基础设施(一般为在端口上使用标准总线协议的多级互连装置)的控制器、通过预定协议及电气规范与外部接口连接的phy模块。这两种模块都必须符合标准协议,如usb-if规范或pci express标准等公共标准。许多项目都已经证明使用高质量第三方ip可以为半导体企业降低成本和风险。理想情况下,控制器与phy将由一个供应商提供,可以降低soc设计人员的整合难度。理论上,由于每个项目都是基于相同标准,整合应该十分简单。但是,整合面临着三个挑战:标准或协议知识、符合性能要求、将ip整合到整个soc中。
标准或协议知识 首先,soc设计人员必须解决一个日益困难的任务:理解ip协议或标准。由于半导体企业通过购买ip降低设计成本,这些企业将他们的ip设计人员重新调配至其他设计岗位。多数现代化接口ip标准每几年都会进行重大修改,并且每年都会发出工程变更通知(ecns)。这些变动可能会使企业内部ip设计人员的知识很快落后,除非他们可以集中精力关注特定的ip和协议。在最优情况下,一个项目团队仍然配备至少一名可以理解特定标准的工程师,但是对于复杂的接口ip部件(比如pci express)中的1000多个参数,大体了解相关标准或ip模块是不够的。在最坏情况下,项目中没有任何人具有特定接口ip标准背景,这使得soc充分整合成为漫长、风险重重的过程,比如,pcie3.0标准超过850页。进行ip配置,并为该配置开发高性能的设备驱动程序绝对不是轻松的任务,特别是当使用io可视化等最新硬件功能的情况出现。除了从ip供应商获得接口ip许可而支付的费用以外,半导体企业通常还需要额外支付整合和软件开发的费用。
加速rtl修订 第二个挑战是:对于ip的配置,在soc中的接口性能是否能满足芯片功能的需求以及终端客户的要求。在理想情况下,soc设计团队有权通过设置ip的参数来使用第三方ip。设计人员必须处理大量配置参数才可以创建满足soc要求的rtl。除了用于rtl的配置参数,软件开发者还必须通过驱动程序软件控制许多不同的功能。总之,硬件和软件设置及功能决定了ip的贯穿性、潜在性、功率分布。设计人员可以寻求ip提供者关于soc理想配置的建议,也可以确定不同的配置参数以实现所需功率-性能平衡。高效的配置探索需要尝试一种ip配置对比不同ip配置的快速转回时间。加快转回时间首先意味着有能力为不同配置快速生成rtl。如果该步骤涉及与已经产生新版本的ip提供商的互动,那么会出现两个常见问题:第一,进度问题:转回时间至少需要多个工作日;第二,商业问题:修订rtl配置的请求的数量将受到ip许可协议的限制,原因在于ip提供者需要减少他们的设计影响。但是,如果半导体工程师可以使用配置工具修改ip,那么,转回时间就不再依赖于第三方ip提供者。
将ip整合到半导体
第三个挑战是将ip子系统整合到soc结构当中。控制电源域、时钟、复位的远端信号必须正确地适用于ip子系统并且与半导体其他部分相匹配。创建初始子系统后,还需准确、高效地进行仿真和原型建立。
由于phy不会产生预期的功能和性能,理解时钟的时序要求以及phy的复位十分重要。当实现正确的时序要求时,将显示眼图张开。在经典的工作分工中,soc设计团体将负责ip子系统,然后尝试理解这些ip如何发挥作用以及需要ip提供者提供详细信息的时序要求以及测试要求。这种分析十分耗时,并且仅适用于整合ip。
将控制器与phy整合到soc中通常分为两步:仿真和原型设计。但是,并不是所有设计人员都会选择进行仿真,这主要由于无法获得phy的模型、或者缺少rtl模拟经验,直接进入到原型设计步骤
对ip原型进行设计也存在一些挑战:(a)调试phy板;(b)接入fpga板;(c)phy与fpga板之间进行控制器设置和信号时序控制。每个问题都可以将项目延迟数周。如果phy与控制器ip来源不同,这些困难将更为明显。ip整合团队、原型设计团队、ip提供者之间的多次迭代十分常见,并且可能耗时数月。即使ip整合团队了解phy的时序要求,原型设计团队可能需要数周才可以结束时序收敛并进行正确设计(以便确保器速度最优并且phy具有最佳信号完整性)。在长期实验过程中,开发板可能发生故障、导致额外延迟(由于将phy板送回供应商进行错误分析和维修),然后,才可以继续进行ip整合。
首个硅与收益之间的软件作用 根据市场细分,半导体企业不得不开发不同层次的软件用于他们的soc。一方面对于汽车应用中微控制器芯片,半导体企业必须开发相对较小,然而关键的适应层(mcal)。另一方面,移动处理器需要非常复杂且包含下列各项的软件栈:多层部件、安全和非安全固件、操作系统核心、驱动程序、通信协议栈、安卓等中间件的应用。除了应用处理器上的软件,每个子系统独自运行无线软件栈等大量软件。很明显,软件已经成为每个系统的主要部件,并且成为一个产品的区分要素之一。市场研究公司ibs预测到2020年,20%左右的半导体收入将归因于其承载的软件,这与半导体企业在soc项目中的投入[40-50%]不是一直成比例的3。许多半导体企业行政人员已经发现了这个问题,并表示如果我无法推出可以运行的软件,我的客户就不会大批量订购,我也就不会获得收益。
开源软件可以作为解决软件开发困难的解决方案之一。开源软件一般都是由前沿公司提供的。为新ip开发首个软件栈后,这些公司可能选择将软件捐献给开源社区,比如,将linux系统的ip驱动程序提交至来自kernel.org的主线内核。制作soc驱动软件进行的努力可以作为一种公益,因为开源社区可以获得关于操作系统修正的代码。虽然这有助于降低整体难度,但是还有很多定制化的开源软件以及特定soc软件需要编写和测试。
对ip提供者期望更多 既然我们已经明白了最先进soc项目的最高挑战,我们最好也应该理解为什么当今的ip用户对ip供应商的期待更多。随着硬件整合与软件开发的挑战继续加剧,ip提供商凭借其协议方面的专业知识以及满足一系列客户需求的广泛经验,有能力开发并提供全面性原型套件、软件开发工具包(sdks)、完整的ip子系统,这可以缩短或降低ip整合的时间和难度。
第1步:获得首个原型
从第三方ip提供商获得ip时,(相关方)都期望ip可以发挥作用。但是,使ip可以在实际soc的原型中可以发挥作用仍然存在很多困难,主要包括以下几个方面:
(a)获得原型以便探讨性能;
(b)确认ip可以用于相应系统;
(c)向软件团队交付原型以便进行早期软件开发
在理想场景下,ip供应商可以清除上述三个方面出现的障碍。设计人员可以在ip可以使用后,立即开始探讨性能,并确认ip可以用于相应系统。
ip提供商(如新思科技)能够提供可以完成上述理想场景的ip原型套件。designware�ip原型套件(图3)包括一个在新思科技haps-dx原型系统中实现的,预先配置好的designwareip控制器,该控制器通过标准型haps track连接器与相应的designware phy子卡连接。该ip原型套件配备了参考设计,及soc整合逻辑及参考软件栈,这可以在标准arc软件开发平台上运行并且连接至haps-dx原型(因此可以执行该参考软件栈(linux、驱动程序))。另外,还可以通过有效的pcie接口连接至主机电脑。整个系统进行了预测试,并且经过证明可以在数分钟内完成设置,这可以确保用户可以即时开始使用ip。linux可以在数秒内启动并运行,usb驱动等外部部件可以插入,以便在实际应用中验证usb3.0子系统的性能。designwareip原型套件可以将设计人员的工作时间从数月缩短到数分钟。
第2步:为了获得最佳性能探究ip配置
探究,意味着寻找不同的rtl配置(修改rtl)和参数设置(使用驱动程序软件对rtl进行编程)。对很多配置的探究,需要有快速修改并为生成rtl设置更新原型的能力。
伴随新思科技designwareip原型套件(图4)产生的快速迭代流程,依赖两个关键性部件:设计团队可以使用coreconsultant工具将rtl用于所有有效配置中,然后通过该工具生成相应的rtl代码,无需新思科技的支持。这种自动rtl生成能力(一杯咖啡的时间)可以将周转时间从数天缩短至数分钟,而其他ip供应商为客户手动生成rtl需要数天迭代时间。
rtl被修改后必须载入haps-dx系统。protocompilerdx是行业内最先进的原型工具集,可以将原型实现时间从数周缩短到数天。对于提供参考配置的控制器ip进行典型性修改,原型实现时间甚至可以缩短至数小时。这意味着多次迭代可以为设计团队提供充足机会,尝试不同配置方案(提供的脚本也可以简化该过程)。这大大降低了由于缺少探究时间而导致的ip功能不足或过度设计。在使用ip提供商生成的新rtl进行手动迭代流程与该全自动方法之间,保守估计自动方法的迭代次数是手动方法的10倍以上,这可以确保更优的ip以及更优的soc性能。
如果ip回复原型并且软件驱动程序(如果必要)进行了修改,更新的原型将立即与phy共同发挥功能,因为designwareip原型套件的其他接口没有改变并且无需调试。在更加复杂的情况下,设计人员需要修改控制器周围的参考设计,因此需要实际硬件调试。设计人员可以通过haps深度追踪能力观察500多个内部信号,足以进行调试。
第3步:开发驱动程序和固件(左移过程)
让我们浏览一下典型性界面ip软件栈(图5)。即使使用已经在linux内核进行了主线化的驱动时,软件开发者仍然必须对soc中的特定部分以及驱动进行优化和定制化。虽然ip最终将成为设备驱动开发者的目标,ip驱动程序开发在软件开发开始前无法启动。固件中内存驱动器开始工作之前,引导程序不会运行,因此也无法进行后续软件开发。另外,各级ip驱动必须进行开发和整合 - 从引导装载程序与固件驱动,到内核驱动以及中间软件。
在最坏的情况下,目标是已经放置在原型版上的首个芯片,但是在多数情况下,软件组可以通过fpga原型或虚拟原型进行软件研发。由于ip原型化所耗费的时间,在许多项目中,上述获得过程虽然比硅实现较短,但是在项目周期内仍然处于较晚阶段,这使得芯片下线前软件开发时间缩短。软件开发者的目标是提供一种驱动程序,可以通过最为充分且高效的方法实现操作系统提供的硬件ip,并且符合整个系统的功率和性能要求。
软件开发者应该明白许多参数都会影响接口的性能。即使对ip规范以及soc设计团队开发的特定配置进行了最为谨慎的研究,也无法保证软件开发者能够按照支持实际ip模块的方式,对ip进行编程。在最优情况下,这些故障可以在软件开发阶段检测出来。在最坏情况下,这些故障可能在soc实际使用过程中出现。
软件开发者还需要一份关于phy的陈述,以便与其他设备验证互操作性和性能。关于高级工艺节点日益严重的问题,是半导体公司用于构建控制器与phy完整原型的独立phy芯片越来越少。设计人员必须依赖他们的ip供应商为软件团队提供充足的phy卡。在很多情况下,ip提供商只根据特定客户的要求通过特定方式,提供用于新phy ip验证实现与特性的phy卡。获得phy(作为ip原型套件中标准部件)是一个获得完整原型解决方案的可靠方法。
为了简化流程,虽然硬件团队改进了配置设定,软件团队可以使用designware ip原型套件或者designware ip虚拟开发工具包(vdk)查看软件栈(图6)。软件开发者可以使用这两种工具通过使用相关参考软件开发、调试、优化ip驱动软件。
designware ip原型套件不仅可以处理驱动软件的功能行为,还可以与连接到phy子卡的外部设备共同验证软件性能。由于硬件团队可以为haps-dx系统(ip原型fpga系统)提供烧录文件,尽早确定目标有很多益处,如果新的硬件就绪,软件团队可以再次尝试新的硬件配置。即使团队位于远程,这种互动方法仍然可行。由于designware ip原型套件价格可以接受,并且可以做到开箱即可使用,可以轻松适用于soc与软件开发团队。designware ip原型套件首次组装后,软件开发者可以在他们的主机上使用最优开发环境,或者在arc软件开发平台上编辑软件。将新烧录文件下载到haps-dx板上后,这个过程十分迅速,并且每天可以进行数百个软件的调试。
designware ip虚拟开发工具包(vdk)提供了一种模拟模型(虚拟原型),可以使用armv8 cortex big.little处理系统(四核cortex-a57及四核cortex-a53处理器)呈现armv8基本参考模板。designware 控制器 ip模型将与参考模板进行整合。每个模型都可以根据软件开发者相关的设置进行配置。经过配置步骤后,软件开发者可以使用他们喜欢的软件调试器。除了标准调试器功能,vdk还可以详细查看软件或硬件的活动。软件团队还可以将完成的软件栈发送给硬件团队,以便其进行下一次性能迭代。这种并行的硬件设计和软件开发过程通常还被称为左移。以ip为中心的sdk可以使设计人员,将软件开发任务分解为一系列独立、相互隔离的任务,这就不需要进行大规模的组织变动或大规模投资。唯一的投资就是添加synopsys ip sdk,软件团队无需进行其他投资或者学习。
第4步:将ip整合到soc中
从宏观角度来看soc设计问题,半导体企业硬件方面的问题主要包括:设计自有的差异化ip模块、获得高质量第三方ip、按照soc优化法进行配置、将所有模块整合到时钟、电压供应商的soc基础模块中、芯片缓冲存储器或寄存器、测试电路。soc设计团队将确定半导体特定实施细节并制定关于如何整合ip的要求。ip具有泛型接口,如果不是在soc基础设施中加入额外粘合逻辑无法匹配。对于许多ip供应商而言,这项工作是由soc设计团队负责的繁琐任务。
对ip供应商期待更多(帮助)有利于设计人员解决这些问题。首先,designware ip原型套件提供了完整的参考设计。根据该设计,半导体可以执行相应的粘合逻辑。他们甚至可以复制(相关方)提供的rtl源代码并以此为起点作出更多工作。
对于小型soc设计组织而言,这是一种使用ip提供者的知识、通过支持工程师或ip开发者获得相 关见解的高效方法。
对于项目复杂且截止时间较紧的大型组织而言,ip原型套件还不够。他们需要更多的支持,并且需要大幅度降低内部费用:他们需要定制化的接口ip子系统。接口ip子系统使得设计人员可以充分利用ip提供者关于协议与标准的知识和见解,将这些知识和见解与他们自己的半导体知识和执行问题相结合,并提供综合性解决方案。ip可交付成果与半导体需求的整合应该通过节省成本、半定制方法完成。由于这个过程可以用于多个客户,每个客户可以享用来自其他项目的ip提供商经验,将ip重复利用范式用于子系统。ip提供者在上述整合中需要提供的要求包括:控制器与phy的整合、多协议与常见phy的整合、子系统(包括软件栈)的完成。(例子:感应器子系统)
第5步:将驱动和固件整合到soc软件栈中
最后,还需要进行软件开发工作。即使对于驱动而言,多数工作可以通过designware ip原型套件或者ip虚拟开发工 具包进行分解和辅助,软件开发团队的终极目标是完成整个软件栈。软件团队一般都从在上一个硅片上运行的可用软件栈开始,并且尝试使用先前的基板进行一些开发。但是由于半导体的重大变化,他们无法走的很远,因此,如果他们希望撼动整个设计圈,他们需要一个涉及soc所有相关部件的硅实现前目标。
这项工作所需的投资和努力远远大于简单的ip sdk,但是对于软件开发团队是一个好消息的是:新思科技的ip sdks实际上是一个可以获得整个soc目标的缩小版。小型团队将会欣喜的发现designware ip原型套件可以作为垫脚石,帮助他们获得更多的soc部件。4m的门容量对于低于500k的控制器尺寸可以充分满足需要,为相同的原型系统添加更多部件所需的空间也预留充足。
随着规模不断扩大,原型团队可以首先使用haps-70原型系统并与像卫星系统一样扩展连接designware ip原型套件,这样可以保留已经完成且已验证的部分、可以快速切换到soc其他未验证部分进行工作(图7)。
对于使用虚拟原型方法的团队而言,designware ip vdk内的模型是virtualizer™虚拟原型工具中可用模型的完整打包版。这类团队可以使用virtualizer™中相同的参考模型和配置,与事务级模型(tlm)库(涵盖最常用的商业ip)中的其他特定soc模型一起进行扩展,并使用virtualizer事务级模型(tlm)创建工具为独特的内部ip创建模型。
ip accelerated(ip加速) ip accelerated(ip加速)是新思科技(作为接口ip的头号提供商)为了推进ip供应商范例启动的多年计划。新思科技ip accelerated(ip加速)计划(图8)促进了新思科技已经建立的广泛的,经过硅验证designware ip组合,该组合包括新型designware ip原型套件、designware ip虚拟开发工具包、ip子系统,这可以加快确定原型、软件开发,并加快将ip整合到soc体中。
对于硬件工程师而言,ip原型套件可以提供经过验证的ip配置,并且该配置可以轻松修改以便为目标性应用进行优化设计。软件开发者可以使用ip虚拟开发工具包或者ip原型套件用于软件的前期开发、调试、测试。
概述与展望 半导体行业正在根据市场需求的变化进行一次自然进化。虽然客户向半导体行业提出了很多新的要求,ip提供者不得不满足这些不断增加的要求。ip accelerated(ip加速)计划有利于应对这些挑战。我们需要尽量在满足ip用户最大程度上的自我发展与向关注核心竞争力的组织提供专门定制化服务的行为之间寻求平衡。
参考 [1]系统ic业务成功的要素以及对商业模式产生的影响,ibs2012年第4季度报告
[2]2013年新思科技全球用户调查
[3]全球系统ic行业服务报告 - 将半导体行业内的软件货币化的方法,ibs第23卷第4号,2014年4月

不受控制的电源波形
华为Mate10什么时候上市?华为Mate10曝光:全面屏+8G大运存+麒麟970+莱卡双摄,跟iPhone8、三星Note8一决高下!
继电器的电气特性及其使用注意事项
实现移动物联网的必要条件是什么?
PLC如何进行入门简单说明
关于IP的驱动程序软件开发和第三方IP的使用
科学计算与Julia技术研讨会 | 张先轶:从OpenBLAS到异构计算软件栈
人脸识别系统的工作流程是怎么样的
关于数据安全合规性的作用分析和应用
海尔推出智慧空调Leader 一键打造舒适环境
iPhone 12系列在使用双卡时不支持5G网络
基于Proteus嵌入式仿真平台中三种源码调试的方式分析
SMD8S30CA 汽车级TVS瞬态抑制二极管 厂家直供
用于医疗的柔性传感器是什么样的
雅特生科技推出符合医疗设备和工业产品安规标准的单输出密封式电源
锂电池的过流保护作用大吗?
【开箱简测】卓越性能,便捷储存——MB834VK-B V2,M.2 NVMe SSD转3.5英寸内接式硬盘抽取盒
一文带你读懂PCB的机械加工技术
招投标资讯丨城区路灯节能改造工程
高电压可控硅整流电源